- 本课程为精品课,您可以登录eeworld继续观看:
- 德州仪器 DLP<sup>®</sup> 3D机器视觉技术研讨会 (2)
- 登录
- 课程目录
- 相关资源
- 课程笔记
接下來我们会介绍一下TI开发的DLP 3-D视觉的一个reference 参考设计
TI它有很多很多参考设计现在都放在我们的TI designs这样的网站上面
但是我们机器视觉的参考设计它可能已经有几年了
但它一直都是TI的TOP10 download
就是我们客户下载的次数是排到前十名的
这里给我们TI designs做个广告
过去你可能会在TI网站下载我们的EVM参考设计啊
现在我们把这当中比较好的参考设计
或者评估系统的设计放在我们TI designs里面
所以不光是DLP的产品
其他的产品如果你想去找参考设计
你可以到TI designs的folder下面去找
那它基本上会cover我们的评估系统设计的原理图
原始设计文件 它的BOMs 它的系统的框图
包括原始的设计文件和测试报告
那么通常也都是在某一个产品
或者某一个行业里比较资深的 技术上面比较资深的人
来开发的这样的一套设计的系统
那么它呢 不但cover DLP的产品
DLP应该是在过去两年可能开始往TI designs里面放
我们的一些比较好的参考设计
TI的比如说模拟器件
我们处理器的芯片等等产品
都有相应的参考设计在TI dedigns这个folder下面
那当然它也可以
这些disign也会涵盖各种各样不同的应用
车载啊 消费类啊 或者工业、医疗等等等等
所以不光是DLP 其他TI的产品也可以在TI designs里面找到非常多的信息
尤其对DLP来说呢
这TI designs上面的整个的这一套评估系统的package
是你用来评估或者开发的一个起点吧
在TI的官网上 你怎么找到TI designs的这个folder
那我们这个标的的三维机器视觉的这个TI designs呢
它的名字 比较长的这样的一个名称
你可以搜索 或者是在网页上面游览可以找到相关的信息
其实现在就是想大家能够很快速地找到这个机器视觉的TI designs的相关的文档
和设计文件
那我们希望这一整套的参考设计可以帮助我们的客户
加速利用DLP技术做机器视觉这样开发产品的周期
那么同时呢 如果你购买了TI的评估系统的话
你可以非常快地来评估这样的一个技术
或这样一个系统是不是符合你的要求
对 非常快地可以评估
因为我们整个软件的会包括一个可执行文件
可执行文件就是可以在命令函里面一执行
它就可以做很多事情
那所有的设计文件还有TI designer这个路径都在这个上面
那进到三维机器视觉的TI designs的folder以后
你可以获得这样的信息
你可以直接在你的电脑上安装相关的软件
那所有的硬件和软件的设计文件
包括BOM都在上面
所以在这个page上面你应该能够看得到
把SDK软件包下载下来以后
你可以把它extract 之后会有两个路径
一个路径是可执行文件 一个路径是原始代码
我们刚才有一段是关于TI designs的
我们希望各位都可以很快地在TI的网站上
可以找得到这些文件 也可以下载到这个文件
那这个部分我们会想要介绍一下
使用DLP的技术做三维机器视觉的系统
有哪些指标性需要考量的
那第一个就是我们DLP有很多chipset
刚才我们的同事他有介绍我们有34个芯片
那你要选择哪一个DLP的芯片去做你的三维扫描或者三维建模呢
这个呢主要有两个比较重要的因素
第一个是你要扫描的物体的尺寸
你要扫描戒指还是要扫描人
人也还能扫描一个汽车
这个尺寸
还有呢 就是你要扫描这个物体
你希望它的XYZ的精度 精度是多少
这两个非常重要
因为你要想 这个物理的特性很重要
刚才我们谈到了尺寸谈到了你要扫描的话
这个分辨率是怎么样的
那还有就是你这物体是不是很容易反射光
是那种闪闪发亮那样的表面的
还是它表面很暗的
那么如果你表面很暗也许投影仪需要比较多的光照在它上面
如果你这个表面是很亮那可能你投影机就不要给它推那么大的功率
让光少一点
那这个移动的物体它对速度的要求非常高
这个可以想象的是因为它需要一个非常快的器件
那静态的物体可能这个扫描时间不是一个很重要的feature
可能你选择一个比较慢 就稍微慢一点就OK
那在生物领域或者医疗这个领域呢
往往会需要呢 就是这个non-visible
就是可见光意外的这种波长的光
比如紫外光 或者红外光
那透明的物体 是非常非常困难去做3D扫描的
因为你的光上去了 它就直接穿过去了嘛
那这种物体通常也会需要非可见光的波长
他说那个透明的物体就是可见光就不管用了
但是有一些透明的物体 像刚刚说到的塑料
塑料表面很光滑 但实际上透明的
它可以使用一些IR不断的这种光线来做pattern
当然事情实行的设备的大小
也是你选择标的芯片组的一个考虑的因素
因为小的芯片做得比较便携
大的芯片你做得分辨率比较高
因为小的芯片上面晶体数目就少了嘛
那还就是你的扫描速度的要求
那一般来说 如果你使用二进制的结构的pattern的话
它DLP的部分不会是影响时间和速度的因素
通常都是因为camera
它的这个capture的时间 60帧或30帧的
是一个
但是一些非二进制的pattern
比如说三个相位的这种pattern
它有可能要这个速度是你要考虑的
And then last one is desired accuracy of the point cloud.
And we'll talk a little bit later about accuracy and density.
Because they're not the same.
Match density and point desity and the accuracy of each point are different.
那这是最后你产生的点源每个点它的精确度是怎么样的
每个点的精度是怎么样的
这个也是很重要的
因为在点源上它有两个属性
一个是每个点它的XYZ 这个信息的准确度
还有就是同样的一个点源 它里面有多少个点
这是他所说的density 密度的信息
那这两个信息都是你要考虑的 你的需求是什么
可能你会需要选用不同的DLP芯片组
那这个点源到这个精度和密度通常由很多因素决定的
比如说相机分辨率 投影机的分辨率
相机跟投影机的距离 还有这个焦距
焦距的长短
还有你使用的这个结构 光的pattern是怎么样的
最后都会 可能会影响到你的精度和密度
这个很简单啊 这是扫描出来的XYZ的信息
XY这个精度 或者它的这个点的密度是由哪些因素决定
第一是你的视场的大小
那你视场越大肯定密度就下来了 或者精度就下降了
视场小的话 你的精度就会高
那相机跟投影机的分辨率
也是会影响到最后的这个点point in cloud它的精度
分辨率越高 可能精度就的越高
尤其是摄像机的分辨率分辨率越高表示说你采集的点越多
那采集的点多 你这个点源里面密度可能会更高
但是点多呢 点多呢这个计算量也会更大
Z方向它的精度跟XY方向不一样的嘛
XY方向是您相机拍下来了
Z方向是深度 要计算的
那Z方向的信息呢它跟这个摄像机的焦距有非常大的关系
或者投影机的焦距
这个焦距越长的话
相同距离它那个面积 投射的面积越小
这样的话呢 它的精度就会越高
还有就是你摄像机跟投影机之间的距离
距离越远的话 它最后Z方向的精度也会越高
目标体离投影机和相机的距离也会影响它的精度
那这个距离越远的话 精度越差
因为你这投影机离它越远 光的区域就越大
那么你照在这个物体上的点就越少所以它的精度就会下降
那还有当然这个相机或投影机的分辨率越高
你最后的精度肯定越高的
这张图我们就想讲一下这个系统对相机和投影机的分辨率的要求
在这个里面有一个比较重要的概念是说
投影机投射出来的画面跟摄像机看到的这个画面
它的这个视场有可能是不一样的
就像在这个例子当中
这个摄像机它是2048x2048的分辨率
但投影仪的分辨率是其中的一部分
就912x1440是错的
这是我们的DLP4500
它是912x1140的分辨率
所以它是相机视场的一部分
所以呢 其实第一个他刚刚没说
这根据Nyquist theorem这个采样定理
数字信号的采样一定要是原始信号的频率的两倍
所以这不管是在X方向还有Y方向
那么这个摄像机 它的分辨率都应该是投影仪的分辨率大的两倍
也就是总的分辨率是四倍
但是你不能够直接看它的指标
因为有可能你的摄像机不会全部被用上
就像这个这样刚说视场不一样
那你有一些区域就浪费的
所以它用到的部分的分辨率实际上是投影仪的四倍
对 那么像在这个例子当中呢
实际上我们虽然有2048 这横的方向
水平方向我们有2048个像素 对吧
它可能是912的两倍
就是我们好像是有2048 但是我只用了60%
所以它这个摄像机的横向分辨率有时候只有1128
那这个就是你会看到它这个摄像机的有效分辨率1128
它是这个投影机的水平分辨率的1.07倍
它是小于2的
这样的话呢 你的摄像机可能它的分辨率不够去捕捉到足够的信息
足够的投射出来的垂直信号
刚才说到这样的摄像机可能没有办法去捕捉到投影机投出来的所有的像素点的信息
这个前提是说 投影机投的这个pattern是一列像素点是黑 一列像素点是白
这样的话 就是它用一列的镜子来显示一个pattern
但现在如果你的滤镜已经固定的话
你的分辨率要求没有那么高
采那个pattern你可以用黑白两列的像素把它合并在一起
这样黑白黑白的pattern
这样的话 你这个系统就没有问题了
这个就是你最后你们相机它的这个捕捉到的点是会投影机投射出来像素的四倍
摄像机的分辨率可能会比投影机的分辨率是四倍还高
那这种情况呢 会产生过采量的情况
过产量的话呢 就相当于是你有一个投影的像素点
但是你可能会采 就这边采了五个点
那像这一个点它的这个Y轴方向
它应该是一样的嘛 对吧
它应该是那个绿色的点来代表
可是呢 你是用三角的办法
你的每一个摄像机的这个
摄像机的每一个列它跟垂直的这个projector的这个ray交叉的呢
会变成那个红的点
所以这个红的点的这个信息呢 是完全错误的
那它当然也会说 如果这个表面给它做一个rotate
做一个旋转
但仍然会找到比较错误的点的信息
如果你做了过采量的话
那么它有几种解决办法
其中它觉得比较有效的办法就是说
我可以在以这个扫描里面
采用两个方向的pattern
一个是水平方向 一个垂直方向
那实际上如果是你的投影机水平放置的话
你只要出现一条就OK了
如果你的投影机跟这个相机是垂直放的话
你只要横线就OK了
那这个呢 它就投射的pattern多了一些信息
那么不管是水平的这个pattern 还是垂直的pattern
最后都会被摄像机捕捉进来
那经过这个演算 那在所有的这个点里面会找到
就focus出来一个即符合水平又符合垂直的这个pattern的这样一个点
把其他的点就丢掉了
那它因为要丢掉那些多余的点
所以你最后这个点与其他点的数目只会变少
这个点的数目就跟你投影机投下的这个画面的像素点或它的分辨率是一致的
那如果你只选水平或垂直的pattern的话
这个就没办法了
这两张图就是可以看到这个采用垂直和水平两个方向的pattern
然后再经过滤波以后的点源的样子还有没有经过滤波的点源的样子
他刚刚有指到这边的长条这种呢
都是你捕捉的五个点
它对应的是投影的一个点
所以它也是长条的
所以你会看到这个点的这个密度大大地下降了
但是这个点的位置 它的精确度提高了
那如果你不愿意用两个方向的pattern
因为你想节省时间
而且你这个点源上面的密度
如果你用两个pattern 然后做filter的话
就是投影机的分辨率那投影机的分辨率是摄相机的1/4
所以这个密度会较低
所以使用单个方向的pattern 它可以让点源的密度提高了
因为它可以不但是由投影机的分辨率决定
而且它会跟摄像机的分辨率有关
刚才那张图它本来就是一个比较平滑的表面
然后 一个没有filter定有filter的时候
它这个边缘的差别
那这张图我们是用一个方向的pattern
那你会看到平面上面它沿着投影机的射线 投影机的ray
方向上会有很多的点 这些点都是不对的
都是不准的
那你不想用两个方向的pattern 只用一个方向的pattern
但是你又不愿意看到这么多的不正确的点
你还是可以用这个平滑的算法
比方这边有3个点 那个1,1,2 中间那个点是不对的
它就会在1,2中间做一个像是低通滤波器一样的东西
沿着投影机的射线的那些点就会少一些
但是呢 因为你对整幅图像都做平滑算法
所以这个图像里面其他的有边缘的部分有可能会丢失一些信息
如果用这种平滑算法的话 有可能会丢失图样的细节
或一些边缘的部分
如果你这个物体本身就是一个非常平滑的表面
那你做这个平滑的算法没有问题
而且会把那些不正确的点都去掉
但是如果你的物体是 它是会有细节或是有边缘的话
有可能会把那个物体原本的特性也会丢失
这里面就会谈到说二进制的这个pattern
它对硬件系统的要求是有一定的要求
它的鲁棒性会有一些问题
它要求投影机和摄像机能够聚象聚得很好
所以每个像素都是清晰的
或者很清晰地能够捕捉进来
另外一种pattern 它叫phase shift的这个这种pattern
是用正旋波的这种方式
那它可能对光学系统的要求可能相对来说低一些
比如说 你的像素点不是特别的清楚
或者是你做了过采量
或者是我们的镜子是一种菱形形状的
这种情形下的phase shift pattern 它会比较有鲁棒性
那用这个Three Phase的这种pattern呢
它不会损失点源的密度
它可以呢 就是你原本的图像是两个点
它可以在这两个点的中间产生一个叫sub-pixels的这样的点
那么虽然这个phase shift的这种scan或者说phase shift的pattern
它对像素的清晰度 或者说对光学系统的清晰度要求不是很高
但是 它比较容易受环境光的影响
因为它是依靠灰度信息来去识别每一个像素点的
那比如说 我们这个室内的光很有可能是60Hz 或者荧光灯一般都120Hz
那这些光都会在你最后生成点源的结果里面引入一些噪声
你看看它会有很多这个边缘
那接下来我们会讨论摄像机跟投影机的同步的问题
那这个也是会影响到你最后生成点源 或者3D机器视觉的性能
那他刚才有说什么圣诞老人
他是说这个理想的世界里面
这个投影机投射一幅画面的时间和摄像机它去曝光的时间是完全一致的
但是实际上它这个里面一定一些时间差
你先我后
或者是一些delay
这是我们这套EVM的硬件系统
你会看到从摄像机到投影机 它是有一个cable的
那这个cable呢是同步信号的
那这个同步信号呢 那目前我们采用的方式是让这个camera去发同位信号给投影机
这样呢 投影机显示画面的时间要比cable的曝光时间要短
这样呢 camera就可以确保它可以捕捉投影机所投射出来的所有像素点
其实这些像素点都在上
就它可以确保捕捉到所有的pattern信息
如果你有delay的话呢 这个camera曝光了那么长时间
可能就丢掉了一些pattern的信息
尤其是像那种正旋波的这种相位的pattern的话
丢掉了以后你的重建会出非常大的问题
如果有做过这系统的话过去掉这个系统是有投影机发一个触发信号给摄像机的
这样的话呢 有可能会导致我的投影机已经显示画面了
然后你的摄像机才开始去捕捉 可能会丢掉一些信息
如果是你用二进制的pattern 基本上没什么问题
但是如果你用这种灰度的就是greyscale灰度的这种pattern
三个相位的话
就会有比较大的问题
刚才他的问题是说你另外做一个同步的电路
然后你给两个器件给摄像机同时同步信号
这个也有一些做过 但是你要考虑到这个摄像机它的delay
和投影机里面有个处理器它这个delay时间有可能是不一样的
尤其是显示出的是不一样的
那当然这个投射它有说是不是所有的DLP都能支持这trigger
那我们的答案是所有ALC用于工业控制的这种ALC的DLP器件
包括30004500、6500都可以支持由投影机去触发摄像机
或者摄像机触发投影机 你可以配置的
但是呢 其他的比如说显示什么 可能就不会支持了
课程介绍
共计3课时,42分7秒
猜你喜欢
换一换
推荐帖子