1. 研究目的与意义
| 智能移动机器人是指能够在传感器模块、通讯模块和自动控制模块的协同合作下完成特定的行动或动作的机器人。通常具有良好的机动性、灵活性和感知思维能力。因此,视觉信息的地位不可替代。近年来,人形服务机器人的研究热潮使得机器人视觉系统的研究得到广泛关注。2006年2月,国务院发布《国家中长期科学和技术发展规划纲要(2006-2020年)》,首次将智能服务机器人列入先进制造技术中的前沿技术。2016年3月,国家发布的《“十三五”规划纲要》提出,要大力发展工业机器人、服务机器人、手术机器人和军用机器人,推动人工智能技术的发展。2017年12月,《促进新一代人工智能产业发展三年行动计划(2018-2020年)》提出到2020年,智能家庭服务机器人、智能公共服务机器人实现批量生产及应用,医疗康复、助老助残、消防救灾等机器人实现样机生产,完成技术与功能验证,实现20家以上应用示范,为我国服务机器人产业发展提供了强有力的支持和引导,对行业快速健康发展具有重要的意义。对未知场景的现场环境感知,是现代智能机器人的关键任务,因而为机器人装备视觉感知系统,并能够实现对目标进行检测和定位就显得非常重要。 就目标检测技术的研究现状来说,可以将其分为两大类,分别为基于传统图像处理和机器学习算法的目标检测方法和基于深度学习的目标检测方法。基于传统图像处理和机器学习算法的目标检测方法,其检测流程如图1所示。其中,目标定位、目标表征和目标识别是研究的重点。首先,对待测图像中的目标采用滑动窗口方式进行定位。然后,对定位区域采用特定的算法进行特征提取,常采用人为设计的特征,比如Haar小波特征[1]、梯度方向直方图(Histogramof Gradient, HOG)[2]、尺度不变特征变换(Scale-Invariant Feature transform, SIFT)等[3]。最后对区域目标进行识别,即利用分类器对提取到的特征进行分类,判断区域是否含有目标并获得其类别信息。代表性的分类器有 Adaboost[4]、支持向量机(SupportVector Machine, SVM)、随机森林(Random Forest, RF)[5]等。
图 1 基于传统图像处理和机器学习算法的目标检测流程 而现如今,基于深度学习的目标检测方法已经成为主流,其检测流程如图2所示,可以将其表示为两个部分:图像的深度特征提取和基于深度神经网络的目标识别与定位。两者之间能够通过深度网络进行联结,构成一个整体的检测网络结构,而非传统目标检测算法的多过程。通过深度网络从整体上进行功能优化,这也增强了特征的可分性[6]。其中用到的主要深度学习模型为 CNN,因此,也常称其为基于 CNN 的目标检测方法。CNN 对于二维图像特征的提取和表达的效果十分出色,通过 CNN 代替传统的人工设计特征,用其作为检测网络的特征提取模块对于检测性能而言有着巨大的提升。
图2. 基于深度学习的目标检测流程 但是从总体上来说,在现有的目标检测方法中,由于检测环境和目标本身的不确定性和复杂性,以及可能存在的其他噪声干扰因素的存在,还没有可以适用于各种场景的检测方法,尤其是在环境噪声明显的时候,检测结果会受到极大影响。基于深度学习的目标检测方法已经是目前能实现的最好的方法了。 |
2. 研究内容和预期目标
1.研究内容:
(1) 熟悉目标检测的基本方法
现有的基于深度学习的目标检测方法分为:基于区域的目标检测方法,基于回归的目标检测方法,基于搜索的目标检测方法。
3. 研究的方法与步骤
为了完成机器人目标检测与定位系统的设计,需要分别完成系统平台的搭建和目标检测算法的研究以及目标检测实验。
整体设计流程图
图1.整体设计流程图
1.基于深度学习的目标检测方法:
(1). 基于区域的目标检测方法
该方法使用特定的算法进行候选区域的提取,而不是传统目标检测方法中的滑窗方式,常见的候选区提取方法有选择性搜索(Selective Search, SS)[7]、似物性采样(Objectness)[8]、边缘窗口(EdgeBoxes)[9]等。最早是由 Girshick等人[10]提出的 R-CNN 模型,该模型利用 SS 方法提取若干个候选区域,并缩放到统一尺寸,然后对每个区域均利用 CNN 提取特征,最后采用 SVM 进行特征的分类,从而实现最终多目标检测。2015 年 Girshick 针对 R-CNN 模型提出了Fast R-CNN 模型[11],该模型仅对待测图像进行一次特征提取,然后将通过 SS 方法得到的候选区域映射到特征图的对应区域,并采用空间金字塔池化[12]得到定长的特征向量用于最后的分类,提升了检测速度。2016 年 Ren 等人[13]提出的Faster R-CNN 模型,提出利用 CNN 进行候选区域提取的区域建议网络,采用 FastR-CNN 进行目标检测。并通过 CNN 进行参数共享,形成一个完整的检测网络,大幅提升了模型的检测速度。
(2). 基于回归的目标检测方法
该方法不通过生成目标候选区域的方式,而是直接将目标检测相关问题作为回归问题[14],主要包括 Joseph Redmond 等人[15]提出的 YOLO 模型以及 Wei Liu等人[16]提出的 SSD 模型。YOLO 模型简单地将待检测图像均分成多个部分,然后通过 CNN 直接判断每一个部分是否存在目标,并对目标类别和目标的边框进行预测。YOLO 模型通过节省候选区域的产生来大幅提高检测速度,但是对目标检测与识别的精度带来了较大的影响。SSD 模型则在 YOLO 模型的基础上,在对图像每个部分进行目标边框预测时结合了 Faster R-CNN 的 anchor 机制,以此来保证检测时的准确性。基于回归的目标检测模型对检测速度有明显的提升,但对于检测精度有一定的影响。
(3).基于搜索的目标检测方法
该方法是近几年逐渐出现的,其主要是用一种自顶向下的搜索策略在整个图像上搜索目标,然后识别搜索到的结果。主要分为基于强化学习的目标检测,如Juan C.C.等人[17]的方法是设计了 9 种动作,通过深度神经网络和深度学习来预测每次要执行的动作,再根据动作来搜索目标。也可以利用视觉注意机理来实现,如 Donggeum Yoo 等人[18]提出的 AttentionNet 模型,通过深度神经网络来预测视觉注意的趋势,根据预测出来的趋势不断地趋向真实目标位置,然后识别对应目标。
此外相机标定方法[19]也是目标检测方法中的一个重要方面。像机标定方法可以分为传统标定方法、基于主动视觉的标定方法和自标定方法,其中,基于主动视觉的标定方法也可以归入自标定方法当中。所谓像机的自标定方法是指不需要使用标定靶标,只在不同位置对静态场景进行成像,然后根据立体视觉原理,由不同图像间相互匹配的特征点即可估计出像机的内外参数[20]。典型的像机自标定方法需要求解自标定基本方程[21]或是Kruppa方程[22],由于这两个方程都是关于像机参数的高次非线性方程,因此求解起来非常困难。于是,提出了分层自标定的思想[23],即在使用图像序列进行射影重建之后,首先通过确定无穷远平面进行仿射标定,然后在仿射标定的基础上再进行欧氏标定。理论上讲,通过像机自标定方法不但能够获得像机的内、外参数,而且还能够重建静态场景的三维结构。然而,由于在标定时不对场景的三维结构做任何约束,因此在自标定方法中,除了要解非常复杂的高次非线性方程以外,还需要在图像序列中进行特征点的检测与匹配,特征点检测过程中产生的误差以及匹配错误都会对最终的像机标定结果产生显著的影响。相对而言,如果在像机标定时能够人为的设计一些三维特征点,使它们在图像中对应的特征点易于提取,并且易于确定三维/二维特征点的匹配关系,那么就能够大大提升像机标定的精度。
2. YOLO 检测算法框架
(1). 网络结构设计
YOLO 网络结构由输入层、卷积层、池化层、全连接层以及输出层五部分组成。图 3显示了 YOLO 网络结构的具体组织形式。
图2. YOLO 网络结构
1 卷积层。YOLO 网络结构相继使用了 24 个卷积层,这些卷积层所对应的卷积核有 3×3 和 1×1 两种尺寸。其中,尺寸为 1×1 的卷积核能够控制卷积时的通道数量。在本文中,1×1 的卷积核在运算时降低了其相对应层的特征向量的维度,最终减少网络中参数。
2 池化层。YOLO 网络结构中采用最大池化层,该层在下采样时,选取每个小块中元素的最大值以作这一块元素的特征值。由图可知,池化层的块大小为 2×2。
3 全连接层。全连接层采用全连接的方式把输入特征图与输出特征图映射起来。一般地,全连接层对输出特征图进行分类处理。在 YOLO 网络结构中,第一个全连接层将 7×7×1024 维的特征矩阵直接排列为 4096 维特征的一维向量,第二个全连接层再一次降维。实际应用中,卷积神经网络的全连接层是非必须层,这一层巨大的计算量消耗了大量时间。因此,在 YOLOv2 中舍去了这一种设计方式。
4 输出层。由图3可知,YOLO 最后需要回归输出目标对象的边框中心点坐标、宽高以及置信度评分,最终输出即为 7×7×30 维的向量。
(2). 预训练模型
训练深度神经网络模型可以无监督预训练结合有监督微调的方式进行。因此,训练 YOLO 网络模型需分两步:
(1) 从图 3.1 的 YOLO 网络结构取出前 20 个卷积层,紧接着添加一个平均池化层(Average Pooling Layer)与一个全连接层。然后在 ImageNet2012[24]上进行预训练时,
采用 224×224 维的图像输入;
(2) 基于上一步骤,取 20 个预训练好的卷积层,然后添加 4 个新的卷积层和 2个全连接层。微调这些新加入的新层时,采用 448×448 的图像输入,并用随机初始化新加入层的参数。
YOLO 算法框架在设计损失函数时,考虑到两个问题:(1)如果让定位错误和分类错误同等重要,那么将显得不合实际检测需求;(2)如果一个网格中没有出现目标对象,那么就会将这些网格的目标边框置信度评分设为 0。但是,这些不包含目标对象的网格对梯度更新的贡献度将远大于包含目标对象的网格对梯度更新的贡献度。这会使网络训练十分不稳定。
解决这两个问题的方法是在相关的损失项前面加权。即:(1)在坐标预测时,令损失权重λ1为 5;(2)如果目标边框没有出现目标对象,那么置信度评分预测的损失权重λ2为 0.5。同时,出现目标对象边框的置信度评分损失权重和类别预测的损失权重为 1。最终,YOLO 算法框架的损失函数为
(3.1)
(3).检测过程
要得到 YOLO 检测模型,首先需在 ImageNet 上预训练分类模型 Darknet,然后再把 Darknet 微调成检测模型。图4说明了 YOLO 算法框架的目标检测流程。
(1)YOLO 算法框架以整张图像作为输入,并将输入图像划分为 S×S 个网络。
(2) 每一个目标边框需要作出两种预测:
第一,预测目标对象。若一个目标对象的中心落在某一个网格之内,那么该网格负责检测该目标对象。
第二,预测目标边框。每一个网络需要预测 B 个目标边框,而每一个目标边框有 5 个需要预测的参数,即目标边框的宽高、中心点坐标(x, y)以及置信度评分
(3.2)
其中,O 表示目标边框内存在的目标对象,Pr(O)表示当前目标边框内存在目标对象
的概率。若一个目标边框存在目标对象,那么 Pr(O)为 1,若一个目标边框内不存在目标对象,那么 Pr(O)为 0。IOU(Intersection-Over-Union)通常作为一个阈值来控制
预测的目标边框出现的数量。该值需要用预测的目标边框 p 和预标注的目标边框 t
来计算,即
(3.3)
其中,St 为预标注的目标边框的面积,相应地,Sp 为预测的目标边框的面积。
(3) 计算后验概率 Pr(Ci|O)。即目标边框内存在目标对象时,该目标对象属于某
一类的概率。
假设有 K 类目标对象,那么每个网格预测第 i 类目标对象 Ci 的条件概率,即Pr(Ci|O),i=1, 2, ..., K;同时,每一个网格也预测 B 个目标边框。这表示每个网格预
测的某一类目标对象与每个网格预测的目标边框共享条件概率 Pr(Ci|O)。
(4) 根据以上分析,当计算得到 Pr(Ci|O)后,结合上式,可得出某个目标边框
的类相关置信度,即
(3.4)
特别地,在 YOLO 算法框架中,使 S=7,B=2,K=20。即将每一张输入图像划分为 7×7 个网格,而每一个网格预测 2 个目标边框,同时 PASCAL VOC 有 20 类待检测的目标对象。因此,YOLO 算法框架最终预测将得到一个向量,其长度为S×S×( B×5 K)=7×7×30。至此,YOLO 算法的检测流程结束。
图3. YOLO 检测流程图
具体操作步骤[24]总结如下:
(1)搭建服务机器人目标检测与识别系统;
(2)采集服务机器人待检测物体的图像并制作包含训练集和验证集的图像数据集;
(3)设计深度卷积神经网络结构包括特征提取网络、区域提取网络以及分类与位置回归网络;
(4)在深度学习框架下进行训练得到模型,将模型移植到开发板上,并编写脚本程序调用模型以及摄像头进行测试,设计服务机器人目标检测与定位系统;
(5)服务机器人能够根据摄像头捕捉到的图像确定目标的类别同时给出目标在图像中的位置。4. 参考文献
| [1]PapageorgiouC. P., Oren M., Poggio T. A general framework for object detection[C].Computer vision, 1998, 1998: 555-562. [2]DalalN., Triggs B. Histograms of oriented gradients for human detection[C].Computer Vision and Pattern Recognition, 2005: 886-893. [3]LoweD. G. Object recognition from local scale-invariant features[C]. IEEEInternational Conference on Computer Vision, 1999: 1150-1157. [4]尹芳, 郑亮, 陈田田. 基于 Adaboost 算法的场景中文文本定位[J]. 计算机工程与应用,2017, 53(4): 200-204. [5]方匡南, 吴见彬, 朱建平等. 随机森林方法研究综述[J]. 统计与信息论坛, 2011, 26(3): 32-38. [6]李旭冬, 叶茂, 李涛. 基于卷积神经网络的目标检测研究综述[J]. 计算机应用研究, 2017(10): 2881-2886. [7]UijlingsJ. R., Sande K. E., Gevers T., et al. Selective search for object recognition[J].International Journal of Computer Vision, 2013, 104(2): 154-171. [8]AlexeB., Deselaers T., Ferrari V. Measuring the objectness of image windows[J].IEEE Transactions on Pattern Analysis Machine Intelligence, 2012,34(11): 2189-2202. [9]ZitnickC. L., Dollár P. Edge boxes: Locating object proposals from edges[C].European Conference on Computer Vision, 2014: 391-405. [10]GirshickR., Donahue J., Darrell T., et al. Rich feature hierarchies for accurateobject detection and semantic segmentation[C]. Computer Vision and PatternRecognition, 2014:580-587. [11]GirshickR. Fast R-CNN[C]. IEEE International Conference on Computer Vision, 2015:1440-1448. [12]HeK., Zhang X., Ren S., et al. Spatial pyramid pooling in deep convolutionalnetworks for visual recognition[J]. IEEE Transactions on Pattern Analysis Machine Intelligence, 2014, 37(9): 1904-1916. [13]RenS., He K., Girshick R., et al. Faster R-CNN: towards real-time objectdetection with region proposal networks[J]. IEEE Transactions on Pattern Analysis Machine Intelligence, 2017, 39(6): 1137-1149. [14]焦李成, 赵进, 杨淑媛等. 深度学习、优化与识别[M]. 北京: 清华大学出版社, 2017: 343. [15]RedmonJ., Divvala S., Girshick R., et al. You only look once: Unified, real-timeobject detection[C]. Computer Vision and Pattern Recognition, 2016: 779-788. [16]LiuW., Anguelov D., Erhan D., et al. Ssd: Single shot multibox detector[C].European conference on computer vision, 2016: 21-37. [17]CaicedoJ. C., Lazebnik S. Active object localization with deep reinforcementlearning[C]. IEEE International Conference on Computer Vision. 2015:2488-2496. [18]YooD., Park S., Paeng K., et al. Action-driven object detection withtop-downvisual attentions[EB/OL]. [2016-12-20]. [19]陈鹏. 基于单目视觉的像机位姿估计技术[D]: 北京科技大学, 2014 [20]WohlerC.3DSpringer, 2009:3ComputerVision Efficient Methods and Application[M].一113 [21]J Hartley R I. An Algorithm forSelf-Calibration from Several Views[C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 1994: 908-912 [22] Luong Q T, Faugeras O, Self-Calibration ofa Moving Camera from Point Correspondences and Fundamental Matrices[J]. International Journalof Computer Vision, 1997, 22(3):261-289 [23] Pollefeys M, Constraint[C] .GoolL.Stratified IEEE Transaction on 707-724. Self-calibrationwith the Modulus Pattern Analysis and MachineIntelligence, 1999, 21 [24]朱齐丹,张思雨,张智,姚一鸣.一种基于深度学习的服务机器人目标检测与定位方法[I].中国,201710324898.1[P]2017-5-10
|
5. 计划与进度安排
2022年3 月1日 ~ 2022 年3月15日:调研,确定具体研究方案和实施计划
2022年3月15日 ~ 2022年4月1日:撰写开题报告
2022年4月1日 ~ 2022年4月30日:编程实现相关算法;
