本发明涉及车辆检测技术领域,尤其涉及基于传统算法和深度学习算法级联的车辆检测方法及系统。
背景技术:
随着深度学习算法的兴起,与图像相关的人脸识别、目标检测分类等问题得到了很好的解决,相对传统的机器学习算法,深度学习极大的提升了图像算法的性能,使得之前很多解决起来有挑战的问题看到了解决的希望,拓展了图像在我们生活场景中的应用边界。无人车作为下一个从科幻步入现实的问题,成为了我们需要解决的难题和挑战。ADAS算法在无人车中扮演着关键的角色。
车辆检测作为ADAS主要功能之一,需要对视频图像中的车辆目标进行实时分析,通过定位前方车辆的位置,测算距离本车的安全距离,来及时的给司机提供预警。
车辆检测算法可以分为基于传统机器学习的方法和基于深度学习的方法两大类:
1)传统机器学习算法的车辆检测
基于滑动窗口的,通过固定的窗口来图像上进行遍历扫描,基于手工设计的特征和分类器来判定当前的窗口目标是否包含车辆目标;
2)基于深度学习的车辆检测算法
基于深度学习的检测算法,也细分为两类:
一种是与传统的目标检测算法类似,基于滑动窗口的算法,在图像上按固定的窗口进行扫描,提取窗口目标的CNN特征进行判定该目标是否为车辆,相对传统机器学习来说,仅仅是将特征由手工设计的特征变成了表征能力更为强大的CNN;
另一种是先提取粗糙的备选目标窗口,再对备选的目标进行更为精细的分类,特别是在精细分类上,利用了CNN作为特征。这一脉算法以RCNN[1],fast RCNN[2],faster RCNN[3]为代表进行演化,在GPU上做到了10fps以上的速度和很高的目标检测性能。在这样的两级架构下,为了进一步提速,出现了更加高级的深度学习架构,通过将前后两级架构进一步融合,得到了端到端的深度学习目标检测框架,以SSD[4]、YOLO[5]等算法为代表。
基于传统机器学习算法进行车辆检测,受限于手工设计的特征不够强大,导致检测性能不够好。并且为了进一步的提升检测性能,需要进行大量的实验,来进行特征的设计。
而基于深度学习的算法,虽然可以做到很高的性能指标,但是需要GPU资源,限制了深度学习在更加广泛的嵌入式、手机等设备上的应用。由于GPU的功耗相对较高,嵌入式或手机上没有或很少有GPU资源可以调用。并且网络的深度也导致模型的大小增加,需要调用更多的内存资源,这对于手持设备来说,资源消耗太大。现阶段专用的低功耗神经网络芯片已经在研制中,但是距离落地还有很长的路。如何在现阶段将深度学习在嵌入式设备上进行落地,是一个很大的挑战。
技术实现要素:
本发明提供了一种基于传统算法和深度学习算法级联的车辆检测方法,包括如下步骤:
第一级处理步骤:通过第一级的机器学习算法进行车辆检测,得到备选目标窗口;
第二级处理步骤:通过第二级的深度学习算法,对提取到的备选目标窗口进行分类。
作为本发明的进一步改进,所述机器学习算法为ACF算法。
作为本发明的进一步改进,在所述第一级处理步骤中首先输入图像、然后划窗、聚和通道特征、关键层金字塔其它层插值,然后采用Adaboost算法进行分类,最后输出检测结果。
作为本发明的进一步改进,第二级的深度学习算法包括CNN算法,并且采用CNN网络架构。
作为本发明的进一步改进,所述CNN网络架构包括8层,从第1层至第8层分别为:输入的32x32图像层、5x5步长为1的32个卷积核层、2x2的pooling层、3x3步长为1的64个卷积核层、2x2的pooling层、512维的FC全连接层、dropout层和最后的FC全连接输出层,FC全连接输出层给出当前的分类目标是否是车辆。
本发明还提供了一种基于传统算法和深度学习算法级联的车辆检测系统,包括:
第一级处理模块:用于通过第一级的机器学习算法进行车辆检测,得到备选目标窗口;
第二级处理模块:用于通过第二级的深度学习算法,对提取到的备选目标窗口进行分类。
作为本发明的进一步改进,所述机器学习算法为ACF算法。
作为本发明的进一步改进,在所述第一级处理模块中首先输入图像、然后划窗、聚和通道特征、关键层金字塔其它层插值,然后采用Adaboost算法进行分类,最后输出检测结果。
作为本发明的进一步改进,第二级的深度学习算法包括CNN算法,并且采用CNN网络架构。
作为本发明的进一步改进,所述CNN网络架构包括8层,从第1层至第8层分别为:输入的32x32图像层、5x5步长为1的32个卷积核层、2x2的pooling层、3x3步长为1的64个卷积核层、2x2的pooling层、512维的FC全连接层、dropout层和最后的FC全连接输出层,FC全连接输出层给出当前的分类目标是否是车辆。
本发明的有益效果是:本发明提出的两层级联框架,在实际测试中,能够做到很高的车辆检测召回率和准确率,并能在各种平台下实时运行。
附图说明
图1是本发明的级联框架图;
图2是本发明的检测算法流程图。
具体实施方式
传统的机器学习虽然性能差,但是速度快,不太受限于计算资源,可以在不同的平台上部署。深度学习算法性能好的很大一部分原因,是因为利用了很深的神经网络架构,这也是导致计算速度慢的主要原因。而如果利用较浅层的网络架构,对于车辆检测来说,该网络架构所提取的特征已经足够强大,也会大大节省计算资源和内存开销,保证了实时性和很好的准确率。
为了结合传统算法和深度学习的优势,弥补两者的缺陷,本发明提出了一种基于传统算法和深度学习算法级联的车辆检测方法,不仅能保证检测的实时性,还能保证很高的准确率。
本发明的级联框架如图1所示,本发明的整体思路是,通过第一级的传统机器学习算法进行粗检测,来得到可能包含车辆的备选目标窗口,保证高召回率和检测速度;再通过第二级的深度学习算法,对提取到的备选目标进行精细分类,保证高准确率。这样的一套框架,不仅能大大提升车辆检测性能,而且由于采用了较小的深度网络架构,使得算法能不借用GPU也能实时运算。该方法不仅可以再跨平台上运行,特别是在嵌入式上,能够做到实时处理和很高的检测性能。
下面详细介绍整体框架的两级处理流程:
第一级处理步骤,即第一级基于传统机器学习的ACF算法:
基于传统机器学习的检测算法有很多,本发明选用当前速度很快的ACF[6]算法来进行说明,当然不仅仅限于这一种算法。
在第一级处理步骤中,利用聚合通道特征算法(ACF,Aggregated Channel Features)进行车辆检测。该算法具有如下几大优势,1)速度较快,易于并行;2)目标为刚性物体,能得到比较稳定且准确的矩形框;3)抽取的特征易于拓展到路牌,行人等目标检测。该算法在嵌入式上能达到实时而且鲁棒的性能。
ACF算法的检测流程如图2所示。
第二级处理步骤,即第二级基于深度学习的CNN算法:
第二级基于深度学习的CNN算法,是当前使用很广泛的一类DNN架构。为了在计算资源、内存开销和检测性能上进行折中,本发明选用了一个浅层的CNN网络架构,所述CNN网络架构包括8层,从第1层至第8层分别为:输入的32x32图像层、5x5步长为1的32个卷积核层、2x2的pooling层、3x3步长为1的64个卷积核层、2x2的pooling层、512维的FC全连接层、dropout层和最后的FC全连接输出层,FC全连接输出层给出当前的分类目标是否是车辆。
本发明提出的这种两层级联框架,在实际测试中,能够做到很高的车辆检测召回率和准确率,并能在各种平台下实时运行,特别是嵌入式系统。
本发明的框架是第一级利用快速的传统机器学习检测算法,第二级是基于CNN的分类算法。第一级利用ACF算法进行备选车辆窗口的提取,但不仅仅限于该算法,有很多类似的快速传统检测算法都可以利用。第二级设计了模型大小比较适中的CNN网络架构,但不仅仅限于本发明提出的这8层架构,还可以设计各种各样参数的CNN网络架构。
ADAS:Advanced Driving Assistant System高级辅助驾驶系统;
ACF:Aggregate Channel Features聚合通道特征;
Adaboost:Adaptive Boosting自适应增强算法;
DNN:Deep Neural Network深度神经元网络;
CNN:Convolutional Neural Network卷积神经网络。
[1]Girshick,Ross,et al."Rich feature hierarchies for accurate object detection and semantic segmentation."Proceedings of the IEEE conference on computer vision and pattern recognition.2014.
[2]Girshick,Ross."Fast r-cnn."Proceedings of the IEEE International Conference on Computer Vision.2015.
[3]Ren,Shaoqing,et al."Faster R-CNN:Towards real-time object detection with region proposal networks."Advances in neural information processing systems.2015.
[4]Liu,Wei,et al."SSD:Single Shot MultiBox Detector."arXiv preprint arXiv:1512.02325(2015).
[5]Redmon,Joseph,et al."You only look once:Unified,real-time object detection."arXiv preprint arXiv:1506.02640(2015).
[6]Dollar P,Appel R,Belongie S.Fast Feature Pyramids for Object Detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2014,36(8):1532-1545.
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。