CN115035188A - 一种基于目标的距离测量方法、装置及终端设备 - Google Patents
一种基于目标的距离测量方法、装置及终端设备 Download PDFInfo
- Publication number
- CN115035188A CN115035188A CN202210575470.5A CN202210575470A CN115035188A CN 115035188 A CN115035188 A CN 115035188A CN 202210575470 A CN202210575470 A CN 202210575470A CN 115035188 A CN115035188 A CN 115035188A
- Authority
- CN
- China
- Prior art keywords
- distance
- target
- target detection
- determining
- weight value
- 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
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S11/00—Systems for determining distance or velocity not using reflection or reradiation
- G01S11/12—Systems for determining distance or velocity not using reflection or reradiation using electromagnetic waves other than radio waves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本申请适用于图像处理技术领域,提供了一种基于目标的距离测量方法、装置及终端设备,方法包括:获取目标影像数据,基于优化后的轻量级目标检测网络模型对目标检测图像进行处理,得到输出的目标检测框,根据目标检测框确定第一距离和第二距离,根据第一距离和第二距离确定目标距离;其中,目标距离为人体头部到相机的相对距离。本申请通过结合两种算法计算得到的第一距离和第二距离,来动态确定人体头部到相机的距离,在低成本的装置下能够提高距离估计结果的精度和鲁棒性。
Description
技术领域
本申请属于图像处理技术领域,尤其涉及一种基于目标的距离测量方法、装置及终端设备。
背景技术
在机器人的运动过程中,需要实时确定机器人与其它物品之间的距离。
由于单目测距法相比于双目测距法或激光雷达测距法的成本低,因此常备应用于各种机器人中(如小型机器人或扫地、物流机器人)。
相关单目测距法包括:基于二维码的单目测距方法、基于单目深度估计的测距方法和基于小孔成像原理的三角测距方法等。其中,基于二维码的单目测距方法过于依赖于二维码的生成,测量结果稳定性差。基于单目深度估计的测距方法的成本较高。且容易受到光线,外部环境等因素的影响,在复杂环境下的测量结果精度低。基于小孔成像原理的三角测距方法的计算简单,但是测量结果精度低。
因此,如何在低成本下提高机器人的单目测距结果的稳定性及精度,是一项待解决的问题。
发明内容
本申请实施例提供了一种基于目标的距离测量方法、装置及终端设备,可以解决相关单目测距法的测量结果精度低、稳定性差的问题。
第一方面,本申请实施例提供了一种基于目标的距离测量方法,包括:
获取目标影像数据;其中,目标影像数据为包含人体头部的图像或视频;
基于优化后的轻量级目标检测网络模型对所述目标检测图像进行处理,得到输出的目标检测框;其中,目标检测框用于表示人体头像在所述目标影像数据中的位置;
根据所述目标检测框确定第一距离和第二距离;
根据所述第一距离和第二距离确定目标距离;其中,所述目标距离为所述人体头部到相机的相对距离。
在一个实施例中,所述根据所述目标检测框确定第一距离和第二距离,包括:
确定所述相机的内参矩阵和畸变参数;
根据所述目标检测框确定所述人体头部的中心位置,建立以所述人体头部的中心位置为原点的世界坐标系;
基于所述世界坐标系,根据三角测距算法对所述内参矩阵和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第一距离;
基于所述世界坐标系,根据PNP算法对所述内参矩阵、所述畸变参数和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第二距离。
在一个实施例中,所述基于所述世界坐标系,根据三角测距算法对所述内参矩阵和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第一距离,包括:
根据所述目标检测框分别确定所述人体头部的宽度和高度;
基于所述世界坐标系,根据三角测距原理对所述内参矩阵和所述高度进行计算,得到所述人体头部相对于所述相机的第一高度相对距离;
基于所述世界坐标系,根据三角测距原理,对所述内参矩阵和所述宽度进行计算,得到所述人体头部相对于所述相机的第一宽度相对距离。
在一个实施例中,所述基于所述世界坐标系,根据PNP算法对所述内参矩阵、所述畸变参数和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第二距离,包括:
基于所述畸变参数对所述目标影像数据进行校正;
根据PNP算法对所述内参矩阵、所述畸变参数和所述目标检测框进行计算,得到位姿估计矩阵;
根据所述位姿估计矩阵,确定所述人体头部相对于所述相机的第二距离。
在一个实施例中,所述根据所述第一距离和第二距离确定目标距离,包括:
检测所述目标检测框是否位于所述目标影像数据中的预设区域内;
在检测到所述目标检测框位于所述目标影像数据的预设区域内时,确定所述高度和宽度的比值;
在检测到所述比值大于第一预设阈值时,确定所述第一距离为第一宽度相对距离;
设定所述第一距离的第一权重为第一预设权重值,以及所述第二距离的第二权重为第二预设权重值;其中,所述第一预设权重值大于所述第二预设权重值;
或者,在检测到所述比值小于第一预设阈值时,对应设定所述第一权重为第二预设权重值,以及所述第二权重为第一预设权重值;
根据所述第一距离、所述第一预设权重值、所述第二距离及所述第二预设权重值,计算得到目标距离。
在一个实施例中,所述根据所述第一距离和第二距离确定目标距离,还包括:
在检测到所述目标检测框不位于所述目标影像数据的预设区域内时,比较所述宽度和高度的大小;
在检测到所述宽度大于所述高度时,确定所述第一距离为第一宽度相对距离;
在检测到所述高度大于所述宽度时,确定所述第一距离为第一高度相对距离;
设定所述第一权重为第三预设权重值,以及所述第二权重为第四预设权重值;
根据所述第一距离、所述第三预设权重值、所述第二距离及所述第四预设权重值,计算得到目标距离;所述第三预设权重值大于所述第一预设权重值,所述第四预设权重值小于所述第二预设权重值。
在一个实施例中,所述方法还包括:
通过剪枝算法对轻量级目标检测网络模型进行优化,得到轻量级目标检测网络模型。
第二方面,本申请实施例提供了一种基于目标的距离测量装置,包括:
数据获取模块,用于获取目标影像数据;其中,目标影像数据为包含人体头部的图像或视频;
模型处理模块,用于基于优化后的轻量级目标检测网络模型对所述目标检测图像进行处理,得到输出的目标检测框;其中,目标检测框用于表示人体头像在所述目标影像数据中的位置;
第一距离确定模块,用于根据所述目标检测框确定第一距离和第二距离;
第二距离确定模块,用于根据所述第一距离和第二距离确定目标距离;其中,所述目标距离为所述人体头部到相机的相对距离。
在一个实施例中,所述第一距离确定模块,包括:
参数确定子模块,用于确定所述相机的内参矩阵和畸变参数;
坐标系建立子模块,用于根据所述目标检测框确定所述人体头部的中心位置,建立以所述人体头部的中心位置为原点的世界坐标系;
第一距离确定子模块,用于基于所述世界坐标系,根据三角测距算法对所述内参矩阵和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第一距离;
第二距离确定子模块,用于基于所述世界坐标系,根据PNP算法对所述内参矩阵、所述畸变参数和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第二距离。
在一个实施例中,所述第一距离确定子模块,包括:
数据确定单元,用于根据所述目标检测框分别确定所述人体头部的宽度和高度;
高度相对距离确定单元,用于基于所述世界坐标系,根据三角测距原理对所述内参矩阵和所述高度进行计算,得到所述人体头部相对于所述相机的第一高度相对距离;
宽度相对距离确定单元,用于基于所述世界坐标系,根据三角测距原理,对所述内参矩阵和所述宽度进行计算,得到所述人体头部相对于所述相机的第一宽度相对距离。
在一个实施例中,所述第二距离确定子模块,包括:
校正单元,用于基于所述畸变参数对所述目标影像数据进行校正;
位姿估计单元,用于根据PNP算法对所述内参矩阵、所述畸变参数和所述目标检测框进行计算,得到位姿估计矩阵;
第二距离确定单元,用于根据所述位姿估计矩阵,确定所述人体头部相对于所述相机的第二距离。
在一个实施例中,所述第二距离确定模块,包括:
位置检测子模块,用于检测所述目标检测框是否位于所述目标影像数据中的预设区域内;
高宽比确定子模块,用于在检测到所述目标检测框位于所述目标影像数据的预设区域内时,确定所述高度和宽度的比值;
比值确定子模块,用于在检测到所述比值大于第一预设阈值时,确定所述第一距离为第一宽度相对距离;
第一权重确定子模块,用于设定所述第一距离的第一权重为第一预设权重值,以及所述第二距离的第二权重为第二预设权重值;其中,所述第一预设权重值大于所述第二预设权重值;
第二权重确定子模块,用于或者,在检测到所述比值小于第一预设阈值时,对应设定所述第一权重为第二预设权重值,以及所述第二权重为第一预设权重值;
第一目标距离确定子模块,用于根据所述第一距离、所述第一预设权重值、所述第二距离及所述第二预设权重值,计算得到目标距离。
在一个实施例中,所述第二距离确定模块,还包括:
比较子模块,用于在检测到所述目标检测框不位于所述目标影像数据的预设区域内时,比较所述宽度和高度的大小;
第一选择子模块,用于在检测到所述宽度大于所述高度时,确定所述第一距离为第一宽度相对距离;
第二选择子模块,用于在检测到所述高度大于所述宽度时,确定所述第一距离为第一高度相对距离;
第三权重确定子模块,用于设定所述第一权重为第三预设权重值,以及所述第二权重为第四预设权重值;
第二目标距离确定子模块,用于根据所述第一距离、所述第三预设权重值、所述第二距离及所述第四预设权重值,计算得到目标距离;所述第三预设权重值大于所述第一预设权重值,所述第四预设权重值小于所述第二预设权重值。
在一个实施例中,所述装置还包括:
模型优化模块,用于通过剪枝算法对轻量级目标检测网络模型进行优化,得到轻量级目标检测网络模型。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述的基于目标的距离测量方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一项所述的基于目标的距离测量方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的基于目标的距离测量方法。
本申请实施例与现有技术相比存在的有益效果是:获取目标影像数据,基于优化后的轻量级目标检测网络模型对目标检测图像进行处理,得到输出的目标检测框,根据目标检测框确定第一距离和第二距离;根据第一距离和第二距离确定目标距离。结合两种算法计算得到的第一距离和第二距离,来动态确定人体头部到相机的距离,在低成本的装置下能够提高距离估计结果的精度和鲁棒性。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的基于目标的距离测量方法的流程示意图;
图2是本申请实施例提供的基于目标的距离测量方法步骤S103的流程示意图;
图3是本申请实施例提供的基于目标的距离测量方法步骤S104的流程示意图;
图4是本申请实施例提供的基于目标的距离测量方法步骤S104的另一流程示意图;
图5是本申请实施例提供的基于目标的距离测量装置的结构示意图;
图6是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的基于目标的距离测量方法可以应用于机器人中(如小型机器人、扫地机器人、物流机器人或智能型机器人)手机、平板电脑、车载设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
图1示出了本申请提供的基于目标的距离测量方法的示意性流程图,作为示例而非限定,该方法可以应用于上述机器人中。
S101、获取目标影像数据;其中,目标影像数据为包含人体头部的图像或视频。
具体地,预先在机器人的顶部设置单目摄像头(以下简称相机)。通过单目摄像头实时拍摄获得位于机器人前方的图像或视频数据,以包含人体头部的图像或视频数据作为目标影像数据。
作为示例而非限定,在目标影像数据为视频时,以每个单帧图像作为一个处理对象分别进行处理,并对测距结果(即目标距离)进行均值计算,得到对应的人体头部与相机之间的相对距离。例如,目标影像数据为长达20帧的视频,则分别对这20帧的单帧图像进行处理,并基于20帧单帧图像计算得到的20个目标距离的均值,作为图像中人体头部与相机之间的相对距离。
S102、基于优化后的轻量级目标检测网络模型对所述目标检测图像进行处理,得到输出的目标检测框;其中,目标检测框用于表示人体头像在所述目标影像数据中的位置。
具体地,通过预先优化后的轻量级目标检测网络模型对目标检测图像进行目标检测处理,确定目标检测图像中每个人体头像在目标影像数据中的位置,得到优化后的轻量级目标检测网络模型输出的与每个人体头像对应的目标检测框。
S103、根据所述目标检测框确定第一距离和第二距离。
具体地,根据三角测距算法对目标检测框进行计算,得到人体头部相对于相机的第一距离,根据PNP(Perspective-n-Point)算法对目标检测框进行计算,得到人体头部相对于相机的第二距离。
S104、根据所述第一距离和第二距离确定目标距离;其中,所述目标距离为所述人体头部到相机的相对距离。
具体地,设定与第一距离对应的第一权重,以及与第二距离对应的第二权重,根据第一距离、第一权重、第二距离和第二权重计算得到目标距离。其中,目标距离为人体头部到相机的相对距离。
如图2所示,在一个实施例中,所述根据所述目标检测框确定第一距离和第二距离的步骤S103,包括:
S1031、确定所述相机的内参矩阵和畸变参数;
S1032、根据所述目标检测框确定所述人体头部的中心位置,建立以所述人体头部的中心位置为原点的世界坐标系;
S1033、基于所述世界坐标系,根据三角测距算法对所述内参矩阵和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第一距离;
S1034、基于所述世界坐标系,根据PNP算法对所述内参矩阵、所述畸变参数和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第二距离。
具体地,对相机进行标定,确定相机的内参矩阵和畸变参数。根据目标检测框确定人体头部在目标检测图像中的宽度和高度,基于上述宽度和高度确定人体头部的中心位置(具体为人体头部的中心位于目标检测图像中的位置,可通过人体头部在目标检测图像中横坐标的平均值、纵坐标的平均值来表示)。基于以人体头部的中心位置为原点的世界坐标系,以人体头部的平均数据作为人体头部的大小(具体为从左耳到右耳的长度作为人体头部的宽度20cm,从头顶到下巴的长度作为人体头部的高度25cm)。基于以人体头部的中心位置为原点的世界坐标系,根据目标检测框确定人体头部的三维坐标,利用小孔成像原理(相似三角形),对内参矩阵、人体头部的大小、人体头部在目标检测图像中的宽度(或高度)进行计算,得到人体头部相对于相机的第一距离。
具体地,基于畸变参数和内参矩阵对目标检测图像进行校正,基于以人体头部的中心位置为原点的世界坐标系,根据目标检测框确定人体头部的三维坐标,以人体头部的平均数据作为人体头部的大小(具体为从左耳到右耳的长度作为人体头部的宽度20cm,从头顶到下巴的长度作为人体头部的高度25cm),根据PNP算法对内参矩阵、人体头部的大小、人体头部的三维坐标进行计算,得到人体头部相对于相机的第二距离。
在一个实施例中,所述基于所述世界坐标系,根据三角测距算法对所述内参矩阵和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第一距离,包括:
根据所述目标检测框分别确定所述人体头部的宽度和高度;
基于所述世界坐标系,根据三角测距原理对所述内参矩阵和所述高度进行计算,得到所述人体头部相对于所述相机的第一高度相对距离;
基于所述世界坐标系,根据三角测距原理,对所述内参矩阵和所述宽度进行计算,得到所述人体头部相对于所述相机的第一宽度相对距离。
具体地,根据目标检测框分别确定人体头部在目标检测图像中的宽度和高度,基于以人体头部的中心位置为原点的世界坐标系,根据三角测距原理对内参矩阵、人体头部的高度(即为人体头部的从头顶到下巴的长度作为人体头部的平均高度25cm)和人体头部在目标检测图像中的高度进行计算,得到人体头部相对于相机的第一高度相对距离。基于以人体头部的中心位置为原点的世界坐标系,根据三角测距原理对内参矩阵、人体头部的宽度)即为人体头部的从头顶到下巴的长度作为人体头部的平均宽度20cm)和人体头部在目标检测图像中的宽度进行计算,得到人体头部相对于相机的第一宽度相对距离。
在一个实施例中,所述基于所述世界坐标系,根据PNP算法对所述内参矩阵、所述畸变参数和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第二距离,包括:
基于所述畸变参数对所述目标影像数据进行校正;
根据PNP算法对所述内参矩阵、所述畸变参数和所述目标检测框进行计算,得到位姿估计矩阵;
根据所述位姿估计矩阵,确定所述人体头部相对于所述相机的第二距离。
具体地,根据相机的畸变参数和内参矩阵对目标影像数据进行校正,基于以人体头部在目标检测图像中的中心位置为原点的世界坐标系,根据目标检测框确定人体头部的三维坐标,根据PNP算法对内参矩阵、人体头部的大小和畸变参数进行计算,得到位姿估计矩阵,将位姿估计矩阵中的平移矩阵中的z轴值作为人体头部相对于相机的第二距离。
如图3所示,在一个实施例中,所述根据所述第一距离和第二距离确定目标距离的步骤S104,包括:
S1041、检测所述目标检测框是否位于所述目标影像数据中的预设区域内;
S1042、在检测到所述目标检测框位于所述目标影像数据的预设区域内时,确定所述高度和宽度的比值;
S1043、在检测到所述比值大于第一预设阈值时,确定所述第一距离为第一宽度相对距离;
S1044、设定所述第一距离的第一权重为第一预设权重值,以及所述第二距离的第二权重为第二预设权重值;其中,所述第一预设权重值大于所述第二预设权重值;
S1045、或者,在检测到所述比值小于第一预设阈值时,对应设定所述第一权重为第二预设权重值,以及所述第二权重为第一预设权重值;
S1046、根据所述第一距离、所述第一预设权重值、所述第二距离及所述第二预设权重值,计算得到目标距离。
具体地,预设区域内为目标检测图像中的中心区域。其中,中心区域的位置和大小可根据实际需求进行具体确定。例如,设定距离目标检测图像四个边界(包括上边界、下边界、左边界和右边界)20像素以内的区域为中心区域。
具体地,根据目标检测框在目标检测图像中的位置,确定目标检测框是否位于目标影像数据的预设区域之内。在检测到目标影像数据的四个边界均在预设区域的四个边界之内时,确定人体头部图像数据完整且清晰,计算目标检测图像中人体头部的高度和宽度的比值。将上述高度和宽度的比值与第一预设阈值进行比较。第一预设阈值可根据实际情况进行具体设定,例如,设定第一预设阈值为1.3。
具体地,在检测到高度和宽度的比值大于第一预设阈值时,则判定可能是由于发型(如长发)或戴帽子等原因导致检测到的人体头部高度不准确,此结果会影响PNP算法的获得的第二距离。而三角测距结果可通过宽度计算得到较为准确地第一距离。对应的确定第一距离为第一宽度相对距离。设定第一距离的第一权重为第一预设权重值,以及第二距离的第二权重为第二预设权重值;根据第一距离、第一预设权重值、第二距离及第二预设权重值,计算得到目标距离。
其中,第一预设权重值大于第二预设权重值,第一权重值与第二权重值的和为2,第一权重值和第二权重值可根据实际需求进行具体设定。例如,设定第一权重值为1.5,第二权重值为0.5。对应的目标距离=(第一距离(具体为第一宽度相对距离)*1.5+第二距离*0.5)/2。
具体地,在检测到比值小于第一预设阈值时,此时PNP算法测得的第二距离的精度更高。对应设定第一权重为第二预设权重值,以及第二权重为第一预设权重值;根据第一距离、第一预设权重值、第二距离及第二预设权重值,计算得到目标距离。
例如,设定第一权重值为1.5,第二权重值为0.5。对应的目标距离=(第一距离*0.5+PNP第二距离*1.5)/2。
如图4所示,在一个实施例中,所述根据所述第一距离和第二距离确定目标距离的步骤S104,还包括:
S1047、在检测到所述目标检测框不位于所述目标影像数据的预设区域内时,比较所述宽度和高度的大小;
S1048、在检测到所述宽度大于所述高度时,确定所述第一距离为第一宽度相对距离;
S1049、在检测到所述高度大于所述宽度时,确定所述第一距离为第一高度相对距离;
S10410、设定所述第一权重为第三预设权重值,以及所述第二权重为第四预设权重值;
S10411、根据所述第一距离、所述第三预设权重值、所述第二距离及所述第四预设权重值,计算得到目标距离;所述第三预设权重值大于所述第一预设权重值,所述第四预设权重值小于所述第二预设权重值。
具体地,根据目标检测框在目标检测图像中的位置,确定目标检测框是否位于目标影像数据的预设区域之内。在检测到目标影像数据的四个边界均不在预设区域的四个边界之内时,确定目标检测框不位于目标影像数据的预设区域内时,由于在边缘位置时检测器检测到的目标检测框会发生形变(如果人体头部超出目标检测图像时,会导致可能只检测到人的侧脸或下巴部分)。此时PNP算法测得的第二距离会受到更大干扰,而基于三角测距算法选择较长的一个边,得到的第一距离的精度更高。对应的需要比较宽度和高度的大小。
具体地,在检测到人体头部的宽度大于高度时,确定第一距离为第一宽度相对距离,设定与第一距离对应的第一权重为第三预设权重值,以及第二权重为第四预设权重值。根据第一距离、第三预设权重值、第二距离及第四预设权重值,计算得到目标距离;第三预设权重值大于第一预设权重值,第四预设权重值小于第二预设权重值。第三权重值与第四权重值的和为2。
具体地,在检测到人体头部的高度大于宽度时,确定第一距离为第一高度相对距离;设定与第一距离对应的第一权重为第三预设权重值,以及第二权重为第四预设权重值。根据第一距离、第三预设权重值、第二距离及第四预设权重值,计算得到目标距离。其中,第三预设权重值和第四预设权重值可根据实际需求进行具体设定,例如第三预设权重值为1.8,第四预设权重值为0.2。对应的目标距离=(第一距离*1.8+第二距离*0.2)/2。
例如,人体头部的高度为26cm,宽度为20cm。对应确定第一距离为第一高度相对距离。对应的目标距离=(第一高度相对距离*1.8+第二距离*0.2)/2。
基于目标检测图像的实际情况,对目标距离的计算方式进行动态判断和调整。提高了距离估计方法的鲁棒性和测量结果的稳定性。
在一个实施例中,所述方法还包括:
通过剪枝算法对轻量级目标检测网络模型进行优化,得到轻量级目标检测网络模型。
具体地,通过L1filter剪枝算法对预训练后的轻量级目标检测网络yolox-tiny模型进行优化,计算每个filter对模型的贡献度,选取预设范围内的filter,过滤掉不在预设范围内的filter,得到轻量级目标检测网络模型,以减小模型的参数量和计算量,提高模型的运行速度。其中,预设范围可根据实际需求进行具体设定。例如,设定预设范围为贡献度前50%的filter,或前60%的filter。
在一个实施例中,所述方法还包括:
获取多个训练图像数据;其中,训练图像数据为包含人体头像的图像数据;
对每个训练图像数据中的每个人体头像添加对应的标注;
将训练图像数据输入至轻量级目标检测网络模型中进行预训练,得到预训练后的轻量级目标检测网络模型。
本实施例结合两种算法计算得到的第一距离和第二距离,来动态确定人体头部到相机的距离,在低成本的装置下能够提高距离估计结果的精度和鲁棒性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的基于目标的距离测量方法,图5示出了本申请实施例提供的基于目标的距离测量装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图5,该基于目标的距离测量装置100包括:
数据获取模块101,用于获取目标影像数据;其中,目标影像数据为包含人体头部的图像或视频;
模型处理模块102,用于基于优化后的轻量级目标检测网络模型对所述目标检测图像进行处理,得到输出的目标检测框;其中,目标检测框用于表示人体头像在所述目标影像数据中的位置;
第一距离确定模块103,用于根据所述目标检测框确定第一距离和第二距离;
第二距离确定模块104,用于根据所述第一距离和第二距离确定目标距离;其中,所述目标距离为所述人体头部到相机的相对距离。
在一个实施例中,所述第一距离确定模块,包括:
参数确定子模块,用于确定所述相机的内参矩阵和畸变参数;
坐标系建立子模块,用于根据所述目标检测框确定所述人体头部的中心位置,建立以所述人体头部的中心位置为原点的世界坐标系;
第一距离确定子模块,用于基于所述世界坐标系,根据三角测距算法对所述内参矩阵和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第一距离;
第二距离确定子模块,用于基于所述世界坐标系,根据PNP算法对所述内参矩阵、所述畸变参数和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第二距离。
在一个实施例中,所述第一距离确定子模块,包括:
数据确定单元,用于根据所述目标检测框分别确定所述人体头部的宽度和高度;
高度相对距离确定单元,用于基于所述世界坐标系,根据三角测距原理对所述内参矩阵和所述高度进行计算,得到所述人体头部相对于所述相机的第一高度相对距离;
宽度相对距离确定单元,用于基于所述世界坐标系,根据三角测距原理,对所述内参矩阵和所述宽度进行计算,得到所述人体头部相对于所述相机的第一宽度相对距离。
在一个实施例中,所述第二距离确定子模块,包括:
校正单元,用于基于所述畸变参数对所述目标影像数据进行校正;
位姿估计单元,用于根据PNP算法对所述内参矩阵、所述畸变参数和所述目标检测框进行计算,得到位姿估计矩阵;
第二距离确定单元,用于根据所述位姿估计矩阵,确定所述人体头部相对于所述相机的第二距离。
在一个实施例中,所述第二距离确定模块,包括:
位置检测子模块,用于检测所述目标检测框是否位于所述目标影像数据中的预设区域内;
高宽比确定子模块,用于在检测到所述目标检测框位于所述目标影像数据的预设区域内时,确定所述高度和宽度的比值;
比值确定子模块,用于在检测到所述比值大于第一预设阈值时,确定所述第一距离为第一宽度相对距离;
第一权重确定子模块,用于设定所述第一距离的第一权重为第一预设权重值,以及所述第二距离的第二权重为第二预设权重值;其中,所述第一预设权重值大于所述第二预设权重值;
第二权重确定子模块,用于或者,在检测到所述比值小于第一预设阈值时,对应设定所述第一权重为第二预设权重值,以及所述第二权重为第一预设权重值;
第一目标距离确定子模块,用于根据所述第一距离、所述第一预设权重值、所述第二距离及所述第二预设权重值,计算得到目标距离。
在一个实施例中,所述第二距离确定模块,还包括:
比较子模块,用于在检测到所述目标检测框不位于所述目标影像数据的预设区域内时,比较所述宽度和高度的大小;
第一选择子模块,用于在检测到所述宽度大于所述高度时,确定所述第一距离为第一宽度相对距离;
第二选择子模块,用于在检测到所述高度大于所述宽度时,确定所述第一距离为第一高度相对距离;
第三权重确定子模块,用于设定所述第一权重为第三预设权重值,以及所述第二权重为第四预设权重值;
第二目标距离确定子模块,用于根据所述第一距离、所述第三预设权重值、所述第二距离及所述第四预设权重值,计算得到目标距离;所述第三预设权重值大于所述第一预设权重值,所述第四预设权重值小于所述第二预设权重值。
在一个实施例中,所述装置还包括:
模型优化模块,用于通过剪枝算法对轻量级目标检测网络模型进行优化,得到轻量级目标检测网络模型。
本实施例通过结合两种算法计算得到的第一距离和第二距离,来动态确定人体头部到相机的距离,在低成本的装置下能够提高距离估计结果的精度和鲁棒性。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图6为本实施例提供的终端设备的结构示意图。如图6所示,该实施例的终端设备6包括:至少一个处理器60(图6中仅示出一个)、存储器61以及存储在所述存储器61中并可在所述至少一个处理器60上运行的计算机程序62,所述处理器60执行所述计算机程序62时实现上述任意各个基于目标的距离测量方法实施例中的步骤。
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的举例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61在一些实施例中可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61在另一些实施例中也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于目标的距离测量方法,其特征在于,包括:
获取目标影像数据;其中,目标影像数据为包含人体头部的图像或视频;
基于优化后的轻量级目标检测网络模型对所述目标检测图像进行处理,得到输出的目标检测框;其中,目标检测框用于表示人体头像在所述目标影像数据中的位置;
根据所述目标检测框确定第一距离和第二距离;
根据所述第一距离和第二距离确定目标距离;其中,所述目标距离为所述人体头部到相机的相对距离。
2.如权利要求1所述的基于目标的距离测量方法,其特征在于,所述根据所述目标检测框确定第一距离和第二距离,包括:
确定所述相机的内参矩阵和畸变参数;
根据所述目标检测框确定所述人体头部的中心位置,建立以所述人体头部的中心位置为原点的世界坐标系;
基于所述世界坐标系,根据三角测距算法对所述内参矩阵和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第一距离;
基于所述世界坐标系,根据PNP算法对所述内参矩阵、所述畸变参数和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第二距离。
3.如权利要求2所述的基于目标的距离测量方法,其特征在于,所述基于所述世界坐标系,根据三角测距算法对所述内参矩阵和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第一距离,包括:
根据所述目标检测框分别确定所述人体头部的宽度和高度;
基于所述世界坐标系,根据三角测距原理对所述内参矩阵和所述高度进行计算,得到所述人体头部相对于所述相机的第一高度相对距离;
基于所述世界坐标系,根据三角测距原理,对所述内参矩阵和所述宽度进行计算,得到所述人体头部相对于所述相机的第一宽度相对距离。
4.如权利要求2所述的基于目标的距离测量方法,其特征在于,所述基于所述世界坐标系,根据PNP算法对所述内参矩阵、所述畸变参数和所述目标检测框进行计算,得到所述人体头部相对于所述相机的第二距离,包括:
基于所述畸变参数对所述目标影像数据进行校正;
根据PNP算法对所述内参矩阵、所述畸变参数和所述目标检测框进行计算,得到位姿估计矩阵;
根据所述位姿估计矩阵,确定所述人体头部相对于所述相机的第二距离。
5.如权利要求3所述的基于目标的距离测量方法,其特征在于,所述根据所述第一距离和第二距离确定目标距离,包括:
检测所述目标检测框是否位于所述目标影像数据中的预设区域内;
在检测到所述目标检测框位于所述目标影像数据的预设区域内时,确定所述高度和宽度的比值;
在检测到所述比值大于第一预设阈值时,确定所述第一距离为第一宽度相对距离;
设定所述第一距离的第一权重为第一预设权重值,以及所述第二距离的第二权重为第二预设权重值;其中,所述第一预设权重值大于所述第二预设权重值;
或者,在检测到所述比值小于第一预设阈值时,对应设定所述第一权重为第二预设权重值,以及所述第二权重为第一预设权重值;
根据所述第一距离、所述第一预设权重值、所述第二距离及所述第二预设权重值,计算得到目标距离。
6.如权利要求5所述的基于目标的距离测量方法,其特征在于,所述根据所述第一距离和第二距离确定目标距离,还包括:
在检测到所述目标检测框不位于所述目标影像数据的预设区域内时,比较所述宽度和高度的大小;
在检测到所述宽度大于所述高度时,确定所述第一距离为第一宽度相对距离;
在检测到所述高度大于所述宽度时,确定所述第一距离为第一高度相对距离;
设定所述第一权重为第三预设权重值,以及所述第二权重为第四预设权重值;
根据所述第一距离、所述第三预设权重值、所述第二距离及所述第四预设权重值,计算得到目标距离;所述第三预设权重值大于所述第一预设权重值,所述第四预设权重值小于所述第二预设权重值。
7.如权利要求1所述的基于目标的距离测量方法,其特征在于,所述方法还包括:
通过剪枝算法对轻量级目标检测网络模型进行优化,得到轻量级目标检测网络模型。
8.一种基于目标的距离测量装置,其特征在于,包括:
数据获取模块,用于获取目标影像数据;其中,目标影像数据为包含人体头部的图像或视频;
模型处理模块,用于基于优化后的轻量级目标检测网络模型对所述目标检测图像进行处理,得到输出的目标检测框;其中,目标检测框用于表示人体头像在所述目标影像数据中的位置;
第一距离确定模块,用于根据所述目标检测框确定第一距离和第二距离;
第二距离确定模块,用于根据所述第一距离和第二距离确定目标距离;其中,所述目标距离为所述人体头部到相机的相对距离。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210575470.5A CN115035188A (zh) | 2022-05-25 | 2022-05-25 | 一种基于目标的距离测量方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210575470.5A CN115035188A (zh) | 2022-05-25 | 2022-05-25 | 一种基于目标的距离测量方法、装置及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115035188A true CN115035188A (zh) | 2022-09-09 |
Family
ID=83121967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210575470.5A Pending CN115035188A (zh) | 2022-05-25 | 2022-05-25 | 一种基于目标的距离测量方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115035188A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024061079A1 (zh) * | 2022-09-22 | 2024-03-28 | 虹软科技股份有限公司 | 单目视觉定位方法、装置、存储介质和电子设备 |
-
2022
- 2022-05-25 CN CN202210575470.5A patent/CN115035188A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024061079A1 (zh) * | 2022-09-22 | 2024-03-28 | 虹软科技股份有限公司 | 单目视觉定位方法、装置、存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11842438B2 (en) | Method and terminal device for determining occluded area of virtual object | |
CN109405765B (zh) | 一种基于散斑结构光的高精度深度计算方法及系统 | |
CN108381549B (zh) | 一种双目视觉引导机器人快速抓取方法、装置及存储介质 | |
CN111695429B (zh) | 视频图像目标关联方法、装置及终端设备 | |
CN110619660A (zh) | 一种物体定位方法、装置、计算机可读存储介质及机器人 | |
CN108182708B (zh) | 一种双目相机的标定方法、标定装置及终端设备 | |
CN113029128B (zh) | 视觉导航方法及相关装置、移动终端、存储介质 | |
CN114862929A (zh) | 三维目标检测方法、装置、计算机可读存储介质及机器人 | |
CN111354029B (zh) | 手势深度确定方法、装置、设备及存储介质 | |
CN112465911A (zh) | 图像处理方法及装置 | |
CN115035188A (zh) | 一种基于目标的距离测量方法、装置及终端设备 | |
CN114926316A (zh) | 距离测量方法、装置、电子设备及存储介质 | |
CN110032941B (zh) | 人脸图像检测方法、人脸图像检测装置及终端设备 | |
CN112967347B (zh) | 位姿标定方法、装置、机器人及计算机可读存储介质 | |
CN111383264B (zh) | 一种定位方法、装置、终端及计算机存储介质 | |
CN114919584A (zh) | 机动车定点目标测距方法、装置及计算机可读存储介质 | |
CN113034565B (zh) | 一种单目结构光的深度计算方法及系统 | |
US20210118172A1 (en) | Target detection method, target detection apparatus, and unmanned aerial vehicle | |
CN112367476B (zh) | Tof相机的曝光时间确定方法、装置及终端设备 | |
CN111368675B (zh) | 手势深度信息的处理方法、装置、设备及存储介质 | |
CN114359400A (zh) | 一种外参标定方法、装置、计算机可读存储介质及机器人 | |
CN114638947A (zh) | 数据标注方法、装置、电子设备及存储介质 | |
CN114564014A (zh) | 物体信息确定方法、移动机器人系统及电子设备 | |
CN113470103A (zh) | 车路协同中相机作用距离确定方法、装置和路侧设备 | |
CN115439561B (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 |