多相机非共视场的非合作圆特征位姿测量方法

宋代平, 陆璐

宋代平, 陆璐. 多相机非共视场的非合作圆特征位姿测量方法[J]. 红外技术, 2020, 42(1): 93-98.
引用本文: 宋代平, 陆璐. 多相机非共视场的非合作圆特征位姿测量方法[J]. 红外技术, 2020, 42(1): 93-98.
SONG Daiping, LU Lu. Non-cooperative Circle Characteristic Pose Measurement Using Multiple Cameras without Public Field of View[J]. Infrared Technology , 2020, 42(1): 93-98.
Citation: SONG Daiping, LU Lu. Non-cooperative Circle Characteristic Pose Measurement Using Multiple Cameras without Public Field of View[J]. Infrared Technology , 2020, 42(1): 93-98.

多相机非共视场的非合作圆特征位姿测量方法

基金项目: 国家自然科学基金联合基金项目(U1530138)
详细信息
  • 中图分类号: TN209%TP242

Non-cooperative Circle Characteristic Pose Measurement Using Multiple Cameras without Public Field of View

  • 摘要: 以大型光学模块转运时基于视觉的位姿测量为背景,利用目标底部同一平面的两个圆特征,针对大目标近距离对接时的环境限制,提出一种基于距离和角度约束的多相机非共视场位姿检测方法.对接时球头与锥孔正确对接,将两个相机分别固定于球头机构的内部后采集锥孔边缘的圆特征,利用非共视场成像的多相机标定获取两相机位置关系,融合多个相机的位姿信息,利用两圆共面和两相机位置关系约束剔除空间圆位姿解算时的虚假解.实验验证了该方法的精度,在1140 mm的工作距离时,圆边缘特征的姿态角误差小于0.5°,圆心的计算误差小于1.0 mm,实验结果表明该方法可准确计算位姿,结果可靠有效,在大目标近距离位姿测量时具有明显实用性.
  • 红外焦平面阵列由于受到制造工艺等的影响,常常会出现盲元,盲元包括固定盲元和随机盲元,其表现形式通常是在图像上形成暗点或者亮点。盲元会影响探测器成像的质量,因此需要对焦平面阵列进行盲元检测和补偿[1]。双波段红外焦平面阵列相对于传统的单波段红外焦平面阵列具有较大的优势,在环境条件极其复杂多变的现代战场上,双波段红外焦平面阵列可以获取更多的目标信息,提高目标的检测和识别机率。但是双波段红外焦平面阵列依然存在盲元的困扰。

    此前,国内对盲元校正的研究通常是在单波段层面,在盲元检测方面,可以分为基于定标的检测法和基于场景的检测法[2]。基于定标的检测法方面,张红辉等人通过对定标图像进行直方图分解,估计出有效像元的均值差和标准差,进而区分有效像元和盲元[3]。姚琴芬等人提出了一种基于双参考源的盲元检测方法,通过黑体在两个不同温度下采集图像,然后利用阈值对盲元进行检测[4]。基于场景的检测法方面,冷寒冰等人使用了时域多帧累加的检测方法,可以较为有效地避免误检[5]。粟宇路等人根据盲元的时空域灰度分布特性,通过多帧图像来对盲元进行检测[6]。张东阁等人利用无监督学习的一类支持向量机以及随机场景图像序列,建立了更新的分类模型,可以实时地检测盲元[7]

    过往通常使用的单波段盲元替换算法对大盲元簇及位于边缘位置的盲元补偿效果不尽如人意,随着双波段热像的逐渐兴起,本文提出了一种基于双波段信息的盲元补偿算法,利用双波段之间的图像差异来对盲元进行检测,并对双波段红外图像中出现的不同盲对盲元进行补偿。

    国家军用标准中通过将器件对黑体辐射的响应程度作为量化标准,将其分为过热像元与死像元两类,过热像元是像元噪声电压大于平均噪声电压10倍的响应像元,而死像元则是指像元响应率小于1/10平均响应率的像元。通常,过热像元表现为白点和亮点,死像元表现为灰点和暗点,如图 1所示。

    图  1  盲元图像
    Figure  1.  Image with blind pixels

    在双波段红外成像中,由于目标不同波段的辐射是通过同一光学系统被双波段焦平面阵列接受,因此,同一目标的不同波段辐射信息在双波段红外图像中是有一定的相似性的,此外,双波段探测器中,两个波段的图像中盲元位置较少有重叠,因此使用双波段信息对盲元进行补偿是完全可行的。

    在双波段红外图像中,对于像元的判断可以简单的分为3种情况:

    ① 像元在一个波段正常响应,而在另一个波段不正常响应,则该像元在不响应波段为盲元;

    ② 像元在两个波段都正常响应,则该像元为正常像元;

    ③ 像元在双波段都不正常响应,则该像元在两个波段皆为盲元。

    对于盲元的检测,前人做了许多工作,根据文献[4],可将红外图像看作不含盲元的理想图像和盲元的叠加,即:

    $$ {Y_{\rm{B}}}(i,j) = {X_{\rm{B}}}(i,j) + B(i,j) $$ (1)

    因此像元是否正常响应可以通过以下公式判断:

    $$ |{Y_{\rm{B}}}(i,j) - {X_{\rm{B}}}(i,j)| \leqslant h $$ (2)

    式中:YB(i, j)为原始图像;XB(i, j)为理想无盲元图像;B(i, j)盲元图像;h为阈值。

    在双波段红外图像中,对于盲元的检测,一般是对两个波段的图像进行盲元检测,分别标记出两个波段的盲元,最后再进行运算,也就意味着本文算法中需要进行两次盲元检测。

    此外,对于运动场景,由于场景信息比较复杂,因此本文对其进行累计多帧的判断,连续多帧判断图像中某一像元为盲元才会对其进行标记[7]。本文算法流程图如图 2所示。

    图  2  算法流程图
    Figure  2.  Algorithm flow chart

    在单波段的盲元替换中,通常都是使用邻域平均的方法来对盲元进行补偿,当盲元位于场景中的边缘位置时,如果使用邻域校正,则有可能让部分非边缘的信息参与到盲元补偿过程,由于边缘信息与非边缘信息的差异较大,这就导致了盲元补偿后,补偿后的盲元与周围像元差异依然比较明显。

    因此,本文在盲元补偿过程中增加了对盲元的位置是否位于边缘的判断。先通过边缘检测得出图像的边缘,本文在进行边缘检测时是使用的Sobel算子,Sobel算子两个方向的模板如下所示:

    $$ x:\left[ {\begin{array}{*{20}{c}} { - 1}&0&1 \\ { - 2}&0&2 \\ { - 1}&0&1 \end{array}} \right] y:\left[ {\begin{array}{*{20}{c}} 1&2&1 \\ 0&0&0 \\ { - 1}&{ - 2}&{ - 1} \end{array}} \right] $$ (3)

    提取出图像的边缘图像后,可以对图像中的盲元进行分类,根据其是否位于边缘采取不同的盲元补偿策略。当盲元位于图像边缘时,对盲元进行邻域平均补偿时仅选取邻域中同样位于边缘位置的且非盲元的像素,当图像位于非边缘位置时,对盲元进行邻域平均补偿时仅选取邻域中同样位于非边缘位置的且非盲元的像素,双波段盲元分布如图 3所示。

    图  3  双波段盲元图像
    Figure  3.  Dual-band image with blind pixels

    此外,在双波段红外图像中,虽然目标不同波段的辐射是由同一焦平面阵列接收,但是由于各波段的光谱灵敏度曲线是非线性的,同一目标的强度响应在不同的波段内的变化也是非线性的,这就导致了在使用双波段信息进行盲元替换,不能简单使用另一波段的信息直接对其进行替换补偿,这时候就需要对两个波段之间信息的相似性进行评估了。

    假设xy是不同波段对于同一目标接收到的信号,他们的相似性决定了是否能够使用另一波段的信息对其进行补偿,在单幅图像中,xy可视为离散信号,其相似性问题可以使用求向量内积来度量。

    $$ {\text{Inner}}(x,y) = \lt x,y \gt = \sum\limits_i^n {{x_i}{y_i}} $$ (4)

    式中:Inner(x, y)为中波图像x及长波图像y中目标的相似性;n为目标大小。

    如果x高的地方y也比较高,x低的地方y也比较低,那么整体的内积是偏大的,也就是说xy是相似的。

    但是向量内积是没有界限的,有一种解决方法是除以长度之后再求内积,即余弦相似度,余弦相似度与向量的幅值无关,只与向量的方向有关。

    $$ {\rm{dist}} (x,y) = \frac{{ \lt x,y \gt }}{{\left\| x \right\|\left\| y \right\|}} = \frac{{\sum\nolimits_i {{x_i}{y_i}} }}{{\sqrt {\sum\nolimits_i {x_i^2} } \sqrt {\sum\nolimits_i {y_i^2} } }} $$ (5)

    使用余弦相似度对双波段图像中一定大小的区域进行度量后,可以评估出两个波段图像中此区域各个像素点之间的相似性。

    评估出相似性后,可以根据两个波段中盲元邻域的相似性来决定对另一波段信息的使用情况,当相似性高时,使用的另一波段信息较多,当相似性低时,使用另一波段信息较少,这样可以较为有效地减小补偿后盲元与周围像素的差异。

    因此,考虑双波段信息,边缘信息,以及相似性后,本文使用的盲元补偿方法如式(6)所示:

    $$ \begin{array}{l} {\text{Rp}}(i,j) = (1 - \frac{1}{{{\text{dist}}(x,y)}}) \times \frac{1}{{nm}}\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^m {({x_{ij}}} } \times {E_{ij}} \times {\text{bp}}{x_{ij}}) + \hfill \\ \quad \quad \quad \;\;\;\;\frac{1}{{{\text{dist}}(x,y)}} \times {y_{ij}} \hfill \\ \end{array} $$ (6)

    式中:Eij为边缘图像;bpxij为盲元图像;dist(x, y)为相似性;xij为盲元所在波段信息;yij为另一波段信息。

    本文对提出的算法进行了仿真分析。

    图 4为不同大小的中波信息对盲元簇的补偿效果的影响,其中图 4(a)中为不使用中波信息,仅使用长波信息对长波图像中的盲元进行补偿,其中图 4(b)中为使用50%的中波信息及50%的长波信息,对长波图像中的盲元进行补偿,图 4(c)为使用本文算法对长波图像中的盲元补偿结果,可以发现,根据相似性来使用中波信息可以较为有效地减小补偿后盲元与周围像素的差异。

    图  4  使用不同大小的中波信息补偿结果
    Figure  4.  Results were compensated using midwave information of different sizes

    图 5仿真使用的图片来自某中长波热像仪,其中长波图像中有盲元,而中波图像中没有盲元,为了达到较好的验证效果,在仿真过程中,我们随机赋予了长波图像一个7×10的盲元簇,仿真结果见图 5,其中图(c)为仅使用单波段信息对盲元进行补偿的结果,图(d)为本文算法结果。

    图  5  本文算法和单波段盲元校正算法仿真结果
    Figure  5.  Correction results of new algorithm and single band compensation algorithm

    从仿真结果来看,仅使用单波段盲元对其进行校正,得到的盲元补偿后图像中,虽然盲元簇有一定的改善,但是依然有较为大块的盲元簇存在,而使用本文算法对盲元簇进行补偿后,图像中的盲元现象得到了明显的改善,盲元簇基本消失。

    传统的单波段盲元替换算法对于大盲元簇及位于边缘位置的盲元通常不能取得较为理想的补偿结果,本文针对此问题并结合双波段热像仪的特点,提出了一种基于双波段信息的盲元替换算法,实验结果表明,本文算法对于场景中的大盲元簇及位于边缘位置的盲元有着较为良好的补偿效果。但是,在实验过程中,我们同样也发现了一些问题,诸如硬件实现时资源需求过多等问题,依然有待后续改进。

  • 期刊类型引用(1)

    1. 刘泉,刘欢,杨鹏. 基于FPGA的量子点宽光谱图像盲元补偿和锐化算法实现. 光学与光电技术. 2025(01): 26-34 . 百度学术

    其他类型引用(4)

计量
  • 文章访问数:  79
  • HTML全文浏览量:  8
  • PDF下载量:  23
  • 被引次数: 5
出版历程

目录

/

返回文章
返回
x 关闭 永久关闭