第1章概述
1.1机器视觉的意义
机器视觉是一个涉及多方知识的系统科学,其主要内容是围绕图像理解目标的实现,研究计算机对图像数据产生智能感知的一系列过程。
物体识别是机器视觉研究领域中的至关重要的一个环节,甚至可以说是核心环节,物体识别的算法包含内容十分丰富,从图像检索到视频监控再到图像处理等应用都离不开物体识别,主要是因为图像被计算机理解的过程是图像中物体辨认的基础,在此基础上对图像中物体进行进一步的识别,然后对图像2D或3D信息进行部分还原,图像处理与分割的现实意义就在于正确解析图像中具有意义的物体。这种应用随着科技进步也不断朝着自动化和智能化方向发展,并且普及层面逐步加深,普及范围日渐拓宽,甚至也在出现在人们的日常生活之中,一定程度上转变了人们的生活行为方式。故而,我们说稳定、科学的物体识别算法是实际应用不容动摇的基础。
人们主要是通过五官来感知外部的环境,了解外部的信息,而在视觉、听觉、触觉、嗅觉、味觉之中,视觉是人们获取外部环境信息中的主要渠道,据相关数据报道,人们在信息获取过程中80%都是视觉信息,由此可见视觉信息的重要性。同理,机械手在处理操作对象的过程中也需要获取大量的状态与位置等信息,将机器视觉识别结束引入机械手操作体系,能够帮助其有效提高机械手对操作对象进行全方位识别、精准定位与迅速处理能力。当然,一般的检测技术确实能够给出有效的辅助,但是由于发展时间不长,仍存在一定的局限尚未突破,就光电检测来说,自由有度与灵活性尚存不足,故而很难对不太直观的特性进行识别和判定,同时也很难做出正确的假设,所以,这些缺陷就要由视觉识别技术加以弥补,凭借非接触、可视化高、自动化高、智能化高等优势,视觉识别技术能够更好的对识别对性上某个不直观的特性进行相对精准的识别。
对物体识别的研究的核心是“识别”,而“识别”又是人们认识物体、利用物体的最为基础又最为复杂的问题,在社会生活中物体识别研究应用范围广泛,应用层次深刻,包括对图像处理、物体识别与跟踪、立体视觉等技术的应用都十分常见,就如航拍图像的处理、自然图像的检索、人脸识别应用、视频监控、智能房屋、工业控制与产品检测等,从日常生活到工业生产,再到国防教育等方方面面都少不了物体识别,甚至其技术的应用还在很大程度上推动了人们生活方式的转变,故而对物体识别的研究有着非同一般的理论和实践意义。
1.2机器视觉的现状
机器视觉作为一门独立的学科却需要有多学科知识的运用,比如计算机科学中的图像处理知识、生命科学的神经学研究知识、社会科学的行为学知识、心理学等。故而,机器视觉研究中有诸多研究方向,吸引着许多研究学者投入其中,并将诸多理论成果应用与实践,当前社会生活中的许多高科技产品都有着机器视觉技术应用的影子。
Roberts(1962)对三维积木体系进行了程序角度的解释,并对物体形状与物体关系之间的空间联系进行了探讨。Marr,Barrow和Tenenbaum(1975)通过对视觉过程进行了深入的分析并针对此提出了一系列的视觉计算理论,理论核心为图像三维形状复原。
Marr(2007)在其研究中表明不同层次上信息处理的的重要性及相关问题研究,其将视觉信息处理分为了3个过程:一是计算过程、二是算法与数据结构、三是视觉研究领域中物理实现理论的研究框架。之后,机器视觉信息处理又衍生出了诸多新概念与新方法,相关的理论框架更是蓬勃发展,例如物体识别理论框架(结合感知特征群理论)、主动视觉理论框架等。并且随着理论领域的不断充实与发展,其在社会生活中的应用也日渐广泛,我们所见高科技机器人视觉技术就是对机器视觉理论的精彩应用。当然,当前信息集成化、智能自动化等的发展令人惊喜,并且随着物理学、统计学、应用数学、心理学以及计算机科学等的融入,机器视觉更是得到了充分的应用,举例如下:
(1)机器视觉在制造业中的应用。市场经济深入发展背景下,人们的消费水平有了很大提升,消费观念也有了翻天覆地的变化,故而对产品的需求更加倾向于高性能、多元化,重视产品附加值,而新的测量方法与设计方法则帮助了企业降低成本,提高产品工艺及性能。
(2)机器视觉在医学辅助诊断领域中的应用。计算机视觉主要应用于医学影像,例如CT图、核磁共振图等的分析,以及数字图像提取与分割技术,这些都给医学判断的准确性提供了有力的辅助。
(3)机器视觉在精密检测领域中的应用。机器视觉在对检测对象加工精细度与质量把控方面也有很大发展空间,特别是对于一些精密仪器零件及缺陷的检测中,当前应用中不能兼顾精度与效率的样板法已经成为为其发展的“短板”,只有进一步探求实时高效的检测方法才能满足当前生产与发展的高要求。
总的来说,虽然国内的极其视觉理论研究及应用都取得了较好的称帝,但是缺陷也比较明显,但是近年来众多相关人士对其的研究、探索与实践让我们看到了其良好的发展态势。
1.3相机标定
1.3.1模板标定
标定板(Calibration Target)的主要作用就是在机器视觉、图像测量、三维重建等应用的过程中,进行镜头畸变矫正、某点三维几何位置和其图像中对应点的相互关系的确定、物理尺寸和像素关系转换确定,是十分关键、必不可少的工具。
标定板能够通过对固定间距图案阵列一些列的算法计算得到相继的几何模型参数,进而达到高精度测量与重建的目标,常用的摄像机标定方法包括传统摄像机标定法、透视变换矩阵标定法、摄像机自行标定方法等。当前接受度最高的标定算法是Tsai方法(1987),其主要内容是“借助带有非共面专用标定标识的三维标定物,来提供图像点以及其对应的三维空间点的对应,并计算标定参数。”Zhang(1999)也提出了另一种比较实用的算法,就是“对一个平面标定图案的至少两幅不同视图来进行标定。”当然,还有其他的诸多算法都值得我们探讨和学习。
1.3.2自标定
Halcon提供了中不需要借助标定板的自标定算子来对相机内参的标定。只要掌握了相机内参(无焦距),就能够实现畸变参数的校正,这种方法更便捷于多福标定,操作性更强。在实现畸变校正之后也可以进行一个参考物的放置来获得像素当量,从而进行XY世界坐标系的构建,实现测量及定位功能的应用。
1.4本文工作
(1)对本论文的基于机器视觉的刚体位姿检测方法进行深入研究,主要分析内容包括:探讨系统主要模块、标定相机内参数、分析图像处理技术与视觉位置测量方法。
(2)通过双目视觉测量模型的建立,利用相机模型联系三维空间点与二维空间点,最后识别特征点位置和旋转平移匹配对应关系。
(3)基于Visual Studio 2010和OpenCV2.4.3技术实现相对简易的视觉检测试验体系的建立,对人机交互软件控制界面进行合理的设置,并采用张正友的平面标定法标定摄像机。
第2章 基于机器视觉的刚体位姿检测方法研究
总体方案
2.1理论基础
张正友(1999)在其多年的研究及实践基础上提出了张正友标定法该方法是基于移动平面模板的一种相机标定法,与传统标定法与自标定法之间有许多共通点,不同的是,张正友标定法相较于传统标定法更具有操作性且仍能够保持较高的精度要求,兼具了自标定法的效率与传统标定法的质量,因此受欢迎程度很高,特别是在办公及家庭场景中桌面视觉系统(DVS)的应用。(如图2.1)
设3D空间坐标点为:和2D平面坐标点为:
将模板定义在世界坐标系中与平行于X-y平面(即Z=0)的平面上,设模板平面上点的齐次坐标为,为模板平面上点投影到图像平面上对应点的齐次坐标。为相机内参矩阵。旋转矩阵记为R,移矩阵记为分别为t,缩放因子标量记为s。
根据,对于每副图像,可以得到约束条件:
根据矩阵知识,当所取图像数目不小于3时,含有5个未知的内参数的矩阵A可以被唯一求解。
B矩阵是个对称矩阵,所以可以写成一个六维向量形式:
将H矩阵的列向量形式为:
改写式(b)为:
再根据内参数的限制条件式(a):
矩阵V是2×6矩阵,要求解所有未知数至少需要6个方程组,也就是说至少需要3张照片才能解出未知数。b解出后就,就能解出相机内参矩阵A,最后解得每张图像的外部参数R、t:
2.2极大似然估计与径向畸变处理
2.2.1极大似然估计
解出初始参数后,可通过一下公式进行非线性最小模型,优化之后得到解得值与真实值之间的差异,即:
结合LM优化算法,并借助此模型则可以求出最优化的参数。
2.2.2径向畸变的处理
基于一般情况下,模型建立过程中相机都会存在一定程度的径向畸的考虑。此处只考虑二次畸变。
设(u,v)为理想的像素坐标,为实际的像素坐标。对应地,(x,y)和为理想和实际的图像坐标。于是有:
其中k1与k2为径向畸变系数。对于中心点畸变同样适用。然后由和我们得到下式:
已知,n副图的m个点,求解这个线性方程组的解。一旦k1、k2得到后,就可以利用上式替代通过处理式极大似然公式中的来优化其他参数。
除此之外,求解出的畸变系数还可以通过极大似然估计来优化,其公式为:
2.3张正友标定算法的实现
张正友标定算法中需要注意:(1)选择均匀分布的点;(2)出于标定精度考虑,尽可能选取均匀分布于图像上的10个点。基于此,笔者共采用了同一相机但不同拍摄角度的6幅图像中的60个特征点(每幅图像选取坐标相同的10个特征点)来进行标定。

具体流程是为“对被取的10个点的齐次坐标进行转置——求解并优化单应性矩阵——求解出6向量(B矩阵)——求解出相机的外参及畸变系数,得出相机坐标(Xc,Yc,Zc)——借助函数优化内参和畸变系数——根据优化结果求解外参矩阵——从旋转矩阵中分解出独立变量,并得到平移矩阵——最终优化平移矩阵、内参、畸变系数”。
第3章 基于机器视觉的刚体位姿检测方法研究
程序设计
3.1.准备标定图片
借助黑白相间矩形构成的棋盘图的标定板在不同角度和位置下,采用不同姿态进行照片拍摄来得到标定图片。如图3.1.1和图3.1.2所示:
3.2对每一张标定图片,提取角点信息
通过findChessboardCorners函数的使用来实现角点[此处角点专指的是标定板上的内角点与标定板的边缘不相接触。]的提取,函数原型如下:
参数①Image,传入拍摄的棋盘图Mat图像(8位的灰度或者彩色图像);
参数②patternSize,每个棋盘图上内角点的行列数,为了方便后期标定程序中更方便识别标定板方向,一般情况下要采用不同的行列数;
参数③corners,作用是存储检测到的内角点图像坐标位置,由元素是Point2f的向量表示(vector<Point2f>image_points_buf);
参数④flage:作用在于定义棋盘图上内角点查找过程中不同的处理方式。
3.3对每一张标定图片,进一步提取亚像素角点信息
为了加强标定精度,需要用find4QuadCornerSubpix函数进一步提取亚像素角点信息。cornerSubPix函数原型:
参数①image,输入的Mat矩阵,考虑到检测效率,最好采用8位灰度图像;
参数②corners,同时作为亚像素坐标位置输出的初始角点坐标向量,需要是浮点型数据。采用元素是Pointf2f/Point2d的向量来表示(vector<Point2f/Point2d>iamgePointsBuf);
参数③winSize,大小为搜索窗口的1/2;
参数④zeroZone,死区的1/2尺寸.当值为(-1,-1)时表示没有死区;
参数⑤criteria,作为终止条件定义求角点迭代过程,可以是迭代次数和角点精度的组合;
find4QuadCornerSubpix函数原型具体如下:
参数①img,输入的Mat矩阵,考虑到检测效率,最好采用8位灰度图像;
参数②corners,同时作为亚像素坐标位置输出的初始角点坐标向量,需要是浮点型数据。采用元素是Pointf2f/Point2d的向量来表示(vector<Point2f/Point2d>iamgePointsBuf);
参数③region_size,角点搜索窗口的尺寸;
在其中一个标定的棋盘图上,对cornerSubPix和find4QuadCornerSubpix方法进行分别运行以求亚像素角点,cornerSubPix和find4QuadCornerSubpix定位到的亚像素角点坐标分别为:
cornerSubPix:find4QuadCornerSubpix:
虽然有一定差距,但偏差基本都控制在0.5个像素之内。
3.4在棋盘标定图上绘制找到的内角点
drawChessboardCorners函数用于绘制被成功标定的角点,函数原型:
参数①image,8位灰度或者彩色图像;
参数②patternSize,每张标定棋盘上内角点的行列数;
参数③corners,初始的角点坐标向量,同时作为亚像素坐标位置的输出,所以需要是浮点型数据,一般用元素是Pointf2f/Point2d的向量来表示:vector<Point2f/Point2d>iamgePointsBuf;
参数④patternWasFound,标志位,作用是指示定义的棋盘内角点是否被完整探测到,“true”表“被完整探测到”;“false”表示“有未被探测到的内角点”,函数会以红圈标记处检测到的内角点;
patternWasFound=ture时,依次连接各个内角点:
3.5相机标定
获取到棋盘标定图的内角点图像坐标之后,就可以使用calibrateCamera函数进行标定,计算相机内参和外参系数,
calibrateCamera函数原型:
参数①objectPoints,为世界坐标系中的三维点。在使用时,应该输入一个三维坐标点的向量的向量,即vector<vector<Point3f>>object_points。需要依据棋盘上单个黑白矩阵的大小,计算出(初始化)每一个内角点的世界坐标。
参数②imagePoints,为每一个内角点对应的图像坐标点。和objectPoints一样,应该输入vector<vector<Point2f>>image_points_seq形式的变量;
参数③imageSize,为图像的像素尺寸大小,在计算相机的内参和畸变矩阵时需要使用到该参数;
参数④cameraMatrix为相机的内参矩阵。输入Mat cameraMatrix就可以了,如Mat cameraMatrix=Mat(3,3,CV_32FC1,Scalar::all(0));
参数⑤distCoeffs为畸变矩阵。输入一个
Mat distCoeffs=Mat(1,5,CV_32FC1,Scalar::all(0))就可以了;
参数⑥rvecs为旋转向量;应该输入一个Mat类型的vector,即
vector<Mat>rvecs;
参数⑦tvecs为位移向量,和rvecs一样,应该为vector<Mat>tvecs;
参数⑧flags为标定时所采用的算法。有如下几个参数:
(1)CV_CALIB_USE_INTRINSIC_GUESS:使用该参数时,在cameraMatrix矩阵中应有fx,fy,u0,v0的估计值。反之,将初始化(u0,v0)图像的中心点,使用最小二乘估算出fx,fy。
(2)CV_CALIB_FIX_PRINCIPAL_POINT:在进行优化时会固定光轴点。当CV_CALIB_USE_INTRINSIC_GUESS参数被设置,光轴点将保持在中心或者某个输入的值。
(3)CV_CALIB_FIX_ASPECT_RATIO:固定fx/fy的比值,只将fy作为可变量,进行优化计算。当没有设置CV_CALIB_USE_INTRINSIC_GUESS,fx和fy将会被忽略。只有fx/fy的比值在计算中会被用到。
(4)CV_CALIB_ZERO_TANGENT_DIST:设定切向畸变参数(p1,p2)为零。
(5)CV_CALIB_FIX_K1,…,CV_CALIB_FIX_K6:对应的径向畸变在优化中保持不变。
(6)CV_CALIB_RATIONAL_MODEL:计算k4,k5,k6三个畸变参数。如果没有设置,则只计算其它5个畸变参数。
参数⑨criteria代表的是最优迭代终止条件设定。
标定的结果是生成相机的内参矩阵cameraMatrix、相机的5个畸变系数distCoeffs,另外每张图像都会生成属于自己的平移向量和旋转向量。
3.6对标定结果进行评价
对计算投影坐标和亚像素角点坐标之间的偏差,偏差越小,标定结果越好。
对空间3D坐标点进行反向投影的函数是projectPoints,函数原型是:
第4章总结与展望
刚开始完全没有思路如何去提取特征点,后面看到了张正友标定法,随着对张正友标定法的逐渐熟悉,我对其的使用也有了新的认识和理解。在深入了解过程中愈发增强了对张正友标定法不借助特殊标定反而使用棋盘格来更全面的认识基于机器视觉的刚体位姿检测方法的敬佩之情。
在一个较为系统的学习之后,发现内参、外参和畸变系数的标定是双目视觉在图片校正过程中不可或缺的基础工作,并且如果没有这个标定就难以实现摄像机矫正和3D恢复的目的,由此可见标定对双目视觉的重要性,故而就必须关注其在数学层面的理解与研究。
本文主要围绕机器视觉基础上的刚体位姿检测方法进行研究,尤其是在当前弹幕视觉基础上的位资测量技术应用越来越广泛深入,在对测量原理与数据处理的研究下,各式各样的测量方案层出不穷,但是如何解决测量系统在测量过程中精准度以及速度之间的矛盾仍然是一个十分重要的开放性研究问题,本文主要探讨的就是兼具测量高速度与高精度的弹幕视觉位资测量方法,经过以上研究,笔者认为其在日后的理论研究与实践应用上都有着巨大的发展空间。本课题“基于机器视觉的刚体位姿检测方法研究”正是顺应了这种发展趋势。本文的主要研究成果包括:
(1)深入了解了机器视觉的内涵及发展现状,掌握了相机标定包括模板标定、自标定等知识;(2)基于机器视觉理论,对刚体位姿检测方法进行了总体方案设计,主要经历了理论奠基、极大似然估计与径向畸变处理、张正友标定算法的应用;(3)基于机器视觉理论,设计了刚体位姿检测方法研究的程序,步骤为“准备标定图片——对每一张标定图片提取信息——在棋盘标定图上绘制找到的内角点——相机标定——对标定结果进行评价——利用标定结果对棋盘图进行矫正”;(4)基于Visual Studio 2010和OpenCV2.4.3技术,设计了一个相对简易的刚体位姿检测系统,对人机交互软件控制界面进行了合理的设置,并采用了张正友的平面标定法标定摄像机。
当然,在研究过程中,受限于笔者的知识水平以及相关信息获取的不充分,对刚体位姿检测方法研究还存在有诸多不完善的地方,之后的学习与实践过程中还将继续探索相关问题,在对自己的能力要有着清醒认识的同时,对其未来发展的方向要有着一定的了解,及时去补充自己的知识,完善自己的能力。
参考文献
[1]舒娜.摄像机标定方法的研究[D].南京理工大学,2014.
[2]成莹.基于机器视觉的物体识别定位系统的研究[D].西南大学,2011.
[3]解邦福.基于单目视觉的刚体位姿测量系统研究[D].哈尔滨工业大学,2009.
[4]赵月.单目位姿测量目标中心定位算法研究[D].哈尔滨工程大学,2011.
[5]王利明.机器视觉中物体识别方法的研究与探讨[D].复旦大学,2009.
[6]姜涛.基于机器视觉的发信盘齿距测量系统研究[D].湖北工业大学,2013.
[7]李倩倩.关节式物体检测识别及应用[D].复旦大学,2011.
[8]吴海山.大规模运动群体跟踪和三维人脸姿态纠正的研究[D].复旦大学,2011.
[9]邱雪娜.印制电路板成品质量自动光学检测系统关键技术研究[D].西安电子科技大学,2014.
[10]张小康.基于视觉的并联机构位置检测系统的研究[D].哈尔滨工业大学,2013.
[11]刘霞.工业零件形状尺寸的机器视觉检测系统的研究[D].哈尔滨理工大学,2009.
[12]田渊栋.基于特征组合的一般物体识别相关算法研究[D].上海交通大学,2007.
[13]周传德王见尹爱军.基于平面标靶的物体空间姿态精确测量[D].重庆大学学报,2011.
[14]杨飞宇.基于结构光的人体三维扫描关键技术研究[D].长春理工大学,2013.
[15]刘焕军.多传感器融合智能检测机器人的研究及应用[D].湖南大学,2004.
[16]张亚军齐杏林.枪弹弹头无接触自动检测系统设计[D].四川兵工学报,2012.
[17]王艳斌.汽油发动机曲轴输出轴类型识别系统的研制[D].重庆大学,2007.
[18]郭政业罗延胡雯蔷朱李瑾.运用投影反馈的神经网络摄像机标定[D].计算机应用研究,2015.
[19]陆勋.基于LabVIEW的机器视觉检测系统设计[D].华东理工大学,2010.
[20]朱惠峰.异形瓶装溶液的视觉检测机器人研究[D].湖南大学,2009.
[21]蔡旭.沥青路面抗车辙性能评价及结构优化[D].华南理工大学,2013.
致谢
经过近三个多月的努力,随着我的大学学习生活的结束,我的《基于机器视觉的刚体位姿检测方法研究》这篇毕业论文也划上了句号。在此,我要感谢所有曾经教导过我、关心过我的老师、同学和朋友,感谢他们在我的写作过程中给予了我极大的帮助。
另外还要特别感谢我的指导老师潘泽民,感谢他在我的论文写作过程中对我的耐心指导。在写作过程中关老师不但提出了许多论文格式和专业理论上的建议,还指正了我在有关专业术语方面的问题,甚至还包括标题用语和论文字号上的不足,使我无论在软件学习还是在做事严谨认真方面都受益匪浅。
由于我知识的局限和欠缺,论文中还有许多不足和缺漏有待完善,希望各位读者多多指正。
下载提示:
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:写文章小能手,如若转载,请注明出处:https://www.447766.cn/chachong/12520.html,