【技术分享】基于深度学习的目标检测算法发展(一)
随着算力的提升和互联网发展带来的海量数据,在21世纪初,深度学习迎来了它的第三次浪潮,这次浪潮较之前两次更为波涛汹涌、范围广泛。
引爆这次深度学习的浪潮的事件是:在ImageNet LSVRC-2012的比赛中,Alex Krizhevsky使用AlexNet取得了top-5错误率为15.3%的成绩,大幅领先第二名夺冠。
所以,近代的深度学习浪潮是从图像分类这个基础的计算机视觉任务开始的。
基于深度学习的图像分类,思路很直观:就是用一个提前训练好的深度卷积神经网络用作特征提取器,提取输入图像的特征向量,最后使用一个softmax之类的分类器作分类,如下图所示。
它的效果之所以好的原因在于:深度卷积神经网络能够提取出更具有代表性的图像特征,从而得到更优秀的分类结果,这都得益于在训练阶段它所使用的数据集的规模够大。
看到深度学习在图像分类领取取得了巨大成功,学者们开始思考:是否能将深度学习技术应用于目标检测这个更有难度一些的视觉任务呢?(相较于图像分类来说,目标检测除了需要对图像中出现的目标分类之外,还需要框处目标的位置。)
人们在研究一个新的问题时,通常会基于已有的经验,基于深度学习的目标检测算法的发展亦是如此。
在早期,学者们将目标检测当做分类任务来看待,因为图像分类算法是已知,所以只需将图像中的目标裁出来,再输入进图像分类网络对其分类,就可变相的完成目标检测这一任务。这个想法是很直观的,思路也很容易理解。因此当前待解决的问题就变成了:如何从图像中准确的裁剪出目标?
早期并没有肯定的答案,人们采用的流行做法有两个:
1、基于滑动窗口的做法
2、基于Region Proposal的做法
第一个算法简单来说就是暴力遍历:使用不同比例、大小的矩形框在图像上作遍历,每到一个位置便裁剪出该位置的局部图像,送入图像分类网络进行分类,如下图所示:
这个做法虽然思路简单、容易理解,但是效率却极其低下,因为不同的局部区域存在大量重叠,导致了大量的冗余计算,速度较慢;另外由于滑动窗口的大小是人为设置的,并不能保证对所有的图像都裁出最合身的框,导致检测效果较差;
第二个思路:基于Region Proposal的做法,这个较前一个有些改良,它使用一些传统机器学习的方法,在图像中找出可能存在目标的位置,再将这些位置送入分类网络做分类,如下图所示:
这种做法可以降低冗余,但效率依然不够,因为冗余计算依然存在;另外,这种做法依然是分阶段进行的,非端到端的,训练起来较为麻烦。
后续目标检测算法将如何发展呢?我们下文再聊~
- 点赞
- 收藏
- 关注作者
评论(0)