自动化测试技术
计 算 机 测 量 与控 制
.2013.21(7)
Computer Measurement & Control
文章编号:1671-4598(2013)07-1775-04
中图分类号:TP391.4
文献标识码:A
·1775 ·
机器人双目立体视觉测距技术研究与实现
中国石油大学
(
张 蓬,王金磊,赵 弘
,
机械与储运工程学院
北京
(
)
北京
102249)
摘要:
,
机器人视觉是一种重要的机器人传感技术
并运用
对所设计的系统加以实现
进行了物体特征识别和目标物体测距的算法实现
统的方法
算法程序
相同检测距离不同焦距时得到的检测精度会有一些偏差
都有所提高
Labview
对提高系统的检测精度具有实际意义
移动机器人
图像识别
测距
双目立体视觉
;
,
;
,
。
,
关键词:
;
;
;
主要应用于机器人定位和检测 之 中
完成了图像的采集
预处理和 边 缘 检 测
文 章 阐 述 了 构 建 机 器 人 双 目 立 体 视 觉 测距 系
;
通 过 在
;
滤波算 法 和 外 围 光 源 都 会 对 测 量 结 果 会 产 生 较 大 影 响
可增加 图 像 识 别 的 精 度
C
在
进 而 使 特 征 点 匹 配 和 检 测 的 精 度
Labview
;
C
中 的
语 言 接 口 调 用
,
、
实验表明焦距
并且加入低通滤波
;
、
,
Research and Implementation of Robotic Binocular Visual Distance
Measuring Technology
Zhang Peng,Wang Jinlei,Zhao Hong
(China University of Petroleum,Beijing 102249,China)
Abstract:Robot vision is an important part of the robot sensing technology,mainly used in robot localization and detection .This paper
describes a method to build a robot binocular stereo visual distance measurement,and uses Labview tool to design and implement a system.
The system has functions of the image acquisition ,pre-processing and image edge detection.By using C language interface in Labview,C
algorithm can be used for object features identify and target objects ranging.Experiments show that the focal length,the filter algorithm and
peripheral light source have a greater impact on the measurement results.Detection accuracy in the same detection distance and different focal
lengths has a few of deviation.And adding a low-pass filter can increase the accuracy of identification of the image.Then feature points
matching and detection accuracy have improved.It has practical significance to improve the detection accuracy of the system.
Key words:mobile robots;distance measuring;binocular stereo vision
0
引言
机器人视觉又称为计算机视觉
,
,
。
、
,
,
、
)
(
,
颜色
里程计
如 摄 像 头
光电编码器等
安放姿态和运动等信息
获取周围场景的图像信息
机 器 人 借 助 各 种 传 感 装 置
、
并通过对客观世界的描述
经过机器人智能运算完成需要完成的任务 [1]。
是一门研究通过图像数 据
声
观察世界 的 学 科
,
纳
以 感
,
知和恢复周围的三维环境中的物体的几何形态
相对 位
感 知
置
,
机器 人
和解释
的双目立体视觉技术是基于模仿人眼与人类视觉的立体感知过
以 获 取 不 同 视 角 下的 感 知 图
程
像
以获取 景
物的三维信息
地
避 障
图构建和测距等方面得到了应用
。
双目立体视觉的系统组成
双目立体视觉是对同一目标的两幅图像提取
从两个视 点 观 察 同 一 景 物
通过三角测量原理计算图像像素间的位置偏差
双目视觉技术在机器人的定位导航
,
、
、
,
。
,
,
1
识别
匹 配
双目视觉系统通常由图 像
。
立体匹配和深度图生成 等 五
、
、
重建三维环境信息的过程
图像预处理
、
、
和解释
采集
大部分组成
、
,
摄像机定标
。
,
,
,
、X
超声
图像采集即通过光学镜头或红外
射线等对周围场
得到关于场景和物体的二维或三维数字
空间点的三维几何位置与其在图像中对应点之间的相互
而这些几何模型参数就
图像预处
边缘检测
边界以及色彩等
立体匹配是寻找同一空间景物在不同视
从立体匹配实现的技术
立体匹配可以分为基于区域的匹配和基于特征的匹配
景和物体进行探测成像
图像[2]。
关系是由摄像机成像的几何模型决定的
是摄像机参数
理是对原始图像进行处理
等
关于成像的基本特征[4]。
点下投影图像中像素间的一一对应关系
上考虑
深度图生成即是深度信息的可视化过程
求解这些参数的过程为摄像机定标 [3]。
、
以便从图像中抽取诸如焦点
例如图像滤波
图像增强
、
线条
边缘
,
,
,
,
,
,
,
,
。
。
2
双目立体视觉测距算法
双目立体视觉三维测量是通过计算空间点在两幅图像中的
在 世 界 坐 标 系
假设两个相同的平行放置的摄像机
摄
视差来获取景 物 的 三 维 坐 标 值
下的坐为
镜头光心距离为
像机坐标系的原点
摄像焦距 为
f,
与左摄像机 光 心
(X,Y,Z,1),
成 像 模 型 如 图
设 空 间 一 点
所 示
与
B,
P
。
1
,
为两成像平面
y
,
以立体空间的一个投影面为例
,
O
因水平轴同线
所以
O1
Y
,x1—y
重 合
轴相同 [5]。
x2—
,
若左右摄像头成像点坐 标
所示 [6]。
2
收稿日期:2012-11-25;
基金项目:
修回日期:2013-01-23。
油气管道受阻瞬态流时空演化规律及智能控 制 方 法 研 究
分别为
那么该点成像平面如图
(x1,y),(x2,y),
为
可知在深度
通过图
2
d
:
(50905186)。
女
张
作者简介:
机器人控制技术方向的研究
,
(1963-),
蓬
工程
北 京 人
,
副 教 授
,
主 要 从 事 机 械 电 子
,
d=
Bf
。
据此原理
,
则可推导出
3
x2 -x1
个投影面坐标
(1)
:
·1776 ·
计算机测量与控制
第
21
卷
确定图像的格式
要通过
,
边缘尺寸等参数信息
控件对采集的摄像头进行初始化
。
在 进 行 图 像 采 集 时 需
用
grab conguifre grab
snap
控件在读 取 图 像 数 据 时 通 过 控 件 上 的
两个节点进行数据传送
并通过
out
图像采集
过
对于
。
image display
。
中采集到的图像在
while
NI-image
控 件 进 行 图 像 显 示
通 过
。
控件对采集得到的图像数据进行清空
session in
session
循环模块进行连续的
中主要通
模 块 中 的
IMAQdx
完成一次图像的采
labview
。
和
close
集过程
完成图像采集的程序图如图
。
3
,
所示
。
(2)
(3)
图
3
用
NI-IMAQ
模块完成图像采集的程序
通过
2)
在
Vision assistant
控件完成图像采集
中运用
Labview
可
选取单一的控件并通过对任务进行相应的设置完成不同的 图 像
采集和处理的功能
不
需要一个个的选取不同的控件
并且可以运用一个空 间 完 成 多 个 任 务
所示
其图像采集程序如图
Vision assistant
NI-image
插件
中的
,
,
,
。
4
。
图
1
双目成像原理
图
2
成像平面图
X =
x1 -x2
Y =
x1 -x2
B
B
x1
y
f
u-v
B
在
,O
Z=
u-v
x1 -x2
以像素为单位
(4)
坐标 系 中 的 坐
一般将某 一 摄 像 头 中 轴 线 与 物 体 所 在 平 面
像素坐 标 系 下 的
轴 分 别 平 行 于 图 像 坐
点 左 摄 像 头 拍 摄 图 像 中 的
点 右 摄 像 头 拍 摄 图 像 中 的 像 素 坐
方
X
图像坐标系与像素坐标系之间存在如下变 换
方 向 上 的 像 素 间 隔
为 图 像 在
, (u1,v1)
,dy
u,v
为
为
Y
P
P
,(u2,v2)
若像素坐标
X,Y
O (u0,v0),
,
轴
标为
的交点设为原点
标系下的
像素坐标值
标值
向上的像素间隔
关系 [7]:
为图像在
;dx
。
将公式
点坐标的表达式
(5)
带入到公式
0 0 1
燀
燅
(2) ~ (4),
下
P
可得到像 素 坐 标 系
:
3.2
熿
1
dx
0 u0
燄
0
1
dy
v0
x
熿
燄
y
燅1
燀
u
熿
燄
v
燅1
燀
=
X =
u1 -u0
u1 -u2
B
Y =
(v1 -v0)dy
(u1 -u2)dx
B
f
Z=
(u1 -u2)dx
B
(5)
(6)
(7)
(8)
预处 理
个功 能
、
4
3
双目立体视觉测距系统的设计与实现
本文设计的双目立体视觉测距系统包含图像采集
摄像机标定及目标物体测距算法实现等
与特征识别
模块
、
。
图像采集
图像采集采 用 普 通
3.1
最大帧频
640×480,
方法获得图像
利用
。
USB
30FPS。
摄 像 头
运用
,
像 素 为
万
分 辨 率
可以通过 以 下 两 个
500
,
Labview
NI—IMAQ
1)
运用视觉与运动模块
模块完成图像采集
中的
取的摄像头中采集图像
中的控件
IMAQ Creat
NI-IMAQdx
首先在
,
创建图像任务
Labview
snap
控件可以从选
模块
在创建图像任务的同时要
NI-image
中通过
。
图
4
运用
Vision Acquisition
控件完成图像采集
图像预处理和特征识别
图像的存储与缩放
1)
为了方便对 图 像 的 调 用 需 要对 图 像 进 行 储 存
IMAQ Write File
,
其中通过
包含着多种图片的存储方式
可以将采集到的图片储存到指定的路径下
为
等 图 片 格 式
进行处理时
控件进行图片的读取
过
BMP、JEPG、PNG、TIFF
同样需要建立 图 片 缓 存
,
,
。
操作时为了避免原 图 像 被 覆 盖
控件对原图像进行复制后再做后续处理
并 通 过
,
。
,
。
IMAQ copy
。Labview
中
控件便
图片可 以 选 择 保 存
对 读 取 保 存 的 图 片
IMAQ Read File
可 以 通
示控件中显示出来
过的
通过摄像头采集得到的图像可能由于过大或过小不易在显
通
在
轴 上 的 缩 放 比
其图像 存
从而需要对图像进行相应的比例缩放
控 件 可 对 读 取 的 图 像 进 行 缩 放 操 作
便可完成对图片相应比例的缩放
控件的输入端对图像在
IMAQ Extract
轴和
X
Y
,
。
。
。
IMAQ Extract
例因子进行设置
储与缩放的程序如图
图像预处理
,
所示
。
5
2)
在得到合适 大 小 的 图 片 后 还 需 要 对 图 像 进 行 一 定 的预 处
可
以便对图像进行进一步的处理和计算
,
角 点 检 测
理
以对图像的像素点 进 行 改 变 灰 度
图 像 边 缘 检 测
Labview
在
中
,
。
、
、
、
第
7
期
张
蓬
等
:
,
机器人双目立体视觉测距技术研究与实现
·1777 ·
的效果而定
。
在边界检测的输 出 中 加 入
IMAQ Low pass
控 件 对 输 出 的
其作用是如果图像内灰度值的变化大于 一
从而使边 界
将变化过大的灰度值置取为灰度平均值
。
使检测结果更加准确稳定
。
,
图像进行低通滤波
定范围
图像灰度值分布更均匀
,
图像特征的识别
,
3)
完成图像的采集和预处理之后
测图像可以较简便的完成物体特征的识别
距时需要选取一特征点
取以下 几 点 进 行 比 较
检测得到最大像素值与最小像素值的中点
,
中 心 点
:
、
,
利用预处理得到的边界 检
在进行目标物体 测
选
。
并使两摄像头得到的特征点匹配
最 低 点 或 最 高 点
均值点
(
(
)。
。
极 值 点
),
多次测量中采集数据相对 稳
定
,
计算算法较为繁琐
:
中心点
不易出现大太大误差
极值点
较容易进行编程
,
,
匹配精度较高
。
:
,
对于双目视觉两摄像头 采 集 得 到 的 极 值 点 不 一 定 是 相 同 的 点
匹配精度较差
,
,
对于稳定图像波动值较 小
但
均值点
:
。
编程算法最为简单
较大
不利于提高测量精度
,
为保证检测结果的精度和鲁棒性
。
3.3
作为测距的特征点进行编程
目标物体测距算法实现
为了解决用
中的
Labview
过
。
语 言 接 口 调 用
Labview
C
编写算法的难度
且
,
C
Labview
人控制系统之中
。
但是得到结果数值波动范 围
,
选取识别区域的中心 点
,
编写复杂算法较困难的问题
本文 通
这 样 可 以 减 少
语言程序也较 容 易 移 植 到 机 器
算 法 程 序
,
C
。
将得到的图像导 入
语 言 环 境
C
,
首 先 需 要 把 图 片 的 数 据
中读取图
,
,
\
\
,
,
Labview
图像与声音中
可以通过选取
在
编程目录
Labview
平化像素图控件
语言中可识别处理的多维数组
并输入到其他控件或脚本中进行输出和操作编程
转化成
C
片信息后
\
图片格式模块下
将图片数据转换成二维 数
组格式
也
可以通过簇
类与变换模块中的解除捆绑控件将图片信息转 换
成图片类型
图像大小
颜色等方面的数据用 于 编
程
通过图片函数子模块中的绘制还 原
像素图控件
便可将处 理 过 的 二 维 数 族 还 原 成 图 片 显 示 出 来
,
从而可以和原图像对比以检验图像处理的效果以及编写的算法
是否完成了希望完成的任务
、
而在完成图像处理后
图像数值
。
、
、
、
。
,
,
在
调用
语言进行编程可通过以下
Labview
通过库函数节点
过代码接口节点
节点直接进行编程
进行
C
CLFN (Call Library Function Node)
CIN (Code Interface Nodes)
;
3
种方法完成
:
调用
通
通 过 脚 本
种方法即通过 公 式 节 点 控 件
其程序如图
调用
所示
;
8
。
3
,
本文采用第
语言程序段的编写与调用
。
。
C
Differentiation、Gradient、Prewitt、Ro-
具体使用那种算子 宜 居 环 境 和 需 要 得 到
3.4
摄像头标定
完成对目标物体的测距
需要得到算法中提到的几个基 本
,
图
图像导入及识别程序
8
图
5
图像的读取与缩放
滤波等方法的 操 作
以 获 得 图 像 的 特征 信 息
,
可 以 利 用
。
Lab-
view
中 的
两个控件得到图片的边界检测图像
IMAQ Edge Detection
和
tion
缘图像检测的程序如图
所示
。
6
IMAQ Canny Edge Detec-
其 对 双 目 图 像 进 行 边
。
图
6
双目图像边缘图像检测程序
边界检测图像直接决定了物体特征识别的检测质量
,
体特征识别的好坏确定了双目中测量点能否取得相同的点
而影响测距的精度
较为明显的影响
佳的检测效果进行了实验对比
而 物
进
因此边界图像检测的质量对测距的结果 有
,
下面对如何使用两个边界检测控件以获得 最
实验结果如图
所示
,
。
,
8
。
图
7
用不同检测控件得到的图像边界检测效果
通过上组图片的比 较 可 以 得 出
的 检 测 方 法 可 以 得 到
(d)
最优化的 检 测 图 像
得 到 的 图 像 边 界 最 为 清 晰
对 于
,
控件可 在
IMAQ
节 点 中 设 置 其 进 行 边 界 检 测
。
Method
Edge Detection
的 算 子
算 子 包 括
,
berts、Sigma、Sobel,
·1778 ·
计算机测量与控制
第
21
卷
参数 的 具 体 值
焦距
间隔
,
即
双目间距
x
方 向 上 的 像 素 间 隔
方 向 上 的 像 素
dx,y
,
,
,
。
,
,
f
B。
dx、dy,
dy,
在测距计算过程 中 首 先 要 求 得 像 素 间 隔
即 在 实 际 设 置 的 分 辨 率 下
参 与 计
但实际工作 中
算的应是摄像头实际工作分辨率下的像素间隔
并非一定为摄像头 参
的分辨率可通过对图片进行缩放来改变
数中所给出的数值
因此摄像头感光芯片上每个感光单元间 的
在运算中应使用感光 单
物理距离并不能直接运用到计算之中
元的逻辑间 距
摄 像 头 获 取 图 像
感光芯片为图像提供有效像素点的两个虚拟感光单元之 间
时
的 摄 像 头 在 拍 摄
的距离进行计算
像素值为
感 光 芯 片 上 每 两 个 感 光 单 元 构
320×240
那么虚拟感光单元间的中心间距就是 为
成一个虚拟感光单元
感光单元间物 理 距 离 的 两 倍
此 距 离 即 为 感 光 单 元 的 逻 辑 间
距
通过这个参 数
并结合自行设置的图像分辨率及屏幕比例就可以计算出感光单
元的逻辑间距
标
定中采集图像分辨率为
640×480,
计算得到感光单元间的物理距离为
通过摄像头说明书可得到感光芯片的尺寸
本文选取摄像头感光芯片尺寸为
从而图像传感器 比 例
例如正常 像 素 是
的图像 时
640×480
英 寸
1/4
,
,
,
,
,
。
。
,
。
0.0079875mm。
3:2,
4
实验结果分析
系统的整体构建后
测精度等系统特性
,
,
需要通过实验确定系统的稳定性
使系统在使用中可以获得较好的效果
检
,
。
4.1
焦距对检测精度的影响
摄像头的焦距表示摄像头成像面距离
了不同距离上摄像头成像的清晰度
影响关系
。
图
,
9
焦距的大小也决 定
,
为焦距对检测精度 的
图
9
焦距对检测精度的影响趋势
从实验中可以发现焦距对测量结果会产生较大影响
在 相
。
在成 像
而当成像模糊 的
无 论
。
同检测距离不同焦距时得到的检测精度会有很大偏差
清晰的焦距上检测的结果的精确度会比较高
时候检测的误差也就会增大
变远还是变近
当离开成像清晰的位置时
精度都会随之降低
滤波算法对检测结果的影响
在程序中加入滤波是为了使得到的图像中的灰度值变 化 更
从而可以减少检测中出现的像素点缺失等因素的影响
,
,
,
。
,
4.2
反映了在程序中是否加入低通滤波对检测结果的影响
。
。
表
滤波算法对检测精度的影响
实际距离
(mm)
2
左摄像头
中心点坐
像素
标
(
)
右摄像头
中心点坐
像素
标
(
)
检测距离
平均偏差
最大偏差
(mm)
(mm)
(mm)
,
加平稳
表
2
检测项目
焦距
25(mm)
未加低
通滤波
加入低
通滤波
900 196.70 108.17 892.6 12.5
25
900 197.41 108.58 888.9 22.6
40
通过实验数据可以观察到
引入低通滤波对检测精度有 较
,
,
大提升
,
此外
减少了检测中出现的因为图像缺失等引起的问题
图像识别的范围等
视觉采集与识别的算法中也会造成一些误差
。
例 如
而双目特征点匹配的精 度
图像识别中像素点的缺失会造成匹 配
加入低通滤波和 程
进 而
特征点的匹配
是需要解决的最大难点
的不准确
序中对数组进一步二值化都是为了增加图像识别的精度
使特征点匹配和检测的精度都有所提高
所以边界检测空间的叠加使用
,
,
。
,
,
、
,
。
4.3
外围光源对检测结果的影响
外界环境对摄像头采集到的画面亮度和对比度等会产生影
给出的是 在 检
从而也会对检测得到的结果造成影响
从而对检测结果是否产生 影
表
。
3
,
响
测时在摄像头附近是否加入光源
响的数据
从表
中可以看出
,
,
光强对检测的结果会产生影响
当 图
光强会使图像清晰度提高从而提 高
光源的位置和背景颜色等因素都 会
,
,
3
,
像成像效果较差的情况下
检测精度
除了光强之外
对采集的效果产生影响
。
,
造成误差
,
光强对检测结果的影响
。
表
3
检测距离
平均偏差
最大偏差
(mm)
(mm)
检测项目
焦距
实际距离
(mm)
左摄像头
中心点坐
标
像素
(
)
右摄像头
中心点坐
标
像素
(
)
22mm
未开启摄
像头处灯 700 211.56 118.33 696.6 6.57
开启摄像
头处灯
未开启摄
像头处灯 1000 216.82 140.92 1025.9 25.9
开启摄像
头处灯
1000 205.25 128.24 1009.4 9.39
700 217.85 124.75 695.5 7.63
(mm)
19
23
50
20
5
结论
本文运用
Labview
并对所设计的系统进行了测试
,
系统
因和误差变化趋势进行了分析
业检测摄像头
测结果的精确范围较小
测的精度
机器人的视觉检测
器人的智能化具有实际的意义
、
,
。
。
。
。
开发环境设计实现了一个双目视觉测 距
对实验中产生误差的 原
由于本文使用的摄像头为非 专
使得 检
可进一步提高 检
可用于移动速度较慢 的
对增强 机
提高摄像头的精度
定位和对特征物体识别等方面
,
,
,
导致系统中多处系数未能得到精确值
此机器人视觉系统的设计
,
。
参考文献:
[1]Wesley E.Snyder Hairong Qi
机 器 视 觉 教 程
[M].
北 京
:
机 械 工
,2005.
智能机器人
马颂德 等
.
业出版社
肖南峰
邱茂林
学报
张学成
杨敏华
算机测量与控制
.
.
.
[2]
[3]
[4]
,2000,26 (1):43-55.
广州
华南理工大学出版社
[M].
计 算 机 视 觉 中 摄 像 机 定 标 综 述
:
,2008.
自 动 化
[J],
灰度矩边缘精确定位法的测量应用探讨
.
,2006,14 (11):1446-1448.
计
[J],
[5]LI H G.A new binocular stereo visual serving model [A].IEEE
Pacific2asia Workshop Computational Intelligence Proceedings [C].
Wuhan,2008:461-465.
章毓晋
下册
徐
德
图像工程
室内移动式服务机器人
清华大学出版社
北京
科学出版社
,2000.
.[M].
北京
.
:
:
[M].
:
,2008.
[6]
[7]
.