物体识别技术发展状况( 二 )

RCNN之所以慢,是由于对于2000个候选框中每一个,都要通过卷积层来提取特征,这注定会有很多重复的计算,如果能避免这其中的重复,就可以对算法显著的加速。具体来说,利用了CNN中的池化操作,先对整张图片过卷积层进行信息提取,之后将每一个候选框内的特征进行池化操作。
这里的池化操作,为了考虑到不同颗粒图像带有的不同信息,也是层次化进行的,具体是想将一幅图中的全部特征中选出一个,再将这幅图等分成4个小正方形,从每一个中得出一个特征,最后再将每个子图再切分,最后从16个小图中每个得到一个特征。如此在池化层对不同的候选框中的信息进行汇总,达到提高效率的目的,使RCNN时一张图40-50秒的判别时间变到了2秒

但是fast RCNN仍然有候选框的选择这一步,而这种机械化的操作将花费很多时间,faster RCNN对此进行了改进,通过引入神经网络替代了候选框筛选(selective search)。将一整张图片通过卷积神经网络提取特征,之后通过Region proposal network对整张图中确定哪一部分对应着相对应的区域。之后通过卷积层将不同大小形状的子图的特征变为相同长度。最后再通过softmax函数进行分类,使用线性回归去微调筛选框的具体位置。
Region proposal network通过在一张图片中按照给定的形状,设置k个锚点(anchor box),从而针对每个区域的子图,先预判待识别的物体在这个框中的可能性,在通过训练更新每个框的可能性的估计,从而之关注哪些最有可能性的位置。每个框一开始并没有标注待识别的是什么物体,这里优化的只是物体本身是不是在这个框中的概率,之后的网络将负责分类这个框里究竟是什么。相比于Fast RCNN的2秒,Faster RCNN的识别速度达到了0.2秒。
Faster RCNN也有自身的问题,比如一幅图像仍然要经过多个筛选框的反复处理。另外Faster RCNN在特征提取的时候采取了训练好的成熟模型,例如Inception或Residual net等,如果待识别的物体和这些网络本身训练的东西类似还好,如果不是,那模型的特征提取就会效果不佳。
总结一下。由于物体识别在商业上的广泛应用,其发展很快。RCNN家族已经早已不是最新的模型,YOLO和RetinaNet等端对端的模型通过使用一个网络完成全部任务,实现了实时的物体识别,能够在视频中使用。但RCNN的发展过程,就是神经网络一步步替代掉传统模型的过程。从最初的只替代特征提取,到用softmax多元分类替代多个二元分类,再到使用Region proposal network替代机械化的筛选框穷举。模型运行时间上取得了数量级上的进步。
要想做到数量级层面的性能优化,一定要来源于一个突破性的创新。从RCNN的发展过程中,我们可以学到将具体任务拆解的方法,以及如何使用学习而不是穷举的方式来减少计算量。智能的标志就是能用最少的计算量达到相近的信息提取能力,而端对端的网络通过将一切步骤整合在一起,从而进一步提升了性能。
推荐阅读
- 山西太原把ETC收费技术引入高铁站停车交费快至0.27秒
- 长沙航院向部队输送逾六千名专业技术士官居全国高职院校之首
- [技术创新]苏州创建国家级充换电技术创新中心 助力新能源行业发展
- 黄金时间■新技术加持!江苏高标准农田灌溉效率大幅提升
- 用生物技术排地雷东北林业大学学子斩获国际金奖
- 疫苗|值得你摘下“有色眼镜”【转基因的另一面】转基因技术
- 特斯拉|热评 | 加强OTA技术召回监管将有助于汽车产业健康发展
- 一同选车|全球销冠!比亚迪的插电混动技术究竟有多强?
- 西安两男子从网上学会这种技术,竟专门用来......刑拘!
- |第七届淮海科学技术奖获奖名单揭晓121个创新项目、10名科技人才获奖
