Halcon|Halcon 3D物体识别


总结了一下关于Halcon的 Object-Recognition-3D:
1. 基于控制点的位姿估计:
首先,得确定相机的内外参,其次,选择三个或以上容易和准确地从图像中提取的点作为控制点,通过确定控制点的三维坐标来确定物体的位姿
2. 基于形状的匹配:
利用三维计算机辅助设计(CAD)模型生成三维形状模型,三维形状模型由从不同视图中看到的三维物体的二维投影组成,需要限制形状模型的允许姿态范围,从而最小化必须计算并存储在三维形状模型中的二维投影的数量,然后在图像中搜索,最终返回物体的三维位姿
3. 基于表面三维匹配的姿态估计:
利用表面模型(由一个三维物体模型产生的,这个模型可以是三维计算机辅助设计(CAD)模型,也可以是三维重建方法)于3D场景中(如3D点云)搜索数据,得到匹配的三维位姿
4.基于表面的三维变形匹配:
与上一种不同的地方在于,它允许三维模型有一点变形,可选择使用add_deformable_surface_model_reference_point定义一些引用点
5.基于3D基元拟合的位姿估计:
用的3D基元类型包括球体、圆柱体和平面,3D基元拟合确定了简单3D形状的位置或3D姿势。
6. 基于标定的透视变形匹配的姿态估计:
使用一个平面物体的自动派生轮廓来搜索。透视变形匹配可用于标定的相机,然后返回物体的三维姿态,也可用于未标定的相机,然后只返回二维投影变换矩阵
适用于由轮廓清晰区分的平面物体或平面物体部件。
7. 基于标定描述符匹配的姿态估计
与透视图可变形匹配类似,基于描述符的匹配查找和定位与图像中的模板模型相似的对象。同样,匹配可以应用于校准过的摄像机,然后返回物体的三维姿态,或者应用于未校准过的摄像机,然后只返回二维投影变换矩阵(homography)。
和上一种方法的不同之处在于,基于描述的匹配不是基于轮廓的,而是使用不同的对象点,即所谓的兴趣点,来描述模板并在图像中找到模型。
主要适用于具有特征纹理和特征目标点的平面物体
8. 圆的位姿估计
提取二维椭圆与内部摄像机参数和已知的圆半径,可以利用算子get_circle_pose来获得圆的两种可能的三维姿态(具有相同的位置,但方向相反)
9. 矩形的位姿估计
【Halcon|Halcon 3D物体识别】矩形的轮廓被分割成四个线段,它们的交点被认为是四边形轮廓的角。使用提取的三维矩形二维四边形,连同内部摄像机参数和已知的矩形大小,可以使用算子get_rectangle_pose轻松获取矩形可能的三维姿态

    推荐阅读