大广角USB摄像头选用指南

起因是我要做一个二维码引导无人机降落的实验。四旋翼无人机搭载单目下视摄像头,用于识别地面的二维码。

我选择摄像头的标准基本上只有一个:视场角越大越好。为此查阅了一些资料,买了很多镜头和底板,有了一些选购心得。

影响视场角的因素

决定单目摄像头视场角大小的有两个因素:底板感光区大小和镜头焦距。

大广角USB摄像头选用指南_第1张图片

大广角USB摄像头选用指南_第2张图片

感光区

首先,感光区(一般是CMOS)尺寸越大,画面视场角肯定越大,价格一般也越贵。USB底板(含镜座)如下图所示,中间彩色的一小块就是感光区。

大广角USB摄像头选用指南_第3张图片大广角USB摄像头选用指南_第4张图片

新买来的底板感光区一般会有一片暗黄的保护膜,揭掉后再使用。

感光区的大小一般用对角线长度来表示,而且用分数和寸来表示。比如1/2.7'',这个寸并不是英寸,好像是用1/2.7*18mm就是对角线的长度。

大广角USB摄像头选用指南_第5张图片

不难发现,分母越小,感光区尺寸越大。一般市面上买到的USB摄像头感光区介于1/2.5''到1/3.2''之间,尺寸越大的也越贵。

感光区也有其他指标参数,比如长宽比、像素、单位像素大小。这其中长宽比也会影响感光区的面积。

常见的长宽比有16:9和4:3,对角线长度一样的情况下,长宽比不同时,感光区面积显然也是不一样的,但一般相差的也不多。所以还是可以大致用对角线多少寸来比较感光区大小。

像素表示的是感光区上有几个像素点,比如1920x1080就是1080p,200万像素的摄像头;3840x2160就是4k,800万像素的摄像头。值得注意的是,USB摄像头往往可以有多种像素比例的画面输出,但其中最大像素输出的画面才是充分使用了全部感光区的。比如1080p的摄像头如果输出720p的画面,大概率是裁剪而非缩放得到的,画面视场角会变小。16:9长宽比的摄像头也可以输出4:3的像素画面,但也是裁剪得到的。从这个角度来说,想充分利用感光区视场角,但是又不希望视频数据太大,还是选择低像素的USB摄像头比较好,比如720p的或者200万像素1080p的都是比较常用的。

单位像素大小表示的是单个像素的长度,一般从1微米到3微米不等,这个可以查看感光板的数据手册得到。单个像素越大,那么一个像素点得到的光通量肯定越大,因此画面亮度会越高。

单位像素大小乘以像素个数就可以得到感光区的大小,这种方法得到感光区大小最准确。在感光区大小一定的情况下,像素越高,那么单位像素点肯定越小,画面整体亮度会降低。这就是高像素摄像头的问题:像素(分辨率)是变高了,但画面往往比较暗。

我用过的几款USB摄像头底板如下:

以上,第三款索尼IMX317肯定是感光区最大的,USB摄像头里也很难找到比1/2.5''更大的底板了,但因为它是个800万像素的,价格也比较贵。相比较之下,第一款USBFHD01M底板OV2710的感光区大小也差不多大,200万像素也比较合适,是最终我选用的底板(就是上文图片里展示过的)。这块底板也是淘宝的热销款,价格适中。

镜头

同一款底板可以搭配不同的镜头。

大广角USB摄像头选用指南_第6张图片

大广角USB摄像头选用指南_第7张图片

决定镜头成像大小的主要是焦距。焦距越短,成像越大。

大广角USB摄像头选用指南_第8张图片

镜头焦距越小,虽然视场角越大,但清晰的成像距离也越近,景深(清晰成像的范围)也越短。所以要权衡了,如果无人机在几十米高空飞行,下视摄像头就算选用了大广角近焦镜头也没用,因为啥也看不清。而在无人机降落阶段,高度顶多几米,选用2mm-3mm的大广角镜头是没问题的。

镜头成像一般是一个圆形区域(虽然我仍然看到一些无畸变镜头成像本身就是长方形的),但是只有落在感光区上的部分才会被感知,因此输出画面仍然是长方形的。USB摄像头的镜头成像大小一般是1/2.5'',这个要比感光区大才行,否则输出画面可能有黑色边角。

一般USB摄像头的镜头焦距从1mm到10多mm不等。3mm以上大概是普通视场角镜头,畸变较小,视场角在60°左右,基本符合小孔成像原理。2mm-3mm一般是大广角镜头,边缘画面有一些畸变,画面需要经过畸变矫正后才能用于识别,视场角可以到达120°。2mm以下的基本就属于鱼眼全景摄像头了,这种镜头一般会凸起以获取全景视场,外形类似突出的鱼眼因此得名。鱼眼镜头视场角可达180°甚至更高,但画面有严重的畸变,甚至画面区域本身就是圆形的。

根据我的使用经验,选择大广角的镜头会不可避免地带来畸变,而画面边缘的畸变部分识别效果很差,几乎是无效区域,因此有用的画面大小反而不如普通镜头。

好在后来发现了一种大广角无畸变镜头,通过镜头设计得到小畸变甚至没有畸变的成像。最终我就是使用了3.24mm无畸变镜头,配合前文的USBFHD01M底板,视场角可以达到110°却没有畸变。感受一下它在2m左右高度的视野:

镜头还有其他参数,比如螺柱直径,一般是M12规格的,螺柱直径需要和镜座的孔径搭配。

还有螺距,就是螺纹的间距,一般是0.8还是0.5,螺距不对可能拧不进镜座。

镜头长度也很重要,长焦镜头一般长度也很长,要搭配高镜座;鱼眼镜头等短焦镜头长度也很短,要搭配矮镜座。

 

其他

帧率

usb摄像头能输出的帧率和底板上的处理芯片有关。一般低像素时可以输出高帧率视频信号。帧率高时由于单帧曝光时间短,画面也会比较暗,但是可以实现高帧率慢放。

电脑端cpu或者gpu的性能也会影响实际显示帧率。比如树莓派用usb摄像头时,1080p的视频流顶多20fps帧率,就算你设置30fps也没用。

视频信号传输格式也会影响帧率。yuyv是不压缩格式,因此帧率低。mjpeg是压缩传输的格式,因此帧率会高很多,但是画质可能差一些,而且不是所有usb摄像头底板都支持mjpeg格式,需要查询数据手册。

红外夜视

一般支持红外夜视usb摄像头并不是真的感知环境中的红外线。它们需要加装红外灯,照射到物体表面再返回摄像头底板被感光区感知,画面一般是黑白的,而且只有被红外灯照射到的部分才是亮的。

畸变矫正

畸变矫正一般是在摄像头标定中进行的。拍摄多张不同位置、大小、角度的棋盘格照片,再用算法计算出摄像头的内参和畸变系数。内参包括横向和纵向像素焦距、画面中心像素位置等,利用畸变系数可以反解出畸变矫正后的画面。

大广角USB摄像头选用指南_第9张图片

矫正后画面肯定不再是长方形了,你看到的还是长方形是因为画面进行了裁剪。因此广角镜头得到的有用画面未必就很大,而且畸变的部分矫正效果未必很好。

相机标定可以用matlab,也可以用ros中的camera_calibrate包。我一般用的后者,十分方便。矫正算法都应该选用pin-hole模式(小孔成像),而不是fish-eye。

安装调焦

把镜头拧到镜座上,并旋转调整直到画面清晰为止,然后拧紧镜座上的固定螺丝。

大广角USB摄像头选用指南_第10张图片

当然,也有那种带有线性马达的自动对焦镜座。

外壳

除了裸板以外,还有上面这种豆腐块外壳。这种外壳也是有高镜座和矮镜座两种版本的,需要根据镜头长度选择。

 

你可能感兴趣的:(无人机开发,摄影,镜头,usb)