当前位置: 首页 > news >正文

基于Python+OpenCV实现双目立体视觉的图像匹配与测距

基于双目立体视觉的图像匹配与测距

引言

1.1研究背景和意义

人类通过感觉器官获取的外部世界信息里有 80%是来自视觉。研究生物视觉系统发现,双目是生物具有视觉的重要前提。以人为例,当人用两眼分别观察视野前方的物体时,会发现左眼和右眼观察到的物体在距离和方位上不大一致,这就是视差。通过视差对比分析,才能更好地研究物体在实际世界的中位置。

由于双目立体视觉系统是通过模拟人的双眼来进行感知这一原理,因此在实际中只需要两个相机,并将它们像人的双眼一样,安装在同一水平线上经过简单校正之后就可以投入使用。实现方式相对简单,使用成本低廉。因此,本文通过对双目立体视觉系统的研究,可以更好地理解图像特征提取与匹配的算法原理和效率,并且实现在非接触条件下快速准确测量。

1.2主要研究内容

(1)在对相机成像和坐标系原理研究的基础上,依托维视双目立体视觉测量平台 MV-VS220 实现了双目相机标定,以及目标物体图像数据采集。

(2)在灰度化、二值化以及加噪等必要图像预处理的基础上,研究 SIFT、SURF 特征点提取与匹配算法,进行实验并显示提取和匹配效果;研究测距模型和视差深度计算目标物体的深度信息, 进行实验并获取测量结果,对测量误差进行分析与讨论。

(3)基于维视双目立体视觉测量平台 MV-VS220,采用 Python+OpenCV 开发工具,设计实现了一个双目立体视觉图像匹配与测距原型系统,可实现对关键环节的过程与结果的演示,以及不同算法的性能比较。

2相机成像与标定

探究摄像机成像模型与视觉坐标系之间的转换关系,世界坐标系中物点 P 的坐标(, , )与图像像素坐标系中成像点 p 的坐标(, )间的关系,如式(1)所示。

之后采用张正友标定法进行相机标定实验,得到的相机参数如下表 1 所示。

表 1 相机标定参数结果

3 特征点的提取与匹配

研究 SIFT 和 SURF 两种算法所提取的特征关键点,针对环境变化时的性质与提取效率,并通过实验数据显示研究结果。首先利用搭建好的维视双目立体视觉测量平台 MV-VS220 采集目标物体图像,然后对比原图像和灰度化、二值化、加噪等不同预处理图像,在 SIFT 特征提取和 SURF 特征提取之后的效果如图1所示。

(a)原图像 (b)SIFT 特征提取 (c)SURF 特征提取

图 1 原图像与预处理图像特征提取之后效果图

原图像和预处理图像经过 SIFT 特征提取和 SURF 特征提取后效率对比如图 2 所示。

图 2 原图像和预处理图像经过 SIFT 和 SURF 特征提取后效率对比图

原图像和加噪图像、旋转变化图像、光照图像经过 SIFT 和 SURF 特征提取后效果如图3所示。

(a)原图像 (b)SIFT 特征提取 (c)SURF 特征提取

图 3 原图像和不同环境图像经过 SIFT 和 SURF 特征提取后效果图

原图像和不同环境图像经过 SIFT 特征提取和SURF 特征提取后效率对比如图4所示。


图 4 原图像和不同环境图像经过 SIFT 特征提取和 SURF 特征提取后效率对比图

提取特征点之后进行图像特征匹配研究,主要采用 SURF 特征点分别结合 FLANN 匹配法和 BF匹配法进行研究分析,实验效果图如下图 5 所示。

(a) FLANN 匹配 (b) BF 匹配

图 5 SURF 特征点结合 FLANN 匹配和 BF 匹配效果图

最后得到的不同特征点与匹配方法组合的实验结果如下表2所示。

表 2 不同特征点和匹配方法组合实验结果

特征点+匹配方法

阈值

左/右特征点提取个数

总匹配对数

误匹配对数

误匹配率(%)

匹配时间(ms)

SIFT+BF

-

538/427

538

438

81.41%

76.4161

SIFT+FLANN

-

538/427

538

438

81.41%

45.0403

SURF+BF

3000

98/79

98

63

64.28%

9.5683

SURF+FLANN

3000

98/79

98

63

64.28%

5.2383

SURF+BF

5000

47/34

47

29

61.70%

6.1689

SURF+FLANN

5000

47/34

47

29

61.70%

3.5768

SURF+BF

7000

26/21

26

8

30.76%

4.5186

SURF+FLANN

7000

26/21

26

8

30.76%

2.1976

对于相同的特征点,不同匹配方法得到的情况相同,误匹配率也是一致的,但是 FLANN 明显快于 BF 方法;对应相同的匹配方法,不同的特征点的匹配情况各不相同,SURF 特征点比 SIFT 特征点匹配精度要高很多,而且 SURF 阈值越大,精度越高,速度也要快。

4 目标定位与测距

研究平行双目模型和视差深度算法得到视差深度计算公式,之后需要进行目标测距实验。实验采集的原始图像根据相机参数重构之后的图像如下图6所示。

图 6 左右相机重构图像

最后得到的深度差异图如图7所示。

图 7 深度差异图

可由深度差异图获得相应的位置上的对应深度信息,实验结果整理如表3所示。

表 3 目标测距实验结果与误差

匹配点对图像像素坐标(单位:像素)

对应特征点三维坐标(单位:mm)

测量距离(单位:mm)

实际距离(单位:mm)

误差%

(145,77)

(-1528.5068,-190.49118,4126.581)

4126.581

4225

2.33%

(171,105)

(-1559.8071,-159.69981,4309.4355)

4309.4355

4321

0.27%

(200,121)

(-1520.9952,-137.44597,4314.6025)

4314.6025

4322

0.17%

(200,146)

(-1481.9042,-99.74401,4203.7134)

4203.7134

4319

2.67%

(200,163)

(-1519.1737,-78.43294,4309.4355)

4309.4355

4319

0.22%

(273,135)

(-1466.0504,-121.74778,4458.957)

4458.957

4320

3.22%

(341,118)

(-1748.8832,-187.22635,5702.66)

5702.66

5502

3.65%

(361,111)

(-1144.2224,-133.8237,3811.8416)

3811.8416

4006

4.85%

5 系统设计与实现

基于双目立体视觉原理和已有的相机标定实验、图像匹配实验以及距离测量实验结果,设计并实现了一个立体匹配与测距原型演示原型演示系统。系统主要包括打开图像采集功能、图像匹配功能以及距离测量功能,系统的功能结构如图8所示。

图 8 系统功能结构图

系统使用的硬件平台如图9所示。系统软件主界面和各个功能模块截图如

图10所示,主要包括图像采集、图像匹配、距离测量三个功能模块。点击相应的按钮进入单独的功能界面。

图 9 维视双目立体视觉测量平台 MV-VS220

图 10 演示系统主界面和各功能模块界面截图

经系统测试,本文所设计实现的图像匹配与测距系统能够成功采集图像并进行特征点提取与匹

配,可以对目标物体进行定位和距离测量。系统从界面、功能与性能方面均达到了设计的要求。

6 总结

在理解双目立体视觉原理的基础上,研究了相机成像模型和视觉坐标系,通过相机标定实验获取了相机参数;研究了基于 SIFT 和 SURF 算法的特征点提取以及 FLANN 和 BF 匹配法的原理,通过实验对比了不同算法的效果与效率;研究了目标物体的定位与测距的原理,通过实验获得对应深度信息及误差;设计并实现了基于双目立体视觉的图像匹配与测距演示系统,完成了必要的功能演示。

今后,仍需深入研究特征提取与匹配方法,使其具有更好的匹配效果与更快的执行速度;还需要进一步完善目标物体的定位和测距以减小测量误差;同时,需要继续进行演示系统的功能完善和界面美化等工作。

http://www.dtcms.com/a/606661.html

相关文章:

  • duckdb使用详解
  • 【愚公系列】《MCP协议与AI Agent开发》010-MCP协议标准与规范体系(协议消息结构设计)
  • 3、日常脚本:文件去重(删除重复文件)
  • 物流公司网站方案wordpress搭建系统
  • 个人做负面网站犯法不ui设计行业的现状和发展前景
  • 亚马逊部分退款计划:卖家降本增效新策略
  • 外包公司企业网站学习做网站难吗
  • 分布式环境下的一致性与幂等性
  • 【OpenCV + VS】 使用 OpenCV 实现实时人脸检测
  • 聊城手机网站建设电话达内网站开发视频教程
  • MySQL JOIN 机制与多表查询优化:驱动表选择、连接算法与执行计划解析
  • AI代码开发宝库系列:特征工程
  • WordPress全站广告巩义市建设局网站
  • 信誉好的顺德网站建设如何用百度平台营销
  • Apache Cloudberry 孵化报告(202508-202510)
  • 【2025 JAVA面试题】 常见几个具体问题
  • dedecms大气金融企业网站模板八年级信息所用软件做网站
  • C语言编译器手机| 如何选择适合的C语言编译器应用
  • Java 并发踩坑:高并发库存扣减丢失更新,从悲观锁到分布式锁的终极方案
  • 杭州建设网站职称人才工作专题wordpress 插件手机
  • lancedb create_scalar_index 创建索引
  • Python 网络编程
  • Java后端常用技术选型 |(四)微服务篇
  • Vue3 + Vite项目=》babel转义兼容低版本实现+vite 分包处理方案
  • 【GIS入门】GeoTIFF栅格地理数据格式介绍和基础概念详解
  • 网站开发与设计模板百度seo网站排名
  • 校园网站建设总结flash网站系统
  • openlayer省市县json
  • 计算机视觉11-相机模型与多视几何
  • 网站开发公司 经营范围eclipse做网站表格