【双目视觉|zynq FPGA 的双目视觉毕业设计(六)之硕士论文学习总结】
zynq FPGA 的双目视觉毕业设计(六)之硕士论文学习总结
-
- 简述
- 正文
-
- 1)立体匹配算法的基本结构
- 2)半全局立体匹配算法的硬件实现
-
- (1)Census 变换
- (2)路径聚合
- (3)左右一致性校验
- (4)中值滤波
- (5)最后他的效果
- 总结
-
- 欢迎关注我的公众号:芯王国,有更多的FPGA&数字IC的技术分享,还可以获取开源FPGA项目!
简述 毕业设计做极线矫正做得差不多了,才开始总结论文,这是因为硕士论文没有详细论述这部分,基本靠看其他博客完成,当然也看了几篇关于图像畸变矫正的,但是由于大佬总结得太好了,我就没必要在花时间总结了。由于zynq板卡不小心弄坏了,在售后,没法继续做算法得移植,所以我现在继续做双目图像立体匹配算法的研究。今天总结下硕士论文。
正文 1)立体匹配算法的基本结构
说明:这里输入的是极线矫正完的图像。
匹配代价计算:衡量待匹配像素与候选像素之间的相关性。两个像素无论是否为同名点,都可以通过匹配代价函数计算匹配代价,代价越小则说明相关性越大,是同名点的概率也越大。
- 代价计算的函数有:代价灰度差的绝对值和(SAD)、灰度差的平方和(SSD)、归一化互相(NCC)以及 Census 变换等;
- 论文选用的函数:非参数图像变换(Census)。
- 几种聚合窗口:多窗口(Multiple Windows)、自适应窗口(Adaptive Windows)以及自适
应权重的窗口方法(Adaptive Support Windows)等。
视差优化:对上一步得到的视差图进行进一步优化,改善视差图的质量,包括剔除错误视差、适当平滑以及子像素精度优化等步骤,一般采用左右一致性检查(Left-Right Check)算法剔除因为遮挡和噪声而导致的错误视差;采用剔除小连通区域算法来剔除孤立异常点;采用中值滤波(Median Filter)、双边滤波(Bilateral Filter)等平滑算法对视差图进行平滑
文章图片
2)半全局立体匹配算法的硬件实现
算法主要包含相似度算子选择、代价计算、代价聚合、视差选择、左右校验以及中值滤波等六部分
文章图片
(1)Census 变换 基本原理如下图,将中心的像素值与其周围的像素值进行比较,大于的为0,小于为1,得到矢量。然后将左右图像的矢量进行异或得到汉明距离。得到汉明距离中1的数量最少说明这个两个像素相似度越高,是一对像素
文章图片
(2)路径聚合 采用 4 个方向的半全局匹配算法,每个方向得到最小值, 最后将四个方向不同的代价值取平均值。
文章图片
(3)左右一致性校验 同时获取以左为参考图以及以右视图为参考图来获取的 2 个视差图进行校验,这个会浪费很大资源,我的ZYNQ 7020 估计资源不够用,而且降低下难度,所以我舍弃这个步骤,只以右为参考图生成视差图。
文章图片
(4)中值滤波 为了滤除条纹和噪声,采用中值滤波消除异常的视差值。
文章图片
(5)最后他的效果
文章图片
总结 研究这篇论文,这篇论文是众多里写的最好的,很多地方明白了,但是对路径聚合还是有点迷,后面再看看其他资料再修改补充。下一步由于板卡还没到,所以只有使用matlab做双目立体匹配的算法仿真了。
硕士论文链接:基于FPGA的实时双目立体视觉系统的设计与实现 商海洋 哈尔滨工业大学
欢迎关注我的公众号:芯王国,有更多的FPGA&数字IC的技术分享,还可以获取开源FPGA项目!
文章图片
推荐阅读
- 基于FPGA的双目测距工程
- 毕业设计|SpringBoot+Vue项目旅游信息推荐系统【源码开源】
- 安卓大学生考勤签到app毕业设计
- 基于Redis的分布式链家二手房房源数据爬虫系统 毕业设计
- 基于Python网络爬虫的设计与实现毕业设计
- 毕业设计|安卓毕设项目总结(二)校园订餐app
- java_ssm幼儿园教学网站管理系统vue毕业设计
- Springboot+vue房屋租赁租房系统毕业设计
- JavaWeb项目-疫情环境下校园宿舍管理系统-附源码-毕业设计