-
多特征提取的双目机器人目标跟踪
2021-01-14 16:12:25为了解决复杂环境下双目机器人的目标跟踪问题, 提出多特征提取的方法. 在机器人静止-目标运动模式下 根据改进的步态光流图和视角识别目标并构造颜色直方图模板; 在机器人运动-目标运动模式下利用扩展卡尔曼滤... -
基于多特征提取和SVM参数优化的车型识别
2021-02-08 16:06:53提出了一种基于多特征提取和支持向量机(support vector machines,SVM)参数优化的车型识别方法,此方法解决了采用单一特征容易受到光照、天气、阴影等环境影响的问题,并且可以对运动中的车辆进行车型识别。首先,采集... -
基于分数阶的正交多集典型相关分析及其在多特征提取与识别中的应用
2021-03-04 10:56:06基于分数阶的正交多集典型相关分析及其在多特征提取与识别中的应用 -
基于双通道LSTM的步态多特征提取用于诊断神经退行性疾病
2021-03-07 18:49:25基于双通道LSTM的步态多特征提取用于诊断神经退行性疾病 -
基于多特征提取和SVM分类器的纹理图像分类_唐银凤
2015-04-08 23:00:24基于多特征提取和SVM分类器的纹理图像分类_唐银凤,svm分类器的进一步学习。 -
基于连续尺度空间和多特征提取的煤矿监控视频注意计算模型
2020-05-05 10:10:17在分析当前自底向上注意计算模型在煤矿图像中应用缺陷的基础上,受Itti模型的启发,提出了一种新的基于多尺度和多特征的煤矿监控视频注意计算模型。在多尺度分析上,以连续尺度的离散化形式为非均匀采样的表达,以Bessel... -
论文研究-一种基于多特征提取的实用车牌识别方法.pdf
2019-07-22 21:08:45通过基于多特征值提取的神经网络方法初识别车牌; 最后将人眼的视觉特性用于模板匹配法, 解决易混淆字符及污损车牌的问题。通过大量实验证明, 该方法对车牌颜色、拍摄角度、光照条件等限制较少, 适用范围广、识别率... -
论文研究-基于Gabor、Fisher脸多特征提取及集成SVM的人脸表情识别.pdf
2019-07-22 20:29:47首先在选取的人脸特征点上做局部的Gabor小波变换,为了提高特征提取速度,利用改进的弹性图匹配算法来提取图像中的人脸有效区域,在提取的人脸区域中提取几何特征,并通过Fisher脸法提取统计特征,利用几何特征与... -
文本特征提取CountVectorizer(特征工程之特征提取)
2021-02-14 22:42:08文章目录前言一、CountVectorizer使用举例1.sklearn官网API2.CountVectorizer()提取英文文本举例2.CountVectorizer()...句子本身也是单词排列组合起来的,情况太多了,用句子作为特征提取不太现实,太多了不好处理;同文章目录
前言
文本特征提取CountVectorizer属于机器学习特征工程中特征提取的一个tip,如果我们对一篇文章进行分类,用什么特征比较好呢(不单看文章的标题的话)?句子、短语、单词、字母中哪个合适一点呢,比较一下单词好一点。句子本身也是单词排列组合起来的,情况太多了,用句子作为特征提取不太现实,太多了不好处理;同理短语也是,单词就更不必说了不合适的。那怎么把单词作为特征词转换成数值形式呢?本文先介绍一种方法CountVectorizer。
一、CountVectorizer使用举例
1.sklearn官网API
网址:https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html#sklearn.feature_extraction.text.CountVectorizer
截图:
这里我红框标记了3个,因为我觉得这3个超参数比较常用。
老板说了:不可能每一个参数都记得一清二楚,工作不是上学,不是闭卷考试,会查会用就OK!哈哈。2.CountVectorizer()提取英文文本举例
代码如下(默认参数):
from sklearn.feature_extraction.text import CountVectorizer #导包 #准备数据 data=['Life is short short dislike,i like like like python','Life is too long Life,i dislike python','i like you also'] #实例化一个转换器类 transfer=CountVectorizer() #将data喂入实例化好的transfer的fit-transform()方法之中 new_data=transfer.fit_transform(data)#此时返回一个sparse稀疏矩阵 print('看一下new_data的值:\n{}'.format(new_data)) print('看一下new_data的类型:{}'.format(type(new_data))) print("特征名字:{}".format(transfer.get_feature_names())) print('看一下new_data的shape:{}'.format(new_data.shape)) #将sparse矩阵转换成数组,统计每一个样本出现的特征值的个数 print('new_data转换成数组:\n{}'.format(new_data.toarray()))
运行结果如下:
看一下new_data的值:
(0, 3) 1
(0, 2) 1
(0, 7) 2
(0, 1) 1
(0, 4) 3
(0, 6) 1
(1, 3) 2
(1, 2) 1
(1, 1) 1
(1, 6) 1
(1, 8) 1
(1, 5) 1
(2, 4) 1
(2, 9) 1
(2, 0) 1
看一下new_data的类型:<class ‘scipy.sparse.csr.csr_matrix’>(从这里可以看出是一个稀疏矩阵)
特征名字:[‘also’, ‘dislike’, ‘is’, ‘life’, ‘like’, ‘long’, ‘python’, ‘short’, ‘too’, ‘you’]
看一下new_data的shape:(3, 10)
new_data转换成数组:
[[0 1 1 1 3 0 1 2 0 0]
[0 1 1 2 0 1 1 0 1 0]
[1 0 0 0 1 0 0 0 0 1]] (稀疏矩阵用toarray()方法转换成了矩阵)
是将英文单词转换成了稀疏矩阵,统计样本特征词出现的个数。但是光看运行结果的代码好像不是那么直观,下图分析可以看的更直观一点,它是怎么转换的:
像逗号,i,a这样的标点符号和字母API在设计的时候,自动的就不统计了。设置一下停用词stop_words(以list的方式把想停用的词给放进去)
from sklearn.feature_extraction.text import CountVectorizer #导包 #准备数据 data=['Life is short short dislike,i like like like python','Life is too long Life,i dislike python','i like you also'] #实例化一个转换器类, # 这里用一下停用词参数stop_words=['is','too'],is和too感觉不是很重要 transfer=CountVectorizer(stop_words=['is','too']) #将data喂入实例化好的transfer的fit-transform()方法之中 new_data=transfer.fit_transform(data)#此时返回一个sparse稀疏矩阵 print('看一下new_data的值:\n{}'.format(new_data)) print('看一下new_data的类型:{}'.format(type(new_data))) print("特征名字:{}".format(transfer.get_feature_names())) print('看一下new_data的shape:{}'.format(new_data.shape)) #将sparse矩阵转换成数组,统计每一个样本出现的特征值的个数 print('new_data转换成数组:\n{}'.format(new_data.toarray()))
2.CountVectorizer()提取中文文本不合适
上面提取了英文句子,但是对于中文适合不适合呢?可以将上面例子中的代码更改一下,只改data部分,将英文改成中文试试:
#文本特征提取CountVectorizer from sklearn.feature_extraction.text import CountVectorizer #导包 #将数据改成中文试试看结果 data=['艾斯梅拉达爱上了弗比斯','听说我有王牌'] #实例化一个转换器类 transfer=CountVectorizer() #将data喂入实例化好的transfer的fit-transform()方法之中 new_data=transfer.fit_transform(data)#此时返回一个sparse稀疏矩阵 print('看一下new_data的值:\n{}'.format(new_data)) print('看一下new_data的类型:{}'.format(type(new_data))) print("特征名字:{}".format(transfer.get_feature_names())) print('看一下new_data的shape:{}'.format(new_data.shape)) #将sparse矩阵转换成数组,统计每一个样本出现的特征值的个数 print('new_data转换成数组:\n{}'.format(new_data.toarray()))
运行结果如下:
看一下new_data的值:
(0, 1) 1
(1, 0) 1
看一下new_data的类型:<class ‘scipy.sparse.csr.csr_matrix’>
特征名字:[‘听说我有王牌’, ‘艾斯梅拉达爱上了弗比斯’]
看一下new_data的shape:(2, 2)
new_data转换成数组:
[[0 1]
[1 0]]
运行结果表明直接把一句短语作为特征了,这样是不太合适的。因为英文一句话中单词之间是有空格隔开的,中文字之间没有空格隔开,所以当成一个整体了,本例中提取出来特征就只有两个。
可以把上述代码再更改一下,中文字之间加入一些空格,看看效果:from sklearn.feature_extraction.text import CountVectorizer #导包 #中文之间手动加入一些空格看看效果 data=['艾斯梅拉达 爱上 了 弗比斯','听说 我 有 王牌'] #实例化一个转换器类 transfer=CountVectorizer() #将data喂入实例化好的transfer的fit-transform()方法之中 new_data=transfer.fit_transform(data)#此时返回一个sparse稀疏矩阵 print('看一下new_data的值:\n{}'.format(new_data)) print('看一下new_data的类型:{}'.format(type(new_data))) print("特征名字:{}".format(transfer.get_feature_names())) print('看一下new_data的shape:{}'.format(new_data.shape)) #将sparse矩阵转换成数组,统计每一个样本出现的特征值的个数 print('new_data转换成数组:\n{}'.format(new_data.toarray()))
运行结果如下:
看一下new_data的值:
(0, 4) 1
(0, 2) 1
(0, 1) 1
(1, 0) 1
(1, 3) 1
看一下new_data的类型:<class ‘scipy.sparse.csr.csr_matrix’>
特征名字:[‘听说’, ‘弗比斯’, ‘爱上’, ‘王牌’, ‘艾斯梅拉达’]
看一下new_data的shape:(2, 5)
new_data转换成数组:
[[0 1 1 0 1]
[1 0 0 1 0]]
这样貌似可以完成对中文文本特征的提取,但是实际运用过程中,对所有的中文都这样手动的去加空格的话,就得不偿失了。所以要用到一些专门的中文分词工具比如Jieba分词(本文暂不介绍),或者更为专业的分词工具,或者公司自己研发的专门的工具了。总结
本文介绍了一下怎么使用CountVectorizer使用,CountVectorizer提取英文还可以,提取中文不太合适。(如果您发现我写的有错误,欢迎在评论区批评指正)
-
基于多特征融合的APF中IGBT开路故障特征提取.pdf
2019-09-20 11:22:54基于多特征融合的APF中IGBT开路故障特征提取.pdf,为可靠地进行有源电力滤波器中IGBT开路故障诊断,提出一种基于多特征融合的有源电力滤波器IGBT故障特征提取方法。该方法采集三电平APF主电路中钳位二极管桥臂电压... -
图像特征提取新领域:pww轮廓特征提取
2016-05-08 10:10:08图像特征提取新领域:pww轮廓特征提取 1、高清视频中实现实时提取图像特征 2、图像特征点定位准确,快速 3、用于模式识别,替代surf算法 4、对于很多应用,需要前期处理。 5、时间有限,只能写这么多给大家,其他的... -
多方向的Gabor特征提取
2018-07-30 14:26:27能够提取多方向多尺度的Gabor特征,Gabor特征可用于人脸识别,表情识别,代码中可以对方向和尺度信息进行修改,该代码清晰,容易理解 -
三维模型特征提取
2019-08-05 21:15:21到目前为止,国内外对特征提取的研究已日趋成熟并出现了很多特征提取方法,比如主成分分析(PCA)、线性判别分析(LDA)、局部保留映射(LPP)等,但是它们仍存在某些缺陷。PCA是一种无监督的特征提取算法,它通过...特征提取是模式识别中最基本的研究内容之一,可以有效地缓解模式识别领域经常出现的“维数灾难”问题并对识别性能起着重要作用。
到目前为止,国内外对特征提取的研究已日趋成熟并出现了很多特征提取方法,比如主成分分析(PCA)、线性判别分析(LDA)、局部保留映射(LPP)等,但是它们仍存在某些缺陷。PCA是一种无监督的特征提取算法,它通过最小化样本的重构误差来寻找一组正交变换,将高维数据投影到低维数据空间。LDA是一种有监督的学习算法,它的目标是最小化类内散度的同时,最大化类间散度以保留判别信息。当数据规模较大时,LDA会优于PCA,但是当数据规模较小时,PCA会比LDA更具有优势。
传统的线性变换方法,降维后难以保留原始高维数据的局部几何结构,近年来,又出现了许多基于非线性变换的特征提取方法,以基于流形学习的方法最为典型,比如局部保留映射(LPP)、局部线性嵌入(LLE)、等距离映射(Isomap)等,其中LPP是一种较为常用的特征提取方法,LPP通过构建数据的局部邻接图来保留数据的局部结构并通过最小化任意两个点的加权平方距离和来找到最优的投影。
局部保留特征提取方法的思想来源于流形学习,在低维子空间中保持了原始空间样本点之间的近邻关系,成为继LDA之后的又一著名的特征提取方法,并广泛地应用在人脸识别等领域。
基于向量的特征提取方法是一维数据,对于图形,二维模式特征提取方法效率更高,而针对地质体这种三维对象,需要三维特征提取的方法。
随着三维模型获取技术、计算机图形学以及计算机网络技术的发展,三维模型在很多领域获得了广泛应用,并且形成越来越庞大的三维模型数据库。如何从模型库的海量数据中迅速查找处我们所需要的模型已经成为当前迫切需要解决的问题。
通常,完整的基于内容的三维模型检索系统包括特征提取、相似性度量、模型检索、反馈机制、性能评价等几方面。
基于模型内容的检索的基本原理为:利用机器自动提取并计算三维模型的内在特征,如形状、拓扑关系、模型表面信息等,通过对待查询模型河目标模型特征之间的相似性匹配来自动建立特征检索索引,实现对三维模型数据库的浏览和检索。其中,三维模型的特征提取对三维模型的相似性检索至关重要。
一个理想的特征描述符需要满足一下几个条件:(1)易于表达和计算;(2)尽量不受边界噪声、变形、模型简化等影响,应具有良好的鲁棒性;(3)具有不被模型的平移、旋转、缩放等几何不变性以及不受模型多种格式的变化的拓扑不变性,具有良好的稳定性。(4)不同模型的特征表示应该尽量不尽相同,即具有唯一性。
迄今为止,国内外已经有多家院校和研究机构开展了特征提取及相关技术的研究,并相继提出了多种特征提取方法,主要分为一下几类:基于轮廓形状的特征提取,基于拓扑形状的特征提取,基于视觉形状的特征提取。
计算并比较三维模型的轮廓特征从而获得三维模型的几何相似性是基于轮廓形状的几何特征提取算法实现的思想。其中,三维模型轮廓特征主要包括了顶点以及网格的分布特征。
首先是基于统计的特征提取方法,Osada提出了通过随机采样才获得三维模型的几何特征的形状分布方法。对于从三维模型表面上随机采样得到的两个点,可得到它们之间的欧氏距离(D2距离),更进一步,通过统计以上方法而得到的欧氏距离,可获得三维模型的形状分布曲线。具有相似外形特征但细节不相同的模型也可能有大体相同的形状分布曲线,因此,仅利用一条曲线来表示三维模型的形状,在实际的应用中这通常不够理想,这是Osada算法的缺点所在。
通过比较三维模型的拓扑结构来获得三维模型相似性,这是基于拓扑形状的三维模型相似性比较算法的核心思想。其中,最常用的拓扑结构信息包括三维模型的分支与连通性等,如Reeb图。采用基于多分辨率Reeb图的骨架提取方法,不仅可以描述三维模型的特征,同时还具备了描述模型的空间拓扑关系的能力。对于局部匹配乃至全局匹配该方法都是较为适用的。
在基于视觉的三维模型相似性比较算法中,通过比较三维模型在各个方向的视觉图像的相似性可以获得三维模型的相似性。
骨架形状特征提取更加符合人类视觉特征的可视化描述。该方法是一种基于拓扑的特征提取方法,本质上通过提取不同组成部分之间的连通关系来描述三维模型的结构特征,其不仅能识别拓扑不同的模型,而且对拓扑相近但几何构造不同的三维模型也能识别,因此具有很好的稳定性。
骨架是一种线性的几何体,可以直观的反映出三维模型原有的形状信息和拓扑性质,是一种性能优良的几何特征。然而,要实现对三欸模型骨架特征的提取,首先需要解决三维模型骨架特征计算机获取问题。目前,骨架可以被理解为三维模型的各部分的内在中轴线(Mediaaxis),基于此国内外学者提出了用烧草模型和最大球(圆)模型来定义骨架。
骨架算法的研究已经进行了很多年,主要集中在二维图形领域,可利用图形中的连通性和单像素性来衡量提出的骨架是否跟原有物体保持相对一致性。通常,对于二维平面物体,我哦们采用连续的曲线表示骨架,类似可用曲面来表示基于体素的三维模型的骨架。由于曲面形式的多样化,很难用统一的形式来描述其特征,因此目前主流的骨架提取算法一般都是直接抽取三维物体的线性骨架(curveskeleton)。
为了提高三维模型建模效率,遵循可服用和节约成本的原则,可以适用现有的模型不见或构件建立模型,找到符合用户意图的三维模型部件已经成为一个新问题。于是三维模型局部检索具有重大现实意义。在三维模型全局特征基础上,三维模型的局部特征提取方法也越来越多。
所谓局部特征是指三维模型某个显著部分或者构件的特征,是相对全局特征而言的。在三维模型的局部特征提取方法中,大多采用了分割三维模型的思路,分割后每个部件的特征可作为三维模型的局部特征。
Marini等提出利用Reeb图实现模型的自动分割,并对分割后的每个子部分进行球谱分析提取几何特征,在运用图匹配方法实现模型的局部匹配。
赵浩鑫.几种特征提取方法的研究[D].河北大学,2012.
邓军国.三维模型检索中几种特征提取方法实现研究[D].西北大学,2009.
姚小兰.三维模型检索中的特征提取技术研究[D].中国石油大学,2009.
-
基于深度神经网络的多尺度特征提取方法
2021-02-25 11:16:33基于深度神经网络的多尺度特征提取方法 -
时域特征提取_PHM建模方法论之 数据特征提取
2020-12-17 13:17:31PHM建模方法论包括6大步骤,分别是数据采集、数据预处理、特征提取、模型建立、预测与诊断以及可视化。...时域特征提取通常包括的参数较多,比如有RMS(有效值)、峰峰值、峭度、裕度、歪度、均值、...PHM建模方法论包括6大步骤,分别是数据采集、数据预处理、特征提取、模型建立、预测与诊断以及可视化。
数据特征提取步骤是整个过程的第3步,目的是通过采用合适的数据分析方法,从原始数据中提取与建模相关的有效特征来建立模型。一、特征提取
常用的特征提取方法,包括时域特征提取,频域特征提取,以及时频域特征提取。
时域特征提取通常包括的参数较多,比如有RMS(有效值)、峰峰值、峭度、裕度、歪度、均值、均方根、脉冲因数、波形因数、波峰因数等等。
上图展示了4种不同健康条件下轴承的振动信号。从这4个图里边我们可以看出,轴承的健康程度不同,振动信号波形的幅值也不相同,并且波形的特征也不相同。通常来讲,当轴承出现磨损以后,振动信号的峰峰值幅值有效值,以及峭度值都会增大。
上图展示了柴油机4种不同健康状态下,振动信号的特征参数。从这4张图里边我们也可以看出来,不同状态下所对应的特征参数也是存在一定的差异。
频域特征提取主要包括频带能量提取和特征频率提取。
所谓频带能量提取是指,在频谱内指定的频段内提取所对应的能量。特征频率提取是指在特定的频率点提取该点锁定的幅值。频带能量提取通常会在FFT频谱或功率谱里边来进行。以FFT频谱为例,当要提取某一个频段内所对应的能量时,可以把该频段内所有的幅值进行相加,来作为该频段内所对应的能量。
以滚动轴承为例,当轴承出现磨损时,通常会在频谱中出现共振频带频率簇,并且在包络谱中出现轴承故障特征频率。如上图所示,磨损的轴承会在4000-8000Hz频段内出现一个共振频带,因此,可以将该频段所对应的能量作为区分发电机轴承磨损和正常的一个特征参数。
另外,对共振频带进行解调后可以得到包络谱,通过包络谱可以清晰地看到,轴承对应的故障特征频率。因此,可以把特征频率作为特征参数,然后提取特征频率所对应的幅值。
常用的时频域分析提取方法包括短时傅里叶变换(STFT)和小波分析。时频域分析特别适用于分析非平稳信号,然后针对非平稳信号的特征提取可以考虑时频域分析。
时频域分析的主要优点是可以在时间、频率以及幅值三个维度来观察信号的特征。
上图是某个典型非平稳信号的STFT结果。从图中我们可以清晰地看到,在E1、E2、E3、E4这4个位置出现了能量比较集中的区域,而且对应的频率以及时刻均不相同。因此,可以把这4个区域所对应的能量作为该信号的一个特征,用于后续分析,而4个区域的能量则可以通过幅值相加进行对应。
另外,小波分析也是时频域分析的一种常用方法。不同于短时傅里叶变换,小波分析所采用的基函数是一种幅值衰减、可伸缩、可平移的小波基,而短时傅里叶变换是基于FFT来进行的,而FFT基数函数是一种无限长的正弦函数。所以说通常情况下,小波分析要优于短时傅里叶变换,但小波分析也有自身的一些缺点。
上方左、右两图分别采用Cmor3-3小波和Db8小波对齿轮箱高速端进行振动分析,对比两图可以发现,采用不同的小波,对最后的分析结果会产生较大的影响。
那么,在实际中应如何去选择小波基呢?一个是可以通过经验的方法;另外也可以多尝试几种小波,选择分析效果最好的一种。
二、特征选择
特征选择的目的是提升模型输入与建模目标的相关性并降低冗余度,避免“维度灾难”,同时为后续数据处理提供更好的理解。特征选择还有助于减少传感器的安装数量,比如,当评估轴承的健康状态时,若振动特征更能够体现轴承状态,可以只增加振动传感器,而不选择温度或其他类型的传感器。此外,通过特征选择还可以提高算法的计算效率。
特征选择的常用方法:
基于机理/经验的方法
— 利用专家领域知识选择相应的变量(如,轴承特征参数通常选择RMS、峰峰值、峭度值、歪度;与风电机组振动相关的参数通常选择功率、转速、风速)
封装法 ( Wrapper Method )
— 尝试将多个变量进行组合,选择模型性能最优的变量组合,如分类模型
— 全局优化及搜索算法,如遗传算法,适用于解决大规模特征选择问题
— 启发式变量选择方法,如向前选择法、向后选择法
过滤法 ( Filter Method )
— 互信息法,即某个特征与某之间的互信息最大,表明该特征越有效,后续选择个特征进行建模
— Fisher score,即选择得分最高(样本方差越大,得分越高)的特征来作为有效特征
三、降维
降维可以减少计算量,提高计算效率,提高模型的泛化能力。常用的降维方法是基于PCA(主成分分析)的降维,它是通过空间转换,将高维数据转化为低维数据。通过PCA降维可以减少原参数之间的相关性,降维之后的数据仍可保留原数据的大部分信息。
如上图所示,三角形表示二维空间的数据。将三角形朝两个不同的方向来进行投影,其中,在竖直方向投影后数据的区分度并不是很大,而在水平方向上投影后数据的区分度相对来说比较大,因此我们通常选择水平方向做为数据区分度最大的方向,而这个方向也就是前面提及的「主成分」。
如上图所示,PCA降维流程包括以下主要步骤:
首先对原始数据进行特征提取,然后对提取到的特征进行标准化处理;
接着计算标准化处理后特征的协方差矩阵,进行特征值分解,得到多个特征值及其对应的特征向量;
此时,通常会选择比较大的特征值及其对应的特征向量来计算主成分。
通过利用上述原则,便完成了包含原始数据大部分信息的主成分的提取。
相关阅读
关于PHM,这是有史以来听到最接地气的解说数据预处理技术—保障模型效果的幕后英雄
PHM算法 | 故障诊断建模方法 -
SAR影像特征提取的多纹理方法研究
2020-01-29 05:49:15SAR影像特征提取的多纹理方法研究,陈军,杜培军,系统的比较了主要的基于纹理的SAR影像特征提取方法,包括:小波多尺度特征提取方法、地统计学变差函数法、基于分形理论的盒子维提 -
用于多视图特征提取和图像识别的拉普拉斯多集规范相关性
2021-03-04 10:57:55用于多视图特征提取和图像识别的拉普拉斯多集规范相关性 -
特征提取
2019-09-12 08:37:12为了提取运动信息,他需要从视频的每一帧提取“猫咪特征”。一个猫咪特征是一个两维的vector<x, y>。如果x_1=x_2 and y_1=y_2,那么这俩是同一个特征。 因此,如果喵咪特征连续一致,可以认为喵咪在运动。也...话不多说先放题
时间限制:1秒
空间限制:32768K
小明是一名算法工程师,同时也是一名铲屎官。某天,他突发奇想,想从猫咪的视频里挖掘一些猫咪的运动信息。为了提取运动信息,他需要从视频的每一帧提取“猫咪特征”。一个猫咪特征是一个两维的vector<x, y>。如果x_1=x_2 and y_1=y_2,那么这俩是同一个特征。
因此,如果喵咪特征连续一致,可以认为喵咪在运动。也就是说,如果特征<a, b>在持续帧里出现,那么它将构成特征运动。比如,特征<a, b>在第2/3/4/7/8帧出现,那么该特征将形成两个特征运动2-3-4 和7-8。
现在,给定每一帧的特征,特征的数量可能不一样。小明期望能找到最长的特征运动。
输入描述:
第一行包含一个正整数N,代表测试用例的个数。
每个测试用例的第一行包含一个正整数M,代表视频的帧数。
接下来的M行,每行代表一帧。其中,第一个数字是该帧的特征个数,接下来的数字是在特征的取值;比如样例输入第三行里,2代表该帧有两个猫咪特征,<1,1>和<2,2>
所有用例的输入特征总数和<100000
N满足1≤N≤100000,M满足1≤M≤10000,一帧的特征个数满足 ≤ 10000。
特征取值均为非负整数。
输出描述:
对每一个测试用例,输出特征运动的长度作为一行
输入例子1:
1
8
2 1 1 2 2
2 1 1 1 4
2 1 1 2 2
2 2 2 1 4
0
0
1 1 1
1 1 1
输出例子1:
3
例子说明1:
特征<1,1>在连续的帧中连续出现3次,相比其他特征连续出现的次数大,所以输出3解题思路
10:12
看完题目,我的解决方案已经跃然于脑海里,这个不就与是上一道题那个“刻子”的求法类似,就是求最大连续数,所以我觉得这道题对于我来说,难点,可能是输入输出这里,谁让我毕竟少写输入语句,现在让我手撕一段,输入“hello,world”,我都得先百度百度,那么今天,我还是照例跳过输入,继续往前
先列一下输入的数据,如下:
1
3
2 1 1 2 1
3 1 3 2 1
2 1 1 1 1
那么我们上面的1 ,就是最外层循环体的判断字段,就是for(x=0;x<y;x++)中的y,即第一个数是多少,就循环多少次,记这个为1号循环体,然后3,就是
打断一下,我把题目理解错误了,我以为是计算每一行中的最长连接数,然后计算出总的最长连接数。
其实不然,以第一行为例,2是代表有两个特征(特征表示为x,y),即后面四个数就是两个特征向量,所以,我们要计算的是,这样的才对,所以2才是以上例子的正确答案。
行了,走了一段歪路,我们言归正传,重新思考
我第一时间是想把这些特征向量,两两合成一个字符串,然后再用竖列排序,如果没有数就定义为“0”,然后再来我们一开始的“刻子”算法,不就可以了吗,我是不是很机智。
代码就不打了,今天有点困,顶不住了。脑洞时刻
脑子很困时刻,我感觉这个比较像一个矩阵,但我对矩阵不是很精通,我想不出来什么法子可以计算两列中连续的最大向量,所以啊,今天的脑洞时刻由此结束,我要休息了。
给昨天晚上熬夜看发布会的我还债。
第二天语录,最近在看神经网络的一些东西,有没有发现,这一套套循环,特别像神经网络中层级的变幻 -
基于多尺度融合的甲状腺结节图像特征提取
2021-03-01 23:24:45基于多尺度融合的甲状腺结节图像特征提取 -
matlab开发-特征提取使用多信号小波变换分解
2019-08-23 03:28:50matlab开发-特征提取使用多信号小波变换分解。利用小波变换进行特征提取。 -
基于多视图的三维重建中特征提取与特征匹配并行化研究_冯兵
2018-04-08 00:30:04基于多视图的三维重建中特征提取与特征匹配并行化研究_冯兵 基于多视图的三维重建中特征提取与特征匹配并行化研究_冯兵 基于多视图的三维重建中特征提取与特征匹配并行化研究_冯兵 -
基于多视图稀疏嵌入的图像特征提取与分类
2021-03-03 13:24:29基于多视图稀疏嵌入的图像特征提取与分类 -
matlab开发-特征提取使用多信号小波包分解
2019-08-22 07:57:42matlab开发-特征提取使用多信号小波包分解。它只是一个使用小波包变换(WPT)的特征提取代码。 -
以及特征融合的论文,使用LSTM-Attention和CNN进行文档特征提取,同时结合Mairesse语言学特征,将多个分段...
2021-03-03 15:48:20译文:基于BERT和多特征联合的个性识别方法 领域:文本个性识别技术:BERT,LSTM,Attention,CNN 链接: 论文介绍:针对现有模型不能充分提取语义特征,以及单个使用语义或语言学特征来进行预测等不足,使用BERT预... -
基于PCA与KPCA的多光谱遥感影像特征提取对比研究
2020-07-13 00:26:47多光谱遥感影像特征提取是保证图像分类结果精度的关键,文中介绍了多光谱遥感影像特征提取的两种主要方法。通过实验证明:KPCA较PCA具有更好的数据压缩和降维效果,影像特征提取效果优势明显。 -
时域特征提取_音频特征提取方法和工具汇总
2020-12-14 11:44:06绝大多数音频特征起源...1. 音频特征的类别认识音频特征不同类别不在于对某一个特征精准分类而是加深理解特征的物理意义,一般对于音频特征我们可以从以下维度区分:(1)特征是由模型从信号中直接提取还是基于模型... -
数据的特征抽取+分类特征变量提取+方法+文本特征提取(只限于英文)+方法+ 图像特征提取
2020-02-01 19:24:55文章目录1.2. 数据的特征抽取数据的特征抽取分类特征变量提取方法文本特征提取(只限于英文)方法方法图像特征提取 ... sklearn.feature_extraction提供了特征提取的很多方法 分类特征变量提取 我们将城... -
论文研究-多尺度特征提取的双目视觉匹配.pdf
2019-09-08 09:49:27提出一种基于多尺度特征提取的双目视觉匹配算法,旨在提高传统算法的实时性和鲁棒性。该算法通过设计出一种基于尺度因子变化的高斯核模板尺寸自适应调整以及双目视图的双向配准的办法,以改善特征点匹配效率和精度。...