视觉学习笔记Week5 工业相机模型和焦距的进一步计算
第五周 相机模型和焦距计算
根据上周所计算的基线和焦距,以及实际场地的分析和镜头方向和一些细节的问题。这周,继续计算焦距。在最大基线的确定下(95cm,车对角线宽104.8cm,比车宽稍短),根据实际情况计算焦距的大小。
- 关于相机横放和竖放的问题
相机画布像素尺寸(16:9)是一个长方形。横放和竖放在视场上有不同的差距。分为横向的视场和纵向的视场。
- 纵向布置
关于纵向的视场由于我们没有测试,但是可以想象,应该是画面获取的高度信息更多,宽度信息变少。这样的好处是在于可以在取景方式上排除一些宽度范围内不必要的环境干扰(场地外的一些干扰信息会显著减少),并且在球轨迹正向弧线时,轨迹获取更加完整,不会出现纵向画面信息丢失的情况。并且现在还不知道纵向下方的相机的光线阴影情况,光线不足也会导致画面有效信息的丢失。
- 横向布置
关于横向视场,是我们一直使用的相机排布方法。这是保证宽度信息不丢失的布置。在之前的测试视频中,横向的轨迹信息,最宽不会超过画布的一半。并且横向的排布,可以保证基线的最大化,和安装的便利。
总结:
目前的识别检测效果看来:
-
- 高度信息>宽度信息(球的上抛轨迹,重要的前半段帧,会出现在最高点前)
- 横向基线>纵向基线(根据TR结构,横向的基线可以MAX,保证精度)
- 目前看来,横向安装会比纵向安装容易
- 光线是否充足,需要实际情况观察。包括以上这些内容,我认为横向和纵向的选择,还需要实地测试一下,看一下实际效果,再做判断。
- 关于焦距的进一步计算
之前的焦距计算,是根据传感器尺寸,物距,FOV(视场),物体实际大小,像素投影去计算。实际情况下我们可能只需要传感器尺寸(S=v*h),物距(D),FOV(V&H),这里FOV可以理解为最小限度的一个准ROI(所以包含了实际物体大小),既要保证宽度,又要保证高度,因此便可以计算了。要想看清远处的橄榄球,当然是焦距长一点比较好,这样另一方面也可以在镜头上排除环境干扰,提升专一性。
那么就是要计算,合适的最大焦距,保证不丢失画面即可。
方法很简单:将FOV的长宽绑定一个合理的数值即可(这么看来纵向的排布就有一定的优势)
以下是前期数据确定:
目前所宽泛选择的相机传感器尺寸大都为1/1.8,2/3inch,下表给出其对应长宽:
CMOS大小 |
长mm |
宽mm |
1/1.8 |
7.18 |
5.32 |
2/3 |
8.8 |
6.6 |
关于物距,在SW下测量得出,物距最大约为7.21m,最小约为5.56m
关于FOV的确定:
根据之前的测试,我选定了一个16:9或者9:16的框去经可能大的框选测试帧中的球的轨迹(测试里大概物距6~7m,可以作为参考),然后根据最远处比例确定FOV(这里的比例可以不考虑的话,可以选取最远处参照物进行比例确定,如果实际测试则是最好的),这里说一下为什么不用物体实际大小确定FOV,在物距过大的状况下,较小比例的物体实际大小,会经可能的放大焦距,不能计算出合适的焦距,并且要保证确定一个ROI框住球的曲线比较好。并且要重点关注前半段轨迹,所以可以适当忽略后半段。也就是说在横向选取的时候可以在保证前半段点的前提下,缩小框选范围。
该选图保留18帧,占比18/24=75%(等于焦距拉长的原测试视频,且保留需求点)
例如这张图,根据像素比例计算宽度比例系数k1=15.6 可得v=4.09m
高度比例系数k2=9 可得h=2.36m
这一步是将像素距离转化为实际长度距离。(画布大小记录780*450)
F1=vD/V F2=hD/H 可得F1=12.66mm F2=16.25mm 二者取小F=12.66mm
-
- 传感器尺寸:2/3(8.8mmx6.6mm)FOV: V=4.09m H=2.36m Dmax=7.209m
F1=vD/V F2=hD/H 可得F1=15.51mm F2=11.63mm 二者取小F=11.63mm
由此初步估计的FOV计算出的横向排布焦距大致可用12mm
- 纵向排布焦距计算
纵向排布深度D基本保持不变,比横向的略小为7.1m左右。在传接球点有动态变化的前提下,为可接受误差范围。但是纵向排布改变了视图比例,如下:
同样保留75%的点。FOV会变小,这样焦距也会变大,且估算以下大概是20mm,如果需求是处理这部分,则可以选择20的长焦镜头。
换一个角度,应该控制另一个变量,控制FOV不变,那么纵向排布摄像头可以检测所有点。并且就我的测试来说,理论画面还会变大。下图是理论画面大小:
可以看到同样的FOV确定的画面更大,白色区域是额外画面会多出7.7%的图像信息。多2~3个帧。
因此这样控制变量焦距计算不变,12mm即可。
根据上述步骤可以算出不同视场所需要的焦距,关于FOV最好是实地在参考镜头下测量最为标准。