自己动手做个BumbleBee XB2双目相机
[复制链接]
窦仁银
电梯直达
1#
发表于 2015-2-17 13:18:54|只看该作者|只看大图
本帖最后由 窦仁银 于 2015-2-17 13:18 编辑
项目名称:Robot Eyes
1. 背景
本人从2012年开始从事计算机视觉相关项目,一直做得是双目视觉相关的内容,包含视觉里程计、立体匹配和三维重建,一直使用的BumbleBee XB2相机(俗称大黄蜂)。使用大黄蜂有一个最大的好处是无需考虑图像的畸变,立体校准等问题,因为它输出的已经是畸变校准、立体校准后且双目同步后的图像,只需专注于后端视觉算法即可,使得精力能够聚焦。
然而,使用大黄蜂相机有一个最大的问题有两点:
其一、价格昂贵,大黄蜂的价格在万元以上,这个价格对于很多研究者来说还是蛮贵的,当然科研院所除外,一般在科研院所工作和学习的人有机会使用这么昂贵的相机,而对于普通研究者,甚至是兴趣爱好者想转入计算机视觉领域看到这个价格也会望而止步;
其二、接口不够通用,大黄蜂提供的接口为1394火线接口,一般连接PC需使用1394转PCI板卡,这种对于目前看来很蹩脚的设计当然和当初他出现时,没有更好的接口能适应那么高的数据带宽有关。目前USB2.0对于双相机VGA灰度 30帧的速率应该是很轻松的,况且还有USB3.0。
当然也有人说,网上针对不同算法会有对应的数据集,不是也可以。这个当然,网上公开的一些数据集对于某一项研究起步是很重要的。但是一旦算法开发至一定阶段,需要在各种测试环境下测试或是做实时系统时,这就不能满足条件。
近几个月又接触到FPGA相关技术开发,觉得FPGA应用在图像处理上是具有重大意义的,首先,一些复杂的算法动辄需要几GHZ的CPU多个处理核,使得其很难应用在嵌入式领域,功耗也很大,而FPGA本身是通过硬件电路进行运算的,具有完全并发性,再加以时序控制,流水线运算设计能大大加速图像的运算,往往能使得本身很难商业化的复杂算法来进行商业化。其次,目前FPGA的成本及开发难度均在降低,而电路规模却在加大,使得其在图像领域的应用更加广泛。
因此,作为FPGA与计算机视觉相结合的第一步,先将图像传感端跟做好,主要功能包含:实时同步采集双目图像数据,实时输出畸变校正和立体矫正后的图像,并且能输出深度图像(类似微软的Kinect),USB接口、而且成本控制在1000以内,目前估计应该在500元以内。
不知道论坛里的各位坛友们对此有无需求,欢迎提出宝贵意见哈~
最后解释一下为什么项目名称为Robot Eyes?目前机器人技术遇到爆发期,其中机器人视觉是一个很重要的部分,作为机器人视觉的第一步,期待后续能基于Robot Eyes的双目硬件,继续完善机器人视觉的功能。
2. 功能规划
具体如上图所示,使用两个CMOS图像传感芯片加FPGA再加一片USB控制芯片组成核心的硬件系统。
预期设计指标:
基线长度:取在人眼瞳距范围内: 65mm
帧率: VGA 30fps
焦距与视角:未定
三种模式输出
1. 深度图
2. 双目立体图片,灰度图
3. 单一相机图像加深度图
3. 时间规划
原型开发 目前 -- 2015.05.30
PCB制板与改进 2015.06.01 -- 2015.07.30
开发进度会持续更新,欢迎大家关注和支持~
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏2
回复
举报
xinyipcb
2#
发表于 2015-3-6 17:19:09|只看该作者
mark,关注一下。
回复支持 反对
举报
danielwang1983
3#
发表于 2015-3-6 20:07:06|只看该作者
强烈关注,最好能做成USB2.0或者3.0接口的,让大家都可以买来用用!我也是做双目立体视觉的,一般专注在工业和交通方面。有兴趣可以交流交流
回复支持 反对
举报
托卡玛克
4#
发表于 2015-3-7 11:24:36|只看该作者
支持,不知团队建设得如何?可以造成开源的模式,更多人参与,大家出一份力!
回复支持 反对
举报
窦仁银
5#
楼主|发表于 2015-3-10 09:45:10|只看该作者
danielwang1983 发表于 2015-3-6 20:07
强烈关注,最好能做成USB2.0或者3.0接口的,让大家都可以买来用用!我也是做双目立体视觉的,一般专注在工 ...
嗯,目前打算是用USB3.0接口,做成UVC驱动方式,这样上位机方面,就不用编写对应的驱动了。
回复支持 反对
举报
窦仁银
6#
楼主|发表于 2015-3-10 09:46:49|只看该作者
托卡玛克 发表于 2015-3-7 11:24
支持,不知团队建设得如何?可以造成开源的模式,更多人参与,大家出一份力! ...
目前团队就2人,开源可以等前期一些工作之后完成之后~
回复支持 反对
举报
窦仁银
7#
楼主|发表于 2015-3-10 09:52:16|只看该作者
danielwang1983 发表于 2015-3-6 20:07
强烈关注,最好能做成USB2.0或者3.0接口的,让大家都可以买来用用!我也是做双目立体视觉的,一般专注在工 ...
我的QQ号是1032305009,有机会咱们可以交流一下~
回复支持 反对
举报
我爱你的吻123
8#
发表于 2015-3-10 14:43:24|只看该作者
强烈关注,最好能做成USB2.0或者3.0接口的,让大家都可以买来用用!
回复支持 反对
举报
BestJimmy
9#
发表于 2015-4-7 21:03:14|只看该作者
楼主, BumbleBee相机能连接到笔记本上用吗
开发进度更新: 目前已完成图像数据从CMOS图像传感器至FPGA,再在FPGA中进行数据帧格式打包传输给USB控制器,然后USB控制器将图像数据传递给PC,PC端接收数据并解析;
简单而言,目前实现以下功能:
1. 双目相机 640*480分辨率@25fps(ps.本传输架构支持更高帧率的传输,测试过模拟图像1920*1080@60fps,后续可继续优化最大帧率)
2. 两路相机进行像素级输出同步
目前硬件还比较粗糙,包括两个CMOS相机模组,一个Altera的FPGA加上一个USB控制器,如下图所示:
两路图像未分离的截图,两路图像融合在一块,以VGA@25fps的速度采集,在USB2.0和3.0上均已验证
两幅图像分开后(与上图对应不是同一个视角):
下一步工作计划:
1. 调整成像质量
2. 加入图像畸变及立体校正功能,使得输出为校正后的双目图像
3. 设计原理图,PCB布线,测试
4. 修改Bug
5. 设计实现立体匹配,深度图像输出的方案
回复支持 反对
custchen
13#
发表于 2015-4-30 10:41:13|只看该作者
楼主您是哪里的,立体匹配用的什么算法?可以一起搞啊,我做个几个方法感觉还不错,BumbleBee的算法也很简单,主要是稳定就好。
回复支持 反对
Dangkie
14#
发表于 2015-4-30 15:07:38|只看该作者
大赞,楼主加油,持续关注中。。。
回复支持 反对
窦仁银
15#
楼主|发表于 2015-5-3 16:12:47|只看该作者
custchen 发表于 2015-4-30 10:41
楼主您是哪里的,立体匹配用的什么算法?可以一起搞啊,我做个几个方法感觉还不错,BumbleBee的算法也很简 ...
北京这边的,这是我QQ:1032305009,可以交流交流
回复支持 反对
huiyanhuishi
16#
发表于 2015-5-9 13:02:21|只看该作者
强烈支持楼主。楼主要把双目匹配的接口留出来啊。
以后可以在FPGA上跑自己的匹配算法了。
回复支持 反对
huiyanhuishi
17#
发表于 2015-5-9 13:02:51|只看该作者
能分享原理图和Verilog吗?
回复支持 反对
astankvai
18#
发表于 2015-5-11 16:01:46|只看该作者
期待楼主成功。
回复支持 反对
momolenghun
19#
发表于 2015-6-5 08:26:18|只看该作者
楼主你好 我现在使用的是Bumblebee XB3 摄像机 ,我用它自己带的程序直接获取的视差图效果很差,这是为什么,难道他自己实现的算法不够好嘛,还有我用它自带的程序获取的校正后的左右两幅图片,然后调用opencv的立体匹配算法,得到的视差图效果也很差,它自己校正的效果不好嘛,还是我操作的问题,望指点一下。