一种视觉定位方法、装置及存储介质
技术领域
本申请涉及定位技术领域,尤其涉及一种视觉定位方法、装置及存储介质。
背景技术
基于计算机视觉的视觉定位是近年来发展起来的一种定位方法,其是利用视觉传感器获取物体图像,然后用计算机进行图像处理,进而获得物体的位置信息。目前,通常采用单目视觉定位或双目视觉定位的方法对待定位物体进行定位。
其中,单目视觉定位是使用单个摄像头对目标进行定位,该方法由于使用了摄像头的内部角度和距离参数进行计算,所以摄像头的内部参数就需要进行精确的标定,且需要摄像头必须精确固定在一处。摄像头位置的任何变化都会导致定位失败。所以在工程实践中没有得到很好的应用。
双目视觉定位是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法。在实际应用中,需要双摄像头的各个物理参数完全一致,这样才能进行对比。
因此,上述两种视觉定位的方法在实际使用过程中均存在操作复杂的问题。
发明内容
本申请实施例提供一种视觉定位方法、装置及存储介质,用以解决现有技术中视觉定位方法操作复杂的问题。
第一方面,本申请实施例提供一种视觉定位方法,该方法包括:
通过图像识别技术同时确定在第一摄像头中的待定位物体和在第二摄像头中的所述待定位物体;
对所述第一摄像头进行旋转,确定所述待定位物体在所述第一摄像头的像面中心位置时的第一方位角和第一倾角;以及;
对所述第二摄像头进行旋转,确定所述待定位物体在所述第二摄像头的像面中心位置时的第二方位角和第二倾角;
根据所述第一方位角、所述第一倾角、所述第二方位角、所述第二倾角、所述第一摄像头的位置和所述第二摄像头的位置确定所述待定位物体在空间坐标系的坐标。
在一个实施例中,所述对所述第一摄像头进行旋转,确定所述待定位物体在所述第一摄像头的像面中心位置时的第一方位角和第一倾角,包括:
通过所述第一摄像头的感光芯片,在所述第一摄像头像面上显示通过中心位置的第一垂直条带;
控制所述第一摄像头水平旋转,并将所述待定位物体显示在所述第一垂直条带中时对应的水平旋转角度作为所述第一方位角;
通过所述第一摄像头的感光芯片,在所述第一摄像头像面上显示通过中心位置的第一水平条带;
控制所述第一摄像头垂直旋转,并将所述待定位物体显示在所述第一水平条带中时对应的垂直旋转角度作为所述第一倾角。
在一个实施例中,所述对所述第二摄像头进行旋转,确定所述待定位物体在所述第二摄像头的像面中心位置时的第二方位角和第二倾角,包括:
通过所述第二摄像头的感光芯片,在所述第二摄像头像面上显示通过中心位置的第二垂直条带;
控制所述第二摄像头水平旋转,并将所述待定位物体显示在所述第二垂直条带中时对应的水平旋转角度作为所述第二方位角;
通过所述第二摄像头的感光芯片,在所述第二摄像头像面上显示通过中心位置的第二水平条带;
控制所述第二摄像头垂直旋转,并将所述待定位物体显示在所述第二水平条带中时对应的垂直旋转角度作为所述第二倾角。
在一个实施例中,所述对所述第一摄像头进行旋转,确定所述待定位物体在所述第一摄像头的像面中心位置时的第一方位角和第一倾角之前,所述方法还包括:
将所述待定位物体通过所述第一摄像头的镜头映射在所述第一摄像头像面上,并确定所述待定位物体在所述第一摄像头像面上的第一位置;
根据所述第一位置预估所述第一方位角和所述第一倾角;以及;
将所述待定位物体通过所述第二摄像头的镜头映射在所述第二摄像头像面上,并确定所述待定位物体在所述第二摄像头像面上的第二位置;
根据所述第二位置预估所述第二方位角和所述第二倾角。
在一个实施例中,所述根据所述第一方位角、所述第一倾角、所述第二方位角、所述第二倾角、所述第一摄像头的位置和所述第二摄像头的位置确定所述待定位物体在空间坐标系的坐标,包括:
将所述第一摄像头、所述第二摄像头和所述待定位物体映射到所述空间坐标系中,并根据所述第一摄像头的位置确定所述第一摄像头的坐标;以及,根据所述第二摄像头的位置确定所述第二摄像头的坐标;
根据所述第一方位角、所述第一倾角、所述第二方位角、所述第二倾角、所述第一摄像头的坐标和所述第二摄像头的坐标,确定所述待定位物体在所述空间坐标系的坐标。
第二方面,本申请实施例提供一种视觉定位装置,该装置包括:
确定物体模块,用于通过图像识别技术同时确定在第一摄像头中的待定位物体和在第二摄像头中的所述待定位物体;
第一获取角度模块,用于对所述第一摄像头进行旋转,确定所述待定位物体在所述第一摄像头的像面中心位置时的第一方位角和第一倾角;以及;
第二获取角度模块,用于对所述第二摄像头进行旋转,确定所述待定位物体在所述第二摄像头的像面中心位置时的第二方位角和第二倾角;
确定坐标模块,用于确定坐标模块,用于根据所述第一方位角、所述第一倾角、所述第二方位角、所述第二倾角、所述第一摄像头的位置和所述第二摄像头的位置确定所述待定位物体在空间坐标系的坐标。
在一个实施例中,第一获取角度模块包括:
显示第一垂直条带单元,用于通过所述第一摄像头的感光芯片,在所述第一摄像头像面上显示通过中心位置的第一垂直条带;
确定第一方位角单元,用于控制所述第一摄像头水平旋转,并将所述待定位物体显示在所述第一垂直条带中时对应的水平旋转角度作为所述第一方位角;
显示第一水平条带单元,用于通过所述第一摄像头的感光芯片,在所述第一摄像头像面上显示通过中心位置的第一水平条带;
确定第一倾角单元,用于控制所述第一摄像头垂直旋转,并将所述待定位物体显示在所述第一水平条带中时对应的垂直旋转角度作为所述第一倾角。
在一个实施例中,第二获取角度模块包括:
显示第二垂直条带单元,用于通过所述第二摄像头的感光芯片,在所述第二摄像头像面上显示通过中心位置的第二垂直条带;
确定第二方位角单元,用于控制所述第二摄像头水平旋转,并将所述待定位物体显示在所述第二垂直条带中时对应的水平旋转角度作为所述第二方位角;
显示第二水平条带单元,用于通过所述第二摄像头的感光芯片,在所述第二摄像头像面上显示通过中心位置的第二水平条带;
确定第二倾角单元,用于控制所述第二摄像头垂直旋转,并将所述待定位物体显示在所述第二水平条带中时对应的垂直旋转角度作为所述第二倾角。
在一个实施例中,所述装置还包括:
确定第一位置模块,用于第一获取角度模块对所述第一摄像头进行旋转,确定所述待定位物体在所述第一摄像头的像面中心位置时的第一方位角和第一倾角之前,将所述待定位物体通过所述第一摄像头的镜头映射在所述第一摄像头像面上,并确定所述待定位物体在所述第一摄像头像面上的第一位置;
第一预估模块,用于根据所述第一位置预估所述第一方位角和所述第一倾角;以及;
确定第二位置模块,用于将所述待定位物体通过所述第二摄像头的镜头映射在所述第二摄像头像面上,并确定所述待定位物体在所述第二摄像头像面上的第二位置;
第二预估模块,用于根据所述第二位置预估所述第二方位角和所述第二倾角。
在一个实施例中,确定坐标模块包括:
映射单元,用于将所述第一摄像头、所述第二摄像头和所述待定位物体映射到所述空间坐标系中,并根据所述第一摄像头的位置确定所述第一摄像头的坐标;以及,根据所述第二摄像头的位置确定所述第二摄像头的坐标;
确定待定位物体坐标单元,用于根据所述第一方位角、所述第一倾角、所述第二方位角、所述第二倾角、所述第一摄像头的坐标和所述第二摄像头的坐标,确定所述待定位物体在所述空间坐标系的坐标。
第三方面,本申请另一实施例还提供了一种计算装置,包括至少一个处理器;以及;
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例提供的一种视觉定位方法。
第四方面,本申请另一实施例还提供了一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行本申请实施例中的一种视觉定位方法。
本申请实施例提供的一种视觉定位方法、装置及存储介质,通过对两个摄像头旋转,确定待定位物体分别位于两个摄像头像面中心时的方位角和倾角,并根据确定的两个摄像头的位置、方位角和倾角,确定待定位物体的坐标。这样,根据摄像头的位置以及旋转的角度,即可确定待定位物体的坐标,从而达到了简化定位操作的效果;同时,由于待定位物***于像面中心处进行定位,不会产生形变,从而进一步的提高定位准确度。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为现有技术中双目视觉定位的成像原理示意图;
图2为本申请实施例中一种视觉定位的流程示意图;
图3为本申请实施例中第一摄像头像面显示的图像示意图一;
图4为本申请实施例中第一摄像头像面显示的图像示意图二;
图5为本申请实施例中待定位物体在所述像面上的位置示意图;
图6为本申请实施例中摄像头和待定位物体映射在空间坐标系的示意图;
图7为本申请实施例中训练双向长短时记忆网络模型的结构示意图;
图8为根据本申请实施方式的计算装置的结构示意图。
具体实施方式
为了解决现有技术中视觉定位方法操作复杂的问题,本申请实施例中提供一种视觉定位方法、装置及存储介质。为了更好的理解本申请实施例提供的技术方案,这里对该方案的基本原理做一下简单说明:
视觉定位是利用视觉传感器获取物体图像,然后用计算机进行图像处理,进而获得物体的位置信息的一种定位方法。而在现有技术中,通常会采用单目视觉定位或双目视觉定位这两种方法对待定位物体进行定位。
单目视觉定位是基于小孔成像原理对待定位物体进行定位,该方法由于使用了摄像头的内部角度和距离参数进行计算,所以每个摄像头的内部参数就需要进行精确的标定。且该方法需要进行复杂的算法对获取的数据进行矫正,从而难以得到精确的定位信息。有些算法还需要利用外部参照尺寸,这就需要摄像头必须精确固定在一处,摄像头位置的任何变化(例如:角度、高度等)都会导致定位失败,所以在工程实践中没有得到很好的应用。
双目视觉定位是基于视差原理对待定位物体进行定位,即利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法。如图1所示,其为双目视觉定位的成像原理。其中,左图像和右图像分别表示两个摄像头的像面,点P为待定位物体。通过点P在两个像面上的投影点的位置确定点P的位置。但在实际应用中,双目视觉定位存在以下问题:第一、需要双摄像头的各物理参数完全一致,这样才能进行对比。第二,由于双摄像头难以瞄准物体的同一个特征点,导致定位不准确。
因此,上述两种定位的方法均存在操作复杂的问题。除此之外,上述的两种方法还存在因摄像头的球型镜头所产生的变形导致的定位误差的问题。有鉴于此,本申请实施例提供的一种视觉定位方法、装置及存储介质,通过对两个摄像头旋转,确定待定位物体分别位于两个摄像头像面中心时的方位角和倾角,并根据确定的两个摄像头的位置、方位角和倾角,确定待定位物体的坐标。这样,根据摄像头的位置以及旋转的角度,即可确定待定位物体的坐标;无需像单目视觉定位方法那样依赖于摄像头的内部参数,也不像与现有的双目视觉定位方法那样两个摄像头需要精确瞄准同一个特征点,从而达到了简化定位操作的效果;同时,由于待定位物***于像面中心处进行定位,不会产生形变,从而进一步的提高定位准确度。
为便于理解,下面结合附图对本申请提供的技术方案做进一步说明。图2为视觉定位的流程示意图,包括以下步骤:
步骤201:通过图像识别技术同时确定在第一摄像头中的待定位物体和在第二摄像头中的所述待定位物体。
其中,第一摄像头与第二摄像头位于同一空间内,且第一摄像头与第二摄像头之间的距离可根据实际情况进行确定。
其中,摄像头可以是普通光成像的摄像头,也可以是热成像等摄像头,本申请对此不做限定。
步骤202:对所述第一摄像头进行旋转,确定所述待定位物体在所述第一摄像头的像面中心位置时的第一方位角和第一倾角。
在本申请实施例中,第一摄像头和第二摄像头均安装有水平旋转电机以及纵向旋转电机,可以进行水平旋转以及垂直旋转。同时安装有角度传感器,用来记录摄像头旋转角度。
步骤203:对所述第二摄像头进行旋转,确定所述待定位物体在所述第二摄像头的像面中心位置时的第二方位角和第二倾角。
步骤204:根据所述第一方位角、所述第一倾角、所述第二方位角、所述第二倾角、所述第一摄像头的位置和所述第二摄像头的位置确定所述待定位物体在空间坐标系的坐标。
其中,摄像头的位置是根据摄像头安装的时候通过测量得到的,例如:安装高度、摄像头之间的距离等。
需要说明的是,步骤202和步骤203执行顺序不受限。
这样,根据摄像头的位置以及旋转的角度,即可确定待定位物体的坐标,从而达到了简化定位操作的效果;同时,由于待定位物***于像面中心处进行定位,不会产生形变,从而进一步的提高定位准确度。
为了获取待定位物体在所述第一摄像头的像面中心位置时,第一摄像头的第一方位角和第一倾角,步骤202具体可实施为步骤A1-A4:
步骤A1:通过所述第一摄像头的感光芯片,在所述第一摄像头像面上显示通过中心位置的第一垂直条带。
如图3所示,其为第一摄像头像面显示的图像。其中,灰色区域为屏蔽区域;白色区域为显示的第一垂直条带;图3中第一垂直条带中的“+”为第一摄像头像面的中心位置。
步骤A2:控制所述第一摄像头水平旋转,并将所述待定位物体显示在所述第一垂直条带中时对应的水平旋转角度作为所述第一方位角。
在本申请实施例中,通过水平旋转电机控制第一摄像头水平旋转,当待定位物体出现在第一垂直条带中时,通过角度传感器确定第一摄像头的第一方位角。
步骤A3:通过所述第一摄像头的感光芯片,在所述第一摄像头像面上显示通过中心位置的第一水平条带。
如图4所示,其为第一摄像头像面显示的图像。其中,灰色区域为屏蔽区域;白色区域为显示的第一水平条带;图4中第一水平条带中的“+”为第一摄像头像面的中心位置。
步骤A4:控制所述第一摄像头垂直旋转,并将所述待定位物体显示在所述第一水平条带中时对应的垂直旋转角度作为所述第一倾角。
在本申请实施例中,通过纵向旋转电机控制第一摄像头水平垂直旋转,当待定位物体出现在第一水平条带中时,通过角度传感器确定第一摄像头的第一倾角。
在本申请实施例中,也可以先显示通过中心位置的第一水平条带,在确定了第一倾角后,再显示通过中心位置的第一垂直条带,确定第一方位角。
通过上述步骤对第一摄像头进行旋转,使得待定位物***于第一摄像头像面的中心位置上,并确定此时的第一方位角和第一倾角。这样,由于待定位物***于像面中心处进行定位,不会产生形变,从而进一步的提高定位准确度;同时,通过第一方位角和第一倾角以及其它参数即可确定待定位物体的位置,简化了定位操作。
同样的,为了获取待定位物体在所述第二摄像头的像面中心位置时,第二摄像头的第二方位角和第二倾角,步骤203具体可实施为步骤B1-B4:
步骤B1:通过所述第二摄像头的感光芯片,在所述第二摄像头像面上显示通过中心位置的第二垂直条带。
步骤B2:控制所述第二摄像头水平旋转,并将所述待定位物体显示在所述第二垂直条带中时对应的水平旋转角度作为所述第二方位角。
步骤B3:通过所述第二摄像头的感光芯片,在所述第二摄像头像面上显示通过中心位置的第二水平条带。
步骤B4:控制所述第二摄像头垂直旋转,并将所述待定位物体显示在所述第二水平条带中时对应的垂直旋转角度作为所述第二倾角。
通过上述步骤对第二摄像头进行旋转,使得待定位物***于第二摄像头像面的中心位置上,并确定此时的第二方位角和第二倾角。这样,由于待定位物***于像面中心处进行定位,不会产生形变,从而进一步的提高定位准确度;同时,通过第二方位角和第二倾角以及其它参数即可确定待定位物体的位置,简化了定位操作。
为了可以更快的确定第一方位角、第一倾角、第二方位角和第二倾角,本申请实施例中在获取第一方位角、第一倾角、第二方位角和第二倾角之前,对第一方位角、第一倾角、第二方位角和第二倾角进行预估,具体可实施为步骤C1-C4:
步骤C1:将所述待定位物体通过所述第一摄像头的镜头映射在所述第一摄像头像面上,并确定所述待定位物体在所述第一摄像头像面上的第一位置。
步骤C2:根据所述第一位置预估所述第一方位角和所述第一倾角。
在本申请实施例中,以像面的中心位置为中心,建立直角坐标系。通过小孔成像的原理使待定位物体通过摄像头的镜头映射在摄像头的像面上,并确定像面上的位置。如图5所示,其为待定位物体在所述像面上的位置,根据该位置的坐标,确定方位角和倾角;例如:若方位角每增加5°,则横坐标的值增加1;若倾角每增加5°,则纵坐标的值增加1;若待定位物体A在像面的直角坐标系中的坐标为(1,1),则预估方位角和倾角均为5°。
步骤C3:将所述待定位物体通过所述第二摄像头的镜头映射在所述第二摄像头像面上,并确定所述待定位物体在所述第二摄像头像面上的第二位置。
步骤C4:根据所述第二位置预估所述第二方位角和所述第二倾角。
这样,通过预估第一方位角、第一倾角、第二方位角和第二倾角,可以在旋转摄像头时,直接旋转到预估的角度,并进行微调,从而可以更快的获取方位角和倾角,从而更快的完成定位。
在获取了第一方位角、第一倾角、第二方位角和第二倾角等参数后,通过将获取的参数映射到空间坐标系中,确定待定位物体的坐标,具体可实施为步骤D1-D2:
步骤D1:将所述第一摄像头、所述第二摄像头和所述待定位物体映射到所述空间坐标系中,并根据所述第一摄像头的位置确定所述第一摄像头的坐标;以及,根据所述第二摄像头的位置确定所述第二摄像头的坐标。
其中,可以对两个摄像头的安装高度进行归一化,确定两个摄像头在空间坐标系中的高度,并根据两个摄像头的位置确定两个摄像头在空间坐标系中的平面位置。例如:将第一摄像头的x和y值为0,则可以根据两个摄像头之间的距离确定第二摄像头的x和y值。
步骤D2:根据所述第一方位角、所述第一倾角、所述第二方位角、所述第二倾角、所述第一摄像头的坐标和所述第二摄像头的坐标,确定所述待定位物体在所述空间坐标系的坐标。
在本申请实施例中,为了便于计算,如图6所示,可设第一摄像头的坐标为A(x1,y1,z1),第二摄像头的坐标为B(x2,y2,z2);其中,A点在水平面(xy平面)上的投影为A’(A’为空间坐标系的原点),B点在水平面(xy平面)上的投影为B’(B’位于x轴上)。点C为待定位物体在空间坐标系中映射的点,设点C的坐标为(x0,y0,z0);其在水平面上的投影为点C’。点D为AC延长线与A’C’延长线的交点。
而在空间坐标系中的∠YA’C’为第一方位角,∠A’AC为第一倾角,∠YB’C’为第二方位角,∠B’BC为第二倾角。这样,便将获取到的参数、第一摄像头、第二摄像头以及待定位物体均映射到空间坐标系中,从而将这一问题转化为数学问题,并对点C进行求解。
在本申请实施例中,根据三角函数公式、所述第一方位角、所述第一倾角、所述第二方位角、所述第二倾角、所述第一摄像头的坐标和所述第二摄像头的坐标,确定所述待定位物体在所述空间坐标系的坐标。
具体实施时,为了便于计算,设90°-∠YA’C’=α,90°-∠YB’C’=β,∠A’C’B’=γ,∠A’AC=θ;其中,α、β为已知参数。|A’B’|=l,|A’C’|=m,|C’B’|=n,z0=|C’C|,z1=|A’A|。
根据平面两点间的距离公式,得到:
根据正弦定理以及公式(1),得到:
由于γ=180-α-β,以及sinr=sin(α+β),因此,根据公式(2)可以得到:
根据斜率公式,得到:
由于|C’D|=|A’D|-m,因此,根据公式(3)、公式(5)可得:
根据相似三角形定理,可得:
从而根据公式(5)和公式(6),确定点C中z0的值:
根据三角函数定理可得:
由于x1和y1均为0,所以可以得到:
因此,点C(x0,y0,z0)被成功定位。
基于相同的发明构思,本申请实施例还提供了一种视觉定位装置。如图7所示,该装置包括:
确定物体模块701,用于通过图像识别技术同时确定在第一摄像头中的待定位物体和在第二摄像头中的所述待定位物体;
第一获取角度模块702,用于对所述第一摄像头进行旋转,确定所述待定位物体在所述第一摄像头的像面中心位置时的第一方位角和第一倾角;以及;
第二获取角度模块703,用于对所述第二摄像头进行旋转,确定所述待定位物体在所述第二摄像头的像面中心位置时的第二方位角和第二倾角;
确定坐标模块704,用于根据所述第一方位角、所述第一倾角、所述第二方位角、所述第二倾角、所述第一摄像头的位置和所述第二摄像头的位置确定所述待定位物体在空间坐标系的坐标。
进一步的,第一获取角度模块702包括:
显示第一垂直条带单元,用于通过所述第一摄像头的感光芯片,在所述第一摄像头像面上显示通过中心位置的第一垂直条带;
确定第一方位角单元,用于控制所述第一摄像头水平旋转,并将所述待定位物体显示在所述第一垂直条带中时对应的水平旋转角度作为所述第一方位角;
显示第一水平条带单元,用于通过所述第一摄像头的感光芯片,在所述第一摄像头像面上显示通过中心位置的第一水平条带;
确定第一倾角单元,用于控制所述第一摄像头垂直旋转,并将所述待定位物体显示在所述第一水平条带中时对应的垂直旋转角度作为所述第一倾角。
进一步的,第二获取角度模块703包括:
显示第二垂直条带单元,用于通过所述第二摄像头的感光芯片,在所述第二摄像头像面上显示通过中心位置的第二垂直条带;
确定第二方位角单元,用于控制所述第二摄像头水平旋转,并将所述待定位物体显示在所述第二垂直条带中时对应的水平旋转角度作为所述第二方位角;
显示第二水平条带单元,用于通过所述第二摄像头的感光芯片,在所述第二摄像头像面上显示通过中心位置的第二水平条带;
确定第二倾角单元,用于控制所述第二摄像头垂直旋转,并将所述待定位物体显示在所述第二水平条带中时对应的垂直旋转角度作为所述第二倾角。
进一步的,所述装置还包括:
确定第一位置模块,用于第一获取角度模块702对所述第一摄像头进行旋转,确定所述待定位物体在所述第一摄像头的像面中心位置时的第一方位角和第一倾角之前,将所述待定位物体通过所述第一摄像头的镜头映射在所述第一摄像头像面上,并确定所述待定位物体在所述第一摄像头像面上的第一位置;
第一预估模块,用于根据所述第一位置预估所述第一方位角和所述第一倾角;以及;
确定第二位置模块,用于将所述待定位物体通过所述第二摄像头的镜头映射在所述第二摄像头像面上,并确定所述待定位物体在所述第二摄像头像面上的第二位置;
第二预估模块,用于根据所述第二位置预估所述第二方位角和所述第二倾角。
进一步的,确定坐标模块704包括:
映射单元,用于将所述第一摄像头、所述第二摄像头和所述待定位物体映射到所述空间坐标系中,并根据所述第一摄像头的位置确定所述第一摄像头的坐标;以及,根据所述第二摄像头的位置确定所述第二摄像头的坐标;
确定待定位物体坐标单元,用于根据所述第一方位角、所述第一倾角、所述第二方位角、所述第二倾角、所述第一摄像头的坐标和所述第二摄像头的坐标,确定所述待定位物体在所述空间坐标系的坐标。
在介绍了本申请示例性实施方式的视觉定位的方法及装置之后,接下来,介绍根据本申请的另一示例性实施方式的计算装置。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为***、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
在一些可能的实施方式中,根据本申请的实施例,计算装置可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的视觉定位方法中的步骤201-204。
下面参照图8来描述根据本申请的这种实施方式的计算装置80。图8显示的计算装置80仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。该计算装置例如可以是手机、平板电脑等。
如图8所示,计算装置80以通用计算装置的形式表现。计算装置80的组件可以包括但不限于:上述至少一个处理器81、上述至少一个存储器82、连接不同***组件(包括存储器82和处理器81)的总线83。
总线83表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、***总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器82可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)821和/或高速缓存存储器822,还可以进一步包括只读存储器(ROM)823。
存储器82还可以包括具有一组(至少一个)程序模块824的程序/实用工具825,这样的程序模块824包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置80也可以与一个或多个外部设备84(例如指向设备等)通信,还可与一个或者多个使得用户能与计算装置80交互的设备通信,和/或与使得该计算装置80能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口85进行。并且,计算装置80还可以通过网络适配器86与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器86通过总线83与用于计算装置80的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置80使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
在一些可能的实施方式中,本申请提供的视觉定位方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的视觉定位的方法中的步骤,执行如图2中所示的步骤201-204。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请实施方式的视觉定位方法可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。