基于RGB-D 相机的抓取点定位研究

2019-04-03 01:39崔宁胡晓光
现代计算机 2019年35期
关键词:卷积模板像素

崔宁,胡晓光

(1.中国人民公安大学信息技术与网络安全学院,北京100000;2.中国人民公安大学侦查与刑事科学技术学院,北京100000)

0 引言

近几年机器人技术大力的发展,对国家国防、工业的发展都做出了巨大的贡献。人们对于机器人技术投入了大量资金,使传感器技术、计算机视觉、控制算法等技术得到飞速发展。机器人技术也顺应这些技术的应用与时代发展的需要,呈现多元化发展的趋势。除了传统的工业机器人外,各类小型移动服务机器人也得到了很快的发展。机器视觉在现代化工厂中得到了越来越多的应用,该技术主要应用于物体的类别识别、形状识别、空间定位等领域[1-2]。在工业生产领域和危险环境下通过机械手抓取物体降低了生产成本、减少了人员的伤亡,得到了广泛的应用。目前关于视觉传感器进行物体定位与识别主要是通过单目视觉、双目视觉、RGB-D 相机三种方式。单目视觉是通过单个RGB 相机获取2D 彩色图像数据,通过单帧计算和双帧计算两种方式获取物体的距离,单帧计算需要物体的几何尺寸等额外的场景信息,多帧计算通过连续帧中物体相应位置像素的位移变化计算物体的距离。双目视觉是指通过两个摄像头之间形成的视差计算得出深度数据,从而产生立体视觉,此方法计算量较大,对设备性能要求高。RGB-D 方案是指深度相机和彩色相机相结合,将彩色图像数据和深度数据进行了耦合。其测的深度信息相对于双目视觉精度高,且不需进行额外计算。

本文使用RGB-D 相机方案,首先利用Mask RCNN 卷积神经网络[3]对物体进行识别得出物体的类别,然后找出物体的SIFT 特征点并进行匹配等技术。本方案在对物体进行定位与姿态调整时无需使用昂贵的3D 建模设备对物体进行建模的预处理,并能接近达到通过三维建模-点云配准方法进行定位的精度[4]。

1 RGB-D相机模型

RGB-D 是RGB 彩色传感器和深度传感器的结合体,既能够获取RGB 彩色图像信息也能获取深度图像信息。目前深度传感器按照结构光法和光飞行时间法两种不同获取深度数据的方式分为结构光式相机和飞行时间测距成像相机两种类型。结构光式摄像头精度高,但测量距离短;飞行时间测距成像相机测量距离相对于结构光法要长,但测量精度低于结构光法。RGBD 相机可以主动测量每个像素对应的距离,并能将RGB 彩色图像信息和深度数据进行耦合。RGB-D 相机模型根据RGB 彩色摄像头和深度传感器两者之间的外参构建RGB 彩色图像数据与深度数据两者之间的映射关系。相机最终得到的图像是以像素坐标的形式存在的,像素平面中P’的像素坐标为[u,v]。RGB-D深度相机利用相机内参进行坐标系变换可以直接获得测量点的空间位置信息,即空间坐标P(X,Y,Z)可根据相机的内参K 和像素P’(u,v)对应的深度Z 由公式(1)得出。

注:式中K 矩阵表示的是相机的内参数矩阵(Camera Intrinsic),P 为点P’的三维空间坐标。

2 物体识别

目前,卷积神经网络结构模型是解决图像识别问题的最优方法,以Mask R-CNN、YOLO 等模型为代表。Mask R-CNN 模型是由R-CNN、Fast R-CNN 、Faster R-CNN、CNN[5-7]模型改进而来。R-CNN 模型在CNN 的基础上设计,在目标检测测试中取得了很好的成绩。研究者对R-CNN 的不断改进,使得卷积神经网络在目标检测领域不断有新的突破。相继发展出了Fast R-CNN,Faster R-CNN,Mask R-CNN 等算法。RCNN 与传统图像目标检测方法相比,不再需要人工提取特征,采用了多尺度卷积核的卷积网进行替代。首先进行区域推荐采用selective search 的方法在输入图像上生成待检测区域构成候选检测集。然后进行特征提取,R-CNN 通过使用卷积神经网络(AlexNet)在待检测区域上分别计算每个推荐的特征并提取,最后通过使用类别相关线性支持向量机(SVM)对这些提取的特征向量进行打分,根据分数的高低进行分类,进而得到目标的分类。R-CNN 通过采用bounding box regression对图像中的目标边框的图像区域进行更正,使得目标检测精度大大提升。但R-CNN 因为采用串行式CNN前向传播而且没有考虑共享计算,耗费了大量的时间。对于每一个输入图像和感兴趣区域(RoI)都需要经过AlexNet 网络进行特征提取,为所有的感兴趣区域(RoI)提取特征使用46s 左右,并且训练时提取的特征需存入硬盘,需要很大的存储空间。为了应对复杂的机器视觉使用环境,提高算法的实时性,研究者提高了检测速度,提取的特征不再存入硬盘,相继提出了Fast R-CNN、Faster R-CNN 对R-CNN 进行改进。首先将R-CNN 耗时的特征提取方式修改成一个全卷积网络对全图进行提取特征的方式。使用RoI Pooling Layer在全图特征上提取每一个感兴趣区域(RoI)对应的特征,再通过全连接层(FC Layer)对目标区域进行分类和包围框的更正;取代selective search 构成候选检测集的方法,直接通过一Region Proposal Network(RPN)生成几乎无代价的区域推荐,将生成输入图像和感兴趣区域(RoI)由2s 变为10ms。

Mask R-CNN 主要是在Faster R-CNN 的基础上进行了扩展。①借用了Faster R-CNN 的区域推荐网络(RPN),生成检测目标的边框。②在Faster R-CNN 的基础上用RoIAlign 代替了RoIPooling,RoIPooling 使用取整量化,导致特征图RoI 映射回原图RoI 时空间不对齐明显,造成误差;RolAlign 不使用取整量化而是采用双线性插值,完成像素级的对齐;Mask R-CNN 添加了平行于分类和边框的回归分支的掩模分支,一个用在ROI 上的小型全卷积网络,以此实现了像素级的分割。

图1 Mask R-CNN网络结构图

3 物体抓取点定位的机理

此方案提出的对目标物体抓取点空间坐标的检测,主要分为两个阶段:预处理阶段和识别处理阶段。预处理阶段需要训练一个神经网络对其物体进行分类识别,对图片进行加工处理后生成识别需要的模板,用于后期处理时的匹配;识别处理阶段即对物体进行定位检测、处理、抓取点空间坐标结果输出。

3.1 预处理阶段

预处理阶段要训练一个物体检测模型和对物体进行模板图片制作。①对于待检测的物体建立2D 图像数据集,使用Mask R-CNN 卷积神经网络进行训练,进而对物体进行识别分类。②对于每个物体四周进行拍照,步长大概45 度,围绕物体拍8 张,并用SIFT 进行特征点提取,保存此图片和此图片中SIFT 检测出的各特征点的像素坐标。③选定一个抓取点,即拟测量的物体某个具体空间坐标的点,这个点可以是物体上任意处的点。④借助深度相机和公式测量保存各特征点和抓取点的空间坐标,通过距离公式((Xi-x)2+(Yi-y)2+(Zi-z)2=)计算得出两点距离。⑤保存每个特征点到抓取点的直线距离。步骤②拍摄的图片和步骤③计算出的距离组成了各个物体的模板。

3.2 识别处理阶段

①相机拍照并保存图片,取名为测量图片。Mask R-CNN 对此测量图片进行识别,给出测量图片中的分类结果和物体在此图片中的掩模像素坐标。②通过Mask R-CNN 得到的物体分类结果,调取出在预处理阶段保存的相应模板。对彩色图片中经Mask R-CNN 得到的物体的掩模与相应的模板进行SIFT 特征匹配。③对彩色图像和步骤二中调取的模板图片这两张图片之间的特征点进行映射,使模板图片与测量图片经SIFT 特征点匹配成功的各特征点到抓取点的距离映射到彩色图片的特征点到抓取点的距离。并计算出各特征点的空间坐标。④根据各特征点到抓取点的距离可列出方程:设A 特征点,已知测量图片中A 特征点的空间坐标为(X1,Y1,Z1)与到抓取点的距离为D1,可得方程:(X-X1)2-(Y-Y1)2+(Z-Z1)2=D12。若知道4 个特征点(不共线)即可列出4 个方程,解出方程组即可求出物体抓取点的空间坐标。由于相机设备的误差,致其测量的数据存在误差导致方程组无解,故使用最小二乘法进行迭代求解[8]。

图右面为测量图片,图左面为测试图片经Mask R-CNN 处理得出物体类别后,调取出的对应物体模板图片。图片经过Mask R-CNN 处理后给出了物体掩模区域像素位置,只需对其区域掩码区域进行匹配,增加了SIFT 的匹配精度。

图2 模板与测试图片示意图(ps示意图)

4 结语

本文提出一种对物体某点进行空间坐标测量的方案。结合RGB-D 相机、Mask R-CNN 深度网络学习模型、SIFT 特征点查找进行物体空间坐标的测量。对获取到的彩色图像使用Mask R-CNN 深度网络学习模型进行类别识别,得到类别后调取相应的模板进行SIFT特征匹配,对于匹配的结果结合深度相机获取到的深度信息列出计算抓取点空间坐标的方程,使用最小二乘法对方程进行计算得到结果。通过此方法可避免点云配准方案中使用昂贵的3D 扫描仪进行物体建模的步骤,且接近达到通过点云配准方案的精度。相较于使用深度学习模型学习物体各种姿态进行估计的方法精度会高一些。

猜你喜欢
卷积模板像素
高层建筑中铝模板系统组成与应用
铝模板在高层建筑施工中的应用
像素前线之“幻影”2000
特高大模板支撑方案的优选研究
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
Inventors and Inventions
“像素”仙人掌
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法