CN113870190A - 竖直线条检测方法、装置、设备及存储介质 - Google Patents
竖直线条检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113870190A CN113870190A CN202111030188.0A CN202111030188A CN113870190A CN 113870190 A CN113870190 A CN 113870190A CN 202111030188 A CN202111030188 A CN 202111030188A CN 113870190 A CN113870190 A CN 113870190A
- Authority
- CN
- China
- Prior art keywords
- line
- image
- camera
- virtual
- line segment
- 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/0002—Inspection of images, e.g. flaw detection
-
- 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/10004—Still image; Photographic image
-
- 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/20—Special algorithmic details
- G06T2207/20048—Transform domain processing
- G06T2207/20061—Hough transform
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供一种竖直线条检测方法、装置、设备及存储介质,其中方法包括:通过获取相机采集到的图像并提取所述图像中的线段,得到所述线段的端点坐标,将所述端点坐标转化为相机坐标系下的三维坐标,基于所述图像中的顶点以及相机的倾斜角度构建虚拟竖直面,并将所述线段对应的三维坐标投影到所述虚拟竖直面上,得到虚拟投影线,若所述虚拟投影线与重力方向平行,则确定所述线段对应于三维空间中的竖直线条。通过本发明实施例提供的竖直线条检测方法,可以快速确定二维图像与三维空间之间直线条特征的部分对应关系,一定程度上缩小了匹配空间,减少冗余计算,提高处理效率。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种竖直线条检测方法、装置、设备及存储介质。
背景技术
摄像机在成像过程中将三维物体投影至二维平面时,丢失了深度信息。如何通过二维图像恢复出三维场景信息,一直是计算机视觉领域研究的核心问题。在弱纹理场景中,由于数量不够丰富,往往无法继续利用点特征建立有效的3D-2D对应关系。此时,直线条可作为一种广泛存在于现实环境中的自然特征被尝试用来解决此问题。
目前在对图像中的直线特征进行选取时,通常是使用类RANSAC(RANdom SAmpleConsensus,随机抽样一致)方法获得,但是该方法搜索空间较大,处理效率较低。
发明内容
本发明实施例提供一种竖直线条检测方法、装置、设备及存储介质,可以在一定程度上缩小搜索空间,提高处理效率。
第一方面,本发明实施例提供一种竖直线条检测方法,所述方法包括:
获取相机采集到的图像并提取所述图像中的线段,得到所述线段的端点坐标;
将所述端点坐标转化为相机坐标系下的三维坐标;
基于所述图像中的顶点以及相机的倾斜角度构建虚拟竖直面,并将所述线段对应的三维坐标投影到所述虚拟竖直面上,得到虚拟投影线;
若所述虚拟投影线与重力方向平行,则确定所述线段对应于三维空间中的竖直线条。
可选的,获取相机采集到的图像并提取所述图像中的线段,包括:
获取相机采集到的图像,并对所述图像进行灰度化处理;
基于霍夫变换或直线段检测算法提取处理化后图像中的线段。
可选的,将所述端点坐标转化为相机坐标系下的三维坐标,包括:
根据所述图像中每个像素点的物理尺寸、相机主点的坐标和相机焦距,将所述端点坐标转化为相机坐标系下的三维坐标。
可选的,基于所述图像中的顶点以及相机的倾斜角度构建虚拟竖直面,包括:
将成像平面在相机坐标系下对应的法向向量按相机的倾斜角度沿相机坐标系右轴进行旋转,得到虚拟竖直面的法向向量;
基于所述图像中顶点的三维坐标和所述虚拟竖直面的法向向量,得到虚拟竖直面的平面方程。
可选的,将所述线段对应的三维坐标投影到所述虚拟竖直面上,得到虚拟投影线,包括:
基于所述线段对应的三维坐标,计算由所述线段的一个端点与坐标原点确定的第一直线的直线方程,以及由所述线段的另一端点与坐标原点确定的第二直线的直线方程;
根据所述第一直线的直线方程和第二直线的直线方程以及所述虚拟竖直面的平面方程,计算第一直线与所述虚拟竖直面的第一交点以及所述第二直线与所述虚拟竖直面的第二交点,根据所述第一交点和所述第二交点确定所述虚拟投影线。
可选的,所述方法还包括:
基于重力传感器获取重力方向与相机坐标系各轴的夹角,根据所述夹角对应的余弦值确定重力方向在相机坐标系下的方向向量;
计算所述虚拟投影线与所述重力方向在相机坐标系下的方向向量的第一夹角以及所述虚拟投影线与反向向量的第二夹角;其中,所述反向向量的方向与所述重力方向相反;
选取所述第一夹角以及所述第二夹角中的最小值,若所述最小值低于预设阈值,则确定所述虚拟投影线与重力方向平行。
第二方面,本发明实施例提供一种竖直线条检测装置,所述装置包括:
第一得到模块,用于获取相机采集到的图像并提取所述图像中的线段,得到所述线段的端点坐标;
转化模块,用于将所述端点坐标转化为相机坐标系下的三维坐标;
第二得到模块,用于基于所述图像中的顶点以及相机的倾斜角度构建虚拟竖直面,并将所述线段对应的三维坐标投影到所述虚拟竖直面上,得到虚拟投影线;
确定模块,用于在所述虚拟投影线与重力方向平行时,确定所述线段对应于三维空间中的竖直线条。
第三方面,本发明实施例提供一种竖直线条检测设备,包括:
存储器和至少一个处理器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面任一项所述的竖直线条检测方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时,用于实现如上第一方面任一项所述的竖直线条检测方法。
第五方面,本发明实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面任一项所述的竖直线条检测方法。
本发明实施例提供的竖直线条检测方法、装置、设备及存储介质,通过获取相机采集到的图像并提取所述图像中的线段,得到所述线段的端点坐标,将所述端点坐标转化为相机坐标系下的三维坐标,基于所述图像中的顶点以及相机的倾斜角度构建虚拟竖直面,并将所述线段对应的三维坐标投影到所述虚拟竖直面上,得到虚拟投影线,若所述虚拟投影线与重力方向平行,则确定所述线段对应于三维空间中的竖直线条,可以快速确定二维图像与三维空间之间直线条特征的部分对应关系,一定程度上缩小了匹配空间,减少冗余计算,提高处理效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本发明实施例提供的一种相机拍摄得到的图像;
图2为本发明实施例提供的一种三维竖直线条在竖直平面上投影的原理示意图;
图3为本发明实施例提供的一种构建虚拟竖直面的原理示意图;
图4为本发明实施例提供的一种竖直线条检测方法的流程示意图;
图5为本发明实施例提供的一种构建虚拟竖直面方法的流程示意图;
图6为本发明实施例提供的一种检测虚拟投影线与重力方向平行的方法流程示意图;
图7为本发明实施例提供的另一种竖直线条检测方法的流程示意图;
图8为本发明实施例提供的一种竖直线条检测装置的结构示意图;
图9为本发明实施例提供的一种竖直线条检测设备的结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
下面以具体地实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
下面对本发明实施例提供的一种应用场景进行解释:本发明实施例提供的方案,涉及到如何检测二维图像中对应于三维空间中的竖直线条。在通过二维图像恢复出三维场景信息(6-DOF位姿)时,可以通过建立三维场景与二维平面之间的对应关系联立方程求解。例如,点特征描述子常被用来通过检测匹配的模式建立上述对应关系,然后利用PnP(Pespective-n-Point,透视n点)方法求解三维物体位姿。在弱纹理场景中,由于数量不够丰富,不能利用点特征建立有效的3D-2D对应关系。此时,直线条作为另外一种广泛存在于现实环境中的自然特征被用来解决此问题。
在一些技术中,可以通过类RANSAC方法确定图像中的线段与三维空间中线段的对应关系。该方法需要从二维图像和三维空间中随机选取不同的线段进行配对,通过对每组配对进行“局内点”验证建立对应关系,该方法具有不确定性,为了保证准确率需要提高迭代次数,处理效率较低。
因此,本发明的实施例提供了一种竖直线条检测的方法,通过提取图像中线段的端点坐标,将端点坐标转化为相机坐标系下的三维坐标,根据图像中顶点的三维坐标和相机的倾斜角度构建虚拟竖直面,判断投影到虚拟竖直面的虚拟投影线与重力方向是否平行,若平行,则可直接确定所述线段对应于三维空间中的某竖直线条,一定程度上缩小了搜索空间,提高处理效率。
图1为本发明实施例提供的一种相机拍摄得到的图像。如图1所示,图中箭头指示的物体边缘的线即为三维空间中的竖直线条。由于相机在拍摄时可能会呈一定的倾斜角度,导致三维空间中的竖直线条在图像中可能并不是垂直的,因此,无法直接通过图像中的线段与图像边缘所成夹角判断线段在三维空间中是否属于竖直线条。通过利用本实施例提供的竖直线条检测方法,可以根据相机的倾斜角度对图像中线条的端点坐标进行分析处理,准确判断出图像中的哪些线条属于三维空间中的竖直线条。下面对本发明实施例用到的技术原理进行详细说明。
图2为本发明实施例提供的一种三维竖直线条在竖直平面上投影的原理示意图。如图2所示,当相机的成像平面与重力方向平行时,则三维空间中的竖直线条在该成像平面上的投影也总是竖直方向。例如,图中三个成像平面与重力方向平行,则竖直线条在投影到成像平面中时三个成像平面中的竖直线条也是竖直方向。
图3为本发明实施例提供的一种构建虚拟竖直面的原理示意图。如图3所示,在实际应用中成像平面与竖直方向不平行的情况较多,当相机的成像平面与竖直方向不平行时,由于在相机坐标系内产生了深度差,导致三维空间竖直线条在成像平面上的投影发生偏转。例如,根据图中成像平面倾斜角度θzg构造一个竖直的虚拟竖直面其中,用于表示平面的符号。则三维竖直线条MN在此虚拟竖直面上的投影线m'n'应为竖直方向。针对图像中的任一直线mn,可将其反向投影至虚拟竖直面获得m'n',然后判断m'n'与重力方向是否平行。因此,本发明实施例可以通过反向投影计算图像直线条与虚拟竖直面的交线,判断二维图像中对应于三维空间中的竖直线条。
可选的,倾斜角度θzg可以通过重力传感器测得,其中相机中装有重力传感器,测得的倾斜角度为相机相对于水平面的倾斜角度。
下面结合附图,对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图4为本发明实施例提供的一种竖直线条检测方法的流程示意图。如图4所示,本实施例中的方法可以包括:
步骤401、获取相机采集到的图像并提取所述图像中的线段,得到所述线段的端点坐标。
其中,采集到的图像可以是二维RGB图像。线段可以是指图像中直线条。
可选的,通过相机采集实时图像,提取图像中的所有线段,得到线段的端点坐标。其中,可以从每一条线段中得到两个二维的端点坐标。端点坐标可以为线段的两个端点在图像中的像素坐标。
可选的,图像中的线段可以是竖直的,或是与竖直方向存在一定角度的。具体线段的提取可以通过人眼或者其他计算方式确定。
步骤402、将所述端点坐标转化为相机坐标系下的三维坐标。
其中,相机坐标系可以是以相机中心所在的位置为相机坐标原点Oc,与相机成像平面垂直向前的方向为相机坐标系的Zc轴,与相机成像平面平行向右的方向为相机坐标系的Xc轴,与相机成像平面平行向下的方向为相机坐标系的Yc轴,Xc轴、Yc轴和Zc轴之间的夹角均为90度,从而形成坐标系OcXcYcZc。其中,向前、向右、向下均可以以拍摄者为基准确定。
可选的,根据相机坐标系以及焦距,可以将每一线段的两个二维的端点坐标转化为相机坐标系下的三维坐标。
步骤403、基于所述图像中的顶点以及相机的倾斜角度构建虚拟竖直面,并将所述线段对应的三维坐标投影到所述虚拟竖直面上,得到虚拟投影线。
其中,图像中的顶点可以是图像四个顶点中的任意一个或多个顶点。可选的,可以选择两个上角点来构建虚拟竖直面。相机的倾斜角度可以通过重力传感器测得。
可选的,根据图像中的任一顶点和相机的倾斜角度可以构建成像平面的虚拟竖直面,并将图像中线段对应的三维坐标投影到虚拟竖直面上,可以得到虚拟投影线。
步骤404、若所述虚拟投影线与重力方向平行,则确定所述线段对应于三维空间中的竖直线条。
可选的,当虚拟投影线与重力方向平行时,则可以确定图像中的线段对应于三维空间中的一条竖直线条,当虚拟投影线与重力方向不平行时,则可以确定图像中的线段不是三维空间中的一条竖直线条。
本实施例提供的竖直线条检测方法,获取相机采集到的图像并提取所述图像中的线段,得到所述线段的端点坐标,将所述端点坐标转化为相机坐标系下的三维坐标,基于所述图像中的顶点以及相机的倾斜角度构建虚拟竖直面,并将所述线段对应的三维坐标投影到所述虚拟竖直面上,得到虚拟投影线,若所述虚拟投影线与重力方向平行,则确定所述线段对应于三维空间中的竖直线条,可以快速确定二维图像与三维空间之间直线条特征的部分对应关系,一定程度上缩小了匹配空间,减少冗余计算,提高处理效率。
在上述实施例提供的技术方案的基础上,可选的,获取相机采集到的图像并提取所述图像中的线段,包括:
获取相机采集到的图像,并对所述图像进行灰度化处理;基于霍夫变换或直线段检测算法提取处理化后图像中的线段。
可选的,在获取相机采集到的图像后,可将采集得到RGB图像进行灰度化处理,得到处理后的灰度图像。并在灰度图像上采用霍夫(Hough)变换,或者直线段检测算法(LineSegment Detector,简称LSD)提取图像中的线段。
通过对图像进行灰度化处理,并基于霍夫变换或者直线段检测算法提取线段,可以准确提取图像中的线段,并且提高提取效率。
可选的,将所述端点坐标转化为相机坐标系下的三维坐标,包括:
根据所述图像中每个像素点的物理尺寸、相机主点的坐标和相机焦距,将所述端点坐标转化为相机坐标系下的三维坐标。
其中,每个像素点的物理尺寸可以包括每个像素点对应的长度和宽度,长度和宽度一般是相同的,个别情况下也可以不同。
确定图像中每个像素点对应的长度或者宽度、相机主点的坐标和相机焦距,可以将端点二维坐标转化为相机坐标系下的三维坐标。
具体的,当图像中某一端点的像素坐标为P(u,v),则该点在相机坐标系OcXcYcZc下的坐标为Pc((u-u0)·dx,(v-v0)·dy,f),其中,dx,dy分别为图像坐标系中每个像素点对应的长度和宽度,(u0,v0)为相机主点在图像坐标系下的坐标,f为相机焦距。
其中,图像坐标系可以是按照图3中,A为坐标原点,AB为x轴,AD为y轴。
根据图像中像素点的物理尺寸,相机主点的坐标和相机焦距,将二维端点坐标转化为相机坐标系下的三维坐标,可以根据已知参量,直接计算三维坐标,更加简单高效。
图5为本发明实施例提供的一种构建虚拟竖直面方法的流程示意图,如图5所示,对步骤403进一步细化,基于所述图像中的顶点以及相机的倾斜角度构建虚拟竖直面,包括:
步骤501、将成像平面在相机坐标系下对应的法向向量按相机的倾斜角度沿相机坐标系右轴进行旋转,得到虚拟竖直面的法向向量。
如图3所示,由于成像平面与虚拟竖直面之间的夹角为θzg,则成像平面在相机坐标系下对应的法向向量与虚拟竖直面的法向向量之间的夹角也为θzg。因此在图中将成像平面在相机坐标系下对应的法向向量按照相机的倾斜角度θzg沿相机坐标系Xc轴进行旋转,可以得到虚拟竖直面的法向向量。
可选的,根据成像平面的某条边建立虚拟竖直面,则在旋转时,按照该边为中心轴进行一定角度的旋转,得到虚拟竖直面的法向向量。具体的,当沿成像平面的上两个顶点A,B建立虚拟竖直面时,可以根据两个顶点A,B之间的直线AB为中心轴进行一定角度的旋转,得到虚拟竖直面的法向向量。
可选的,可以根据实际情况对成像平面在相机坐标系下对应的法向向量沿不同的中心轴进行不同方向不同角度的旋转得到虚拟竖直面的法向向量,本实施例提供一种可具体实现的方式,对于其他可实现的方式,本领域技术人员可以根据本实施例提供的方式,容易推理得到。
步骤502、基于所述图像中顶点的三维坐标和所述虚拟竖直面的法向向量,得到虚拟竖直面的平面方程。
在空间直角坐标系中,通过点法式可以确定平面方程,即给定一个点的三维坐标,和平面上的一法向量,可以确定平面的方程。因此在本实施例中,基于图中A或B任一顶点在相机坐标系下的三维坐标,以及得到的虚拟竖直面的法向向量,可以计算得到虚拟竖直面的平面方程。
根据已知条件计算直接虚拟竖直面的法向向量,并根据图像中一个顶点和法向向量计算得到虚拟竖直面的平面方程,可以节约计算时间,提高计算效率。
可选的,将所述线段对应的三维坐标投影到所述虚拟竖直面上,得到虚拟投影线,包括:
基于所述线段对应的三维坐标,计算由所述线段的一个端点与坐标原点确定的第一直线的直线方程,以及由所述线段的另一端点与坐标原点确定的第二直线的直线方程;根据所述第一直线的直线方程和第二直线的直线方程以及所述虚拟竖直面的平面方程,计算所述第一直线与所述虚拟竖直面的第一交点以及所述第二直线与所述虚拟竖直面的第二交点,根据所述第一交点和所述第二交点确定所述虚拟投影线。
可选的,一个线段有两个端点坐标,可根据线段的两个端点坐标依次在虚拟竖直面上进行投影,分别得到两个端点坐标投影在虚拟竖直面上的两个交点坐标。
具体的,根据线段端点的三维坐标,先计算由线段的第一端点与坐标原点确定的第一直线的直线方程,和由线段另一端点与坐标原点确定的第二直线的直线方程。根据第一直线的直线方程与虚拟竖直面的平面方程,得到第一个交点,根据第二直线的直线方程与虚拟竖直面的平面方程,得到第二交点,根据第一交点和第二交点可以确定虚拟投影线。
具体的,如图3所示,获取成像平面中线段mn在相机坐标系下的三维坐标mc和nc,求得一个端点mc与坐标原点Oc之间的第一直线Ocmc对应的直线方程,和另一个端点nc与坐标原点Oc之间的第二直线Ocnc对应的直线方程,计算第一直线Ocmc与虚拟竖直面的第一交点m',第二直线Ocnc与虚拟竖直面的第二交点n',根据第一交点m'和第二交点n'可以确定虚拟投影线m'n'。
分别计算线段的一个端点与坐标原点确定的第一直线的直线方程,和线段另一个端点和坐标原点确定的第二直线的直线方程,将得到的直线方程与虚拟竖直面计算,得到虚拟投影线,将成像平面中的线段反向投影至虚拟竖直面中,可以直接对得到的虚拟投影线进行判断,操作简便,容易实现。
图6为本发明实施例提供的一种检测虚拟投影线与重力方向平行的方法流程示意图。如图6所示,在上述实施例的基础上,所述方法还包括:
步骤601、基于重力传感器获取重力方向与相机坐标系各轴的夹角,根据所述夹角对应的余弦值确定重力方向在相机坐标系下的方向向量。
可选的,通过重力传感器分别获得重力方向与相机坐标系Xc轴、相机坐标Yc轴和相机坐标系Zc轴之间的夹角,确定夹角对应的余弦值,对夹角确定的余弦值进行组合,可以得到重力方向在相机坐标系下的方向向量。
步骤602、计算所述虚拟投影线与所述重力方向在相机坐标系下的方向向量的第一夹角以及所述虚拟投影线与反向向量的第二夹角;其中,所述反向向量的方向与所述重力方向相反。
可选的,计算虚拟投影线的向量与重力方向在相机坐标系下的方向向量的第一夹角和虚拟投影线与反向向量的第二夹角。
步骤603、选取所述第一夹角以及所述第二夹角中的最小值,若所述最小值低于预设阈值,则确定所述虚拟投影线与重力方向平行。
其中,预设阈值可以是人为设定的,例如可以是1度或2度等。
可选的,从第一夹角和第二夹角中选取最小值,当最小值低于设定的预设阈值时,则确定虚拟投影线与重力方向平行,当最小值高于设定的预设阈值时,则确定虚拟投影线与重力方向不平行。
具体的,当第一夹角为0.5度,第二夹角为1度,预设阈值为1度时,从第一夹角和第二夹角中选取最小值0.5度与预设阈值1度比较,则可以确定虚拟投影线与重力方向平行。
基于重力传感器,判断二维图像中任一线段是否对应于三维空间中的竖直线条,一定程度上缩小3D-2D匹配过程中的搜索空间,基于重力传感器的普遍性,可以进行简单高效的判断,提高检测效率。
图7为本发明实施例提供的另一种竖直线条检测方法的流程示意图。如图7所示,从相机中实时获取图像,对图像灰度化处理,并提取图像中的线段,计算二维图像坐标与三维相机坐标的转换关系,将图像中的二维坐标转化为相机坐标系下的三维坐标。构造虚拟竖直平面,并由点法式确定平面方程,将图像中检测得到的线段反向投影并计算其与虚拟竖直面的交线,判断交线是否与重力方向平行,若平行,则该图像线段对应于三维空间中的竖直线条,若不平行,该图像线段不对应于三维空间中的竖直线条。
根据本实施例提供的方法可以直接基于二维图像线段进行计算,快速筛选出图像中与三维空间竖直线条相对应的线段,从而建立二维图像与三维空间之间直线条特征的部分对应关系,一定程度上缩小了匹配空间,减少冗余计算。在一种可能存在的情况中,若某线段被判定对应于三维空间中的一竖直线条,而已知三维物体表面并不存在竖直线条,则该被测线段可直接作为错误匹配剔除。在另一中可能存在的情况中,若已知三维空间中存在M条竖直线条,用本发明中的方法检测到图像中有对应于三维空间中的N条线段,则可以尝试优先将检测到的N条线段与三维空间中的M条竖直线条进行匹配,建立对应关系。
鉴于重力传感器已被广泛配置于移动设备中,因此在手机、平板等移动设备上进行图像处理、视觉计算时可直接使用本实施例提供的方法。同时,本实施例提供的方法高效简单,即便在移动设备上也可实时运行,并且无需任何训练、学习等线下预处理工作。
图8为本发明实施例提供的一种竖直线条检测装置的结构示意图。如图8所示,本实施例提供的竖直线条检测装置,可以包括:
第一得到模块801,用于获取相机采集到的图像并提取所述图像中的线段,得到所述线段的端点坐标;
转化模块802,用于将所述端点坐标转化为相机坐标系下的三维坐标;
第二得到模块803,用于基于所述图像中的顶点以及相机的倾斜角度构建虚拟竖直面,并将所述线段对应的三维坐标投影到所述虚拟竖直面上,得到虚拟投影线;
确定模块804,用于在所述虚拟投影线与重力方向平行时,确定所述线段对应于三维空间中的竖直线条。
可选的,所述第一得到模块801在获取相机采集到的图像并提取所述图像中的线段时,具体用于:
获取相机采集到的图像,并对所述图像进行灰度化处理;
基于霍夫变换或直线段检测算法提取处理化后图像中的线段。
可选的,所述转化模块802具体用于:
根据所述图像中每个像素点的物理尺寸、相机主点的坐标和相机焦距,将所述端点坐标转化为相机坐标系下的三维坐标。
可选的,所述第二得到模块803在基于所述图像中的顶点以及相机的倾斜角度构建虚拟竖直面时,具体用于:
将成像平面在相机坐标系下对应的法向向量按相机的倾斜角度沿相机坐标系右轴进行旋转,得到虚拟竖直面的法向向量;
基于所述图像中顶点的三维坐标和所述虚拟竖直面的法向向量,得到虚拟竖直面的平面方程。
可选的,所述第二得到模块803在将所述线段对应的三维坐标投影到所述虚拟竖直面上,得到虚拟投影线时,具体用于:
基于所述线段对应的三维坐标,计算由所述线段的一个端点与坐标原点确定的第一直线的直线方程,以及由所述线段的另一端点与坐标原点确定的第二直线的直线方程;
根据所述第一直线的直线方程和第二直线的直线方程以及所述虚拟竖直面的平面方程,计算第一直线与所述虚拟竖直面的第一交点以及所述第二直线与所述虚拟竖直面的第二交点,根据所述第一交点和所述第二交点确定所述虚拟投影线。
可选的,所述确定模块804还用于:
基于重力传感器获取重力方向与相机坐标系各轴的夹角,根据所述夹角对应的余弦值确定重力方向在相机坐标系下的方向向量;
计算所述虚拟投影线与所述重力方向在相机坐标系下的方向向量的第一夹角以及所述虚拟投影线与反向向量的第二夹角;其中,所述反向向量的方向与所述重力方向相反;
选取所述第一夹角以及所述第二夹角中的最小值,若所述最小值低于预设阈值,则确定所述虚拟投影线与重力方向平行。
本实施例提供的装置可以执行如图1-图7所示的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本发明实施例提供的一种竖直线条检测设备的结构示意图。如图9所示,本实施例提供的设备,可以包括:存储器92和至少一个处理器91;
所述存储器92存储计算机执行指令;
所述至少一个处理器91执行所述存储器92存储的计算机执行指令,使得所述至少一个处理器91执行上述任一实施例所述的方法。
其中,存储器92和处理器91可以通过总线93连接。
本实施例提供的设备的具体实现原理和效果可以参见图1-图7所示实施例对应的相关描述和效果,此处不做过多赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本发明任一实施例提供的竖直线条检测方法。
本发明实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本发明任一实施例所述的竖直线条检测方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本发明附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种竖直线条检测方法,其特征在于,包括:
获取相机采集到的图像并提取所述图像中的线段,得到所述线段的端点坐标;
将所述端点坐标转化为相机坐标系下的三维坐标;
基于所述图像中的顶点以及相机的倾斜角度构建虚拟竖直面,并将所述线段对应的三维坐标投影到所述虚拟竖直面上,得到虚拟投影线;
若所述虚拟投影线与重力方向平行,则确定所述线段对应于三维空间中的竖直线条。
2.根据权利要求1所述的方法,其特征在于,获取相机采集到的图像并提取所述图像中的线段,包括:
获取相机采集到的图像,并对所述图像进行灰度化处理;
基于霍夫变换或直线段检测算法提取处理化后图像中的线段。
3.根据权利要求1所述的方法,其特征在于,将所述端点坐标转化为相机坐标系下的三维坐标,包括:
根据所述图像中每个像素点的物理尺寸、相机主点的坐标和相机焦距,将所述端点坐标转化为相机坐标系下的三维坐标。
4.根据权利要求3所述的方法,其特征在于,基于所述图像中的顶点以及相机的倾斜角度构建虚拟竖直面,包括:
将成像平面在相机坐标系下对应的法向向量按相机的倾斜角度沿相机坐标系右轴进行旋转,得到虚拟竖直面的法向向量;
基于所述图像中顶点的三维坐标和所述虚拟竖直面的法向向量,得到虚拟竖直面的平面方程。
5.根据权利要求4所述的方法,其特征在于,将所述线段对应的三维坐标投影到所述虚拟竖直面上,得到虚拟投影线,包括:
基于所述线段对应的三维坐标,计算由所述线段的一个端点与坐标原点确定的第一直线的直线方程,以及由所述线段的另一端点与坐标原点确定的第二直线的直线方程;
根据所述第一直线的直线方程和第二直线的直线方程以及所述虚拟竖直面的平面方程,计算所述第一直线与所述虚拟竖直面的第一交点以及所述第二直线与所述虚拟竖直面的第二交点,根据所述第一交点和所述第二交点确定所述虚拟投影线。
6.根据权利要求5所述的方法,其特征在于,还包括:
基于重力传感器获取重力方向与相机坐标系各轴的夹角,根据所述夹角对应的余弦值确定重力方向在相机坐标系下的方向向量;
计算所述虚拟投影线与所述重力方向在相机坐标系下的方向向量的第一夹角以及所述虚拟投影线与反向向量的第二夹角;其中,所述反向向量的方向与所述重力方向相反;
选取所述第一夹角以及所述第二夹角中的最小值,若所述最小值低于预设阈值,则确定所述虚拟投影线与重力方向平行。
7.一种竖直线条检测装置,其特征在于,所述装置包括:
第一得到模块,用于获取相机采集到的图像并提取所述图像中的线段,得到所述线段的端点坐标;
转化模块,用于将所述端点坐标转化为相机坐标系下的三维坐标;
第二得到模块,用于基于所述图像中的顶点以及相机的倾斜角度构建虚拟竖直面,并将所述线段对应的三维坐标投影到所述虚拟竖直面上,得到虚拟投影线;
确定模块,用于在所述虚拟投影线与重力方向平行时,确定所述线段对应于三维空间中的竖直线条。
8.一种竖直线条检测设备,其特征在于,包括:存储器和至少一个处理器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-6任一项所述的竖直线条检测方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6任一项所述的竖直线条检测方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-6任一项所述的竖直线条检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111030188.0A CN113870190A (zh) | 2021-09-03 | 2021-09-03 | 竖直线条检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111030188.0A CN113870190A (zh) | 2021-09-03 | 2021-09-03 | 竖直线条检测方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113870190A true CN113870190A (zh) | 2021-12-31 |
Family
ID=78989474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111030188.0A Pending CN113870190A (zh) | 2021-09-03 | 2021-09-03 | 竖直线条检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113870190A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114608450A (zh) * | 2022-03-10 | 2022-06-10 | 西安应用光学研究所 | 机载光电系统对远距离海面目标三维尺寸测算方法 |
-
2021
- 2021-09-03 CN CN202111030188.0A patent/CN113870190A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114608450A (zh) * | 2022-03-10 | 2022-06-10 | 西安应用光学研究所 | 机载光电系统对远距离海面目标三维尺寸测算方法 |
CN114608450B (zh) * | 2022-03-10 | 2023-09-26 | 西安应用光学研究所 | 机载光电系统对远距离海面目标三维尺寸测算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110570477B (zh) | 一种标定相机和旋转轴相对姿态的方法、装置和存储介质 | |
US8189961B2 (en) | Techniques in optical character recognition | |
CN109479082B (zh) | 图象处理方法及装置 | |
US20120269388A1 (en) | Online reference patch generation and pose estimation for augmented reality | |
US10303969B2 (en) | Pose detection using depth camera | |
CN111178317A (zh) | 检测定位方法、系统、装置、电子设备及存储介质 | |
CN110363179B (zh) | 地图获取方法、装置、电子设备以及存储介质 | |
CN105934757B (zh) | 一种用于检测第一图像的关键点和第二图像的关键点之间的不正确关联关系的方法和装置 | |
US20120033873A1 (en) | Method and device for determining a shape match in three dimensions | |
CN107545223B (zh) | 图像识别方法及电子设备 | |
CN115439607A (zh) | 一种三维重建方法、装置、电子设备及存储介质 | |
CN110832542A (zh) | 识别处理设备、识别处理方法和程序 | |
CN112184815A (zh) | 全景图像在三维模型中的位置和姿态确定方法及装置 | |
CN107680035B (zh) | 一种参数标定方法和装置、服务器及可读存储介质 | |
CN111161348B (zh) | 一种基于单目相机的物体位姿估计方法、装置及设备 | |
CN113870190A (zh) | 竖直线条检测方法、装置、设备及存储介质 | |
CN112197708B (zh) | 测量方法及装置、电子设备及存储介质 | |
CN113570725A (zh) | 基于聚类的三维表面重建方法、装置、服务器及存储介质 | |
JP2011107878A (ja) | 位置検出装置、位置検出方法 | |
CN109600598B (zh) | 影像处理方法、影像处理装置及电脑可读取记录媒体 | |
CN113870292A (zh) | 深度图像的边缘检测方法、装置和电子设备 | |
CN115983304A (zh) | 一种二维码动态调整方法、装置、电子设备及存储介质 | |
CN111401365B (zh) | Ocr图像自动生成方法及装置 | |
CN114049380A (zh) | 目标物体定位追踪方法、装置、计算机设备和存储介质 | |
Sarkar et al. | Feature-augmented Trained Models for 6DOF Object Recognition and Camera Calibration. |
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 |