APP下载

基于DSP的双目同步图像拼接系统研究

2021-08-23李金科

数字制造科学 2021年2期
关键词:双目框图芯片

祝 和,赵 燕,李金科

(1.武汉理工大学 机电工程学院,湖北 武汉 430070;2.中国科学院 深圳先进技术研究院,广东 深圳 440305)

随着人工智能的发展,通过图像处理实现目标识别、信息提取等任务已广泛应用于军事、生产生活等领域。而当单目图像传感器由于视野等性能的限制难以满足获取足够场景信息的需求时,选取双目相机进行图像拼接以获取更大视野是理想方案之一。

目前的图像拼接工作通常是由上位机完成,在嵌入式图像拼接技术方面,文献[1]通过FPGA(field programmable gate array)实现图像采集与增强,DSP(digital signal processing)实现图像拼接,通过求解特征点最近邻与次近邻的比值确定最合适特征点配准;文献[2]以多核高性能AM5728为硬件平台,采用ORB+FLANN以及RANSAC(random sample consensus)算法计算重叠区域,通过最佳缝合线实现图像拼接;文献[3]采用FPGA负责完成视频采集,DSP内部运行SIFT(scale invariant feature transform)算法实现图像拼接等。

对于无视差以及较少视差图像拼接而言,主流基于特征点配准的图像拼接算法有SIFT及其改进SURF(speeded-up robust features)算法、ORB(oriented fast and rotated brief)算法。ORB算法继承了FAST(features from accelerated segment test)搜索算法的快速以及BRIEF(binary robust independent elementary features)描述子占用内存较少及快速匹配的特点[4],更适用于实时嵌入式系统,但同时其特征子匹配质量不高,易出现大量误匹配点。

鉴于此,笔者通过合理的硬件设计无需FPGA直接实现了双目相机的同步曝光与采集;在软件上通过改进ORB算法保证了ORB算法实时性的同时弥补了其大量误匹配点的不足。

1 硬件设计

系统硬件结构框图如图1所示,系统以DSP为中央处理器,采用两个相同型号的CMOS(complementary metal oxide semiconduction)图像传感器同步获取图像,DSP通过SCCB(serial camera control bus)接口协议对CMOS图像传感器进行参数配置,图像传感器以DVP(digital video port)传输方式发送图像数据,与DSP之间通过异步FIFO(frist input first output)实现图像同步采集;DSP以EMIF(external memory interface)外部接口方式外接SRAM(static random access memory)内存实现图像临时存储;通过在高速USB模块实现与上位机之间的图像传输。

图1 系统硬件框图

1.1 CMOS图像传感器模块

由于系统设计为可用于移动智能机器人等领域,因此必须实现在运动状态下双目相机的同步信息采集,且生成图像效果良好。综合考虑选用全局快门型并具有外部触发模式的MT9V034图像传感器,并搭配无畸变镜头以减少后续图像处理工作。

MT9V034与DSP硬件连接框图如图2所示。DSP通过SCCB接口对MT9V034内部寄存器进行设置,通过同一引脚与两个MT9V034图像传感器的EXPOSURE引脚相连实现同步曝光。MT9V034的DVP数据传输接口分别接异步FIFO存储器的输入口,帧传输起始信号FRAME_VALUE与行传输起始信号LINE_VALUE接DSP,当MT9V034传输图像时通过帧传输起始信号与行传输起始信号以引脚中断方式通知DSP,此时DSP开启异步FIFO存储器写使能,将图像数据存入其中,需要读入图像数据时从两个异步FIFO存储器中同时读取。

图2 MT9V034与DSP连接图

1.2 高速USB通信模块

选用的USB接口芯片CY7C68013为Cypress公司的EZ-USB FX2系列中的一种,该芯片以加强型8051内核为微处理器,内嵌USB2.0通信协议,可通过Cypress公司提供的驱动软件进行参数配置[5],有效减少开发人员与USB相关驱动的工作及主控芯片的运行任务。其最高传输速率为480 Mbit/s,十分适合图像的传输[6]。

CYC7C68013可工作在GPIF、PORTS和Slave FIFO模式下,由于需要持续传输大量图像数据,因此选取异步Slave FIFO工作模式[5],该工作模式下其内部相关结构及与DSP连接方式如图3所示。

图3 Slave FIFO模式与DSP连接图

1.3 SRAM存储模块

系统需同时采取两幅VGA灰度图像,大小约为5.5 M,常规DSP内部存储不足以存下两幅图像,因此需要增加额外存储空间。选用SRAM其内存大小为16 M,可通过EMIF接口作为DSP的E2片外存储,内部结构及与DSP连接框图如图4所示。

图4 SRAM内部结构及与DSP连接框图

1.4 DSP中央处理模块

DSP采用TI公司的TMS320C600系列芯片,该系列芯片以高性能著称,广泛应用于图像处理方面。同时选取芯片应满足上述COMS图像传感器、高速USB接口以及大小为8 M的SRAM的EMIF的I/O接口要求,经济成本合适的情况下运算速率能满足实时性要求,综合考虑选取型号为TMS320DM642芯片。TMS320DM642采用二级缓存架构,内核为TMS320C64xTM,最高主频为720 MHz,一个片内最高可支持24位EMIF地址总线寻址,运算速度最高达5 760 MIPS,足以满足本系统需求。

1.5 电源模块

本系统外部电源接口为工业常用DC 12 V,电源模块框图如图5所示,外界12 V电压经LM2596系列芯片降压为DC 5 V,TPS70302输出1.4 V以及3.3 V为DSP(TMS320DM642工作于720 MHz时内核供电电压为1.4 V)、IS61LV51216、CY7C68013、MT9V034等提供电源。

图5 电源模块框图

LM2596系列芯片为德州仪器公司3A电流输出降压开关型集成稳压芯片,本系统选用LM2596-50-E5。TPS70302是TI公司专为DSP应用而设计的TIS703XX系列产品之一,具有双路大电流输出及加电定序功能。一路恒定输出3.3 V,另一路输出可调,其第二路可调电压输出电路如图6所示,R2为定值电阻30.1 kΩ,VREF为内部参考电压1.224 V,R1与输出电压VOUT关系如式1所示。

图6 可调电源输出模块框图

(1)

2 系统软件设计

系统软件工作流程如图7所示,当系统从异步FIFO中读取完图像后,控制双目图像传感器生成第二幅图像并写入异步FIFO中,等待下一次图像读取。将图像数据读入SRAM后进行图像拼接流程,图像拼接传输完成后从异步FIFO中读取两图像传感器的下一帧图像。

图7 软件工作流程图

2.1 ORB特征子检测改进

ORB原算法中的特征子搜索方向为以像素坐标系原点为起点,分别沿着X轴和Y轴方向搜索。但对于本系统而言,双目相机相对位置固定,重叠区域分别为左图像右侧以及右图像左侧,因此对左相机图像右侧区域以及右相机左侧区域的特征点检测无意义,且检测出的多余特征子会对后续匹配造成干扰。

本系统中特征子检测策略如下:以图像坐标系中y轴为分界线,将左右两幅图像分为左右两部分。设定两幅图像中检测到的最少特征子为N,分别在左图、右图的右半部与左半部进行特征子检索。当半图内检索到的特征子数量大于等于N时,停止特征子检索,否则继续检索,直到检索到的特征子数量为N或者全图全部检索完毕。

2.2 ORB特征子描述改进

对于特征子描述,ORB采用BRIEF描述子,并通过Intensity Centroid算法计算选中区域质心来确定描述子方向使其具有旋转不变性。为提高其计算速度,根据选取特征子分布区域自适应构建积分图,通过积分图提高质心计算速度。双目相机同一时刻采集到的待拼接的左右两幅图中选中计算积分图区域如图8所示。深色区域为选中积分图区域,设所选取特征点构成集合C,描述子选中区域为N×N(N为奇数),特征点P坐标为(Px,Py),其中P∈C,则计算公式为:

图8 积分图选中区域示意图

(2)

2.3 基于极线约束的特征子匹配

(1)特征点的极线约束。对于特征子匹配,传统ORB算法采用BM算法进行粗匹配后再采用RANSAC算法进行精确匹配,匹配效率与质量不高,因此采用通过构建极线约束的方法对匹配点进行匹配。

为增加双目相机视野同时提高本系统适用性,构建双目相机模型如图9所示。OL、OR分别为两相机焦点,其连线称为基线,基线与两像平面交点分别为m、n。点P为三维空间中一点,与OL、OR形成平面称为极平面,在两相平面上投影点分别为PL、PR,线段mPL与nPR分别为相对于右相平面与左相平面的极线。若已知PL,则PR必定在左相平面对应的极线上,称为极线约束。

图9 极线约束模型图

当两相平面平行且与两焦点连线平行时,m、n两极点位于无穷远处,此时左右极线重合,即PL与PR在两幅图像中的y坐标相同,其模型如图10所示。

图10 双目平行极线约束示意图

若经过标定求得两相平面之间的坐标转换矩阵使得两像平面转换为双目平行模型,则正确匹配的特征点在求得的坐标转换矩阵进行坐标转换后应当具有相同的纵坐标。

(2)转换矩阵求解。双目相机固定后将一张棋盘表格放置于两相机共同成像区域内,通过张氏标定法[7]可求得棋盘从世界坐标系到两相机坐标系下的旋转与平移矩阵。设世界坐标系下一点P的坐标为Pw,在两相机坐标系下的坐标分别为PL与PR,则有:

(3)

其中,R、T分别为张氏标定法求解出的旋转和平移矩阵。根据式(3)可求得左右相机坐标系下的坐标转换关系如式(4):

(4)

求得旋转和平移矩阵后即可通过Bouguet算法[8]求取两相平面的变换矩阵。

(3)特征点匹配。当通过上位机进行标定求解出两相平面之间的变换矩阵后,将特征点坐标进行矩阵变换,变换后的匹配策略如图11所示。集合Tn为特征点集合,Cn为特征点按y坐标大小从小到大排序后的集合。

图11 特征子匹配示意图

设定集合Tn中的一个特征点标号为TN,其y坐标为Y,则将其与集合Cn中纵坐标为[Y-1,Y+1]范围内的所有特征点进行匹配。设定汉明距阈值V,当选中范围内所有匹配点汉明距均大于阈值时,剔除该匹配点,否则选取纵坐标在[Y-1,Y+1]范围内汉明距最小的特征点为准匹配点。当集合Tn内所有特征点匹配完成后采用RANSAC算法的改进算法PROSAC(progressive sampling consensus)算法[9]进行特征点精匹配。

2.4 图像融合

通过图像配准计算出图像变换单应性矩阵后,利用透视变换的单应性矩阵将两幅图像像素转换为同一坐标系下即完成了图像的初步拼接。由于计算误差等原因导致图像重叠部分出现重影、拼接缝等现象,可通过图像融合对图像做进一步处理以提高图像拼接质量。

对于重叠区域重影问题,采用渐入渐出的加权图像融合算法[10],设图像中坐标(x,y)的像素值为f(x,y),f1为待拼接左图像素集合,f2为待拼接右图像素集合,其计算公式为:

f(x,y)=

(5)

其中W1、W2表示同一坐标系下双目相机同一时刻采集到待拼接的左右两幅图像中像素点所占权重,其计算公式为:

W1+W2=1

(6)

式中:WR为待拼接左图的右边界上与像素i相同纵坐标的像素点;WL为待拼接右图的左边界与像素i相同纵坐标像素点;Wi为当前待计算融合后像素值的像素点。

3 测试

完成图像拼接系统软硬件后,采用C++在上位机VS2015平台上编程实现系统功能测试。

图12为上位机OpenCV自带原ORB结合最近邻FLANN特征子匹配效果图,拼接平均用时0.511 s,图13为笔者改进效果图,平均用时0.134 s,最终在DSP上实现该算法通过上位机显示如图14所示,其上传最大速度为4 fps,具有一定实用性。

图12 上位机Opencv自带ORB特征点匹配效果图

图13 上位机改进ORB特征点匹配效果图

图14 DSP系统上传拼接效果图

4 结论

随着人工智能、深度学习等领域的发展,图像传感器越来越多地应用于智能机器人、智能驾驶目标识别等领域。针对这些领域中单目相机由于视野限制而难以满足使用需求问题,笔者通过合理硬件设计以及软件算法改进,设计出具有较高实时性的双目相机图像同步采集的嵌入式系统。实验表明,设计的系统能同步获取更大视野的同时具有最大4fps传输速度,具有一定实用性。

猜你喜欢

双目框图芯片
芯片会议
霜 降 苏美玲
基于双目视觉的机器人定位与导航算法
人体微芯片
关于射频前端芯片研发与管理模式的思考
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
基于双目测距的卡尔曼滤波船舶轨迹跟踪
电路图2017年凯迪拉克XT5
算法框图的补全
基于双目视觉图像的长度测量方法