相机、分类器、双目、结构光、打印机分辨率的基本知识

1.相机基本的原因:

   理想的小孔成像是不会有畸变的,但是相机镜头是一个透镜而不是小孔,其会导致进来的光点产生偏移,从而畸变。其两者的结构如下:

相机的镜头看出是两个凸镜和一个平面玻璃,则其光是经过两次折射的,从上到下的折射率是不同的,其中的蓝色线是实际小孔成像时的光线,但是与实际进来的红色线

有偏差,这就是畸变的原因,不同位置畸变是不一样的。

  

2、相机内外参数、畸变参数求解时的棋盘格放置要求:

我们知道棋盘格要进行多个角度和方向放置进行拍摄。当只放相机视野中心位置进行多角度放置时其求出来的畸变拟合效果很不好,

因为其无法确切的反应相机的外围畸变。因为相机的畸变图如下所示:

3.相机的内外参标定,为什么需要3张图片以上:(暂时不考虑畸变)

  相机的内参5(当不需知道f焦距时则是四个内参,opencv1里是只需两个视场,即两张图即可求出4内,6外),外参6,按照每张图片能提高的有效点只有4个,其他角点是没有作用的,因为第五个角点就跟前面的有线性相关了,要线性无关才是有意义的方程。意思就是通过前面的四个可以求出第五个角点跟其它角点有关,其如图所示:

 

所以一个视场的图片能提供四个角点,八个方程,解完自己的RT只需六个方程,赚两个方程,则总共需两个视场的图片就可以合起来解出四个内参,即两张图片,如果f也要解则需三张图片,现实中图片越多,参数越稳定。

4、一般项目时要先进行灵敏度分析,即看其精度能否达到:

例如车轮倾斜度检测,精度是0.1度,一般当车轮有0.1度的倾斜时,图像里的像素变化仍未达到一个像素,所以但是其外围的像素灰度值会有些降低,所以要使用映射的方法,

通过插值,把图片进行放大。车轮定位是在车轮上棋盘格。其如下:

3.分类器不是万能的:

当人眼都无法分辨的东西,一般分类器也不能很好的工作,如果用分类器都是扯淡的,不过在使用分类器进行样本训练时要预先进行一些处理,使得送给分类器的样本是最有

用的,例如我们为了训练处跑动的人,那么我们完全可以使用脚步的那部分图片作为样本进行训练,而不用把人的全部并且包括背景也拿进去训练,这样子可以提高准确率,无关信息太多,则会降低准确率,例如背景占大部分的样本拿去训练,则当背景环境改变后,则会出现识别不了的。所以在进行分类前要进行感兴趣区域提取,准确率才会高,跑动的人的样本如下,把脚上部分去掉,

4.双目视觉为什么没有结构光流行:

是因为两个摄像头有视差,即对于某些点其中一个摄像头可以看到,另外一个摄像头无法看到,而且在两幅图片里进行特征点匹配时,准确度要求很高,其比较稳定的用于匹配的特征点是Sift,当两幅图里出现白块,而没有明显特征时,要使用马尔可夫随机场(MRF)。所以为了解决这个找对应点的难点,改用投影仪,其是对另一个相机视野中的每个点进行编码,一般是编16位,其中每一种结构光则是进行一次编码,所需16张图片,才能组合成16位0,1。其大概打

出的光如下:

投影仪的更早方法是激光点的三角测距,其是用一个点激光打出去,测出Z,后来为了每次能测多个点,就改用线激光,再后来就改用投影仪。

6.马尔可夫随机场(MRF)

其比较常用的是进行目标分割,例如分割出树的区域,使用传统的方法是很难的,因为树叶的在二值化后是很多小分块的,而此算法就是把这些树叶产生关联,可以很好地把树整体分割出来。

7.相机的使用前的工作,MCAP可以调节摄像头参数,使其处于很好地状态,其会把参数储存到相机了,只有不断电,相机则会一直使用此参数,

每次断电后其会恢复默认值,所以在程序里一般要先初始化相机,这样子每次上电的参数就一样。以后有能力要调好相机参数才使用,否则会影响其算法的稳定性,

a.自动白平衡--一定要取消,想使用MCAP调节其RGB都为255,对着一面白墙调为正灰色,这样就可以使其适用性更广,例如全白的墙,突然来了一半红布,则白墙会偏蓝,则任何颜色跟踪算法都作废。如果是在取消自动白平衡的情况下,是图像里的目标与图像里的目标进行颜色对比,则可以不用进行白平衡矫正,因为其色温相同。但是如果想提前图像里的红色目标,则需进行白平衡矫正,这样子检测到的颜色才可能是红色,否则图像里看到的是非红色。

b.逆光补偿、自动曝光都要关掉

一般带自动和补偿的都要关掉,一般用MCAP调好后参数不会变,但是断电后相机会恢复默认值。

8.映射方法的实际原理:

这是映射表格,其左边的包含了很多插值出来的亚像素点,由右边的棋盘格角点进行插值(实际上就是等分实际物理长度),这样就把一个格子变成了很密的网格,同样在图像像素里也由四个角点通过插值变成很密的网格,他们的格子是一一对应,例如,实际的物理精度要0.02mm,棋盘格是5mm(实际上也小越好,插值的次数少,计算量小),则其要进行5/0.02=250次插值,同理图像也要对四个角点进行250次

插值,这样子其图像的每个插值角点对于着空间物理坐标下的角点,就是形成了上图所示的映射表。当定位时我就可以根据坐标来寻找离其最近的像素映射表里的点,

然后映射找出来的物理点就是很准确的点坐标。

其是这只是去除了相机的畸变误差,实际上对相机理想情况下的定位精度还是没有提升。因为假如此时的相机位置固定在某个位置,通过计算其像素精度是0.12mm/像素(一般这里的像素精度越小,即CCD分辨率越大,则下面计算的0.164亚像素就越大,则越好定位)则5mm的方格角点占的像素大约为,5/0.12=41像素(实际情况下是通过边长的两个角点相减,然后计算所占像素大小,这样子就不会引入固定误差,这里只是大概的意思

则41个像素被分割成了250份,则41/250=0.164像素,这就意味着你在图像里定位目标的像素精度要达到0.164的亚像素以内,这种像素定位精度是很难的。所以其本质上是没有改变像素定位的精度要求,其只是使得像素与空间物理坐标的转换准确度提高了,因为其省去了其中的R,T,畸变参数,内参这些参数的转换。

 

9.打印机的分辨率对棋盘格的精度影响:

其实锁螺丝机的0.02mm精度是一种超精密测量,因为要完成此工作有很多工作要做,例如棋盘格的打印,其中精度很高的打印机分辨率是2400x1200dpi(其中的dpi是Dot(点) Per Inch,inch是英寸其等于2.54厘米)其也相当于棋盘格的真实长度会有25.4/1200=0.0216mm的误差,这就导致实际从像素坐标通过RT(假如R、T是超准确的)转换到棋盘格的坐标是有0.0216mm误差的,所以这也是我们为什么要通过映射表关系来提高精度,因为打印的实际格子边长误差0.0216在进行250等分后其每个格子的误差值就是0.0216/250=0.0000864mm,超小的值,可以忽略,则就可以实现对打印机的打印要求没那么高,精密的一般要叫外面的工厂加工,一块精密的棋盘格大约是四五百块钱,这里只能表示好贵。

 

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值