相机成像原理_CCD成像原理以及机器视觉中的相机选型
近年来,随着人工智能的高速发展和图像处理技术的日益成熟,机器视觉在自动化领域发挥着越来越大的作用。机器视觉被用于代替人工视觉,使机器人能够完成以往只有人工才能完成的任务,这大大减少了在危险环境下工作的风险。同时,在来料无序或工作环境杂乱的情况下,机器视觉可以显著提高生产效率和自动化柔性程度。随着人们对工业设计水平和生产效率需求的日益提高,机器视觉正在逐步代替传统复杂繁琐的自动化模式,成为...

相机篇
01 CCD相机成像以面阵相机为例,相机内部有一块由N行M列感光单元(CCD)组成的图像传感器(image sensor)。如下图红色格子所示,每一个小格子代表一个CCD感光单元,CCD的个数即为相机的像素,相机分辨率则指的是单位长度(图像传感器的单位长度)上像素的个数。比如一个相机有1280*1024个CCD感光单元,则该相机像素为130W。

光源照射到物体上,不同材质和颜色的物体对光源产生不同的反射,这些由物体反射出来的光穿过镜头照射到CCD上,使CCD产生电信号。CCD控制芯片将单次成像产生的电信号收集起来统一传送到放大器(amplifier)进行放大和降噪。经过一些列的模数转换(A/D),电信号被转化为数字信号,这些值就是初始的图像数据。将初始图像数据输入到数字处理器(DSP)进行色彩校正以及白平衡等处理后编码为相机所支持的图片格式并储存到储存器上。

(模数转换,数字信号的大小和电信号的大小成正比)

(CCD成像流程)
02 相机选型,像素与精度
正如之前所说,像素是指图像传感器上CCD的个数,图像传感器一般为一个4:3的矩形,所以相机像素分为横向和纵向(X和Y方向)。一般来说,像素越多就能看到单位面积上更多的细节,而这些细节就决定了系统精度。举例说明,现在有大小为100mm*100mm的视野范围,精度要求0.1mm。则图像传感器每个方向上CCD的个数至少为100/0.1 = 1000。为了配合后续的边缘提取等图像处理,一般会要求3倍的像素,即
X方向CCD个数=3x视野范围(X方向)/精度(X方向)= 3000
Y方向CCD个数=3x视野范围(Y方向)/精度(Y方向)= 3000
可以选择像素为3000*3000以上的相机。
一些特殊场景的处理:
Case1 如果算出X,Y方向的像素差距很大,比如
X方向CCD个数=3x视野范围(X方向)/精度(X方向)= 3000
Y方向CCD个数=3x视野范围(Y方向)/精度(Y方向) = 1000
A : 4160 *3120 or B: 1280*980 ?
此时应该选A,宁可像素有较多剩余也不能选小于计算结果的相机
Case2 如果像素要求过大,比如
X方向CCD个数=3x视野范围(X方向)/精度(X方向)= 30000
Y方向CCD个数=3x视野范围(Y方向)/精度(Y方向) = 30000
此时较难找到符合要求的相机。相应的方法是使用多个相机,将视野范围分割为多块,每个相机负责采集一块视野范围,从而降低对每个相机像素的要求。
03 快门速度与移动物体拍摄
在拍摄移动物体时,经常会得到一张带“重影”的照片
这是因为相机在成像时,物体已经移动到了下一个位置。重影将对精度和结果产生极差的影响,为了避免重影,若拍摄的是移动物体,则需要在物体移动到下一个位置前结束本次成像。相机中决定成像速度的参数是快门速度,物体移动速度越快,则对快门速度要求越高。
既然要在物体移动到下一个位置前结束成像,首先我们要算出物体在图片上移动一个像素对应在现实世界中移动的距离。这一过程被称为标定像素当量,它表示图像中一个像素点代表的实际物理尺寸,比如0.000625mm/pixel。
假设物体在现实世界中的移动速度为0.5mm/s,当物体在成像时间内在图像上移动超过1个像素则会出现重影,所以成像速度至少为0.000625*1/0.5mm=0.00125s。(路程/速度=时间)。
以上便是机器视觉中相机选型部分
下期,我们将在下一篇中给大家介绍镜头选型。
RECOMMEND推荐阅读


微博:辰视智能☎:0755-26920296www.cosmosai.cn
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)