普通usb摄像头和工业相机的区别-双目相机的选型
普通usb摄像头和工业相机的区别
1. 曝光方式不同,工业相机大部分是全局曝光,在物体高速运动下不会变形,usb摄像头大部分是逐行的,会变形。 2. 曝光时间调节单位不同,工业相机曝光时间可以非常短。 3. 镜头畸变,通过标定也无法消除的由于镜头加工质量导致的误差。工业相机一个镜头能买好几个你发这个摄像头了。。。 然后,双目方面的话,要看物体表面是什么样的,如果物体表面图案很适合块匹配,精度应该可以达到,如果不好比如是个大白墙,就得投射些散斑什么的额。
双目视觉的选型
在研究双目视觉研究过程中,遇到了许许多多的问题,在最初入门的时候,摄像头的选择问题就成了我最头疼的问题,先后换过5个摄像头,在选择相机的过程中相机的参数是我们要考虑的首要问题,下面我介绍的相机选择因素有哪些: 1、相机接口及电脑带宽 研究双目视觉我们首先要有两个摄像头,而我做为学生用的是笔记本,将来实验也偏向室外,笔记本方便一点,所以当老师让我做时,我果断就编程采集图像,出现了问题也是自己程序的问题,相机没有问题,花了很长时间解决不了才发现是相机的问题。开始用的是维视的千兆网相机和1394相机,网口的笔记本不能用,因为要两个网口,也曾经买过千兆的USB转网口,发现传输速度太慢,图像根本反应不出来。1394的应该能用吧,因为我用的是联想笔记本,上面是有1394接口的,可紧接着问题也出现了,编的程序无法同时打开两个相机,一开始我总以为是我程序的原因或者是SDK的运用不对,还和厂家联系了好久,结果发现在台式机上运行是没有问题的,后来才知道有一个带宽问题,两个相机最好不要用同一个控制器,要共享带宽也要有足够的带宽才行。这就是相机接口问题,当然你要是台式机就没有问题了。 2、相机工作环境 由于前两个相机都不能用,最后只能选用那种网上30万像素的小摄像头,几十块钱,买了两个装了起来用,接口是USB的,也没有带宽问题,用起来比较好用,但是这种相机不是工业相机,不能到室外,只要一伸出窗户,图片就会变成白色,阴天也一样,看来只能有在室内了。所以此时我们要考虑的是工作环境是什么样的,要不要在阳光下运行。 3、镜头焦距 另外镜头焦距也是一个重要的问题,虽然实际中焦距越大越好,但也要看我们要拍的是什么东西,是近距离的还是远的,比如我要拍50cm---150cm的,很近,大焦距是不行的,而且是越小越好,上面那个小摄像头是3.6mm的。原因你看下双目视觉模型可以看得到,所以这是我要考虑的问题,你的呢? 4、像素及分辨率 这个问题中我们要看分辨率越大处理起来就越慢,标定速度也会慢吧,所以我们要看什么样的大小的图像就可以了。比如30万像素就可以产生640*480的图像了,500万像素可以产生2592*1944大小的图像,你看你需要这么大的吗?在选择的时候最好是选择分辨率可调的相机,这么我们用500万像素的相机也可以程序控制产生320*240的图像,这样在调试的过程中会有很大的灵活性,我们可以随机选择我们要的分辨率。当然大图像处理的时候我们也可以截取图像的中间一部分进行处理。 5、后期开发、系统支持 在后期开发中要用到嵌入式吗,这时我们考虑到系统的支持Windows或LInux等等。这时候我们也要考虑是用数字相机还是用模拟相机,因为很多数字相机Linux驱动是大问题,即使一些免驱相机也是这样。
6、关于全局快门global shutter和卷帘式快门rolling shutter
要知道CMOS传感器的工作方式并不是像很多人想象的那样通过一个信号线就可以控制曝光的开始和结束。传感器的感光二极管不停的在捕获入射光子并转换成电子存储在电荷井中,控制部分可以将其读出和清零,但不能停止曝光。那么电子快门是怎么实现的呢?
1)电子卷帘快门(electronic rolling shutter)
目前大多数CMOS传感器采用这种快门。对任一像素,在曝光开始时现将其清零,然后等待曝光时间过后,将信号值读出。因为数据的读出是串行的,所以清零/曝光/读出也只能逐行顺序进行,通常是从上至下,和机械的焦平面快门非常像。和机械式焦平面快门一样,对高速运动的物体会产生明显的变形。而且因为其扫描速度比机械式焦平面快门慢,变形会更加明显。例如如果数据的读出速度是每秒20帧,那么图像顶部和底部的曝光先后差异将多达50毫秒。为了弥补这个缺陷,通常数码相机中通常配合机械快门,曝光开始时整个图像传感器清零(目前的绝大多数传感器都具备快速清零功能,可以在几个时钟周期内完成整个传感器的清零),然后机械快门打开,曝光结束后机械快门关闭,数据顺序读出。
2)全局快门(global shutter/snapshot shutter)
最主要的区别是在每个像素处增加了采样保持单元,在指定时间达到后对数据进行采样然后顺序读出,这样虽然后读出的像素仍然在进行曝光,但存储在采样保持单元中的数据却并未改变。这种机构的主要缺点在于增加了每个像素的元件数目,使得填充系数降低,所以很难设计出高像素数的传感器,另外采样保持单元还引入了新的噪音源。主要用于机器视觉和超高速摄影,目前最高分辨率为4M。从上面可以看出,如果电子卷帘快门的移动速度如果能达到机械式焦平面快门的水平,就可以解除对机械快门的依赖。也就是必须提高数据的读出速度。这个速度的主要瓶颈在于电荷从列放大器转移到公用数据线所需时间,具体来说就是通过一个运放给一个电容充电的过程,要提高其速度只能通过提高运放速度或降低电容值。前者会增加功耗和噪音,而后者则和传感器的行数成正比,所以像素数目越多则读出速度会越慢。短时间内,电子卷帘快门速度还达不到机械式焦平面快门的水平。
With Global/Synchronous Shutter, all rows in the ROI are reset then exposed simultaneously for a specified time. At the end of the exposure/integration time, each pixel value is transferred immediately to an adjacent storage area to await read-out. The pixel values are then read out row-by-row from storage, building the frame. This use of intermediate storage reduces the gradual overexposure that can occur down the image when the rows are read out directly from the active area. Because all rows are exposed simultaneously, Global Shutter avoids jagged or blurred affect produced by Rolling Shutter for fact action images. However, because it stops exposure to perform read-out, it does not provide the fastest possible sequence of frames. 推荐一个较好的双目相机是 ZED 的。

Bandgap voltage reference
常常有人简单地称它为Bandgap。最经典的带隙基准是利用一个与温度成正比的电压与一个与温度成反比的电压之和,二者温度系数相互抵消,实现与温度无关的电压基准,约为1.25V。因为其基准电压与硅的带隙电压差不多,因而称为带隙基准。实际上利用的不是带隙电压。现在有些Bandgap结构输出电压与带隙电压也不一致。 模拟电路广泛的包含电压基准和电流基准。这种基准是直流量,它与电源和工艺参数的关系很小,但与温度的关系是确定的。 产生基准的目的是建立一个与电源和工艺无关,具有确定温度特性的直流电压或电流。在大多数应用中,所要求的温度关系采取下面三种形式中的一种: 1)与绝对温度成正比; 2)常数Gm特性,也就是,一些晶体管的跨导保持常数; 3)与温度无关。 要实现基准电压源所需解决的主要问题是如何提高其温度抑制与电源抑制,即如何实现与温度有确定关系且与电源基本无关的结构。由于在现实中半导体几乎没有与温度无关的参数,因此只有找到一些具有正温度系数和负温度系数的参数,通过合适的组合,可以得到与温度无关的量,且这些参数与电源无关。如上所述,产生基准的目的是建立一个与电源和工艺无关、具有确定温度特性的直流电压或电流。因此,我们可以将任务分为两个设计问题:与电源无关的偏置和温度变化关系的确定。除了电源,工艺,温度的不确定性外,基准产生电路的其它一些参数也是十分关键的。
ATmega8 ADC
Atmega8内部有二个8位ADC通道和四个10位ADC通道,对许多不需要高速,精确度不高应用程序来说是最好的选择。 Atmega8芯片内提供可选择2.56V的参考电压和 AVCC或外参考电压。
以8位ADC为例:计算公式如下: Digital Code=(Vin/Vref)x256
如参考电压用5V测量3.2V输入信号,理论结果是: Result=(Vin*256)/Vref=(3.2V*256)/5V=163=0xA3
Atmega8的绝对准确度为± 2LSB 。 因此实际转换结果可能是0xA0或 0xA2。
另一个问题是供电电压稳定和准确性。一般参考电压假设有为1% 误差, 如是5.05V 。 我们的计算将是: (Vin*256)/Vref=(3.2V*256)/5.05V=162=0xA2 .可见, 1%的电压变化将使转换结果相差一位。 实际应用中电压可能会受温度,负载发生变化的影响,要提高ADC绝对准确度可选择的外部模数转换器MAX1242。
锂电池充电
锂电池对充电电压有绝对要求,单节不得大于4.2V,超电压轻则电池损坏鼓包,重则发生安全事故,一定要使用平衡充。电池厂在给电池做串联时要同批次同容量电池经过严格分容程序,选择容量差最小的电池才能够串联,所以不同容量电池是不能串联使用的,这样会造成不同电池受电情况不同出现危险。