第六章双目立体视觉x
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
26
2) SUSAN边缘检测
边缘方向的确定
根据非零强度的象素确定边缘的方向 点C落在两个边缘的中间 USAN是沿边缘方向的细条,找最长的对称轴 USAN
Section of image A A B B C
C
Position of edge
27
2 ) SUSAN边缘检测
特点 • 有噪声时的性能较好
e(λ − Z ) 2 eZ 2 ≈ ∆Z = λ B + e ( λ − Z ) λ B + eZ
9
6.2.1 双目横向模式
2. 角度扫描成象
象素是按镜头的方位角和仰角均匀分布的
X tan θ 1 = Z
tan θ 2 =
B+ X Z
可借助镜头的方位角 来表示物象的空间距离
Z= B tan θ 1 − tan θ 2
向量H反映出视线向量V的变化
18
6.4
基于特征的双目立体匹配
基于区域方法的缺点是依赖于图象灰 度的统计特性,所以对景物表面结构以及光 照反射等较为敏感
6.4.1 基本方法 6.4.2 动态规划匹配
19
6.4.1 基本方法
典型方法的主要步骤 (1) 用边缘检测寻找物体的轮廓线,并在轮 廓线上确定特征点 (2) 利用立体匹配方法匹配各特征点 (3) 对匹配点求视差,获取匹配点的深度 (4) 利用获得的匹配点进行深度插值,以进 一步得到其它各点的深度
第6 章
双目立体视觉
6.1 双目立体视觉原理 6.2 双目成象和视差 6.3 基于区域的双目立体匹配 6.4 基于特征的双目立体匹配 6.5 视差图误差检测与校正
1
6.1
双目立体视觉原理
立体视觉主要研究如何借助(多图象) 成象技术从(多幅)图象里获取场景中物体 的距离(深度)信息
2
6.1 双目立体视觉原理
6
6.2.1 双目横向模式
• 摄象机坐标系 统和世界坐标系 统重合 • 象平面与世界 坐标系统的XY平 面也是平行 • 两个镜头中心 间的连线称为系 统的基线B
7
6.2.1 双目横向模式
1. 视差和深度
−X = B− X = x1
λ
(Z − λ ) (Z − λ )
− ( x2 + B )
λ
λB = B + x1 + x2 λ−Z
12
6.3
基于区域的双目立体匹配
直接用单点灰度搜索会受到图象中许多点会 有相同灰度、图象噪声等因素影响而不实用
6.3.1 模板匹配 6.3.2 双目立体匹配
13
6.3.1 模板匹配
相关函数
c ( s , t ) = ∑∑ f ( x, y ) w( x − s , y − t )
x y
对f (x, y)和w(x, y) 幅度值的变化比较敏感
相关系数
γ ( s, t ) =
∑ ∑ [ f ( x, y ) − f ( x, y )][w( x − s, y − t ) − w ]
x y
f ( x, y ) − f ( x, y ) ∑ ∑ [w( x − s, y − t ) − w ] ∑ ∑ x y x y
2 2
6.2.3 双目纵向模式
两个摄象机是沿光轴线依次排列
X Z −λ = − x1 λ X Z − λ − ∆Z = − x2 λ ∆Z x1 x2 X= λ x1 − x2 Z =λ+ ∆Zx2 x2 − x1
wk.baidu.com
• •
基本排除由于遮挡造成的3-D空间点仅被一个 摄象机看到的问题 公共视场的边界很容易确定
4
6.1 双目立体视觉原理
六个模块 ⇔ 六项工作
6. 后处理
3-D信息常不完整或存在一定的误差
(1) 深度插值 只能恢复出图象中特征点处的视差值 (2) 误差校正(见后) (3) 精度改善 象素级视差到亚象素级的视差
5
6.2
双目成象和视差
获得同一场景的两幅视点不同的图象
6.2.1 双目横向模式 6.2.2 双目横向会聚模式 6.2.3 双目纵向模式
几何阈值G = 3Smax/4,其中Smax是S所能取的最大值
25
2) SUSAN边缘检测
边缘方向的确定
根据非零强度的象素确定边缘的方向 点A和B都是标准的边缘点,各落在边缘的一边 从USAN重心到模板核的矢量与边缘局部方向垂直 USAN
Section of image A A B B C
C
Position of edge
30
2 Harris角点检测算法的步骤: 角点检测算法的步骤: 角点检测算法的步骤
• 2.)为每一个点计算局部自相关矩阵 ) • u(x,y) = [Ix(x,y)^2*W Iy(x,y)Ix(x,y)*W;Ix(x,y)Iy(x,y)*W Iy(x,y)^2*W]; • 这里 代表以 为中心与高斯模板 做卷 这里*W代表以 为中心与高斯模板W做卷 代表以x,y为中心与高斯模板 积,而这个模板的大小则需要你自己指定。 而这个模板的大小则需要你自己指定。
32
2 Harris角点检测算法的步骤: 角点检测算法的步骤: 角点检测算法的步骤
• 4.)这个corness就代表了角点值,其中 )这个 就代表了角点值, 就代表了角点值 其中k 是你自己取的一个固定的变量, 是你自己取的一个固定的变量,典型的为 [0.04,0.06]之间。当然在求取了每个点的 之间。 之间 corness以后,最好再做一个极大值抑制, 以后, 以后 最好再做一个极大值抑制, 这样的效果比直接设置一个阀值要好。 这样的效果比直接设置一个阀值要好。
t
-27 0 27
24
2 ) SUSAN边缘检测
检测对模板中的每个象素进行 得到输出的游程和(running total)
S ( x0 , y 0 ) =
( x , y )∈N ( x , y )
∑ C ( x 0 , y 0 ; x, y )
S ( x0 , y 0 ) < G
边缘响应
G − S ( x0 , y0 ) R( x 0 , y 0 ) = 0 如果 否则
[
]
12
14
6.3.2 双目立体匹配
1. 极线约束
C‘和C“之间的连线 称光心线,光心线 与左右象平面的交 点E’和E”分别称为 左右象平面的极点 光心线与物点W在同一个平面中,这个平面称为极 平面,极平面与左右象平面的交线L'和L"分别称为 物点W在左右象平面上投影点的极线
15
6.3.2 双目立体匹配
23
•
2 ) SUSAN边缘检测
SUSAN:最小(Smallest) 核同值区
检测模板:37个象素, 半径为3.4象素
1 如果 C( x0 , y0 ; x, y) = 0 如果
c
f ( x0 , y0 ) − f ( x, y) ≤ T f ( x0 , y0 ) − f ( x, y) > T
• • • 不需要计算微分 对面积计算中的各个值求和(积分) 非线性响应特点 控制参数的选择简单 参数的任意性较小
28
•
易自动化实现
• •
2
Harris角点检测 角点检测
• Harris角点检测算子是 角点检测算子是Moravec角点检测 角点检测算子是 角点检测 算子的改进. 算子的改进 • Harris算子用高斯函数代替二值窗口函数 算子用高斯函数代替二值窗口函数, 算子用高斯函数代替二值窗口函数 对离中心点越近的像素赋于越大的权重, 对离中心点越近的像素赋于越大的权重, 以减少噪声影响。 以减少噪声影响。 • Moravec算子只考虑了每隔 度方向, 算子只考虑了每隔45度方向, 算子只考虑了每隔 度方向 Harris算子用 算子用Taylor展开去近似任意方向。 展开去近似任意方向。 算子用 展开去近似任意方向
2. 匹配影响因素
(1) 由于景物自身形状或景物互相遮挡的原因, 用左图象确定的某些模板不一定能在右图象中找 到完全匹配的位置。此时常需根据其他匹配位置 的匹配结果来插值这些无法匹配点的数据 (2) 不同模板图象应有不同模式。但在平滑区域 得到的模板图象具有相同或相近的模式,使匹配 有不确定性,并导致产生误匹配。此时可需要将 一些随机的纹理投影到这些表面上以将平滑区域 转化为纹理区域 16
20
6.4.1 基本方法
• 特征点提取:平移、旋转、缩放、仿射不变性 平移、旋转、缩放、 1.SUSAN角点提取; 2.harris角点提取; 3.SIFT尺度不变特征提取
21
1
SUSAN边缘检测 边缘检测
原理
USAN: Univalue Segment Assimilating Nucleus
核同值区:相对于模板的核,模板中有一定 的区域与它有相同的灰度
22
1) USAN原理
• • USAN的面积携带了关于图象中核象素处结 构的主要信息 当核象素处在图象中的灰度一致区域, USAN的面积会达到最大。该面积当 核处在直边缘处约为最大值的一半, 而当核处在角点处则为最大值的1/4 使用USAN面积作为特征起到了增强边缘和 角点的效果
六个模块 ⇔ 六项工作
1. 摄象机标定 2. 图象获取 3. 特征提取 立体视觉借助不同观察点对同一景物间的视 差来帮助求取3-D信息(特别是深度信息)。所以 需要判定同一景物在不同图象中的对应关系 选择合适的图象特征以进行多图象间的匹配
3
6.1
双目立体视觉原理
六个模块 ⇔ 六项工作
4. 立体匹配 根据对所选特征的计算来建立特征间的对应关 系,从而建立同一个空间点在不同图象中的象点 之间的关系,并由此得到相应的视差图象 5. 3-D信息恢复 信息恢复 根据得到的视差图象,可以进一步计算深度图 象,并恢复场景中的3-D信息
6.3.2 双目立体匹配
3. 光学特性计算
利用灰度信息进一步计算物体表面的光学特性 N为表面面元法线方向的单位向量 S为点光源方向的单位向量 V为观察者视线方向的单位向量 反射亮度I(x, y)为合成反射率ρ (x, y)和合成反射量 R[N(x, y)]的乘积
I ( x, y ) = ρ ( x, y ) R [ N ( x, y )]
10
6.2.2 双目横向会聚模式
两个单目系统绕各自中心相向旋转
Z= B cosθ + λ cos θ 2 sin θ
x1
λ
=
=
X cosθ r − X sin θ
X cos θ r + X sin θ
B 2 sin θ
x2
λ
r=
Z=
B cosθ 2 x1 x2 sin θ + d 2 sin θ
11
17
6.3.2 双目立体匹配
3. 光学特性计算
I ( x, y ) = ρ ( x, y ) R [ N ( x, y )]
R [ N ( x , y )] = (1 − α ) N • S + α ( N • H ) k
第一项散射效应,第二项镜面反射效应 H为镜面反射角方向的单位向量
H = (S + V ) 2[1 + ( S • V )]
29
2 Harris角点检测算法的步骤: 角点检测算法的步骤: 角点检测算法的步骤
• 1.)计算图像的方向导数,分别保存为两个 )计算图像的方向导数, 数组Ix以及 以及Iy,这里可以使用任何方法, 数组 以及 ,这里可以使用任何方法,比 较正统的是使用Gaussian函数,因为在 函数, 较正统的是使用 函数 Harris角点检测的推导过程中默认是采用了 角点检测的推导过程中默认是采用了 Gaussian函数作为其计算图像偏导数的方 函数作为其计算图像偏导数的方 当然使用简单的Prewitt或者 或者Sobel算 法。当然使用简单的 或者 算 子也没有关系。 子也没有关系。
B Z = λ 1 − D
8
6.2.1 双目横向模式
1. 视差和深度
• 3-D空间点在两个摄象机的公共视场 (视角不同,被摄物的形状,摄影环境)
• 测距精度
x1e = x1 + e,d1e = x1 + e + x2 + B = d + e
B ∆Z = Z1e − Z = λ 1 − d 1e B λB e − λ 1 − = d d ( d + e)
31
2 Harris角点检测算法的步骤: 角点检测算法的步骤: 角点检测算法的步骤
• 3.)如果这个u的两个特征值都很小,则说 )如果这个 的两个特征值都很小 的两个特征值都很小, 明这个区域是个平坦区域。如果u的某个特 明这个区域是个平坦区域。如果 的某个特 征值一个大一个小,则是线, 征值一个大一个小,则是线,如果两个都 很大,那么就说明这是个角点。 很大,那么就说明这是个角点。Harris提供 提供 了另一个公式来获取这个点是否是角点的 一个评价: 一个评价: corness = det(u) - k*trace(u)^2;