- 课程目录
- 相关资源
- 课程笔记
今天主要的应题就是
DLP技术的三维机器视觉在工厂自动化
以及一些工业里面的应用
我们会介绍TI在关于三维扫描重建的SDK的软件包
这是TI公开演示的一个标准
这个模板
3D扫描、3D重建其实是比较复杂的
今天我们所讲的内容不可能涵盖到整个系统的方方面面
所以如果各位在讲解过程当中有问题都可以随时举手示意
主要介绍四部分的内容
第一个就是3D扫描、3D重建、机器视觉的基本原理
然后TI针对使用DLP技术做三维机器视觉的
应用开发的一套评估系统
评估系统可以给各位带来一些,就是内容是什么
还有怎么样能获取这个参考设计
还有就是使用DLP技术做三维机器视觉的时候
在设计过程当中需要的一些考量
最后是如何使用DLP Structured SDK这个软件包
来开发一个机器视觉系统
大家都知道机器视觉其实有很多种方法
这张就说到应该是立体三角的方法
多个摄像头对物体进行拍照
还有就是单线激光扫描的方法
还有最近两年出来的叫time of fight
tof sensor的这种技术
DLP主要是使用结构光的这种方法
来进行3D重建的
那在这个系统里面我们也相当于是
它在实际创建机器视觉系统的过程当中
可以用两个上机或对应的上机
那么这种技术它有一个条件。就是说
我们的大脑是非常神奇的
它可以对不同的每一个点
去做一些模糊计算、识别的这种模糊算法
可以知道这两幅图下面各个点是什么样
怎样匹配的
就是如果你碰到的两个点对应的同一个物体是一个点
但是要用一个PC去计算
多个摄像机拍摄出来的物体不同角度的画面
要知道每一个画面里面的像素点是如何匹配的
比如说一个物体有三个图像
这三幅图像你要找到画面当中的这三个点
这个是非常复杂的一个计算
所以刚才说立体三角的方式
它的计算量要求非常大
那么业界也有人会去试图使用单线激光扫描的方式
这个激光器上面去往物体不断打出同一个线条
它会把线条反射出来的图像捉进来
所以它是一个线扫描的方式
它跟结构光是类似的
但是它是一条一条线条的拍照
所以它的时间比较长
刚才说微软的time of fight那个熟悉的东西
它用的是tof的sensor
那这个sensor不是特别的贵
它会有一个红外的发光器
红外的发光器会往物体上的各个点去聚光
然后去采集每一个点光回到sensor的时间
用这个时间来计算物体上每个点的深度
刚刚说tof的sensor一个是刚才说的长短比较有优势
另外它也比较快
用来计算也没有那么复杂
但是它的这个精度不是很够
比如说light的重新识别
对移动的物体会比较好
所以移动物体是比较合适的
精度不是特别好
这样的话,我们结构光的方式就比较有优势
因为结构光是芯片扫描的
所以时间也没有问题
然后它的分精度特别高
所以它的精度会很高
而且这个程序非常灵活,可以编程的
.........
一般的介绍一下,就是说
如果你需要分析非常复杂的程序表面的话
你可能就不要打算动那个设置
但是这个速度又是一个问题
这个上机,通常它的速度不快
不是很快,可是DLP是一个非常快捷的器件
它是个非常快的光学器件
但是panel有可能会限制你打的pattern的数目
后面我们也会再介绍说
在目标和创建这种机器视觉的过程当中
有哪些权衡,因为一定是有所得,有所失的嘛
DLP就是用这个结构光的方式来做3D扫描
是非常合适的一个系数
后面我们会看到它的原理,你其实是会有感觉的
这一张是我们想重置基本的原理
就是如何去获取物体的深度信息
那么这个里面最传统的做法
就是用一个三角洗头的方法
来获取物体的深度信息
就是它的几个方向的信息
它的基本原理是说你在这个系统当中
会有两个视点
两个视点,就是人的两个眼睛
这两个视点一定是放在不同的位置上
通过这两个视点可以跟物体上的每一个点
可以画出很多的三角形来
那么三角形的光就是这个物体的深度
我刚才想说这两个视点是眼睛
他说这两个视点是camera
其实是一样的
你会有两个视点,或者是camera
那么举行就是这个camera的CMOS的阵列
就像那个sensor的阵列
sensor的阵列每一个点
它都会在从视点到目标物体的特征点这条线上
这样的话你就可以知道三角形的角度
在这个系统里面我们首先要知道两个视点
或者两个摄像机
两个上机它的位置信息
当然这个位置一定是不一样的
它的X、Y、Z
那我们要知道它的这个成像
成像的阵列
它的向量的信息,就是这里面uv的信息
还有就是成像上面的每一个像素点
它和另外一部上机内的匹配的信息
因为我要找到一对像素点是对应目标物体
同一个点的
所以就是在这样的系统当中
你的两个camera对同一物体捕捉的图像
一定是不一样的
所以左边的camera可能是看到它前面的矩形
右边的camera你会看得到
角落的这个位置
但是我们要能够去做这个匹配
我们一定要找打这个物体,它是有特征的
比如说这个边缘
在左边这个摄像机拍摄的图像里面找到这个边缘
我能够知道这个边缘对另外一个摄像机的图像在哪里
但是它最重要的部分
是你能够在图像当中提取到
目标物体的一些特征
比如说边缘
那么能够匹配到另一幅图像的像素点上
但是你要去看它的这个边,很容易找到
但是平面上的各个点
这些点没有什么差异
特征不是特别明显
就是说你找到它会非常困难
当然它如果是一个平面就没关系
跟踪信息是一样的
但是比如说它是比较光滑过度的表面的话
对这样一个系统来说
就是比较困难去识别到
表面上的不同点的特征
也就是没有办法把两幅图像的
对应同一个目标点的两个
拍摄出来的像素点能匹配起来
因为找不到
这样一个系统就是非常明显
我们把摄像机换成一个投影机
这个投影机会投射一个画面
会有一副图片
这个图片会照在这个物体的表面上
投影机投射出来的光束上面的每一个像素点
跟我摄像机捕捉下来的像素点
是会有对应的关系,就是他说的calibration
实际上,我们看看整个这个3D的
三维的机器视觉整个的开发包
它会特别注重一个概念
就是说我们把整个系统分成不同的子模块
模块之间相对独立
对于一个用DLP技术来实现的
三维机器视觉的系统
可以分成这样大概五个子系统
另一个系统就相对整个的机器视觉里面的部件
做一个校准的动作
这个校准的动作可以告诉PC或者是人的大脑
就是PC,目前你这个投影机和摄像机的
它的这个物理的位置
还有它这个视线的方向
那么也可以补偿投影机或者是这个
摄像机的焦距
或者焦点
甚至一个光学失真造成的影响
当然也会需要一只摄像头
去捕捉物体对投射上去的pattern反射回来的图片
然后去进行数据分析
DLP系统只负责把不同的pattern
投射在物体的表面上
结构光的这个模块
它负责产生各种各样的pattern
Frame或者什么样的形式
它也负责去把摄像机捕捉进来的
包含pattern和物体信息的这些数据
对这些数据进行分析
最后生成一个叫disparity map
我今天早上查了一下,叫 视差图
disparity map里面其实它的信息是什么呢
就是摄像机捕捉到的图像上面的每个点
是如何对应投影机原本投射出来的
这个画面的每个像素
就是我们所说的匹配信息
那我们有了这个反应
比如说投影机、摄像机它的光学特性的校准的数据
那我们也有了实际上扫描下来的
加入pattern物体特征的我们所说的disparity map信息以后
我们的算法的部分
它是会根据校准的数据
和我们匹配的信息
最后重建一个物体上面每个点
它的XYZ方向的信息
然后这里我们又重新在整个机器视觉里面
我们用五个子模块
校准模块、摄像机、DLP平台的投影模块
然后我们的结构光的系统
还有最后几何计算的系统
第一步是它整个的操作流程
第一步就是要先做一个所谓的calibration board
它是这样的一个直板,是一个实物
那么在calibration过程当中
在做这个校准的过程当中
第一步要做的就是你的摄像机对这个直板
这个直板的实物本身,对它进行各种拍照
去把这个信息抓取进来
之后你会用投影机往直板上面去投射
当然它也是投射的这个check board
那么摄像机再把投影机投射的pattern
加上实物直板的图像捕捉进来
这两部分的信息就反应了
摄像机跟投影机的特性
那么产生的是一个我们所说的calibration的一个文件
那么calibration做好了之后
待会儿我们会看,其实calibration的步骤还是挺有意思的
因为TI发布的整套可执行软件
是非常智能的
如果你的校准板子和你的摄像机
还有投影机的位置不对,或者图像不对
它都不会让你那一步过掉的
它会判定什么样的才是对的
接下来这一步就是会产生结构光的pattern
这个pattern会打在目标物体上
我们的摄像机把这个pattern和物体的这个图像
捕捉进来
然后要把pattern的信息去除
之后剩下我们所谓的一个disparity map
就是我们的视差图
我们有了calibration的信息
我们有了每个像素点的匹配信息
就是disparity map
那么它就可以重建一个我们所说的
物体的3D的网格,就是每一个XYZ的信息
这个东西会存在你的硬盘里面
文件里面,你可以点击它的软件进行3D的建模
这里它有在强调
其实从硬件的部分或是从处理的部分
你可以分成这样的五个子系统
五个模块
但是在我们整个的软件包里面
也是一一对应的
软件包里面有对应的模块
课程介绍
共计3课时,42分7秒
猜你喜欢
换一换
推荐帖子
- 430单片机的一个占空比可调的pwm波形例程
- // 占空比可调的PWM, 我没试过, 手里没单片机, 只是记下. #include void main(void) { volatile unsigned int i; WDT...
- Jacktang 微控制器 MCU
- 关于DSP/BIOS的编程的问题
- 我们在进行基于DSP/BIOS的编程中,往往需要加入自己定义的数据段,或者代码段,那么在DSP/BIOS下如何实现呢?以下是解决方法: 1.把系统自动生成的CMD文件排除出CCS工程中,注意,不要删除文件 2.在上述CMD...
- Aguilera 微控制器 MCU
- 关于LF2407A的FLASH烧写问题的几点说明
- TI现在关于LF24x写入FLASH的工具最新为c2000flashprogsw_v112。可以支持LF2407、LF2407a、LF2401及相关的LF240x系列。建议使用此版本。 一,先解压,再执行setup.exe。 二、进入cc中,在tools图标下有烧写工具。 1、关于FLASH时钟的选择,此烧写工具默认最高频率进行FLASH的操作。根据目标系统的工作主频重新要进行PLL...
- fish001 DSP 与 ARM 处理器
- MSP430F169红外遥控多功能收音机
- 几年前同事一个MP3拆开发现里面有一个TEA5767,当时我要过来只是用万用板搭了一个小测试电路,由于没有功放,当时没怎么调出来,只是有一点小声音。最近突然想起来,便从网上买来模块,自己做起来了。另外得感谢网上很多朋友,是你们提供的资料才让我完成了这个制作。目前这玩意运行的很不错,充一次电可以运行5-6个小时的样子,关键是音效非常棒,没有一点杂音。电路还加了DS1337,DS18B20,热释电红外...
- jackie222 微控制器 MCU