CN112033351A - 基于单目摄像头的距离测定方法及电子设备 - Google Patents
基于单目摄像头的距离测定方法及电子设备 Download PDFInfo
- Publication number
- CN112033351A CN112033351A CN202010780086.XA CN202010780086A CN112033351A CN 112033351 A CN112033351 A CN 112033351A CN 202010780086 A CN202010780086 A CN 202010780086A CN 112033351 A CN112033351 A CN 112033351A
- Authority
- CN
- China
- Prior art keywords
- target
- target object
- image
- length
- pixel units
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C3/00—Measuring distances in line of sight; Optical rangefinders
-
- 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
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- 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
Abstract
本申请公开了一种基于单目摄像头的距离测定方法及电子设备。本申请实施例中,可以建立不同位置的像素与实际长度的对应关系,以此对图像中的两个目标对象,可以根据这两个目标对象之间包括的像素计算出两个目标对象之间的实际距离。这样,无需工作人员到现场进行标定,而且,位置的像素与实际长度的对应关系与摄像机的角度无关,由此,本申请提供的基于单目摄像头的距离测定方法更方便使用。
Description
技术领域
本申请涉及图像处理技术领域,特别涉及一种基于单目摄像头的距离测定方法及电子 设备。
背景技术
安防应用场景中,往往需要对监控设备采集的图像进行智能分析。其中一项分析任务 为距离测定。距离测定用于分析图像两个目标之间的距离。该距离即实际距离,在本申请 中也称之为在地面坐标系中的距离。
相关技术中可采用双目摄像头实现对两个监控目标的距离测定。但是双目摄像头成本 高,因此,大多用户采用单目摄像头来进行距离测定。然而,基于单目摄像头的距离测定, 往往需要安装设备后到现场进行标定以获得用于距离测定的相机内参和外参。现场标定操 作复杂,难度较大,且标定后仅适用一个拍摄角度。当监控设备的拍摄角度变更后,标定 的相机内参和外参也不再适用。故此,如何基于单目摄像头实现距离测定仍有待解决。
发明内容
本申请的目的是提供一种基于单目摄像头的距离测定方法及电子设备,以克服相关技 术中到现场标定摄像头的相机内参和外参,并且摄像头角度变更后标定的内参和外参不再 适用的问题。
第一方面,本申请提供一种基于单目摄像头的距离测定方法,所述方法包括:
获取由单目摄像头采集的目标图像;
若在所述目标图像中检测到第一目标对象和第二目标对象,则获取所述第一目标对象 和所述第二目标对象各自在所述目标图像中的位置信息;
基于所述第一目标对象和所述第二目标对象各自在所述目标图像中的位置信息,在所 述目标图像的横向方向和纵向方向上分别获取所述第一目标对象和所述第二目标对象之间 包含的像素单元;其中,每个像素单元包括至少一个位置相邻的像素点;其中所述横向方 向和所述纵向方向垂直;
根据所述第一目标对象和所述第二目标对象之间包含的像素单元,以及预先构建的不 同位置的像素单元与横向长度和纵向长度的对应关系,确定所述第一目标对象和所述第二 目标对象之间的横向距离和纵向距离;其中,所述横向长度和所述纵向长度均采样地面坐 标系中的长度单位;
基于所述第一目标对象和所述第二目标对象之间的横向距离和纵向距离,确定所述第 一目标对象和所述第二目标对象之间的距离。
在一些实施例中,采用标定目标为行人构建所述不同位置的像素单元与横向长度和纵 向长度的对应关系。
第二方面,本申请提供一种电子设备,包括处理器和存储器:
所述存储器,用于存储可被所述处理器执行的计算机程序;
所述处理器与所述存储器连接,被配置为:获取由单目摄像头采集的目标图像;
若在所述目标图像中检测到第一目标对象和第二目标对象,则获取所述第一目标对象 和所述第二目标对象各自在所述目标图像中的位置信息;
基于所述第一目标对象和所述第二目标对象各自在所述目标图像中的位置信息,在所 述目标图像的横向方向和纵向方向上分别获取所述第一目标对象和所述第二目标对象之间 包含的像素单元;其中,每个像素单元包括至少一个位置相邻的像素点;其中所述横向方 向和所述纵向方向垂直;
根据所述第一目标对象和所述第二目标对象之间包含的像素单元,以及预先构建的不 同位置的像素单元与横向长度和纵向长度的对应关系,确定所述第一目标对象和所述第二 目标对象之间的横向距离和纵向距离;其中,所述横向长度和所述纵向长度均采样地面坐 标系中的长度单位;
基于所述第一目标对象和所述第二目标对象之间的横向距离和纵向距离,确定所述第 一目标对象和所述第二目标对象之间的距离。
在一些实施例中,同一像素单元内的像素点属于同一像素行或同一像素列,同一行的 像素单元序列中,每个像素单元对应的横向长度相同、且对应的纵向长度相同;
同一列的像素单元序列中,不同像素单元对应的横向长度不同、且对应的纵向长度不 同。
在一些实施例中,以所述目标图像的垂直于所述目标图像的横向方向的中轴线为参考 线;则所述处理器在执行根据所述第一目标对象和所述第二目标对象之间包含的像素单元, 以及预先构建的不同位置的像素单元与横向长度的对应关系,确定所述第一目标对象和所 述第二目标对象之间的横向距离时,具体被配置为:
获取所述第一目标对象到所述参考线的垂直距离范围内包括的第一像素单元数量,并 采用所述第一像素单元对应的横向长度乘以所述第一像素单元数量,得到所述第一目标对 象与所述参考线在所述地面坐标系中的第一距离;
获取所述第二目标对象到所述参考线的垂直距离范围内包括的第二像素单元数量,并 采用所述第二像素单元对应的横向长度乘以所述第二像素单元数量,得到所述第二目标对 象与所述参考线在所述地面坐标系中的第二距离;
根据所述第一距离和所述第二距离确定所述第一目标对象和所述第二目标对象之间的 所述横向距离。
在一些实施例中,所述处理器在执行根据所述第一目标对象和所述第二目标对象之间 包含的像素单元,以及预先构建的不同位置的像素单元与纵向长度的对应关系,确定所述 第一目标对象和所述第二目标对象之间的纵向距离时,具体被配置为:
获取所述第一目标对象和所述第二目标对象之间在所述目标图像的纵向方向的距离范 围内包括的像素单元;
将包括的每个像素单元对应的纵向长度的累加和作为所述第一目标对象和所述第二目 标对象在所述地面坐标系中的所述纵向距离。
在一些实施例中,所述处理器执行构建不同位置的像素单元与横向长度和纵向长度的 对应关系时,被配置为:
获取同一标定目标的按时序排布的样本图像序列;其中,所述样本图像序列中所述标 定目标分散在图像的纵向方向上的不同位置;
采用所述标定目标在地面坐标系中的长度信息,以及所述标定目标在不同样本图像中 的位置,拟合出不同位置的像素单元对应的横向长度;其中,所述长度信息为高度或宽度。
采用所述标定目标的移动速度以及所述标定目标在不同样本图像中的位置,得出不同 位置的像素单元对应的纵向长度。
在一些实施例中,所述标定目标为行人。
在一些实施例中,所述处理器执行所述采用所述标定目标在地面坐标系中的长度信息, 以及所述标定目标在不同样本图像中的位置,拟合出不同位置的像素单元对应的横向长度 时,被配置为:
基于同一标定目标的长度信息在地面坐标系中是固定值,在图像中随着标定目标的位 置不同而不同的规则,拟合出不同位置的像素单元对应的横向长度。
在一些实施例中,所述处理器执行所述基于同一标定目标的长度信息在地面坐标系中 是固定值,在图像中随着标定目标的位置不同而不同的规则,拟合出不同位置的像素单元 对应的横向长度时,被配置为:
对样本图像序列中的各帧图像分别执行:
在所述图像中对所述标定目标进行检测,获得所述标定目标的检测框;
以所述标定目标的长度信息的指定倍数除以所述检测框的长度信息得到第一参数Lu;
将所述检测框在所述图像中的纵坐标与所述第一参数Lu作为一对第一映射数据;其中, 当所述长度信息为所述标定目标的宽度时,所述检测框的长度信息为所述检测框的宽度, 当所述长度信息为所述标定目标的高度时,所述检测框的长度信息为所述检测框的高度;
获取所述标定目标在不同的纵坐标位置处的所述第一映射数据之后,采用参数拟合的 电子设备求解以下公式的待估计参数;
其中,v表示像素单元在图像中的纵坐标,Lu(v)表示位于v处的像素单元对应的横向长 度,αu和βu均为待估计参数。
在一些实施例中,所述处理器执行所述基于同一标定目标的长度信息在地面坐标系中 是固定值,在图像中随着标定目标的位置不同而不同的规则,拟合出不同位置的像素单元 对应的横向长度时,被配置为:
从所述样本图像序列中各图像中识别出所述标定目标在图像中的检测框;
根据所述标定目标的检测框的长度信息和所述检测框在图像中的位置信息之间的线性 关系,拟合出所述线性关系中的斜率和截距;
根据所述斜率和所述截距以及以下公式估计出待估计参数:
αu=b/k
βu=wperson/k
其中,αu和βu均为待估计参数,b为所述截距,k为所述斜率,wperson为所述标定目标的长度信息的指定倍数;
根据以下公式构建像素单元和横向长度的对应关系:
其中,v表示像素单元在图像中的纵向位置坐标,Lu(v)表示位于v位置处的像素单元对 应的横向长度,αu和βu均为所述待估计参数。
在一些实施例中,所述处理器执行所述采用所述标定目标的移动速度以及所述标定目 标在不同样本图像中的位置,得出不同位置的像素单元对应的纵向长度时,具体被配置为:
基于同一标定目标以所述运动速度移动时,在单位时间内所述标定目标在图像上的移 动距离不同,且所述标定目标在地面坐标系上的移动距离相同的原则,得出不同位置的像 素单元对应的纵向长度。
在一些实施例中,所述处理器执行所述基于同一标定目标以所述运动速度移动时,在 单位时间内所述标定目标在图像上的移动距离不同,且所述标定目标在地面坐标系上的移 动距离相同的原则,得出不同位置的像素单元对应的纵向长度时,被配置为:
获取相邻两帧图像中标定目标的检测框,并获取检测框的位置信息;
根据目标对象的运动速度和所述两项两帧图像的时间间隔,确定出所述标定目标在所 述相邻两帧图像中的运动距离;
根据以下公式拟合出待求解参数:
其中,γ表示所述求解参数,Lu(v1)表示所述相邻两帧图像中第一帧图像的检测框位置 信息对应的横向长度,Lu(v2)表示所述相邻两帧图像中第二帧图像中检测框位置信息对应的 横向长度;y′1-y′2表示所述标定目标在从所述第一帧图像到所述第二帧图像移动时所述相 邻两帧图像中的运动距离;
获取同一标定目标在图像的不同的纵向坐标处的像素单元对应的横向长度;
将所述公式作为不同位置的像素单元与纵向长度的对应关系:
Lv(v)=γ|Lu(v)-Lu(v-1)|
其中,v表示纵坐标,Lu(v)表示纵坐标V处的像素单元对应的横向长度。
在一些实施例中,所述处理器执行所述基于同一标定目标以所述运动速度移动时,在 单位时间内所述标定目标在图像上的移动距离不同,且所述标定目标在地面坐标系上的移 动距离相同的原则,得出不同位置的像素单元对应的纵向长度,被配置为:
当所述标定目标在参照所述移动速度移动时,根据所述图像帧序列分析出每个所述单 位时间内的所述标定目标在图像上的移动轨迹的起点和终点;
并确定出所述起点和所述终点的中值,并采用所述起点和所述终点确定出所述标定目 标在图像上的移动距离作为所述中值位置的像素单元对应的纵向长度;
获取到不同的中值位置的像素单元对应的纵向长度后,采用插值处理的方式,确定出 位于两相邻中值之间的像素单元对应的纵向长度。
本申请实施例中,可以建立不同位置的像素与实际长度的对应关系,以此对图像中的 两个目标对象,可以根据这两个目标对象之间包括的像素计算出两个目标对象之间的实际 距离。这样,无需工作人员到现场进行标定,而且,位置的像素与实际长度的对应关系与 摄像机的角度无关,由此,本申请提供的基于单目摄像头的距离测定方法更方便使用。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显 而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、 权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的 附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本 领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的 附图。
图1为根据本申请一个实施例的应用场景示意图;
图2为根据本申请一个实施例的终端设备的结构示意图;
图3为根据本申请一个实施例的软件架构的示意图;
图4为根据本申请一个行人由远及近的效果示意图;
图5为根据本申请一个实施例的基于单目摄像头的距离测定方法的流程示意图;
图6为根据本申请一个实施例的相机坐标系和地面坐标系中相应参数的位置关系的示 意图;
图7A为根据本申请一个实施例的基于单目摄像头的距离测定方法的另一流程示意图;
图7B-图7C为根据本申请一个实施例的基于单目摄像头的距离测定方法的流程示意图 相应数据的说明图;
图8A为根据本申请一个实施例的基于单目摄像头的距离测定方法的又一流程示意图;
图8B为根据本申请一个实施例的对图8A中相应内容进行说明的说明图;
图9A为根据本申请一个实施例的基于单目摄像头的距离测定方法的又一流程示意图;
图9B为根据本申请一个实施例的对图9A中相应内容进行说明的说明图;
图10A-图10B为根据本申请一个实施例的对图10C中相应内容进行说明的说明图;
图10C为根据本申请一个实施例的基于单目摄像头的距离测定方法的又一流程示意图;
图10D、图10E和图10F为根据本申请一个实施例的对图10C中相应内容进行说明的说明图;
图11-图12为根据本申请一个实施例的基于单目摄像头的距离测定方法的又一流程示 意图;
图13为根据本申请一个实施例的基于单目摄像头的距离测定方法的一举例说明示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的 附图,对本申请实施例中的技术方案进行清楚、完整地描述。其中,所描述的实施例是本 申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
并且,在本申请实施例的描述中,除非另有说明,″/″表示或的意思,例如,A/B可以表示A或B;文本中的″和/或″仅仅是一种描述关联对象的关联关系,表示可以存在三 种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种 情况,另外,在本申请实施例的描述中,″多个″是指两个或多于两个。
以下,术语″第一″、″第二″仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐合指明所指示的技术特征的数量。由此,限定有″第一″、″第二″、的特征可 以明示或者隐合地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明, ″多个″的含义是两个或两个以上。
相关技术中,由于单目摄像头需要标定相机内参和外参,且标定难度大、操作复杂。 而且,现有摄像头都可以根据用户需求改变拍摄角度,故此,标定后如果摄像头角度改变, 原来标定的相机内参和外参将不再适用。
有鉴于此,本申请提出一种基于单目摄像头的距离测定方法和电子设备。
本申请的发明构思为:若存在监控目标其具有具体的形态,高度和宽度几乎在一定的 取值范围内,且在某些运动状态下可以匀速运动时,该监控目标可以作为标定目标。标定 目标的边长几乎固定,运动速度几乎固定的情况下,标定目标位于不同的图像位置时,其 在图像中的长度往往会发生变化。例如,以人为标定目标时,人具有统计意义上的平均的 身宽和身高,以及行走时用于几乎相同的速度。故此,以身宽为例,当同一人在不同的地 理位置时,其身宽的绝对值不变,待摄像头采集到的影像中,人的身宽所占用的像素数量 将会发生变化,故此可以以人的身宽为已知量,识别人在不同位置时所占用的像素数,以 此能够确定出不同位置的像素点对应的实际长度是多少,其他身高和速度的使用思想类似。 由此,本申请中,可以建立不同位置的像素与实际长度的对应关系,以此对图像中的两个 目标对象,可以根据这两个目标对象之间包括的像素计算出两个目标对象之间的实际距离。
这样,无需工作人员到现场进行标定,而且,位置的像素与实际长度的对应关系与摄 像机的角度无关,由此,本申请提供的基于单目摄像头的距离测定方法更方便使用。
下面结合附图,对本申请提供的基于单目摄像头的距离测定方法进行说明。
如图1所示示出了本申请实施例提供的应用场景示意图。在该应用场景中,该应用环 境中例如可以包括网络10、服务器20、至少一种监控设备30、终端设备40以及数据库50。其中:
监控设备30用于采集监控范围内的图像,并通过网络10将采集的视频流发送给服务 器20,由服务器20将视频流存储至数据库50中。
终端设备40可发送监控图像获取请求给服务器20,服务器20响应该监控图像获取请 求,从数据库50中获取相应的图像返回给终端设备40显示出来。例如,服务器可以分析各个监控设备30的视频流,得出感兴趣的目标对象之间的距离,例如,宠物狗和主人的距离较远时,有可能主人未栓狗带,由此可能引发危机事件,故此可以提醒警卫人员。
本申请中的描述中仅就单个服务器或终端设备加以详述,但是本领域技术人员应当理 解的是,示出的监控设备30、终端设备40、服务器20和数据库50旨在表示本公开的技术方案涉及的监控设备、终端设备、服务器以及存储系统的操作。对单个服务器和存储系统加以详述至少为了说明方便,而非暗示对终端设备和服务器的数量、类型或是位置等具有限制。应当注意,如果向图示环境中添加附加模块或从其中去除个别模块,不会改变本公开的示例实施例的底层概念。另外,虽然为了方便说明而在图1中示出了从数据库50到服务器20的双向箭头,但本领域技术人员可以理解的是,上述数据的收发也是需要通过网络10实现的。
需要说明的是,本公开实施例中的存储系统例如可以是缓存系统、也可以是硬盘存储、 内存存储等等。
图2示出了一种一种终端设备100的结构示意图。该终端设备可以基于单目摄像头采 集图像,并对图像中不同目标对象之间的距离进行测定,也可以接收其他单目摄像头采集 的图像,并对图像中不同目标对象之间的距离进行测定。
下面以终端100为例对实施例进行具体说明。应该理解的是,图2所示终端100仅是一个范例,并且终端100可以具有比图2中所示的更多的或者更少的部件,可以组合两个 或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或 多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
图2中示例性示出了根据示例性实施例中终端100的硬件配置框图。如图2所示,终端100包括:射频(radio frequency,RF)电路110、存储器120、显示单元130、摄 像头140、传感器150、音频电路160、无线保真(Wireless Fidelity,Wi-Fi)模块170、 处理器180、蓝牙模块181、以及电源190等部件。
RF电路110可用于在收发信息或通话过程中信号的接收和发送,可以接收基站的下行 数据后交给处理器180处理;可以将上行数据发送给基站。通常,RF电路包括但不限于天 线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等器件。
存储器120可用于存储软件程序及数据。处理器180通过运行存储在存储器120的软 件程序或数据,从而执行终端100的各种功能以及数据处理。存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或 其他易失性固态存储器件。存储器120存储有使得终端100能运行的操作系统。本申请中 存储器120可以存储操作系统及各种应用程序,还可以存储执行本申请实施例所述方法的 程序代码。
显示单元130可用于接收输入的数字或字符信息,产生与终端100的用户设置以及功 能控制有关的信号输入,具体地显示单元130可以包括设置在终端100正面的触摸屏131, 可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
显示单元130还可用于显示由用户输入的信息或提供给用户的信息以及终端100的各 种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元130可以包 括设置在终端100正面的显示屏132。其中,显示屏132可以采用液晶显示器、发光二极管等形式来配置。显示单元130可以用于显示本申请中测定的不同目标对象之间的距离。
其中,触摸屏131可以覆盖在显示屏132之上,也可以将触摸屏131与显示屏132 集成而实现终端100的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元 130可以显示应用程序以及对应的操作步骤。
摄像头140可用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。 感光元件可以是电荷耦合器件(charge coUpled device,CCD)或互补金属氧化物半导体 (complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器180转换成数字图像信号。
终端100还可以包括至少一种传感器150,比如加速度传感器151、距离传感器152、指纹传感器153、温度传感器154。终端100还可配置有陀螺仪、气压计、湿度计、温度 计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路160、扬声器161、麦克风162可提供用户与终端100之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转 换为声音信号输出。终端100还可配置音量按钮,用于调节声音信号的音量。另一方面, 麦克风162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再 将音频数据输出至RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120 以便进一步处理。本申请中麦克风162可以获取用户的语音。
Wi-Fi属于短距离无线传输技术,终端100可以通过Wi-Fi模块170帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。
处理器180是终端100的控制中心,利用各种接口和线路连接整个终端的各个部分, 通过运行或执行存储在存储器120内的软件程序,以及调用存储在存储器120内的数据, 执行终端100的各种功能和处理数据。在一些实施例中,处理器180可包括一个或多个处 理单元;处理器180还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基 带处理器也可以不集成到处理器180中。本申请中处理器180可以运行操作系统、应用程 序、用户界面显示及触控响应,以及本申请实施例所述的处理方法。另外,处理器180与 显示单元130耦接。
蓝牙模块181,用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。 例如,终端100可以通过蓝牙模块181与同样具备蓝牙模块的可穿戴电子设备(例如智能 手表)建立蓝牙连接,从而进行数据交互。
终端100还包括给各个部件供电的电源190(比如电池)。电源可以通过电源管理系统 与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电以及功耗等功能。终端100还可配置有电源按钮,用于终端的开机和关机,以及锁屏等功能。
图3是本申请实施例的终端100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件 接口通信。在一些实施例中,可将Android系统分为四层,从上至下分别为应用程序层, 应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图3所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN, 蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏, 锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以 包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿、短信息等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于 构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信息通知图标的显 示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供终端100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。
通知管理器使应用程序可以在状态栏中显示通知信息(例如短信息的消息摘要,消息 内容),可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通 知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本 形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗 口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端振动,指示 灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心 库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架 层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程 管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的 融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可 以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D(一种动画方式)图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动, 传感器驱动。
下面结合捕获拍照场景,示例性说明终端100软件以及硬件的工作流程。
当触摸屏131接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加 工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核 层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触 摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用 调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像 头140捕获静态图像或视频。
本申请实施例中的终端100可以为手机、平板电脑、可穿戴设备、笔记本电脑以及电 视等。
为便于理解本申请提供的技术方案,下面将就如何建立不同位置的像素和实际长度之 间的对应关系进行说明。
如图4所示,基于近大远小的规律,当同一目标对象1距离单目摄像头的距离不同时, 其在图像中的大小(即占用的像素数量)也不同。故此,本申请中,可以将单目摄像头采集的图像划分为多个等大的像素单元。一个像素单元可以包括一个或多个像素点。同一像素单元内的像素点属于同一像素行或同一像素列。然后,以标定目标具有固定长度的边长特点和特定状态下的运动速度几乎接近于匀速的原理,对于符合条件的标定目标的视频进行分析,基于不同位置的标定目标在图像中所占用的像素单元数不同的特点,分析出不同位置的像素单元对应的横向长度和纵向长度。即一个像素单元对应的实际长度包括两个分量,一个分量为横向长度,另一个分量为纵向长度。
实施时,如图5所示,构建不同位置的像素单元与横向长度和纵向长度的对应关系, 可包括以下步骤:
在步骤501中,获取同一标定目标的按时序排布的样本图像序列;其中,所述样本图 像序列中所述标定目标分散在图像的纵向方向上的不同位置;
例如,如前文所述标定目标可以为行人。由于行人是单目摄像头通常能够普遍采集到 的目标对象,且成年行人具有几乎等同的身宽和身高,且具有差异不大的行走速度,故此, 以行人为标定目标有利于自动的建立不同位置的像素单元与横向长度和纵向长度的对应关 系。
当然,在其他实施例中,还可以以低速运动的车辆作为标定目标。采用速度传感器活 动车辆的运行速度,以车辆的型号从网络中获取车辆的高度和宽度信息等,也可以用于建 立不同位置的像素单元和横向长度及纵向长度之间的对应关系。也可以是实际情况选用其 他的目标对象作为标定目标,同样适用于本申请实施例。
在一些实施例中,可以获取标定目标的一段视频,然后基于采用等间隔抽帧的方式, 获取该标定目标的按时序排布的样本图像序列。
在步骤502中,采用所述标定目标在地面坐标系中的长度信息,以及所述标定目标在 不同样本图像中的位置,拟合出不同位置的像素单元对应的横向长度;其中,所述长度信 息为高度或宽度。
在步骤503中,采用所述标定目标的移动速度以及所述标定目标在不同样本图像中的 位置,得出不同位置的像素单元对应的纵向长度。
由此,在实际应用时,可以无需工作人员到现场进行标定,利用已知的标定目标的统 计学意义的高度、宽度和运动速度即可建立不同位置的像素单元与实际长度的对应关系, 该对应关系于标定目标无关与拍摄角度无法,故此可以适用于任何的目标对象之间的距离 测定。
下面分别就如何确定不同位置的像素单元对应的横向长度和纵向长度分别进行说明:
需要说明的是,以下实施例以行为为标定目标进行说明,其他标定目标的实施方法与 行人类似,在此不再赘述。此外,下面以一个像素点为一个像素单元对此进行距离说明。
1、不同位置的像素单元与横向长度的对应关系的建立
实施时,可以基于同一标定目标的长度信息在地面坐标系中是固定值,在图像中随着 标定目标的位置不同而不同的规则,设计相应的统计方法,以便于电子设备根据该实现方 法从标定目标的样本图像序列中分析出所需的数据,并拟合出不同位置的像素单元对应的 横向长度。
例如,相关的基础理论如下:
相机的内参矩阵和外参矩阵分别如下公式(1)和公式(2)所示:
Xc=RXw+t (2)
相机坐标系的y-z平面如图6所示,y方向为相机主轴方向,y-z平面垂直于地面,x轴平行于地面。现在,可以建立地面平面坐标系(x′,y′),令x′=x。本申请关心的问题是如何根据相机图片像素距离求得实际距离,那么问题本质是地面坐标系与图片像素的映射关系。
单位像素单元对应的横向长度的确定
由于人的宽度和高度是基本不变的,因此可以通过采集人在不同位置的图片宽度或高 度来确定单个像素单元在水平方向对应的像素长度(即横向长度)。当人正面对着摄像头时, 用高度与宽度标定具有等同性,当人在画面中经常侧转身体时,使用身高较好;当人经常 有弯腰运作或者儿童常出现时,使用身宽较好;为方便描述,下文仅就人的宽度为例进行 分析。像素上水平两点(对应人宽度在地面的投影)在图像上的坐标为(u1,v1)和(u2,v2)。 对应相机坐标系真实坐标为(x1,y1,z1)和(x2,y2,z2)。可知v1=v2且z1=z2,那么:
人的宽度不变,所以|x1-x2|为定值,设为wperson,则:
地面上的点位于同一平面内且该平面近似平行于相机坐标系的x轴,满足方程(7)即 得到地面在相机坐标系中的平面方程:
y+cz+d=0 (7)
经整理可以得到一个线性方程(10),
因此对图像上人的宽度|u1-u2|作线性拟合就可以得到人在图像上的宽度随图像的纵 向坐标v1变化的函数,是斜率,是截矩; 进而得到水平方向各像素点代表的实际长度随纵向方向坐标变化的关系。也可直接得到像 素点代表实际长度与图像纵向方向坐标的拟合函数,如公式(11)所示:
其中其中,在公式(12)中,v表示像素单元在图像中的纵坐标,Lu(v)表示位于v处的 像素单元对应的横向长度,αu和βu均为待估计参数。
由此,从公式(10)-公式(12)的推导结果触发,本申请实施例可提供两种拟合出不同位置的像素单元对应的横向长度的方法,包括:
横向长度拟合方法1:
可参照公式(12)求解像素单元与横向长度的对应关系,实施时对样本图像序列中的 各帧图像分别执行如图7A所示的步骤:
在步骤701中,在所述图像中对所述标定目标进行检测,获得所述标定目标的检测框;
由于标定目标的检查框往往为相应长度信息的多倍,故此,实施时,可以标定目标的 长度信息的指定倍数作为wperson这一参数。实施时,指定倍数可以根据实际需求调节,例如当人体检测框的宽度通常为人体的2倍时,可以采用人体宽度的2倍作为wperson这一参数。
在步骤702中,以所述标定目标的长度信息的指定倍数除以所述检测框的长度信息得 到第一参数Lu;
在步骤703中,将所述检测框在所述图像中的纵坐标与所述第一参数Lu作为一对第一 映射数据;
其中,当所述长度信息为所述标定目标的宽度时,所述检测框的长度信息为所述检测 框的宽度,当所述长度信息为所述标定目标的高度时,所述检测框的长度信息为所述检测 框的高度;
在步骤704中,获取所述标定目标在不同的纵坐标位置处的所述第一映射数据之后, 采用参数拟合的方法求解以上公式(12)的待估计参数,得到由公式(12)表示的不同像素单元和横向长度的对应关系。
其中,当像素单元为n个像素时,可以采用n个像素点对应的横向长度累加和作为该 n个像素点构成的像素单元对应的横向长度。
此外,需要说明的是,针对同一标定目标,可以该标定目标距离镜头远近不同的一组Lu和v值 按公式(12)进行参数拟合,求出αu和βu。可以每个标定目标拟合出一套待拟合参数αu和βu, 然后求取不同标定目标拟合出的αu和βu各自的均值,以此来提高拟合出的横向长度的准确 性。
由此,基于多帧图像即可拟合出不同像素单元对应的横向长度。以人的身宽为例,可以实 施为:
步骤A1:用深度学习或级联器方法识别视频帧中行人,并标记为矩形框。
步骤A2:矩形框高约为图片中人的身高,矩形框宽约为人的平均宽度的2倍(具体比例可 多次测量后标定)。以下流程中仅以身宽为例。
步骤A3:取人的平均身宽的两倍(可用身高替代)作为标准值wperson(该值可调节,可在 实际测量中校准该值)。
步骤A4:使用wperson除以检测框宽(使用身高时,除以检测框高,单位均为像素点数量), 得到公式(12)中的值Lu,人的检测框下边框纵坐标为v,是一对映射。
步骤A5:将同一行人距离镜头远近不同的多组Lu和v值按公式(12)进行参数拟合,可以求出 αu和βu。
步骤A6:对多个行人重复步骤A1-步骤A5过程,获得多组参数。
可使用异常值去除方法(比如孤立森林)去除数值异常的参数组,然后对其余参数取平均 值。
步骤A7:求得αu和βu后,图片上纵坐标为v处,图像横向方向(即水平方向)一个像素代 表的实际长度Lu可以由公式(12)求得。横向方向两点的实际距离|x1-x2|可以用像素点数 乘以Lu求得,即|x1-x2|=Lu(v)·|u1-u2| (13)
图7B是使用″横向长度拟合方法1″对多名行人分别在水平方向上进行映射关系拟合 的结果,由于行人身高、身宽基本一致,所得拟合曲线基本落在一起。在图7B中,横轴表示图像的纵向坐标,以图像上边沿至下边沿为纵向正向,即越靠近下边沿纵坐标越大。对图7B中这些结果再进行平均,就可以获得较准确的待拟合参数,如图7C所示的横向对应 实际长度曲线,表示最终每行的单个像素点对应的横向长度。
横向长度拟合方法2:
可参照公式(10)-(12)求解像素单元与横向长度的对应关系,可实施为如图8A所示的步骤,包括:
在步骤801中,从所述样本图像序列中各图像中识别出所述标定目标在图像中的检测 框;如前文所述的矩形框。
在步骤802中,根据所述标定目标的检测框的长度信息和所述检测框在图像中的位置 信息之间的线性关系,拟合出所述线性关系中的斜率和截距;
例如,参照公式(10),检测框的长度信息作为wperson,检测框的纵向坐标作为v1,能够求得公式(10)中的截距和斜率。
由公式(11)和(12)可以得到:αu=-cy+cfy (13)
βu=-dfy/fx (14)
进一步,可以推导出:
αu=b/k (16)
βu=wperson/k (17)
在步骤803中,根据所述斜率和所述截距以及以下公式(16)和(17)估计出公式(12) 中的待估计参数:
其中,αu和βu均为待估计参数,b为所述截距,k为所述斜率,wperson为所述标定目标的长度信息的指定倍数;
在步骤804中,根据公式(12)构建像素单元和横向长度的对应关系。
身宽在图片上的显示长度结果如图8B所示,可以直观的看到所有点基本落在拟合直线 上。
2、不同位置的像素单元与纵向长度的对应关系的建立
实施时,可基于同一标定目标以所述运动速度移动时,在单位时间内所述标定目标在 图像上的移动距离不同,且所述标定目标在地面坐标系上的移动距离相同的原则,得出不 同位置的像素单元对应的纵向长度。
根据该原则可以设计测试方法和并获取相应的测试数据来获得同位置的像素单元对应 的纵向长度。
本申请实施例可提供两种实施方式:
纵向长度确定方法1:
地面坐标系x′方向坐标可以由式(12)确定,则图片上两点间的x′方向距离可以计算得到。 认为人匀速运动,则人在单位时间内运动距离为s,则y′方向运动的距离可以计算得到
这里,y′1和y′2代表单位时间前后地面坐标系上对应的两个纵坐标,x1和x2代表对应水平 坐标(x与x′分别是相机坐标系和地面坐标系的横坐标,因为取的同一方向,在地面上它们 是等同的)。该距离(见图6)又可表示为:
结合式(7),可得:
因此,可以令:
由式(6)(11)(12)可以得到:
z=fxLu(v) (19)
再结合(18)可得:
到此,则可以拟合得到参数γ,建立像素单元和纵向长度的对应关系。
假设样本图像帧序列是等间隔抽帧得到的。则样本图像帧序列中,线路图像人行走距离S 为人的平均步速乘以这两帧图像的时间间隔。获取相邻图片中人的检测框的坐标,例如可 以取检测框右下角、左下角、下边框中点、上边框中点,或检测框中其它点均可。得到相 邻两帧图像的检测框的坐标为(u1,v1)、(u2,v2)。将这两个坐标代入公式(13),再取平 均可得图像的水平方向人的行走距离|x1-x2|,即:
将s和|x1-x2|代入公式(15)计算相邻图片中竖直方向人的行走距离,也就是图 片坐标v1和v2对应的实际距离|y′1-y′2|。由公式(20)可得:
据此,可以求得参数γ值。
对同一行人多对相邻图片求得的γ值取平均。γ表示所述求解参数,Lu(v1)表示所述相邻 两帧图像中第一帧图像的检测框位置信息对应的横向长度,Lu(v2)表示所述相邻两帧图像中 第二帧图像中检测框位置信息对应的横向长度;y′1-y′2表示所述标定目标在从所述第一帧 图像到所述第二帧图像移动时所述相邻两帧图像中的运动距离;
对竖直方向相邻两个像素对应的y′坐标作差,可得竖直方向像素长度Lv(v),即
Lv(v)=γ|Lu(v)-Lu(v-1)| (26)
其中,γ表示所述待求解参数,v表示纵坐标,Lu(v)表示纵坐标V处的像素单元对应的 横向长度。
也即,像素单元与纵向长度的对应关系,与上一个纵坐标和自身纵坐标位置的像素单 元对应的横向长度有关。
基于此,如图9A所示,得出不同位置的像素单元对应的纵向长度,包括:
步骤901:获取相邻两帧图像中标定目标的检测框,并获取检测框的位置信息;
步骤902:根据目标对象的运动速度和所述两项两帧图像的时间间隔,确定出所述标 定目标在所述相邻两帧图像中的运动距离:
步骤903:根据公式(25)拟合出待求解参数:
步骤904:基于待求解参数构造公式(26)得到不同位置像素单元对应的纵向长度。
图9B是对多名行人纵向方向上进行映射关系拟合的结果,由于行人身高、身宽和步速 基本一致,所得拟合曲线基本落在一起。对这些结果再进行平均,就可以获得较准确的拟 合参数,如图7C所示得到纵向对应实际长度曲线。
纵向长度确定方法2:
假设一个人匀速直线从相机下向远方走去,人在相机坐标系坐标下的三个方向也是匀 速度的。以下都采用相机坐标系,用x、y、z表示坐标。设初始人在地面上最靠近相机的点坐标为(x1,y1,z1),下一秒的坐标为(x2,y2,z2),再下一秒的坐标为(x3,y3,z3)。 设内参矩阵为K,人每秒走过的距离为s,对应图片上的距离s′i则近似为:
其中,zi和zi+1分别是第i和第i+1秒的z坐标,因为步速一定,所以zi+1-zi为定值,设该值为Δz,则在i时刻zi=z1+(i-1)·Δz。公式(27)则变为:
为方便拟合,公式(28)变形可得:
通过检测视频中人在地面上每秒位置的变化,可以得到s′i,再用公式(23)拟合,可 得到待估计参数α和β。结果见图10A,当人由近向远方走去,每秒中在图像上的移动距离由多变少,正好符合近大远小的规律。
人在一秒内走过的路径为s,图像上人移动的像素长度为s′i,在此段路径中平均一个像 素对应的真实长度为s/s′i,取这段路径图片坐标的中点(vi+vi+1)/2的像素的对应真实长度 为s/si,人走经路径的其它点则用插值(注意:不是曲线拟合)计算,结果见图10B所示, 得出了每个纵坐标位置的像素点对应的纵向长度。原则上,通过获取人每秒在图像上的位 置就可以直接进行插值;但是,由于人一步落下时会有一个停顿,走路过程并不一直均速, 获取的人在图像上的位置存在波动(见图10A),因此需要对公式(29)进行拟合后,按拟合 后的公式重新求得各时间点的s′i,再进行插值,会得到准确率更高的结果。
由于图片像素对应真实长度主要与相机远近相关,所以可以近似认为当y′(即纵坐标) 相同时,纵坐标相同的像素点代表的真实长度相同,故此,纵坐标不同的像素单元对应的 纵向长度之间的映射关系可以表示为L=f(y′)。
根据以上推导,可以得到竖直方向像素长度映射关系确定方案二。如图10C所示,包 括以下步骤:
步骤1001,当所述标定目标在参照所述移动速度移动时,根据所述图像帧序列分析出 每个所述单位时间内的所述标定目标在图像上的移动轨迹的起点和终点;
步骤1002,确定出所述起点和所述终点的中值,并采用所述起点和所述终点确定出所 述标定目标在图像上的移动距离作为所述中值位置的像素单元对应的纵向长度;
步骤1003,获取到不同的中值位置的像素单元对应的纵向长度后,采用插值处理的方 式,确定出位于两相邻中值之间的像素单元对应的纵向长度。
具体流程如下:
步骤B1:从摄像头获取的行人视频中等时间间隔获取图片。
步骤B2:相邻图片人和行走距离s为人的平均步速乘以时间间隔。
步骤B3:获取相邻图片中人的检测框右下角(左下角、下边框中点或下边框上其它对 等点均可)竖直方向坐标v1和v2,水平方向坐标为u1和u2。
步骤B4:由s′i=|vi-vi+1|计算前述相邻两帧图像的时间间隔内图片距离。
步骤B5:该时间间隔内图片坐标中点(vi+vi+1)/2的像素的对应真实长度为s/s′i。
步骤B6:重复B4-B5计算出所有相邻两帧图像的时间间隔对应坐标中点(vi+vi+1)/2 的竖直方向像素的真实长度。
步骤B7:对406确定的相邻坐标点间的竖直坐标插值计算竖直方向像素对应的真实长 度。
例如,中点对应的值依次为N1、N2、N3,其对应的真实长度分别为M1、M2、M3。则对于N1、N2之间的纵坐标对应的真实长度,可以通过(N1,M1)和(N2, M2)插值得到;对于N2、N3之间的纵坐标对应的真实长度,可以通过(N2,M2)和(N3, M3)插值得到。插值方法可采用线性插值,非线性插值均可适用于本申请实施例。
步骤B8:对多行人所得纵向方向的映射结果进行异常值去除,再将每个纵坐标映射的 结果对异常去除后的剩余行人个数取平均。
图10D示出了使用纵向方向像素长度特解方法对多个行人计算获得的映射关系曲线。 即给出了多行人各自的每个像素点对应的真实长度曲线,其中一个行人对应一条曲线。图 10E给出的是行人的典型轨迹。由这两幅图可以看出在行人行走基本为直线的情况下,使 用特解方法就可以获得比较满意的结果。图10F给出了″纵向长度确定方法2″的平均结 果。
需要说明的是从本提案所推导的公式出发,有多种拟合和插值方法,以上方案为典型 解决方案。其它方案不一一列举,但也应视为本申请的一部分。
综上所述,每个像素单元包括的像素点属于同一行或同一列。且当像素点有多个时, 像素单元对应的纵向长度可采用该像素单元内包括的各像素点分别对应的纵向长度的累加 和表示。
为了简化对应关系的计算,同一行的像素单元序列中,每个像素单元对应的横向长度 相同、且对应的纵向长度相同;同一列的像素单元序列中,不同像素单元对应的横向长度 不同、且对应的纵向长度不同。例如一个像素点表示一个像素单元时,同一行的像素点对 应的横向长度相同,对应的纵向长度也相同,不同行的像素点对应的横向长度不同,对应 的纵向长度也不同。由此,可能简化成得出实际长度随图像纵坐标的变化关系即可。
在建立以上对应关系之后,本申请实施例中,在距离测定时,可如图11所示,执行以 下步骤:
步骤1101,获取由单目摄像头采集的目标图像;
步骤1102,若在所述目标图像中检测到第一目标对象和第二目标对象,则获取所述第 一目标对象和所述第二目标对象各自在所述目标图像中的位置信息;
例如,检测到人和具有攻击力的宠物,例如狗分别作为第一目标对象和第二目标对象。
步骤1103,基于所述第一目标对象和所述第二目标对象各自在所述目标图像中的位置 信息,在所述目标图像的横向方向和纵向方向上分别获取所述第一目标对象和所述第二目 标对象之间包含的像素单元;其中,每个像素单元包括至少一个像素点;其中所述横向方 向和所述纵向方向垂直;
其中,同一像素单元的像素点属于同一像素行或同一像素列。
步骤1104,根据所述第一目标对象和所述第二目标对象之间包含的像素单元,以及预 先构建的不同位置的像素单元与横向长度和纵向长度的对应关系,确定所述第一目标对象 和所述第二目标对象之间的横向距离和纵向距离;其中,所述横向长度和所述纵向长度均 采样地面坐标系中的长度单位;
例如根据前述公式(10)、(12)、(26)以及特解方式建立的像素单元和实际长度的对 应关系,可以求解出第一目标对象和第二目标对象之间的横向距离和纵向距离。
例如,以所述目标图像的垂直于所述目标图像的横向方向的中轴线为参考线,如图12 所示,横向距离的一种求解方法为:
步骤C1,获取所述第一目标对象到所述参考线的垂直距离范围内包括的第一像素单元 数量,并采用所述第一像素单元对应的横向长度乘以所述第一像素单元数量,得到所述第 一目标对象与所述参考线在所述地面坐标系中的第一距离;
步骤C2,获取所述第二目标对象到所述参考线的垂直距离范围内包括的第二像素单元 数量,并采用所述第二像素单元对应的横向长度乘以所述第二像素单元数量,得到所述第 二目标对象与所述参考线在所述地面坐标系中的第二距离;
步骤C3,根据所述第一距离和所述第二距离确定所述第一目标对象和所述第二目标对 象之间的所述横向距离。
例如,若第一目标对象和第二目标对象在所述参考线的同侧,则计算第一距离和第二 距离的差值作为这两个目标对象之间的横向距离;若第一目标对象和第二目标对象在所述 参考线的两侧,则计算第一距离和第二距离的和值作为这两个目标对象之间的横向距离。
当然,实施时,可以以参考线为坐标原点。来计算二者之间的横向距离。如图13所示, 假设参考线右侧数值符号为正,参考线左侧数值符号为负,则人相对参考线的坐标为-5个 像素,人的位置的纵坐标像素对应的横向长度假设为A,狗与参考线之间距离2个像素,狗的位置的纵坐标像素对应的横向长度假设为B,则人与狗的横向距离为:D1=2*B-(-5)*A。相应的,假设人与狗的纵向方向上相差3个像素,各个像素对应的纵向长度分别为C1、C2和C3,则人与狗的纵向距离为:D2=C1+C2+C3。则基于步骤1105可得,人与狗之间 的距离
也即,在计算纵向距离时,采用两目标对象的纵向距离范围内包括的各个像素单元对 应的纵向长度累加和即可。
需要说明的是,实施时,目标对象的位置可以采用目标对象的检测框的任一顶点坐标 或目标对象的检测框的中心点坐标,只要两个目标对象采用检测框中同一位置的坐标即可。
步骤1105,基于所述所述第一目标对象和所述第二目标对象之间的横向距离和纵向距 离,确定所述第一目标对象和所述第二目标对象之间的距离。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本 申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而 言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本 申请的保护范围。
Claims (12)
1.一种基于单目摄像头的距离测定方法,其特征在于,所述方法包括:
获取由单目摄像头采集的目标图像;
若在所述目标图像中检测到第一目标对象和第二目标对象,则获取所述第一目标对象和所述第二目标对象各自在所述目标图像中的位置信息;
基于所述第一目标对象和所述第二目标对象各自在所述目标图像中的位置信息,在所述目标图像的横向方向和纵向方向上分别获取所述第一目标对象和所述第二目标对象之间包含的像素单元;其中,每个像素单元包括至少一个位置相邻的像素点;其中所述横向方向和所述纵向方向垂直;
根据所述第一目标对象和所述第二目标对象之间包含的像素单元,以及预先构建的不同位置的像素单元与横向长度和纵向长度的对应关系,确定所述第一目标对象和所述第二目标对象之间的横向距离和纵向距离;其中,所述横向长度和所述纵向长度均采样地面坐标系中的长度单位;
基于所述第一目标对象和所述第二目标对象之间的横向距离和纵向距离,确定所述第一目标对象和所述第二目标对象之间的距离。
2.根据权利要求1所述的方法,其特征在于,同一像素单元内的像素点属于同一像素行或同一像素列,同一行的像素单元序列中,每个像素单元对应的横向长度相同、且对应的纵向长度相同;
同一列的像素单元序列中,不同像素单元对应的横向长度不同、且对应的纵向长度不同。
3.根据权利要求2所述的方法,其特征在于,以所述目标图像的垂直于所述目标图像的横向方向的中轴线为参考线;则根据所述第一目标对象和所述第二目标对象之间包含的像素单元,以及预先构建的不同位置的像素单元与横向长度的对应关系,确定所述第一目标对象和所述第二目标对象之间的横向距离,具体包括:
获取所述第一目标对象到所述参考线的垂直距离范围内包括的第一像素单元数量,并采用所述第一像素单元对应的横向长度乘以所述第一像素单元数量,得到所述第一目标对象与所述参考线在所述地面坐标系中的第一距离;
获取所述第二目标对象到所述参考线的垂直距离范围内包括的第二像素单元数量,并采用所述第二像素单元对应的横向长度乘以所述第二像素单元数量,得到所述第二目标对象与所述参考线在所述地面坐标系中的第二距离;
根据所述第一距离和所述第二距离确定所述第一目标对象和所述第二目标对象之间的所述横向距离。
4.根据权利要求2所述的方法,其特征在于,根据所述第一目标对象和所述第二目标对象之间包含的像素单元,以及预先构建的不同位置的像素单元与纵向长度的对应关系,确定所述第一目标对象和所述第二目标对象之间的纵向距离,具体包括:
获取所述第一目标对象和所述第二目标对象之间在所述目标图像的纵向方向的距离范围内包括的像素单元;
将包括的每个像素单元对应的纵向长度的累加和作为所述第一目标对象和所述第二目标对象在所述地面坐标系中的所述纵向距离。
5.根据权利要求1所述的方法,其特征在于,构建不同位置的像素单元与横向长度和纵向长度的对应关系,包括:
获取同一标定目标的按时序排布的样本图像序列;其中,所述样本图像序列中所述标定目标分散在图像的纵向方向上的不同位置;
采用所述标定目标在地面坐标系中的长度信息,以及所述标定目标在不同样本图像中的位置,拟合出不同位置的像素单元对应的横向长度;其中,所述长度信息为高度或宽度;
采用所述标定目标的移动速度以及所述标定目标在不同样本图像中的位置,得出不同位置的像素单元对应的纵向长度。
6.根据权利要求5所述的方法,其特征在于,所述采用所述标定目标在地面坐标系中的长度信息,以及所述标定目标在不同样本图像中的位置,拟合出不同位置的像素单元对应的横向长度,包括:
基于同一标定目标的长度信息在地面坐标系中是固定值,在图像中随着标定目标的位置不同而不同的规则,拟合出不同位置的像素单元对应的横向长度。
7.根据权利要求6所述的方法,其特征在于,所述基于同一标定目标的长度信息在地面坐标系中是固定值,在图像中随着标定目标的位置不同而不同的规则,拟合出不同位置的像素单元对应的横向长度,包括:
对样本图像序列中的各帧图像分别执行:
在所述图像中对所述标定目标进行检测,获得所述标定目标的检测框;
以所述标定目标的长度信息的指定倍数除以所述检测框的长度信息得到第一参数Lu;
将所述检测框在所述图像中的纵坐标与所述第一参数Lu作为一对第一映射数据;其中,当所述长度信息为所述标定目标的宽度时,所述检测框的长度信息为所述检测框的宽度,当所述长度信息为所述标定目标的高度时,所述检测框的长度信息为所述检测框的高度;
获取所述标定目标在不同的纵坐标位置处的所述第一映射数据之后,采用参数拟合的方法求解以下公式的待估计参数;
其中,v表示像素单元在图像中的纵坐标,Lu(v)表示位于v处的像素单元对应的横向长度,αu和βu均为待估计参数。
8.根据权利要求6所述的方法,其特征在于,所述基于同一标定目标的长度信息在地面坐标系中是固定值,在图像中随着标定目标的位置不同而不同的规则,拟合出不同位置的像素单元对应的横向长度,包括:
从所述样本图像序列中各图像中识别出所述标定目标在图像中的检测框;
根据所述标定目标的检测框的长度信息和所述检测框在图像中的位置信息之间的线性关系,拟合出所述线性关系中的斜率和截距;
根据所述斜率和所述截距以及以下公式估计出待估计参数:
αu=b/k
βu=wperson/k
其中,αu和βu均为待估计参数,b为所述截距,k为所述斜率,wperson为所述标定目标的长度信息的指定倍数;
根据以下公式构建像素单元和横向长度的对应关系:
其中,v表示像素单元在图像中的纵向位置坐标,Lu(v)表示位于v位置处的像素单元对应的横向长度,αu和βu均为所述待估计参数。
9.根据权利要求5所述的方法,其特征在于,所述采用所述标定目标的移动速度以及所述标定目标在不同样本图像中的位置,得出不同位置的像素单元对应的纵向长度,具体包括:
基于同一标定目标以所述运动速度移动时,在单位时间内所述标定目标在图像上的移动距离不同,且所述标定目标在地面坐标系上的移动距离相同的原则,得出不同位置的像素单元对应的纵向长度。
10.根据权利要求9所述的方法,其特征在于,所述基于同一标定目标以所述运动速度移动时,在单位时间内所述标定目标在图像上的移动距离不同,且所述标定目标在地面坐标系上的移动距离相同的原则,得出不同位置的像素单元对应的纵向长度,包括:
获取相邻两帧图像中标定目标的检测框,并获取检测框的位置信息;
根据目标对象的运动速度和所述两项两帧图像的时间间隔,确定出所述标定目标在所述相邻两帧图像中的运动距离;
根据以下公式拟合出待求解参数:
其中,γ表示所述求解参数,Lu(v1)表示所述相邻两帧图像中第一帧图像的检测框位置信息对应的横向长度,Lu(v2)表示所述相邻两帧图像中第二帧图像中检测框位置信息对应的横向长度;y′1-y′2表示所述标定目标在从所述第一帧图像到所述第二帧图像移动时所述相邻两帧图像中的运动距离;
获取同一标定目标在图像的不同的纵向坐标处的像素单元对应的横向长度;
将所述公式作为不同位置的像素单元与纵向长度的对应关系:
Lv(v)=γ|Lu(v)-Lu(v-1)|
其中,v表示纵坐标,Lu(v)表示纵坐标V处的像素单元对应的横向长度。
11.根据权利要求9所述的方法,其特征在于,所述基于同一标定目标以所述运动速度移动时,在单位时间内所述标定目标在图像上的移动距离不同,且所述标定目标在地面坐标系上的移动距离相同的原则,得出不同位置的像素单元对应的纵向长度,包括:
当所述标定目标在参照所述移动速度移动时,根据所述图像帧序列分析出每个所述单位时间内的所述标定目标在图像上的移动轨迹的起点和终点;
并确定出所述起点和所述终点的中值,并采用所述起点和所述终点确定出所述标定目标在图像上的移动距离作为所述中值位置的像素单元对应的纵向长度,
获取到不同的中值位置的像素单元对应的纵向长度后,采用插值处理的方式,确定出位于两相邻中值之间的像素单元对应的纵向长度。
12.一种电子设备,其特征在于,包括处理器和存储器:
所述存储器,用于存储可被所述处理器执行的计算机程序;
所述处理器与所述存储器连接,被配置为:获取由单目摄像头采集的目标图像;
若在所述目标图像中检测到第一目标对象和第二目标对象,则获取所述第一目标对象和所述第二目标对象各自在所述目标图像中的位置信息;
基于所述第一目标对象和所述第二目标对象各自在所述目标图像中的位置信息,在所述目标图像的横向方向和纵向方向上分别获取所述第一目标对象和所述第二目标对象之间包含的像素单元;其中,每个像素单元包括至少一个位置相邻的像素点;其中所述横向方向和所述纵向方向垂直;
根据所述第一目标对象和所述第二目标对象之间包含的像素单元,以及预先构建的不同位置的像素单元与横向长度和纵向长度的对应关系,确定所述第一目标对象和所述第二目标对象之间的横向距离和纵向距离;其中,所述横向长度和所述纵向长度均采样地面坐标系中的长度单位;
基于所述第一目标对象和所述第二目标对象之间的横向距离和纵向距离,确定所述第一目标对象和所述第二目标对象之间的距离。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010780086.XA CN112033351B (zh) | 2020-08-05 | 2020-08-05 | 基于单目摄像头的距离测定方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010780086.XA CN112033351B (zh) | 2020-08-05 | 2020-08-05 | 基于单目摄像头的距离测定方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112033351A true CN112033351A (zh) | 2020-12-04 |
CN112033351B CN112033351B (zh) | 2023-03-24 |
Family
ID=73582418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010780086.XA Active CN112033351B (zh) | 2020-08-05 | 2020-08-05 | 基于单目摄像头的距离测定方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112033351B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112509012A (zh) * | 2020-12-14 | 2021-03-16 | 青岛聚好联科技有限公司 | 一种高空抛物的检测方法 |
CN113284106A (zh) * | 2021-05-25 | 2021-08-20 | 浙江商汤科技开发有限公司 | 距离检测方法及装置 |
CN113607064A (zh) * | 2021-08-06 | 2021-11-05 | 广联达科技股份有限公司 | 目标物体的间距测算方法、装置、设备及可读存储介质 |
CN114440821A (zh) * | 2022-02-08 | 2022-05-06 | 三一智矿科技有限公司 | 基于单目相机的测距方法及装置、介质、设备 |
CN117237199A (zh) * | 2023-11-15 | 2023-12-15 | 中国科学院长春光学精密机械与物理研究所 | 基于无人机航拍生成模拟gmti雷达图像的方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140205184A1 (en) * | 2011-08-30 | 2014-07-24 | Daimler Ag | Method for representing surroundings |
CN105758751A (zh) * | 2016-04-08 | 2016-07-13 | 重庆交通大学 | 车辆行驶轨迹定位及调节系统 |
CN106482646A (zh) * | 2016-10-10 | 2017-03-08 | 河海大学 | 基于单反相机测量目标物宽度的方法 |
CN107389026A (zh) * | 2017-06-12 | 2017-11-24 | 江苏大学 | 一种基于固定点射影变换的单目视觉测距方法 |
CN108088414A (zh) * | 2017-12-05 | 2018-05-29 | 苏州天瞳威视电子科技有限公司 | 一种单目测距方法 |
CN108675142A (zh) * | 2018-03-18 | 2018-10-19 | 武汉理工大学 | 基于单目相机的多高度标定测量方法及起重机防斜拉和精确定位方法 |
CN109949355A (zh) * | 2019-03-14 | 2019-06-28 | 大连民族大学 | 单目视觉行人距离估计中建立半扇形等距线模型的方法 |
CN110728708A (zh) * | 2019-12-19 | 2020-01-24 | 艾伯资讯(深圳)有限公司 | 基于机器视觉的牛体尺测量方法 |
CN111046810A (zh) * | 2019-12-17 | 2020-04-21 | 联想(北京)有限公司 | 一种数据处理方法及处理装置 |
CN111366128A (zh) * | 2020-03-09 | 2020-07-03 | 上海海事大学 | 一种基于单幅图像的距离信息分析方法 |
CN111553274A (zh) * | 2020-04-28 | 2020-08-18 | 青岛聚好联科技有限公司 | 一种基于轨迹分析的高空抛物检测方法及装置 |
-
2020
- 2020-08-05 CN CN202010780086.XA patent/CN112033351B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140205184A1 (en) * | 2011-08-30 | 2014-07-24 | Daimler Ag | Method for representing surroundings |
CN105758751A (zh) * | 2016-04-08 | 2016-07-13 | 重庆交通大学 | 车辆行驶轨迹定位及调节系统 |
CN106482646A (zh) * | 2016-10-10 | 2017-03-08 | 河海大学 | 基于单反相机测量目标物宽度的方法 |
CN107389026A (zh) * | 2017-06-12 | 2017-11-24 | 江苏大学 | 一种基于固定点射影变换的单目视觉测距方法 |
CN108088414A (zh) * | 2017-12-05 | 2018-05-29 | 苏州天瞳威视电子科技有限公司 | 一种单目测距方法 |
CN108675142A (zh) * | 2018-03-18 | 2018-10-19 | 武汉理工大学 | 基于单目相机的多高度标定测量方法及起重机防斜拉和精确定位方法 |
CN109949355A (zh) * | 2019-03-14 | 2019-06-28 | 大连民族大学 | 单目视觉行人距离估计中建立半扇形等距线模型的方法 |
CN111046810A (zh) * | 2019-12-17 | 2020-04-21 | 联想(北京)有限公司 | 一种数据处理方法及处理装置 |
CN110728708A (zh) * | 2019-12-19 | 2020-01-24 | 艾伯资讯(深圳)有限公司 | 基于机器视觉的牛体尺测量方法 |
CN111366128A (zh) * | 2020-03-09 | 2020-07-03 | 上海海事大学 | 一种基于单幅图像的距离信息分析方法 |
CN111553274A (zh) * | 2020-04-28 | 2020-08-18 | 青岛聚好联科技有限公司 | 一种基于轨迹分析的高空抛物检测方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112509012A (zh) * | 2020-12-14 | 2021-03-16 | 青岛聚好联科技有限公司 | 一种高空抛物的检测方法 |
CN112509012B (zh) * | 2020-12-14 | 2022-12-09 | 青岛聚好联科技有限公司 | 一种高空抛物的检测方法 |
CN113284106A (zh) * | 2021-05-25 | 2021-08-20 | 浙江商汤科技开发有限公司 | 距离检测方法及装置 |
WO2022247230A1 (zh) * | 2021-05-25 | 2022-12-01 | 浙江商汤科技开发有限公司 | 距离检测方法及装置 |
CN113607064A (zh) * | 2021-08-06 | 2021-11-05 | 广联达科技股份有限公司 | 目标物体的间距测算方法、装置、设备及可读存储介质 |
CN114440821A (zh) * | 2022-02-08 | 2022-05-06 | 三一智矿科技有限公司 | 基于单目相机的测距方法及装置、介质、设备 |
CN114440821B (zh) * | 2022-02-08 | 2023-12-12 | 三一智矿科技有限公司 | 基于单目相机的测距方法及装置、介质、设备 |
CN117237199A (zh) * | 2023-11-15 | 2023-12-15 | 中国科学院长春光学精密机械与物理研究所 | 基于无人机航拍生成模拟gmti雷达图像的方法 |
CN117237199B (zh) * | 2023-11-15 | 2024-01-26 | 中国科学院长春光学精密机械与物理研究所 | 基于无人机航拍生成模拟gmti雷达图像的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112033351B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112033351B (zh) | 基于单目摄像头的距离测定方法及电子设备 | |
US10101156B2 (en) | Method and apparatus for determining spatial parameter based on image and terminal device | |
TWI519156B (zh) | 影像擷取方法與影像擷取系統 | |
US20150049170A1 (en) | Method and apparatus for virtual 3d model generation and navigation using opportunistically captured images | |
CN109639896A (zh) | 遮挡物检测方法、装置、存储介质及移动终端 | |
CN107450841B (zh) | 交互对象控制方法及装置 | |
CN113473074B (zh) | 一种检测方法、电子设备、检测设备以及存储介质 | |
CN110796725A (zh) | 一种数据渲染方法、装置、终端及存储介质 | |
US20220084249A1 (en) | Method for information processing, electronic equipment, and storage medium | |
CN111338910A (zh) | 日志数据处理、显示方法、装置、设备及存储介质 | |
CN111724412A (zh) | 确定运动轨迹的方法、装置及计算机存储介质 | |
CN104349047A (zh) | 图像拍摄设备及其拍摄方法 | |
US11245886B2 (en) | Method and apparatus for synthesizing omni-directional parallax view, and storage medium | |
JP6862564B2 (ja) | 画像合成のための方法、装置および不揮発性コンピュータ可読媒体 | |
KR20210093194A (ko) | 차량의 차로변경을 탐지하는 방법과 장치, 전자 기기, 저장 장치, 노변 기기, 클라우드 제어 플랫폼 및 프로그램 제품 | |
CN109061611A (zh) | 接近传感器校准方法及相关装置 | |
JP7472281B2 (ja) | 電子機器及びフォーカス方法 | |
CN112818898B (zh) | 模型训练方法、装置和电子设备 | |
CN113610136A (zh) | 传感器数据同步方法、装置、计算机设备和存储介质 | |
CN110148167B (zh) | 一种距离测量方法及终端设备 | |
CN109348212B (zh) | 一种图像噪声确定方法及终端设备 | |
CN115861741A (zh) | 目标标定方法、装置、电子设备、存储介质及车辆 | |
CN114185512B (zh) | 传感器数据的处理方法、电子设备及可读存储介质 | |
CN113068229A (zh) | 一种通信终端及无线网络切换的方法 | |
CN114550417B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |