本帖最后由 fbhsy 于 2016-1-23 19:35 编辑
继上一篇“线性CCD选型、应用浅析贴”后再来聊聊自己对于智能车摄像头的一些浅薄认识。(老规矩,楼下附上样车视频)
第一步还是回到比赛规则,基于第十一届规则的变化,能使用摄像头传感器的组别包含信标组,双车组,当然还有摄像头组,对于赛道黑白信息来说,摄像头作为采集赛道信息的传感器,无疑是一个较好的选择,信息量大,当然也就伴随着处理难度的增加,当然对于自身的锻炼也更多一些。任何小白在通往技术宅的道路上,过程越艰辛,往往更能锻炼人。这个过程中自己做的东西越多,自己学到的东西就更多。比如远近闻名的中南顺暗----朱葛俊 大神,看了他的大学经历只能默默怨恨自己的大学还不够努力,涉猎之广泛,做过的东西之多,以及每一方面达到的深度都令人不敢相信这是一个本科生能做到的,但大神就是大神,表示佩服,车友们可以多学学这种敬业的探究精神,不仅仅是做智能车,这种精神普适于任何一个领域。
扯远了,还是回到摄像头,关于摄像头的选型可算是被讨论烂了的一个话题,不计其数的人问过是选CCD好还是CMOS好,选模拟的好还是数字的好。CCD和CMOS在制造上的主要区别主要是CCD是集成在半导体单晶材料上,而CMOS是集成在被称为金属氧化物的半导体材料上,工作原理没有本质的区别,都是利用感光二极管(photodiode)进行光电转换,这种转换的原理与太阳能电子计算机的太阳能电池效应相近,光线越强、电力越强;反之,光线越弱、电力也越弱。根据此原理将图像转换为数字数据,而其主要差异是数字数据传送的方式不同。比较CCD和CMOS的结构,ADC(数模转换器)的位置和数量是最大的不同。CCD每曝光一次,在快门关闭后进行像素转移处理,将每一行中每一个像素的电荷信号依序传入“缓冲器”中,由底端的线路引导输出至CCD边缘的放大器进行放大,再串联ADC输出;而CMOS的设计中每个像素旁边都直接连着ADC,电荷信号直接放大并转换成数字信号。造成这种差异的原因在于CCD的特殊工艺可保证数据在传送时不会失真,因此各个像素的数据可汇聚至边缘再进行放大处理;而CMOS工艺的数据在传送距离较长时会产生噪声,因此,必须先放大,再整合各个像素的数据。随着CMOS电路消噪技术的不断发展,制造工艺的提高,CMOS的性能已经与CCD相差无几。(此段原理分析摘自网络)
但直接把这种对比分析、讨论放在智能车摄像头选择标准上是不合适的,因为单单把摄像头芯片剥离出来对比优劣并不科学,正确的打开方式应该结合智能车应用的特点,结合赛道元素,结合车模的运动特征来分析。大致概括为以下几点仅供参考: 2、镜头:镜头直接决定了摄像头的视场大小,透光性,像素大小,畸变量等,还有一个不能忽略的是要和传感器靶面大小匹配,1/3靶面尺寸的镜头适配1/3靶面大小的摄像头芯片,1/4靶面尺寸的镜头就要适配1/4靶面大小的摄像头芯片,目前流行的用于智能车的摄像头芯片基本就是这两种尺寸,同时要选择自己喜欢的视场大小,是90°、120°还是140°甚至170°,这都要根据摄像头是用在什么组别再加上个人的理论立场。畸变量越小越好,光圈2.0-2.5左右都行,像素清晰度基本都能满足,黑白分明的赛道信息对分辨率要求不高,但均匀性要好。 3、摄像头芯片:智能车竞赛最讲究的是摄像头的动态特性,需要拍高速运动的赛道(以摄像头为参照,相当于赛道在运动)。需要对光线适应性好。所以用于智能车最应考虑的特点包括快门方式(也就是其曝光方式)和动态范围(指输出图像的最亮和最暗部分之间的相对比值),数据采集周期,分辨率,感光靶面大小,这些因素都应该考虑进来,至于是彩色还是黑白不必纠结,因为智能车赛道信息只有黑和白(蓝色背景布或其他深色背景布的灰度值几乎与黑色无异,比黑色大一点点)。关于模拟和数字之争就基本没必要了,在历届竞赛里有模拟摄像头称王,也有数字摄像头问鼎,只要能满足智能车应用的需求,这两种都够用。CCD 和 CMOS亦是同样的道理,两者皆有高性能芯片可供选择。
接下来聊聊关于摄像头的应用:(注意:前方有广告植入)
摄像头样车应用以“逐飞科技”研发的“总钻风数字摄像头” 为基础展开,先分析下总钻风摄像头的特点: 该摄像头基于MT9V032芯片制作,相信应该有不少车友听说过镁光生产的这一系列的摄像头芯片(包括MT9V022、MT9V034等),其全局快门和高动态性能的特点非常适合用于智能车竞赛。 先讲讲它的快门方式,常见的电子快门的方式有Global shutter(全局快门) 和 rolling shutter(卷帘式快门)两种,全局快门是通过整幅图片在同一时间曝光实现的。传感器的所有像素点同时收集光线,同时曝光。当预设的曝光时间到了,传感器停止收集光线,并将曝光图像转成电子图像。在这个过程中,并没有实际意义上的快门存在。在曝光开始的时候,传感器开始收集光线;在曝光结束的时候,光线收集电路被切断,传感器读出值即为一副图片。 卷帘式快门与全局快门不同,它是通过控制芯片逐行曝光的方式实现的。卷帘式快门也没有实际意义上的快门,而是通过通断电控制传感器,使其不同部分在不同时间下对光的敏感度不同。逐行进行曝光,直至所有像素点都被曝光。当然,所有的动作在很短的时间内完成,一般情况为1/48至1/60秒。需要注意的是,卷帘式快门采用的是逐行曝光的方式。假如物体或摄像头在拍摄期间处于快速运动状态,拍摄结果就可能出现“倾斜”、“摇摆不定”或“部分曝光”等任一种情况。卷帘式快门是逐行顺序曝光,所以不适合运动物体的拍摄。当采用全局快门方式曝光时,所有像素在同一时刻曝光,类似于将运动物体冻结了,所以适合拍摄快速运动的物体。但是全局快门可能出现像糊现象。像糊现象出现与否取决于曝光时间的长短。假如曝光时间过长,且物体运动过快则会出现像糊;假如曝光时间很短,类似于运动物体在瞬间被冻结了,则少有模糊。 再就是它的高动态范围(DynamicRange)达到了90dB+,一般CMOS约60 dB,其高动态范围通过CMOS图像传感器的多斜率曝光实现。
总钻风数字摄像头的一些其他特点大致概括如下: 1、无需驱动:总钻风摄像头内部集成了驱动配置芯片,所以用户不需自己配置摄像头,可直接采集数据应用; 2、FPS可调:软件可调FPS,总钻风摄像头可在50帧、60帧、75帧、100帧、150帧切换,重要的是在各种帧率下图像皆很稳定。并且还可以更高,只不过考虑到智能车也不需要太高,够用就好; 3、自动曝光:总钻风摄像头具有自动曝光功能,当环境变亮摄像头会自动减小曝光时间,当环境变暗摄像头会自动增加曝光时间。所以此款摄像头可以适应不同环境。在光线不均匀的环境中中建议开启该功能。如现场光线非常均匀,也可自己固定曝光时间,当摄像头是固定曝光时间的时候,采集到图像较亮(曝光过度)时,可以通过程序去调节曝光时间,使得图像不那么亮,反之亦然。 4、可以实现二值化:简单处理即可实现二值化效果,用户可以只取数据位的高一位,当高一位为1是为白,否则为黑,即可实现二值化!配合自动曝光即可实现动态阀值的二值化。但这么好性能的摄像头选择二值化有点浪费,建议还是使用灰度值。
样车例程采用DMA采集摄像头数据,无需行中断控制时序,场中断开始采集,采集完成之后给出DMA中断,整幅图像采集只需要中断两次,搜线采用跟踪边缘算法。丢线时按照斜率补线(弯入十字补线和直入十字补线图片在8楼)。找到边界之后算出中心线,中心线乘上对应的权然后相加用于控制舵机。具体怎么操作可以参考逐飞科技的入门例程。
楼下附上逐飞科技总钻风摄像头样车视频,和一些摄像头性能说明图及样车图,此款摄像头用于双车组、摄像头组,信标组都是上佳选择,信标组只需要更换镜头即可(所有的摄像头都是这个道理,更换镜头就可用于信标组),同时已整理出样车整车机械及电子器件清单,可参照清单、原理图、例程做一辆正真先跑起来的车看看效果,想要取得好成绩还得自己发挥,对于智能车,只有真爱才能取得更长足的进步,我们提供的不是捷径,而是基础的参考,装逼还得靠自己。
对规则不明了的到官网下载相关文档,多看几遍规则! 对智能车还不知从何下手的多看看技术报告,多逛逛此论坛,基础知识欠缺的多看看书! 最后提前祝车友们春节快乐!
依旧附上逐飞科技座右铭分享给大家:永远不要轻视行动的力量!
逐飞科技技术贴链接:
本文由“逐飞科技”编辑整理,大神轻拍,欢迎交流,愿智能车世界更美好!
摄像头样车,先睹为快。。。
补充内容 (2016-1-25 09:16):
补一个:逐飞科技__智能车部落 179029047 |