双目立体视觉的目标识别技术研究(源码)

1关键词 1Abstract: 1Key words: 1一 研究背景 11.1问题提出 11.2国内外研究现状 21.2.1国外研究现状 21.2.2国内研究现状 21.3研究内容 21.4开发环境与技术应用 21.4.1硬件配置 21.4.2软件环境 31.4.3 openCV概述 3二 摄像机标定 32.1摄像机模型 32.2标定算法 52.3 openCV标定实现 6三 基于HSV的图像分割 83.1分割方法 83.2实现过程 83.2.1预处理 83.2.2图像分割 103.2.3轮廓绘制 10四 立体匹配与测距 114.1立体匹配 114.1.1立体匹配算法 114.1.2立体匹配步骤 114.1.3 立体匹配实现 114.2三维重建 11五 课题设计 115.1逻辑设计 115.2界面设计 12六 结果展示与分析 13七 总结与展望 186.1总结 186.2展望 19致谢 19参考文献 19双目立体视觉的目标识别技术研究机器视觉在人工智能研究范畴占有很重要的地位,广泛应用于农业、医疗、交通等多个领域。双目立体视觉可以获得物体在三维立体场景下的位置信息,这种识别方式具有多方面的优势,因此在目标定位领域具有很高的研究热度。本文主要通过双目摄像头采集视频流,以颜色为识别因素,识别视野内所有目标物体,并测算其位置、颜色、大小、距离等信息;同时将所有功能封装为具有可视化界面的应用软件。本文的研究成果对现代农业及工业领域的识别测距技术及应用具有一定的参考价值。
目录
引言
引言
一 研究背景
1.1问题提出
传统的定位方法有很多种,包括红外定位、超声波定位、超宽带定位等。红外定位容易受到光线干扰且精度不高;超声波定位精度较高,但在传输过程中衰减明显;超宽带定位精度高,但成本较高。近年来,随着机器视觉的快速发展,基于机器视觉的目标定位技术成为研究热点,相比于传统的定位技术,这种方法硬件要求低、更加直观模拟人眼且成本较低。机器视觉根据传感器的个数可分为单目视觉系统、双目视觉系统和多目视觉系统。其中双目立体视觉系统很好地模拟了的人眼的工作状态,可以通过双目视觉上的差异构建出三维立体场景,从而实现对目标物体的定位。怎样实现在动态场景下,实时获取到一个或多个目标物体的位置信息,是本课题研究 *好棒文|www.hbsrm.com +Q: ¥351916072¥ 
的重点。该课题的研究成果,未来可与机械相结合,运用到农业的自动化采摘等场景当中。
1.2国内外研究现状
1.2.1国外研究现状
国外对于目标定位技术已经做过很多研究,大致上可以分为四种类型:第一种是单目摄像头与位置传感器组合,例如美国弗罗里达大学Michael等人研发的柑橘采摘机器人[1];第二种是多光谱与位置传感器组合,日本冈山大学研发的黄花采摘机器人就是采用这种方法;第三种是利用激光测距仪;第四种是双目视觉定位,比如Shigehiko等人研发的番茄采摘技术。
国外的机器视觉在大约八十年代中期就已经发展起来,目前也有很多产品运用到了实际生产生活当中。如今的灰点、森萨帕特、基恩士、康耐视等公司在这方面都有着非常领先的水平与研究成果。
日本大阪大学研发的双目视觉自适应伺服系统,可以精确捕获到无规律运动物体的位置信息[2]。日本冈山大学研发的视觉反馈系统,能够通过显微镜来执行生物操作[3]。麻省理工学院提出了全新的传感器集合方法,使用雷达系统采集信息,经过双目立体视觉分析,可以检测高速运动目标物体。
1.2.2国内研究现状
国内在这方面的研究较晚,不过多所高校都在不断开展相关研究,国内兴起的定位技术主要有两种,一种是单目与位置传感器结合,一种就是双目传感器系统。计算机视觉在国内大约起源于九十年代,随着工业的发展和国家政策的改进不断兴起。进步相较国外较为缓慢,目前还处在发展阶段,不过也有许多优秀的研究成果。
浙江大学机械系统研发的多自由度机械装置的动态位姿检测,可以通过很少的信息量,快速获得动态目标的信息,且具有较高的精确度。维视图像公司生产的双目ccd相机,在工业、医药业都有了初步的应用[4]。
1.3研究内容
本课题研究的内容是基于双目立体视觉的目标定位系统,该系统主要分为几大部分:摄像机标定、图像分割、立体匹配和三维测距。
摄像机标定是决定最终结果是否准确的关键,标定的目的就是通过合适的标定方法得到摄像机的内外参数矩阵和畸变系数。这些系数会对后面的匹配结果造成直接的影响。
图像分割就是利用选定的图像分割方法对摄像机捕捉到的图像数据进行处理,从而筛选出需要对其定位的目标物体。
立体匹配是定位过程的重点,立体匹配的目的就是利用左右摄像头的视觉差异,得出目标物体的深度信息,形成视差图。
完成匹配以后的测距部分就比较容易,根据得到的视差图生成3D点云,就可以求得目标物体的距离。
这四部分会在接下来的内容中详细论述。
1.4开发环境与技术应用
1.4.1硬件配置
本次设计需要的硬件设备有,一台电脑:保证USB接口良好,键盘、鼠标等输入设备可以正常工作;一个双目摄像头,作为输入设备;棋盘格纸一张,用来进行摄像头标定。
1.4.2软件环境
本次开发采用opencv+MFC开发模式,openCV使用的2.4.9版本,C++集成开发环境为Visual Studio2013,操作系统为win10。
1.4.3 openCV概述
OpenCV(Open Source Computer Vision Library)是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以在多种操作系统上运行[5]。它的主要语言组成是C和C++,包含了机器视觉需要用到的很多函数,目前已经更新到3.4系列版本。
OpenCV在使用之前需要进行一系列环境配置,配置完成以后就可以在程序中调用其提供的接口,本设计主要使用了目标识别相关功能函数。
二 摄像机标定
2.1摄像机模型
学习相机模型首先需要了解一下模型中的四种坐标系:像素坐标系、像平面坐标系、相机坐标系和世界坐标系,
/
图 1像平面坐标系与像素坐标系
如图5所示, O0是像素坐标系的原点, u和v分别代表像素点对应的行和列;图像坐标系原点是光轴与图像的交点。坐标系中某点(u0,v0)存在如下关系:
u=????????????+????0 (1)
v=????????????+????0 (2)
图是相机的成像原理图,O是光心,Zc是光轴,OcXcYcZc是相机坐标系,OwXwYwZw是世界坐标系,OO1是相机的焦距f。
/
图 2相机坐标系与世界坐标系

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1666.html

好棒文