1. hand crafted的特征:顾名思义人为设计的特征,即直接设计特征本身,根据仿照人类视觉的特点对什么样的特征敏感,什么样的特征不敏感提取图像中有区分能力的特征,因此提取出来的特征每一维往往都有具体的物理含义。目前最牛X的hand crafted 的特征常见的有反应纹理特点的方向梯度类特征sift,surf,hog等,反应轮廓形状的shape context等,它们都是经过了很长的时间对人眼敏感信息的特点设计出来的,如果把所需学习的目标换成视频,则也同样需要把这些算法扩展到3D,比如HOG3D,3Dsurf。这些基本属于底层视觉特征,理论依据一般是V1区视觉特性。著名的稀疏编码(Sparse coding) 也是根据V1区视觉特性构造的特征表示方法。
- 需要根据数据的特点精心设计,虽然是在众多的视觉神经理论依据下,但是难免有人为的想当然的成分。
- 往往依赖于数据库,也就是说设计的特征只对某些数据库表现好,而对其它的数据库效果并不能保证就好。或者当把数据来源发生变化,比如对RGB数据设计的特征换成Kinect深度图像,这些特征点就不一定适应了,因此又得重新设计。
- 提取过程所花时间很长,不利用大数据特征的提取(貌似不一定对)。
2. Feature learning纯学习的方式:设计的是特征提取的规则,一般就是一个model,如神经网络,人为设计的部分是model的结构以及学习的规则,至于model的参数则需要通过学习得到,通过训练得到一个具体的model,而特征则需要通过这个model去对具体的图像或视频提取,因此得到的特征往往无法解释具体每一维的物理含义。构建人的思考过程,这是神经网络理论提出的初衷。神经网络方法在沉默了若干年后,在坚持如一,锲而不舍的大牛Hinton的引领下进入了一个全面开花的阶段,deep learning, Deep belief nets被研究的如火如荼。deep learning框架就是模拟人脑的大脑皮层工作(生物神经理论上的支持),因为大脑皮层的视觉区域也是分层次工作的,越底层的视觉皮层对那些底层特征就越敏感,Feature learning就是以deep learning框架下学习图像或视频的特征,系统的输入为raw data,你只要设计好model的框架,通过训练得到model的参数,至于特征学习出来是什么样子,完全交给机器。