◆刘柏森 侯力心
基于YOLOV2卷积神经网络的双目视觉系统设计
◆刘柏森 侯力心通讯作者
(黑龙江工程学院电气与信息学院 黑龙江 150001)
基于卷积神经网络的双目视觉系统设计主要包括两个功能:对于特定物体的识别和对距离的测量。通过双路摄像头模拟人眼采集图像信息,采用相机标定和特征点提取构建被测物的视差图,利用SGBM算法进行图像匹配,经过坐标系转换得到物体的世界坐标,使用回调函数计算物体位置,构建物体三维模型;搭建YOLOV2卷积神经网络模型,利用ImageNet数据库进行训练,采用双目图像处理技术进行识别。经测试双目视觉系统在训练量很少的情况下可以实现对4种不同类型的物体进行识别,识别率非常高,测距精度满足实际应用。
双目视觉;物体识别;卷积神经网络;立体匹配
人类主要通过对视觉感知系统的外部观察和视觉学习活动来准确性地感知自然界和我们现实生活中的环境世界,人类从外部生态环境中直接获得的外部视觉信息中,大约80%的内部信息都是来自视觉感知系统。随着我们现代科学技术的不断进步,图像识别技术、数字图像处理、人工智能等诸多学科的应用得到大力发展,使得人们利用计算机技术模拟各种人眼视觉成为一种可能。由于这项技术还没有全面普及到日常生活中,而且市场上的相关产品良莠不齐,专业产品价格昂贵,且功能单一,普通产品精度较低。因此需要设计一种精度较高、价格低廉的双目视觉设备。基于此背景,本文提出一种将卷积神经网络应用到双目视觉系统的设计方法,该系统由iTOP-4412作为硬件平台、深度学习作为核心算法,通过双摄像头对特定环境中物体的图像进行了采集,实现特定环境中物体的图像识别及距离的测量。识别物体种类大于三种,距离测量小于四米。
本系统的硬件电路设计主要包括摄像头采集部分设计、处理系统部分的设计两个部分。其中,摄像头采集部分主要是OV5640芯片的使用及介绍;处理系统部分主要是Exynos4412芯片的外围电路设计。
采用OV5640完成图像采集工作,通过MCU与寄存器系统相关的配置指令并在完成系统初始的变化后对寄存器进行系统配置,OV5640初始化工作完成;传感器保持RESET引脚为高电平,取消了传感器通信控制芯片的时钟信号复位。XCLK是一个用于控制驱动整个电路的传感器芯片的内部时钟复位信号,用外部时钟控制器进行控制;PCLK是OV5640输出数据时的同步信号。通过数字感光图像矩阵控制元件直接自动采集光学电信号,将光学电信号的数字图像信息转化后成为数字电信号,经过各种数字化图像处理后把这些数字图像的各种电信号信息存储到一起,从而形成由一个个数字像素点阵来表示的数字图像。根据图像寄存器的要求和配置,对图像处理数据做一些复杂的图像采集和处理的运算。然后对图像格式进行转换和压缩,VCM处理单元会通过图像分析实现自动对焦功能。将已经转换为对应的电信号的图像信号传送至核心计算模块,通过MCU控制,计算并通过DVP接口输出数字图像。电路图如图1所示。
图1 OV5640电路图
iTOP-4412核心板配备了三星设计生产的Exynos4412四核核心处理器,主频为1.4GHz,内置8GB存储空间。Exynos 4412四核处理器集成Mali-400MP图形处理器,这颗图形处理器主频由此前的266MHz提升至400MHz,会比现有的双核机型整体性能提升60%,图像处理提升 50%,并且集成了多个通信接口、转换器和功能外设等,硬件资源丰富。而在软件资源上,相对开源化,能够更加方便地控制处理器同外部信号进行通信和处理。
硬件系统总体框架基于Exynos 4412芯片,拥有丰富外部设备,其中有2个摄像头,摄像头采用OV5640芯片,连接芯片的CAM接口;LCD控制端口通过CLK端口通过Type Filter传递到LCD,像素通过LCD_R、LCD_G、LCD_G传递到LCD完成LCD的硬件连接。
本系统的设计主要是采用状态机的设计思想,基于一种嵌入式系统的跨平台处理器来直接完成系统的编程。软件系统包括相机标定、SGBM立体匹配算法和YOLOV2物体识别框架搭建。
双目视觉系统的摄像头标定是指被测物体的成像点在成像平面的坐标与世界空间坐标的映射关系。常见的单摄像头位置进行标定的方法一共有五种,在经过对比之后选择直接线性变换对两个摄像头的位置进行了标定,当左右两个摄像机固定位置之后,分别对两个摄像头的位置进行了标定,得到两个摄像头的内、外两个参数。
系统的设计关键在于如何提高图像特征点匹配的算法准确度和特征点匹配的时间,SGBM算法视差效果好匹配速度快,因此本设计选择了SGBM算法来实现立体匹配功能。SGBM算法主要就是采用较高计算水平的一个sobel算子,对多个图像信号进行了图像预处理,这一点可以说被用于大幅降低进行预计数运算的成本代价。代价计算由两部分组成,经过预处理得到的图像的梯度信息和原图像经过基于采样的方法得到的SAD代价。OpenCV中的SGBM后处理包括唯一性检测、亚像素插值和左右一致性检测。插值公式如下所示。
算法技术路线如图2所示:
图2 SGBM算法实现结构图
本文物体识别分为两个任务,一个是找场景中训练的物体,并且用矩形框框出物体在图像的区域,另一个任务是识别框出的物体的类别。这个过程也可以称为物体检测。由于YOLOV2的代码运行速度快且无须很大的运行空间,所以我们需要采用基于YOLO卷积神经网络来完成图像识别。YOLOV2网络模型如图3所示
图3 YOLOV2网络模型结构
YOLO首先将整个图像中物体特征均匀的划分成大小为7x7的卷积神经网格,每个网格作为锚框分别产生b个输入检测框。然后将输入特征映射到卷积神经网络中,得到相应的特征区域图后,将特征数据送回卷积网络,然后采用全连接层,将每个特征区域的输入特征值分别映射得到相同大小的物体特征区域图,对每个输入检测框的特征类别和每个检测框的特征值进行回归。YOLO网络的目标置信度反映了检测框对网络检测计算出来的网络和目标的置信度,计算公式的定义如下所示。
YOLOv2的训练主要包括三个阶段。第一阶段就是先在ImageNet分类数据集上预训练Darknet-19,此时模型输入为224*224,共训练160个epochs。然后第二阶段将网络的输入调整为448*448,继续在ImageNet数据集上finetune分类模型,训练10个epochs,此时分类模型的top-1准确度为76.5%,而top-5准确度为93.3%。第三个阶段就是修改Darknet-19分类模型为检测模型,并在检测数据集上继续运行finetune网络。
物体识别的准确率和识别精度是本项目的关键,因此,对物体识别的结果进行测试,以验证识别准确率和距离精度算法的性能。
测试选取对生活中常见的物体进行训练,在ImageNet中选取了100条左右的训练数据,在不同场景下采用双目视觉系统对物体进行识别,观察识别物体种类的准确率和距离判断的精度是否符合要求。
测试结果表明,对于非运动物体种类的识别,准确率几乎高达百分之百,运动速度过快会导致摄像头采集模块来不及将数据有效传输到处理器,识别效果不够准确。对于距离判断来说,只要能识别出物体种类,误差不超过百分之五。
测试过程统计结果如表1所示。
表1 测试结果数据统计
双目视觉系统通过模仿人类的视觉系统来同时获取被测物体的两幅深度特征信息,使我们的观察者可以从图像中获得图像的深度信息,建立图像的三维视图。使用YOLO V2卷积神经网络对我们观察得到的被测物体图像特征进行处理,进行准确的定位和特征分类。本设计较完美地完成了初期预想功能要求,并且在设计指标上有了新的突破。基于深度学习设计双目视觉系统是一种新的思路,可以直接采用他人的训练成果,这样的识别速度会更快。
[1]MilanSonka,VaclavHlavac,RogerBoyle.图像处理,分析与机器视觉[M].清华大学出版社,2015.
[2]张钧,张宏,刘小茂,曾绍群.双目立体视觉中物点定位的一种快速算法[J].信息与控制,2009,38(05):563-570.
[3]江宛谕.基于深度学习的物体检测分割[J].电子世界,2018(15):19-20+23.
[4]蒋帅. 基于卷积神经网络的图像识别[D].吉林大学,2017.
[5]邱鹏,邓秀慧,霍瑛.复杂环境中一种基于深度学习的异常检测方法[J].科学技术与工程,2018,18(10):231-234.
[6]王宇宁,庞智恒,袁德明.基于YOLO算法的车辆实时检测[J].武汉理工大学学报,2016,38(10):41-46.
[7]侯宾,张文志,戴源成,田洪强.基于OpenCV的目标物体颜色及轮廓的识别方法[J].现代电子技术,2014,37(24): 76-79+83..
[8]戴舒,汪慧兰,许晨晨,刘丹,张保俊.基于YOLO算法的行人检测方法[J].无线电通信技术,2020,46(03):360-365.
[9]高宏伟.计算机双目立体视觉技术.电子工业出版社[M],2012.
[10]Zhanchao Huang,Jianlin Wang,Xuesong Fu,Tao Yu,Yongqi Guo,Rutong Wang. DC-SPP-YOLO: Dense connection and spatial pyramid pooling based YOLO for object detection[J]. Information Sciences,2020,522.
黑龙江省博士后科研启动金(LBH-Q18110);黑龙江省大学生创新创业训练计划(201911802003)