CN115567781A - 基于灵巧摄像头的拍摄方法、装置和计算机设备 - Google Patents
基于灵巧摄像头的拍摄方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN115567781A CN115567781A CN202211148706.3A CN202211148706A CN115567781A CN 115567781 A CN115567781 A CN 115567781A CN 202211148706 A CN202211148706 A CN 202211148706A CN 115567781 A CN115567781 A CN 115567781A
- Authority
- CN
- China
- Prior art keywords
- target object
- camera
- coordinates
- video image
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种基于灵巧摄像头的拍摄方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:响应于拍照指令,控制机械臂带动相机进行运动,获取在运动过程中对目标物体拍摄得到的视频图像,对视频图像的各帧进行识别,确定视频图像的各帧中目标物体的像素坐标,并根据视频图像的至少三帧图像中目标物体的像素坐标,确定目标物体在世界坐标系的坐标,根据目标物体在世界坐标系下的坐标,确定相机最佳拍摄位姿,控制机械臂带动相机运动至最佳拍摄位姿进行拍摄。该方法根据得到的像素坐标计算得到最佳拍摄位姿,并依据最佳拍摄位姿控制相机对目标物体进行重复拍摄,节省了计算时间,提高了拍摄速度和拍摄定位精度。
Description
技术领域
本申请涉及图像处理技术领域,特别是涉及一种基于灵巧摄像头的拍摄方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
物体拍摄定位是一个重要的领域,有基于单目相机的定位,也有基于双目相机或者深度相机的定位。采用相机对目标物体进行定位,从而获取目标物体的世界位置信息。
现有的目标物体的定位方法中,采用多机位对目标物体进行拍摄,相机是直线拍摄目标物体,尽管添加相机设备的数量,拍摄的视角也很局限,常存在拍摄后物体定位精度不高的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高拍摄定位精度的基于灵巧摄像头的拍摄方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种基于灵巧摄像头的拍摄方法,所述方法包括:
响应于拍照指令,控制机械臂带动相机进行运动;
获取在所述运动过程中对目标物体拍摄得到的视频图像;
对所述视频图像的各帧进行识别,确定所述视频图像的各帧中目标物体的像素坐标;
根据所述视频图像的至少三帧图像中目标物体的像素坐标,确定所述目标物体在世界坐标系的坐标;
根据所述目标物体在世界坐标系下的坐标,确定相机最佳拍摄位姿;
控制所述机械臂带动所述相机运动至所述最佳拍摄位姿进行拍摄。
在其中一个实施例中,所述响应于拍照指令,控制机械臂带动相机进行运动,包括:
响应于拍照指令,控制所述机械臂以机械臂底座中心的竖直线和所述相机中心的水平线的交点为原点做圆弧运动。
在其中一个实施例中,所述响应于拍照指令,控制所述机械臂以机械臂底座中心的竖直线和所述相机中心的水平线的交点为原点做圆弧运动,包括:响应于拍照指令,以俯仰角控制控制所述机械臂以机械臂底座中心的竖直线和所述相机中心的水平线的交点为原点做圆弧运动;
调整至少一次所述俯仰角,控制控制所述机械臂以机械臂底座中心的竖直线和所述相机中心的水平线的交点为原点做圆弧运动。
在其中一个实施例中,所述对所述视频图像的各帧进行识别,确定所述视频图像的各帧中目标物体的像素坐标,包括:
对所述视频图像的各帧进行识别,确定目标物体的像素点;
将所述视频图像的每帧图像中的所述目标物体的边缘像素点连线的中点确定为目标物体的像素坐标。
在其中一个实施例中,根据所述视频图像的至少三帧图像中目标物体的像素坐标,确定所述目标物体在世界坐标系的坐标,包括:
从所述视频图像中确定符合要求的目标帧图像;所述目标帧图像至少为三帧;
根据所述目标帧图像中目标物体的像素坐标,确定所述目标物体在世界坐标系的坐标。
在其中一个实施例中,所述从所述视频图像中确定符合要求的目标帧图像,包括:对相邻两帧视频图像对应的目标物体的像素坐标进行距离判断,若两个目标物体的像素坐标的距离在阈值范围内,则剔除相邻两帧视频图像的任意一帧,得到符合要求的目标帧图像。
在其中一个实施例中,根据所述目标帧图像中目标物体的像素坐标,确定所述目标物体在世界坐标系的坐标,包括:
根据前N个目标帧图像中目标物体的N个像素坐标,将第N-1世界坐标系的坐标确定为所述目标物体在世界坐标系的坐标,N大于等于3。
第二方面,本申请提供了一种拍摄装置,所述装置包括:
动作模块,用于响应于拍照指令,控制机械臂带动相机进行运动;
预拍摄模块,用于获取在所述运动过程中对目标物体拍摄得到的视频图像;
识别模块,用于对所述视频图像的各帧进行识别,确定所述视频图像的各帧中目标物体的像素坐标;
坐标确定模块,用于根据所述视频图像的至少三帧图像中目标物体的像素坐标,确定所述目标物体在世界坐标系的坐标;
处理模块,用于根据所述目标物体在世界坐标系下的坐标,确定相机最佳拍摄位姿;
拍摄模块,用于控制所述机械臂带动所述相机运动至所述最佳拍摄位姿进行拍摄。
第三方面,本申请提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
上述基于灵巧摄像头的拍摄方法、装置、计算机设备、存储介质和计算机程序产品,响应于拍照指令,控制机械臂带动相机进行运动,获取在运动过程中对目标物体拍摄得到的视频图像,对视频图像的各帧进行识别,确定视频图像的各帧中目标物体的像素坐标,完成预拍摄,并根据视频图像的至少三帧图像中目标物体的像素坐标,确定目标物体在世界坐标系的坐标,根据目标物体在世界坐标系下的坐标,确定相机最佳拍摄位姿,控制机械臂带动相机运动至最佳拍摄位姿进行拍摄。该方法根据在预拍摄所得到的像素坐标计算得到最佳拍摄位姿,并依据最佳拍摄位姿控制相机对目标物体进行重复拍摄,节省了坐标转换计算过程所花费的时间,提高了拍摄速度和拍摄定位精度。
附图说明
图1为一个实施例中基于灵巧摄像头的拍摄方法的应用环境图;
图2为一个实施例中基于灵巧摄像头的拍摄方法的流程示意图;
图3为一个实施例中各坐标系之间关系的示意图;
图4为一个实施例中像素坐标和世界坐标的转化过程示意图;
图5为一个实施例中机械臂结构的示意图;
图6为一个实施例中灵巧摄像头的多视角基于灵巧摄像头的拍摄方法;
图7为一个实施例中拍摄装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的基于灵巧摄像头的拍摄方法,可以应用于如图1所示的应用环境中。如图1所示,该应用环境包括了机械臂100,绑定在机械臂末端的相机102,相机102接收到拍照指令,控制机械臂100带动相机102进行运动,相机102获取在运动过程中对目标物体拍摄得到的视频图像,相机102对视频图像的各帧进行识别,确定视频图像的各帧中目标物体的像素坐标,相机102根据视频图像的至少三帧中目标物体的像素坐标,确定目标物体在世界坐标系的坐标,相机102根据目标物体在世界坐标系下的坐标,确定相机102最佳拍摄位姿,相机102控制机械臂100带动相机102运动至最佳拍摄位姿进行拍摄。
其中,机械臂100是多自由度的机械臂100,具备三个及其以上的活动关节,机械臂100的底座可以为固定不动的或配置可滑动滑轨,相机102为可变焦的单目相机、双目相机和深度相机中的一种。
在一个实施例中,如图2所示,提供了一种基于灵巧摄像头的拍摄方法,以该方法应用于图1中的相机为例进行说明,包括以下步骤:
S200,响应于拍照指令,控制机械臂带动相机进行运动。
其中,相机接收到拍照指令时,响应于拍照指令,向机械臂的控制器发送拍照指令,机械臂控制器控制机械臂驱动机构运动。其中,可以通过串口或是无线通信的方式实现相机的处理器与机械臂的控制器的通信。
相机拍照指令可以由人工触发,比如,人工打开相机。相机拍照指令还可以通过其它外部控制设备触发,比如,机械臂上设置的拍照按钮。
具体地,拍照指令可以与机械臂的示教指令相对应,其中,机械臂示教指令包含机械臂各活动关节的运动轨迹、使能信号、活动关节的限位信息等。
其中,相机可以是变焦单目相机,相机具备自动调节焦距功能,相机在工作时,相机的摄像头朝向需拍摄的目标物体,相机自动变焦,以保持被拍摄物体成像清晰。其中,相机的包含11个焦距,分别是00-10,00焦距放大倍数最小,10放大倍数最大。
具体地,相机可安装于机械臂末端,当相机接收到拍照指令时,向机械臂发送与拍照指令相对应的示教指令,并控制机械臂带动相机进行运动,同时控制机械臂末端的朝向,以使机械臂末端上相机的摄像头始终朝向被拍摄物体。
通过响应于拍照指令,控制机械臂带动相机进行运动,使得相机始终朝向被拍摄物体,保证了被拍摄物体成像清晰,为后续被拍摄物体定位精准度提供依据。
S202,获取在运动过程中对目标物体拍摄得到的视频图像。
其中,运动过程中,相机在机械臂带动下产生的运动轨迹。运动轨迹的种类可以是圆弧运动轨迹、圆周运动或直线运动轨迹,或弧线与直线混合运动轨迹。
目标物体指一个现实存在的实在的物体,一般目标物体的中心点的位置表示目标物体在坐标系中的位置。其中,目标物体的中心点可以是目标物体的几何中心、质心或是目标物体的参考点。
视频图像指相机的摄像头朝向目标物体拍摄得到的图像,视频图像中包含了多帧目标物体的图像。
S204,对视频图像的各帧进行识别,确定视频图像的各帧中目标物体的像素坐标。
其中,可以采取Yolo算法识别出目标物体的轮廓,并根据轮廓边缘点确定目标物体的像素点,用像素点代表目标物体在各帧视频图像中所处的位置,对于每一帧视频图像中的目标物体都具有一个像素坐标。
其中,像素坐标是是像素点在像素坐标系中的位置。
步骤206,根据视频图像的至少三帧图像中目标物体的像素坐标,确定目标物体在世界坐标系的坐标。
在图像处理技术领域,可以利用坐标系之间的转换关系,将目标物体的像素坐标,转换得到目标物体在世界坐标系下的坐标。
不同坐标系下坐标的转换的确定需要事先标定像素坐标系、图像坐标系、相机坐标系以及世界坐标系。
具体地,上述四类坐标系如图3所示,包括:世界坐标系,相机坐标系,图像坐标系和像素坐标系。
其中,Ow-XwYwZw为世界坐标系,用机械臂底座圆心作为坐标原点Ow,可用(Xw,Yw,Zw)表示目标物体的中心点的世界坐标。
Oc-XcYcZc为相机坐标系,用相机的光心作为坐标原点Oc,可用(Xc,Yc,Zc)表示目标物体的中心点的相机坐标。
o-xy为图像坐标系,坐标原点o是相机光轴上一点,x和y轴分别与Xc和Yc平行,可用(x,y)表示目标物体的中心点图像坐标。
uv为像素坐标系,左上角作为坐标原点,单位是像素,可用(u,v)表示目标物体的中心点的像素坐标。
具体地,在获得目标物体的中心点的像素坐标后,根据图4所示的像素坐标和世界坐标的转化过程示意图,计算出目标物体的中心点的世界坐标。
其中,得到目标物体的中心点的像素坐标后进行二次变换、透视投影和刚体变换得到世界坐标。
传统的目标定位的计算方法是采用一张图像的两个像素坐标就可以计算出目标物体的世界坐标,达到目标定位的目的,但是这种传统的计算方法对目标物体的定位效果存在偏差,而且通过两个像素坐标计算出的世界坐标的误差较大,因为这两个像素坐标并不能完全代表目标物体的真实位置,而且还存在相机畸变等误差。
可以利用至少三帧图像中目标物体的像素坐标,确定所述目标物体在世界坐标系的坐标,其中,三帧图像可以是连续三帧图像。可以理解的是,至少三帧图像包括了全部图像中目标物体的像素坐标。并且,使用图像帧数量越多,计算的世界坐标的误差较小。
具体地,可以采取迭代计算的方法,根据至少三帧图像中目标物体的像素坐标,计算出目标物体的世界坐标系的坐标
S208,根据目标物体在世界坐标系下的坐标,确定相机最佳拍摄位姿。
其中,目标物体的中心点的世界坐标为目标物体在世界坐标系下的坐标。
拍摄位姿包括相机光轴的朝向和相机焦距。相机最佳拍摄位姿表示相机光轴朝向目标物体的中心点的世界坐标。
具体地,根据目标物体的中心点的世界坐标确定相机最佳拍摄位姿后,可以采用基于动态规划的机械臂轨迹规划方法可以使得轨迹规划的速度更快,效率更高。
S210,控制机械臂带动相机运动至最佳拍摄位姿进行拍摄。
其中,在确定相机最佳拍摄位姿后,根据相机最佳拍摄位姿控制机械臂带动相机运动至最佳拍摄位姿进行拍摄。
具体地,通过动态规划的机械臂轨迹规划使相机运动至最佳位姿进行拍摄。
通过确定最佳拍摄位姿后,基于动态规划的机械臂轨迹规划和最佳拍摄位姿,可以使得轨迹规划的速度更快,更高效地完成相机的多视角拍摄。
上述基于灵巧摄像头的拍摄方法中,响应于拍照指令,控制机械臂带动相机进行运动,获取在运动过程中对目标物体拍摄得到的视频图像,对视频图像的各帧进行识别,确定视频图像的各帧中目标物体的像素坐标,完成预拍摄,并根据视频图像的至少三帧图像中目标物体的像素坐标,确定目标物体在世界坐标系的坐标,根据目标物体在世界坐标系下的坐标,确定相机最佳拍摄位姿,控制机械臂带动相机运动至最佳拍摄位姿进行拍摄。该方法使相机根据在预拍摄所得到的像素坐标计算得到最佳拍摄位姿,并依据最佳拍摄位姿控制相机对目标物体进行重复拍摄,节省了坐标转换计算过程所花费的时间,提高了拍摄速度和拍摄定位精度。
在一个实施例中,响应于拍照指令,控制机械臂带动相机进行运动,包括:响应于拍照指令,控制所述机械臂以机械臂底座中心的竖直线和所述相机中心的水平线的交点为原点做圆弧运动。
其中,如图5所示,机械臂安装于机械臂底座,机械臂包含6个活动关节,分别为J1、J2、J3、J4、J5和J6,各个活动关节在不超过关节限位的情况下进行顺时针或逆时针转动。
其中,相机光心所在的水平面与机械臂底座中心的竖直线的交点即为机械臂底座中心的竖直线和所述相机中心的水平线的交点为原点。
相机以机械臂底座中心的竖直线和所述相机中心的水平线的交点为原点做圆弧运动,可以调整相机的俯仰角重复对目标物体进行拍摄,从不同角度拍摄到目标物体的图像,进而得到多个目标物体的像素坐标。
本实施例中,通过控制机械臂以机械臂底座中心的竖直线和相机中心的水平线的交点为原点做圆弧运动,能够从多个视角拍摄目标物体,并得到了多个目标物体的像素坐标。
在一个实施例中,响应于拍照指令,控制机械臂以机械臂底座中心的竖直线和相机中心的水平线的交点为原点做圆弧运动,包括:响应于拍照指令,以俯仰角控制控制机械臂以机械臂底座中心的竖直线和相机中心的水平线的交点为原点做圆弧运动;调整至少一次俯仰角,控制控制机械臂以机械臂底座中心的竖直线和相机中心的水平线的交点为原点做圆弧运动。
其中,俯仰角为相机的光轴与水平面所形成的角度,俯仰角包括俯角和仰角。相机安装于机械臂末端,控制机械臂末端的与水平面所形成的角度,进而调整相机的俯仰角。圆弧运动的角度可以是﹣60度到﹢60度之间。
具体地,控制机械臂带动相机进行运动的过程如下:
机械臂末端在仰角10度的时候,从水平方向-60度匀速运动到+60度;然后在仰角8度的时候,从水平方向-60度匀速运动到+60度;然后在仰角6度的时候,从水平方向-60度匀速运动到+60度;......然后在仰角0度的时候,从水平方向-60度匀速运动到+60度;.....;然后在俯角6度的时候,从水平方向-60度匀速运动到+60度;然后在俯角8度的时候,从水平方向-60度匀速运动到+60度;然后在俯角10度的时候,从水平方向-60度匀速运动到+60度。
其中,调整至少一次俯仰角可以是等角度调整也可以是不等角度调整,如,仰角10度-仰角8度-仰角0度。
本实施例中,通过响应于拍照指令,控制所述机械臂以机械臂底座中心的竖直线和所述相机中心的水平线的交点为原点做圆弧运动,能够从多个角度拍摄目标物体,并得到了多个目标物体的像素坐标。
在一个实施例中,对视频图像的各帧进行识别,确定视频图像的各帧中目标物体的像素坐标,包括:对视频图像的各帧进行识别,确定目标物体的像素点,将视频图像的每帧图像中的目标物体的边缘像素点连线的中点确定为目标物体的像素坐标。
其中,对于某一帧视频图像采用计算机视觉对目标物体进行识别,目标物体的矩形框,并利用识别算法将矩形框左上角和右下角两个点的像素点连线的中点作为目标物体的像素点,也即目标物体的像素坐标。
具体地,采用Yolo算法对各帧视频图像进行识别,得到目标物体的边缘像素点,进而得到每一帧视频图像所对应的一个目标物体的像素坐标。
本实施例中,通过采取计算机视觉提取视频图像中的目标物体矩形框,再利用识别算法对目标物体矩形框进行识别,能够准确得到目标物体的像素坐标。
在一个实施例中,根据视频图像的至少三帧图像中目标物体的像素坐标,确定目标物体在世界坐标系的坐标,包括:从视频图像中确定符合要求的目标帧图像;目标帧图像至少为三帧,根据目标帧图像中目标物体的像素坐标,确定目标物体在世界坐标系的坐标。
其中,可对视频图像进行去畸变筛选得到符合要求的目标帧图像。
其中,目标帧为任意个目标帧图像,可以是目标帧图像连续或不连续三帧或多帧,根据目标图像中目标物体的像素坐标,确定目标物体在世界坐标系的坐标。
得到目标图像中目标物体的像素坐标后,可以采取迭代计算方法计算目标物体在世界坐标系的坐标。
在迭代计算之前,需推导世界坐标系的坐标和像素坐标关系。
具体地,推导过程如下:
(1)世界坐标到相机坐标的转化过程:
其中,(Xc,Yc,Zc)表示目标物体在相机坐标系下的坐标,(Xw,Yw,Zw)表示目标物体在世界坐标系的坐标,R表示旋转矩阵,T表示平移矩阵,两者组成3×4矩阵,即为相机的外参矩阵。其中,采用ros的功能包camera_calibration进行相机标定,相机标定的结果可以获得相机的内参和外参矩阵,求出的外参是旋转向量,旋转向量和旋转矩阵R两者之间可以通过罗德里格斯变换来进行转换。
(2)相机坐标到图像坐标的转化过程:
其中,Zc表示目标物体在相机坐标系下的Z轴坐标,(x,y)表示目标物体在图像坐标系下的坐标,f表示相机焦距。
(3)图像坐标到像素坐标的转换过程:
其中,(u,v)表示目标物体在像素坐标系下的坐标,(x,y)表示目标物体在图像坐标系下的坐标,(u0,v0)表示像素坐标系的原点。其中,像素坐标系的原点根据相机的固有参数确定。
(4)世界坐标到像素坐标的整体转换过程:
其中,Zc表示目标物体在相机坐标系下的Z轴坐标,(u0,v0)表示像素坐标系的原点,fx和fy表示x轴相机的焦距和y轴相机的焦距,fx、fy、u0和v0是相机内参,可以通过相机标定获得内参。其中,使用ros标定相机的内参。安装好功能包camera_calibration,然后用标定板在摄像头前方移动和倾斜,当display图形界面的CALIBRATE按钮变绿色就可以了。然后点击Save按钮,会把标定的文件信息自动保存,内参在ost.txt文件中。
具体地,f和的fx的关系为:
f和的fy的关系为:
其中,相机的包含11个焦距,分别是00-10,00焦距放大倍数最小,10放大倍数最大,相机的焦距f可通过读取相机焦距数值获得。
R和T是相机外参,R表示旋转矩阵,T表示平移矩阵。
(5)像素坐标到世界坐标的转换过程:
因为在从像素坐标计算世界坐标的过程中,像素坐标左边有Zc是未知的,根据至少三个目标物体的像素坐标建立方程组求解。
(6)像素坐标迭代计算目标物体的世界坐标的过程具体如下:
其中,Zci表示在第i(i≥3)张图像中目标物体在相机坐标系下的Z轴坐标,(u0,v0)表示像素坐标系的原点,fx和fy表示x轴相机的焦距和y轴相机的焦距,fx、fy、u0和v0是相机内参,可以通过相机标定获得内参,Ri和Ti是相机外参,Ri表示在第i张图像中的旋转矩阵,Ti表示在第i张图像中的平移矩阵。
具体地,根据三帧图像中目标物体的像素坐标,如,(u1,v1)、(u2,v2)和(u3,v3)计算出目标物体的世界坐标系的坐标(Xw2,Yw2,Zw2)也即目标物体的中心点的世界坐标。
具体地,根据两个像素坐标计算一个世界坐标的过程如下:
其中,选取左右对称的两帧视频图像进行说明,像素坐标和世界坐标系的坐标第一关系式为:
Zc1,Zc2,分别表示目标物体在相机坐标系下的Z轴坐标,(u,v)为目标物体的像素坐标,(X,Y,Z)为目标物体的世界坐标,M为中间矩阵,中间矩阵M的表达式为:
其中,m为中间参数,s为坐标轴倾斜参数,理想状况下为0,fx、fy、u0和v0是相机内参,可以通过相机标定获得内参,R和T是相机外参。
根据像素坐标和世界坐标系的坐标第一关系式和中间矩阵M的表达式得到像素坐标和世界坐标系的坐标第二关系式:
其中,(u1,v1)和(u2,v2)前两个目标物体的像素坐标,(X,Y,Z)为目标物体的世界坐标。
采用最小二乘法求解世界坐标(X,Y,Z)。
具体地,根据两个像素坐标(u1,v1)、(u2,v2)计算一个世界坐标(X,Y,Z)后,根据第三个像素坐标和世界坐标系的坐标第三关系式确定目标物体在世界坐标系的新的坐标(X,Y,Z),像素坐标和世界坐标系的坐标第三关系式为:
本实施例中,通过根据两个目标帧图像中目标物体的像素坐标,采用最小二乘法以及确定目标物体在世界坐标系的坐标,再根据第三个像素坐标和世界世界坐标系的坐标第三关系式,能够准确得到目标物体在世界坐标系的新的坐标。
在一个实施例中,从视频图像中确定符合要求的目标帧图像,包括:对相邻两帧视频图像对应的目标物体的像素坐标进行距离判断,若两个目标物体的像素坐标的距离在阈值范围内,则剔除相邻两帧视频图像的任意一帧,得到符合要求的目标帧图像。
其中,对相邻两帧视频图像对应的目标物体的像素坐标进行距离判断,若两个目标物体的像素坐标的距离在阈值范围内,则剔除相邻两帧视频图像的第二帧,需说明的是,若第三帧视频图像对应的目标物体的像素坐标和第一帧视频图像对应的目标物体的像素坐标的距离仍在阈值范围内,则继续剔除视频图像的第三帧,直到得到相邻两帧视频图像对应的目标物体的像素坐标的距离处于阈值范围外。
本实施例中,通过对相邻两帧视频图像对应的目标物体的像素坐标进行距离判断,能够剔除掉一部分重复计算的过程,可以减少系数矩阵的维度,提高计算的效率。
在一个实施例中,根据目标帧图像中目标物体的像素坐标,确定目标物体在世界坐标系的坐标,包括:根据前N个目标帧图像中目标物体的N个像素坐标,将第N-1世界坐标系的坐标确定为目标物体在世界坐标系的坐标,N大于等于3。
其中,当N等于3时,根据3个目标帧图像中目标物体的3个像素坐标,将第2个世界坐标系的坐标确定为目标物体在世界坐标系的坐标。
一般情况下,N取值越大,误差越小。
具体地,可以通过迭代计算的方式验证目标物体在世界坐标系的坐标的相对误差大小。
具体地,根据前两个像素坐标(u1,v1)和(u2,v2)可以得到目标物体的世界坐标(Xw1,Yw1,Zw1)和第一个相对误差其中,真实世界坐标通过事先测量得到,是人工测量的世界坐标。根据前三个像素坐标迭代计算得到目标物体的世界坐标(Xw2,Yw2,Zw2)和第二个相对误差RelError2。随着迭代的像素坐标的增多,相对误差在逐渐减少,计算的世界坐标在逐渐接近真实世界坐标,当像素坐标趋于无穷,相对误差趋于0,世界坐标趋于真实世界坐标,有效提高了定位的准确性。
其中,可以设置阈值,当相对误差RelError小于阈值时,则认为世界坐标等同于真实世界坐标,将该相对误差对应的世界坐标作为最后输出的结果。
本实施例中,根据前N个目标帧图像中目标物体的N个像素坐标,将第N-1世界坐标系的坐标确定为目标物体在世界坐标系的坐标,尽可能的获取多个像素坐标,以此减小相对误差,提高目标物体在世界坐标系的坐标计算的准确度。
在一个实施例中,如图6所示,提供了一种灵巧摄像头的多视角基于灵巧摄像头的拍摄方法,包括:
S600,响应于拍照指令,控制机械臂带动相机进行运动。
其中,响应于拍照指令,以俯仰角控制机械臂带动相机进行运动,并调整至少一次俯仰角,控制机械臂带动相机进行运动。
其中,控制机械臂以机械臂底座中心的竖直线和相机中心的水平线的交点为原点做圆弧运动。
S602,获取在运动过程中对目标物体拍摄得到的视频图像。
其中,如图5所示,机械臂包含6个活动关节,6个活动关节分为2个横向活动关节J1和J5,4个纵向活动关节J2、J3、J4和J6。J1活动关节与机械臂底座连接,J6活动关节为机械臂末端与相机相连。
机械臂通过6个活动关节的灵活性实现相机的摄像头以机械臂底座中心的竖直线和相机中心的水平线的交点为原点做圆弧运动,控制拍摄视频中的目标物体从画面的最左边匀速移动到画面的最右边,通过调节机械臂的第四关节(J4)的灵活性实现摄像头按照任意的俯仰角度观察目标物体。
S604,对视频图像的各帧进行识别,确定目标物体的像素点,将视频图像的每帧图像中的目标物体的边缘像素点连线的中点确定为目标物体的像素坐标。
S606,根据视频图像的至少三帧图像中目标物体的像素坐标,确定目标物体在世界坐标系的坐标。
其中,从视频图像中确定符合要求的目标帧图像,目标帧图像至少为三帧,根据目标帧图像中目标物体的像素坐标,确定目标物体在世界坐标系的坐标。
其中,对相邻两帧视频图像对应的目标物体的像素坐标进行距离判断,若两个目标物体的像素坐标的距离在阈值范围内,则剔除相邻两帧视频图像的任意一帧,得到符合要求的目标帧图像。
具体地,阈值可以为0.05,若两个目标物体的像素坐标相差在±0.05,也即在阈值范围内,则剔除相邻两帧视频图像的任意一帧,得到符合要求的目标帧图像。
其中,根据前N个目标帧图像中目标物体的N个像素坐标,得到第N-1个目标物体在世界坐标系的坐标,N大于等于3。
S608,根据目标物体在世界坐标系下的坐标,确定相机最佳拍摄位姿。
S610,控制机械臂带动相机运动至最佳拍摄位姿进行拍摄。
其中,机械臂包含6个活动关节,包括:6个活动关节分为2个横向活动关节和4个纵向活动关节,调整活动关节的运动控制机械臂带动相机进行运动。
本实施例中,通过控制机械臂带动相机运动从而拍摄多组视频图像,进而识别得到多个像素坐标,采取迭代计算的方法得到目标物体在世界坐标系的坐标,以确定最佳拍摄位姿,最后基于动态规划的机械臂轨迹规划和最佳拍摄位姿,可以使得轨迹规划的速度更快,更高效地完成灵巧摄像头的多视角拍摄。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的基于灵巧摄像头的拍摄方法的拍摄装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个拍摄装置实施例中的具体限定可以参见上文中对于基于灵巧摄像头的拍摄方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种拍摄装置,包括:动作模块700、预拍摄模块702、识别模块704、坐标确定模块706、处理模块708、拍摄模块710,其中:
动作模块700,用于响应于拍照指令,控制机械臂带动相机进行运动;
预拍摄模块702,用于获取在运动过程中对目标物体拍摄得到的视频图像;
识别模块704,用于对视频图像的各帧进行识别,确定视频图像的各帧中目标物体的像素坐标;
坐标确定模块706,用于根据视频图像的至少三帧图像中目标物体的像素坐标,确定目标物体在世界坐标系的坐标;
处理模块708,用于根据目标物体在世界坐标系下的坐标,确定相机最佳拍摄位姿;
拍摄模块710,用于控制机械臂带动相机运动至最佳拍摄位姿进行拍摄。
在一个实施例中,动作模块700,还用于响应于拍照指令,以俯仰角控制机械臂带动相机进行运动,并调整至少一次俯仰角,控制机械臂带动相机进行运动。
在一个实施例中,动作模块700,还用于控制机械臂以机械臂底座中心的竖直线和相机中心的水平线的交点为原点做圆弧运动。
在一个实施例中,识别模块704,还用于对视频图像的各帧进行识别,确定目标物体的像素点,将视频图像的每帧图像中的目标物体的边缘像素点连线的中点确定为目标物体的像素坐标。
在一个实施例中,坐标确定模块706,还用于从视频图像中确定符合要求的目标帧图像,目标帧图像至少为三帧,根据目标帧图像中目标物体的像素坐标,确定目标物体在世界坐标系的坐标。
在一个实施例中,坐标确定模块706,还用于对相邻两帧视频图像对应的目标物体的像素坐标进行距离判断,若两个目标物体的像素坐标的距离在阈值范围内,则剔除相邻两帧视频图像的任意一帧,得到符合要求的目标帧图像。
在一个实施例中,坐标确定模块706,还用于根据前N个目标帧图像中目标物体的N个像素坐标,得到第N-1个目标物体在世界坐标系的坐标,N大于等于3。
在一个实施例中,该装置还包括控制模块,六个活动关节分为2个横向活动关节和4个纵向活动关节,调整活动关节的运动控制机械臂带动相机进行运动。
上述拍摄装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储目标物体的世界坐标数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于灵巧摄像头的拍摄方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于灵巧摄像头的拍摄方法,其特征在于,所述方法包括:
响应于拍照指令,控制机械臂带动相机进行运动;
获取在所述运动过程中对目标物体拍摄得到的视频图像;
对所述视频图像的各帧进行识别,确定所述视频图像的各帧中目标物体的像素坐标;
根据所述视频图像的至少三帧图像中目标物体的像素坐标,确定所述目标物体在世界坐标系的坐标;
根据所述目标物体在世界坐标系下的坐标,确定相机最佳拍摄位姿;
控制所述机械臂带动所述相机运动至所述最佳拍摄位姿进行拍摄。
2.根据权利要求1所述的方法,其特征在于,所述响应于拍照指令,控制机械臂带动相机进行运动,包括:
响应于拍照指令,控制所述机械臂以机械臂底座中心的竖直线和所述相机中心的水平线的交点为原点做圆弧运动。
3.根据权利要求2所述的方法,其特征在于,所述响应于拍照指令,控制所述机械臂以机械臂底座中心的竖直线和所述相机中心的水平线的交点为原点做圆弧运动,包括:响应于拍照指令,以俯仰角控制控制所述机械臂以机械臂底座中心的竖直线和所述相机中心的水平线的交点为原点做圆弧运动;
调整至少一次所述俯仰角,控制控制所述机械臂以机械臂底座中心的竖直线和所述相机中心的水平线的交点为原点做圆弧运动。
4.根据权利要求1所述的方法,其特征在于,所述对所述视频图像的各帧进行识别,确定所述视频图像的各帧中目标物体的像素坐标,包括:
对所述视频图像的各帧进行识别,确定目标物体的像素点;
将所述视频图像的每帧图像中的所述目标物体的边缘像素点连线的中点确定为目标物体的像素坐标。
5.根据权利要求1所述的方法,其特征在于,根据所述视频图像的至少三帧图像中目标物体的像素坐标,确定所述目标物体在世界坐标系的坐标,包括:
从所述视频图像中确定符合要求的目标帧图像;所述目标帧图像至少为三帧;
根据所述目标帧图像中目标物体的像素坐标,确定所述目标物体在世界坐标系的坐标。
6.根据权利要求5所述的方法,其特征在于,所述从所述视频图像中确定符合要求的目标帧图像,包括:对相邻两帧视频图像对应的目标物体的像素坐标进行距离判断,若两个目标物体的像素坐标的距离在阈值范围内,则剔除相邻两帧视频图像的任意一帧,得到符合要求的目标帧图像。
7.根据权利要求5所述的方法,其特征在于,根据所述目标帧图像中目标物体的像素坐标,确定所述目标物体在世界坐标系的坐标,包括:
根据前N个目标帧图像中目标物体的N个像素坐标,将第N-1世界坐标系的坐标确定为所述目标物体在世界坐标系的坐标,N大于等于3。
8.一种拍摄装置,其特征在于,所述装置包括:
动作模块,用于响应于拍照指令,控制机械臂带动相机进行运动;
预拍摄模块,用于获取在所述运动过程中对目标物体拍摄得到的视频图像;
识别模块,用于对所述视频图像的各帧进行识别,确定所述视频图像的各帧中目标物体的像素坐标;
坐标确定模块,用于根据所述视频图像的至少三帧图像中目标物体的像素坐标,确定所述目标物体在世界坐标系的坐标;
处理模块,用于根据所述目标物体在世界坐标系下的坐标,确定相机最佳拍摄位姿;
拍摄模块,用于控制所述机械臂带动所述相机运动至所述最佳拍摄位姿进行拍摄。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211148706.3A CN115567781A (zh) | 2022-09-21 | 2022-09-21 | 基于灵巧摄像头的拍摄方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211148706.3A CN115567781A (zh) | 2022-09-21 | 2022-09-21 | 基于灵巧摄像头的拍摄方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115567781A true CN115567781A (zh) | 2023-01-03 |
Family
ID=84740637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211148706.3A Pending CN115567781A (zh) | 2022-09-21 | 2022-09-21 | 基于灵巧摄像头的拍摄方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115567781A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117058743A (zh) * | 2023-10-12 | 2023-11-14 | 广州尚航信息科技股份有限公司 | 一种基于dcim平台的数据兼容传输处理方法及系统 |
-
2022
- 2022-09-21 CN CN202211148706.3A patent/CN115567781A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117058743A (zh) * | 2023-10-12 | 2023-11-14 | 广州尚航信息科技股份有限公司 | 一种基于dcim平台的数据兼容传输处理方法及系统 |
CN117058743B (zh) * | 2023-10-12 | 2024-02-20 | 广州尚航信息科技股份有限公司 | 一种基于dcim平台的数据兼容传输处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10586352B2 (en) | Camera calibration | |
CN111750820B (zh) | 影像定位方法及其系统 | |
CN106426172A (zh) | 一种工业机器人工具坐标系的标定方法与系统 | |
CN111801198B (zh) | 一种手眼标定方法、系统及计算机存储介质 | |
CN111028155B (zh) | 一种基于多对双目相机的视差图像拼接方法 | |
US11524406B2 (en) | Calibration method and device for robotic arm system | |
CN110799921A (zh) | 拍摄方法、装置和无人机 | |
CN108942934A (zh) | 确定手眼标定的方法及装置 | |
CN109993798B (zh) | 多摄像头检测运动轨迹的方法、设备及存储介质 | |
CN105096329A (zh) | 一种精确校正超广角摄像头图像畸变的方法 | |
TWI738196B (zh) | 一種圖像深度估計方法、電子設備、儲存介質 | |
CN112308925A (zh) | 可穿戴设备的双目标定方法、设备及存储介质 | |
CN113920206B (zh) | 透视移轴相机的标定方法 | |
CN112686950B (zh) | 位姿估计方法、装置、终端设备及计算机可读存储介质 | |
CN112164112B (zh) | 一种获取机械臂位姿信息的方法及装置 | |
CN111325828B (zh) | 一种基于三目相机的三维人脸采集方法及装置 | |
CN115567781A (zh) | 基于灵巧摄像头的拍摄方法、装置和计算机设备 | |
CN110853102A (zh) | 一种新的机器人视觉标定及引导方法、装置及计算机设备 | |
CN111383264A (zh) | 一种定位方法、装置、终端及计算机存储介质 | |
CN111507894B (zh) | 一种图像拼接处理方法及装置 | |
CN111008932B (zh) | 一种基于图像筛选的全景图像拼接方法 | |
CN117115935A (zh) | 变电站无人机巡检路线调节方法、装置和计算机设备 | |
CN111353945B (zh) | 鱼眼图像校正方法、装置及存储介质 | |
CN111526297B (zh) | 曲面屏图像采集方法、装置及终端设备 | |
WO2021134715A1 (zh) | 一种控制方法、设备、无人机及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |