本技术涉及相机定位,特别是涉及一种用于相机位姿的快速定位方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
1、随着物体拍摄定位技术的发展,出现了相机定位技术,本技术的拍摄相机安装于机械手末端,通过控制机械手的位置来控制相机的拍摄位置,可以实现相机的自动定位。
2、传统技术中,一般采用相机对物体进行视频拍摄,从拍摄得到的视频中选取多帧符合预设规律的图像,根据选取的多帧图像计算拍摄物体的世界坐标,再根据物体的世界坐标完成相机的定位。
3、然而,目前的传统方法在拍摄过程中机械臂需要不断重复绕机械臂中心旋转进行拍摄,以及对拍摄到的冗余图像进行剔除,耗费大量时间,因此相机运动消耗时间长导致相机的目标定位速度慢。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够快速定位的用于相机位姿的快速定位方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本技术提供了一种用于相机位姿的快速定位方法。所述方法包括:
3、控制机械臂末端的相机进行拍摄,得到第一图像,并对所述第一图像进行目标检测,得到目标检测信息;
4、根据所述目标检测信息以及第一相机参数,预估目标物体的第一世界坐标;
5、根据所述第一世界坐标以及目标像素坐标,确定所述机械臂末端的相机的第一目标拍摄位置信息;
6、根据所述第一目标拍摄位置信息,控制所述机械臂末端的相机移动并进行拍摄,得到第二图像,并对所述第二图像进行目标检测,得到所述目标物体的第二像素坐标;
7、根据所述第二像素坐标、所述目标检测信息中的第一像素坐标、所述第一相机参数以及第二相机参数,确定所述目标物体的第二世界坐标;
8、根据所述第二世界坐标以及所述目标像素坐标,对所述机械臂末端的相机进行目标定位。
9、在其中一个实施例中,所述根据所述目标检测信息以及第一相机参数,预估目标物体的第一世界坐标,包括:
10、将所述目标检测信息、第一相机参数中的相机外参以及第一相机参数中的相机内参融合,得到所述目标物体在相机坐标系中的坐标;根据所述第一相机参数中的相机外参,将所述目标物体在相机坐标系中的坐标转换成世界坐标,预估得到所述目标物体的第一世界坐标。
11、在其中一个实施例中,所述将所述目标检测信息以及第一相机参数融合,得到所述目标物体在相机坐标系中的坐标,包括:
12、将所述目标检测信息以及第一相机参数融合,得到所述目标物体至所述机械臂末端的相机中心的目标距离;将所述目标距离、所述目标检测信息中的第一像素坐标以及所述第一相机参数中的第一焦距融合,得到第一坐标值;将所述目标距离、所述目标检测信息中的第一像素坐标以及所述第一相机参数中的第二焦距融合,得到第二坐标值;将所述目标距离、所述第一坐标值以及所述第二坐标值分别作为所述目标在相机坐标系中三个方向的坐标值,得到所述目标物体在相机坐标系中的坐标。
13、在其中一个实施例中,所述根据所述第一世界坐标以及目标像素坐标,确定所述机械臂末端的相机的第一目标拍摄位置信息,包括:
14、根据所述第一相机参数中的相机外参,将所述第一世界坐标由世界坐标系转换至相机坐标系,得到所述目标物体在相机坐标系中的第一相机坐标;根据所述第一相机坐标,确定所述机械臂末端的相机的姿态偏移量;根据所述姿态偏移量、目标像素坐标以及所述第一世界坐标,确定所述机械臂末端的相机的第一目标拍摄位置信息。
15、在其中一个实施例中,根据所述姿态偏移量、目标像素坐标以及所述第一世界坐标,确定所述机械臂末端的相机的第一目标拍摄位置信息,包括:
16、将所述姿态偏移量、目标像素坐标以及所述第一世界坐标进行融合,得到所述目标物体的目标相机坐标;将所述目标相机坐标与所述第一相机坐标进行融合,得到坐标偏移量;将所述坐标偏移量与所述机械臂末端的相机的当前世界坐标融合,得到第一目标拍摄坐标;根据所述姿态偏移量以及所述第一目标拍摄坐标,得到机械臂末端的相机的第一目标拍摄位置信息。
17、在其中一个实施例中,所述目标检测信息包括第一像素坐标以及物体高度;所述对所述第一图像进行目标检测,得到目标检测信息,包括:
18、对所述第一图像进行目标检测,得到目标物体的第一像素坐标以及物体类别;根据所述物体类别,确定所述目标物体的物体高度。
19、第二方面,本技术还提供了一种用于相机位姿的快速定位装置。所述装置包括:
20、第一拍摄检测模块,用于控制机械臂末端的相机进行拍摄,得到第一图像,并对所述第一图像进行目标检测,得到目标检测信息;
21、坐标预估模块,用于根据所述目标检测信息以及第一相机参数,预估目标物体的第一世界坐标;
22、粗定位模块,用于根据所述第一世界坐标以及目标像素坐标,确定所述机械臂末端的相机的第一目标拍摄位置信息;
23、第二拍摄检测模块,用于根据所述第一目标拍摄位置信息,控制所述机械臂末端的相机移动并进行拍摄,得到第二图像,并对所述第二图像进行目标检测,得到所述目标物体的第二像素坐标;
24、坐标确定模块,用于根据所述第二像素坐标、所述目标检测信息中的第一像素坐标、所述第一相机参数以及第二相机参数,确定所述目标物体的第二世界坐标;
25、精定位模块,用于根据所述第二世界坐标以及所述目标像素坐标,对所述机械臂末端的相机进行目标定位。
26、第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
27、控制机械臂末端的相机进行拍摄,得到第一图像,并对所述第一图像进行目标检测,得到目标检测信息;根据所述目标检测信息以及第一相机参数,预估目标物体的第一世界坐标;根据所述第一世界坐标以及目标像素坐标,确定所述机械臂末端的相机的第一目标拍摄位置信息;根据所述第一目标拍摄位置信息,控制所述机械臂末端的相机移动并进行拍摄,得到第二图像,并对所述第二图像进行目标检测,得到所述目标物体的第二像素坐标;根据所述第二像素坐标、所述目标检测信息中的第一像素坐标、所述第一相机参数以及第二相机参数,确定所述目标物体的第二世界坐标;根据所述第二世界坐标以及所述目标像素坐标,对所述机械臂末端的相机进行目标定位。
28、第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
29、控制机械臂末端的相机进行拍摄,得到第一图像,并对所述第一图像进行目标检测,得到目标检测信息;根据所述目标检测信息以及第一相机参数,预估目标物体的第一世界坐标;根据所述第一世界坐标以及目标像素坐标,确定所述机械臂末端的相机的第一目标拍摄位置信息;根据所述第一目标拍摄位置信息,控制所述机械臂末端的相机移动并进行拍摄,得到第二图像,并对所述第二图像进行目标检测,得到所述目标物体的第二像素坐标;根据所述第二像素坐标、所述目标检测信息中的第一像素坐标、所述第一相机参数以及第二相机参数,确定所述目标物体的第二世界坐标;根据所述第二世界坐标以及所述目标像素坐标,对所述机械臂末端的相机进行目标定位。
30、第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
31、控制机械臂末端的相机进行拍摄,得到第一图像,并对所述第一图像进行目标检测,得到目标检测信息;根据所述目标检测信息以及第一相机参数,预估目标物体的第一世界坐标;根据所述第一世界坐标以及目标像素坐标,确定所述机械臂末端的相机的第一目标拍摄位置信息;根据所述第一目标拍摄位置信息,控制所述机械臂末端的相机移动并进行拍摄,得到第二图像,并对所述第二图像进行目标检测,得到所述目标物体的第二像素坐标;根据所述第二像素坐标、所述目标检测信息中的第一像素坐标、所述第一相机参数以及第二相机参数,确定所述目标物体的第二世界坐标;根据所述第二世界坐标以及所述目标像素坐标,对所述机械臂末端的相机进行目标定位。
32、上述用于相机位姿的快速定位方法、装置、计算机设备、存储介质和计算机程序产品,通过控制机械臂末端的相机进行拍摄,得到第一图像,并对所述第一图像进行目标检测,得到目标检测信息;根据所述目标检测信息以及第一相机参数,预估目标物体的第一世界坐标,这样通过拍摄的第一图像可以快速的预估目标物体粗略的世界坐标,可以有助于快速的确定相机的下一拍摄位置;根据所述第一世界坐标以及目标像素坐标,确定所述机械臂末端的相机的第一目标拍摄位置信息;根据所述第一目标拍摄位置信息,控制所述机械臂末端的相机移动并进行拍摄,得到第二图像,并对所述第二图像进行目标检测,得到所述目标物体的第二像素坐标;根据所述第二像素坐标、所述目标检测信息中的第一像素坐标、所述第一相机参数以及第二相机参数,确定所述目标物体的第二世界坐标;根据所述第二世界坐标以及所述目标像素坐标,对所述机械臂末端的相机进行目标定位;本技术中,首先根据第一图像可以快速的估计得到目标物体的第一世界坐标,然后根据第一世界坐标,对相机进行第一次定位并拍摄,再根据第一图像与第二图像中目标物体的像素坐标,可以精确的得到目标物体的精确的第二世界坐标,根据第二世界坐标对相机进行精确定位,本技术只需要根据两次拍摄的目标物体的坐标像素即可完成对相机的精确定位,这样可以提高相机目标定位的速度。