基于双目视觉的家庭机器人的目标识别与检测

摘 要: 针对一类面向家庭的目标监控机器人,利用改进的“Zhang”的标定方法实现对可移动旋转双目摄像头的内、外参数的估算,通过连续拍摄的图片获取视差图,利用前景检测获取前景目标,再运用直方图定位标记出移动目标物体。由于在家庭环境中,移动目标物体往往是待监测对象,辨识对象需要对包含目标物的图片进行人脸检测与识别。通过改进的局部二值模式算子与权重设计标记出脸部的轮廓,并检测相似度,实现对监测对象的归档管理与统计。实验测试结果表明,估算的外参数误差较小,移动目标物体在部分遮挡时亦可被检测出,人脸检测匹配的成功率较高。
关键词: 家庭机器人; 标定方法; 运动目标检测; 局部二值模式
中图分类号: TN911.73?34; TP368.1 文献标识码: A 文章编号: 1004?373X(2017)23?0051?04
Abstract: For a type of home target monitoring robot, an improved "Zhang" calibration method is used to estimate the internal and external parameters of the removable and rotated binocular camera. The disparity map is obtained by means of the images taken successively. The foreground detection is used to acquire the foreground object, and then the moving target object is located and marked with histogram. In the home environment, since the moving target object often tends to the object under monitoring, it is necessary for identification object to detect and recognize the human face in the image containing the target object. With the LBP (local binary pattern) operator and weight design, the facial contour is marked and the face similarity is detected to realize the file management and statistics of the monitored object. The experimental results show that the estimated error of the external parameters is small, the moving target object can be detected in the condition of partial occlusion, and the success rate of face detection and matching is high.
Keywords: home robot; calibration method; moving object detection; LBP
0 引 言
伴隨计算机视觉和人工智能的发展,各式各样的机器人在相关的领域获得丰富的成果,并将科研成果应用于生活领域之中[1],其中,面向家庭的服务型机器人以助老、扶幼、观宠为目标[2],逐渐被广泛接受。与普通的机器人不同,家庭机器人必须具备对指定目标的监控功能,通常单目摄像头在对目标图像识别的基础上,计算与目标物体的距离,若缺乏相关的特征数据,其计算结果准确性不高[3]。而双目摄像的原理类似于人眼成像,它包含两个左右并行摄像头,在同一时间段内同步拍照,利用左右图片的差距进行计算,获得目标物体与定点之间的距离信息[4]。
目前,利用双摄像头进行目标物判定在交通路况[5]、目标移动物体测速[6]、足球机器人导航[7]、植物叶片生长[8]等方面获得了广泛的应用,这些应用往往用于观测已有的目标物品,其性能和特征已知,不会对目标的行为进行二次分析[9]。
本文利用场景信息采集、立体图像绘制、3D、图像识别等技术,在经典的“两步法标定”的基础上,实现随机器人移动、转角的自适应内、外参数标定算法,利用双目视差匹配法处理视差图像,根据前景检测获得的景深信息,使用分层双向定位法对目标物体进行识别,此外,增加目标的人脸识别功能,通过提取脸部边缘信息,比对样本库,对于符合特征的目标样本分类归档,同时记录其移动时间与坐标,便于后期分析相关人员的动作与行为。
1 运动摄像机模型标定方法
家庭机器人识别和检测目标的流程如图1所示。
若要利用双目视觉定位空间内任意点的坐标,可采用以下的方法,首先确保左右两个摄像头拍摄的图片中包裹此点,然后计算该点的平面坐标和深度信息,通过公式计算其三维坐标,获得此点的准确位置信息。
目前,普遍采用针孔相机模型模拟双目摄像头的成像方式[10],这种模型复杂性较低,准确性和性能较高。图2是此模型中空间某点的成像示意图。
三维坐标与二维坐标之间转换的方程包含摄像头内部参数和外部参数的非线性方程,若给出一定数量点的坐标可以求得透视变换矩阵的元素,从而得到摄像头的内外参数。目前,传统的摄像机标定方法为两步法,流行的两步法有“Zhang”方法和“Tsai”的方法[11],这些方法在计算内外参数时需要参照目标物体的位置,精确度较高。
然而这种标定方法得到的内外参数只针对当前摄像头状态,本文设计的双目视觉运动机器人系统,采用“Zhang”的方法实现摄像头标定后,通过计算得到精确的内参数,当摄像头平移和旋转时,外参数随之变化,采用传统的两步法无法满足此时的要求,基于此,本文设计改进的“Zhang”方法,实现外参数自适应的标定算法。
1.1 摄像头与运动机器人相对静止
当摄像头绑定机器人时,二者同步运动,机器人坐标系和摄像头坐标系同时发生变化,即二者在世界坐标系的定位已经不再准确,原有的标定参数失去作用。此时,可将世界坐标系的原点与摄像头组的中分线重合,在明确初始状态世界坐标与机器人坐标之间关系的基础上,当机器人运动时,世界坐标系也在随之运动,通过公式转换,亦可得到目标物体的三维信息。
式中:[R1]可以利用式(4)重新计算得到;[R,][T]是旋转前通过标定得到的旋转矩阵和平移向量。
由此,可估算出旋转后的外部参数,不需要重新标定,且准确性较高。
2 双目视觉运动目标检测方法
家庭机器人的一个重要功能是识别家中运动的物体,此时需要检测目标物,判断其状态是否发生变化。
本文设计了快速目标物识别方法,利用两个摄像头获取图片的细微差异,计算得到视差图并将连续的两幅视差图进行差分与乘积,获得包含深度信息的前景图像,最后利用直方图定位确定目标物体。
2.1 视差图计算方法
针对连续拍摄的若干张图片,计算先后两张图片的绝对差值,将视差图上属于目标物体上的点提取出来。可采用阈值区间的形式判断此点的位置,即当视差的绝对差值大于阈值时,标记此点属于前景,依照式(6)的最小值更新视差值;反之,此点为背景点,用视差坐标代替此点的位置。
2.2 前景目标检测
为提高目标物检测的准确性,可事先分别对图像进行腐蚀和膨胀处理,增强图像的光照,提升图片边缘的圆滑性。
2.3 直方图定位
在获取前景图像的基础上,对每个不相连的区域进行分层检测,保证每个区域内部只有一个目标物体。具体设计方法如下:
(1) 为每个视差层确定惟一的ID信息。
(2) 计算当前区域内视差直方图的最大值[hk,]并标记此时的视差值[hk],利用式(8)获得直方图的阈值[zk,]依照式(9)创建一个视差层。当满足式(10)时,算法结束。
(3) 删除依照式(9)新建的视差层,并跳转至第(2)步。
利用直方图定位方法可以获取目标物体,并在图片中标记出移动的物体。
3 人脸检测与识别方法
在检测运动目标的基础上,进一步识别在家庭中的成员、宠物等,并对带头像的样本图片分类归档,同时记录目标物移动的时间、坐标。用户可先预存家庭相关成员的样本图片,对样本学习后,进行人脸识别与检测。与样本人员无关的陌生人员也将记录在案。
人脸识别与检测主要采用局部二进制模式直方图(Local Binary Patterns Histograms,LBPH)模型[12],该模型通过OpenCV中的FaceRecognizer类创建[13]。同时,为解决图片有效区域不均衡的问题,通过LBP算子[14]进行计算,为不同密度的区域增加不同的权重信息。具体设计方法如下:
首先将包含运动目标的图片切割为若干个等面积区域,对每个点进行LBP算子的计算,得到该区域的直方图。将已经获取的最近邻域分类器作为评价标准,可得到一个距离矩阵:
式中:[Si]表示分布在中心周围点的位置信息;[Mi]表示中心点的位置信息;[wj]为不同区域的权重信息,权重[wj]可通过识别率的区间进行设置,权重的数值随着识別率的增高而减小。
识别率的影响因子除了包含LBP算子的半径、数量之外,还包含窗口大小的因素,而此因素会影响特征的维数。因此选择合适尺寸的窗口信息是至关重要的。
此时,可先设计一个容器储存样本信息,采用LBPHFaceRecognizer方法识别灰度图信息,建立LBPH模型。再使用train方法进行样本训练、predict方法识别人脸信息,返回数据包含两个内容:一是人脸所属的对象;二是与所属对象的相似度,相似度数值越小表示两者越相近。
4 实验结果与分析
将机器人置于家庭内部,采集连续图片序列约400帧。利用红外传感器检测、雷达传感器测距代替机器人的触觉实现基本的避障功能。使用改进的“Zhang”方法对两个摄像头进行标定,利用棋盘作为标定参照物,获取其内、外部参数,结果如表1所示。
通过观察标定结果,发现两个摄像头的内参数差异很小。
当摄像头相对机器人旋转角度时,计算标定外参数与估计外参数的平均误差,如表2所示。通过实验测定,发现估算结果与标定结果误差较小,对目标识别结果的影响可以忽略。
在摄像头标定的基础上,检测目标运动物体。
图3分别是第37帧和第45帧图片,矩形框标出的是检测出的移动目标物。
当目标物被部分遮挡时,此种检测方法仍可检测出运动的物体。
确定运动目标物之后,提取目标的脸部轮廓,完成人脸检测,并为每个对象创建存储空间进行存档,记录其移动的时间和位置。图4是人脸检测识别的效果,表3为使用若干测试用例后得到的结果。
由图4及表3结果可知,图片中人脸识别和单人匹配准确率较高,三人及以上匹配时阈值影响较大,准确率受到影响。由于准确性受到多方面因素的影响,例如光照、色彩等,有效的变化补偿和特征描述是此系统未来研发的难点之一。
5 结 论
目前,摄像头监控已经遍布社会环境的每一个角落,而家庭监控也逐渐被大众接受,这类小范围内的视频监控与信息统计机器人系统可为用户提供快捷方便的家庭服务。
本文在家庭机器人内置左、右两个摄像头,利用改进后的“Zhang”的标定方法,获取水平、旋转移动时的摄像头内、外参数,避免二次标定,便于机器人的移动与旋转。此外,通过连续图片的视差,检测前景图片,并进行直方图定位,从而获得运动的目标物体,再将其应用于人脸检测,获得移动人物的头像,并分类管理和统计,方便用户分析特定时间段内家庭人员的动作与位置。通过实验进一步验证了对目标物体识别和检测的精度。
参考文献
[1] 靳国强,陈小平.面向智能服务机器人任务规划的行动语言扩展[J].软件学报,2013(7):1614?1624.
[2] 李建华.基于综合导向的轮式移动机器人自适应轨迹跟踪控制[J].西安交通大学学报,2005,39(3):252?254.
[3] LI S Z, ZHANG Z Q. Floatboost learning and statistical face detection [J]. IEEE transactions on pattern analysis and machine intelligence, 2004, 26(9): 1112?1113.
[4] 应再恩,李正洋,平雪良.基于双目视觉动态跟踪的机器人标定[J].计算机应用研究,2015,31(5):1424?1427.
[5] 李兵,杨殿阁,邵林.基于波束形成和双目视觉的行驶汽车噪声源识别[J].汽车工程,2008,30(10):889?892.
[6] 黄椰,黄靖,肖长,等.基于双目立体视觉的船舶轨迹跟踪算法研究[J].计算机科学,2017,44(1):308?313.
[7] 高庆吉,洪炳熔,阮玉峰.基于异构双目视觉的全自主足球机器人导航[J].哈尔滨工业大学学报,2003,35(9):1029?1032.
[8] 于合龙,黄浦,苏红宏.基于双目视觉的植物叶片三维形态与光照度同步测量[J].农业工程学报,2016,32(10):149?156.
[9] 李瑞峰,李慶喜.机器人双目视觉系统的标定与定位算法[J].哈尔滨工业大学学报,2007,39(11):1719?1722.
[10] TSAO W K, LEE A J T, LIN Y H. A data mining approach to face detection [J]. Pattern recognition, 2010, 43(3): 1039?1049.
[11] 尚倩,阮秋琦,李小利.双目立体视觉的目标识别与定位[J].智能系统学报,2011,6(4):303?311.
[12] 贾宁,高楠,力贵才.基于OpenCV的图像分类软件的设计与实现[J].计算机科学,2014,41(11):150?153.
[13] 陈凯枫,肖南峰.家庭服务机器人的人脸检测、跟踪与识别研究[J].机器人技术,2006,22(5):228?230.
[14] 严云洋,郭志波,杨静宇.基于特征空间划分的AdaBoost人脸检测算法[J].小型微型计算机系统,2007,28(11):2106?2109.