CN109644236B - 角度检测方法 - Google Patents
角度检测方法 Download PDFInfo
- Publication number
- CN109644236B CN109644236B CN201780050523.9A CN201780050523A CN109644236B CN 109644236 B CN109644236 B CN 109644236B CN 201780050523 A CN201780050523 A CN 201780050523A CN 109644236 B CN109644236 B CN 109644236B
- Authority
- CN
- China
- Prior art keywords
- lines
- group
- angle
- image
- coordinate system
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title description 16
- 238000000034 method Methods 0.000 claims abstract description 70
- 238000001914 filtration Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000013139 quantization Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- 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
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本文描述的某些实施例涉及用于检测相机坐标系和世界坐标系之间的倾斜角度的方法。在一个这样的示例中,该方法包括接收图像并检测图像中的多条线,其中,每条检测到的线具有相关联角度。该方法然后包括至少基于第一组线来至少确定第一参数,该第一参数指示对应于该第一组的第一代表角度。最后,该方法包括至少基于一个参数确定倾斜角度。
Description
技术领域
本发明涉及用于确定相机的倾斜角度的方法和装置。
背景技术
通常希望检测相机的倾斜角度。用于确定这种倾斜角度的方法通常要求相机包括倾斜传感器,例如以校正所捕获的图像中的相机倾斜。
发明内容
根据本发明的第一方面,提供了一种用于检测相机坐标系和世界坐标系之间的倾斜角度的方法。该方法包括:接收图像;检测图像中的多条线,其中,每条检测到的线具有相关联角度;至少基于第一组线来至少确定第一参数,该第一参数指示与该第一组相对应的第一代表角度;以及至少基于第一参数确定倾斜角度。
在一个示例中,该第一组线包括具有第一范围内的相应角度的线,并且该方法包括将第一代表角度标识为与世界坐标系的第一轴相对应。
第一轴可以是世界坐标系的水平轴,并且在这种情况下,该方法可以包括至少基于第一轴相对于图像的角度来确定倾斜角度。
在替代示例中,第一轴是世界坐标系的垂直轴,并且该方法包括至少基于第一轴相对于图像的角度来确定倾斜角度。
在实施例中,该方法包括:至少基于第二组线,至少确定第二参数,该第二参数指示与该第二组相对应的第二代表角度;并且基于第一参数和第二参数中的至少一个来确定倾斜角度。
该方法可以包括:将第一代表角度标识为与世界坐标系的水平轴和垂直轴中的一个相对应;并且将第二代表角度标识为与世界坐标系的水平轴和垂直轴中的另一个相对应。
在一个示例中,该方法包括:选择第一组和第二组中的优选的组;并且至少基于与所选择的组相对应的参数来确定倾斜角度。
选择第一组和第二组中的所述优选的组可以基于图像的预定义特性。
在示例中,该方法包括:计算与第一组相对应的不确定性和与第二组相对应的不确定性;基于所计算的不确定性来选择第一组和第二组中的至少一个。
在另一示例中,该方法包括基于第一代表角度和第二代表角度之间的假设关系来确定倾斜角度。
该方法可以包括:标识图像中的候选换行区域,其中,标识候选换行区域包括标识图像的第一像素和图像的第二像素,在第一像素和第二像素之间出现候选换行区域,其中:第一像素具有第一特性并且第二像素具有第二特性,该第二特性具有相对于第一特性的预定相似关系,以及使用所标识的候选换行区域来辅助检测图像中的线。
根据本公开的另一方面,提供了一种用于检测相机坐标系和世界坐标系之间的倾斜角度的装置。该装置包括处理器,该处理器配置为:从相机接收图像;检测图像中的多条线,其中,每条检测到的线具有相关联角度;至少基于一组线来至少确定参数,该参数指示与该第一组相对应的第一代表角度;以及至少基于参数确定倾斜角度。
处理器可以被配置为接收图像并且实时确定倾斜角度。倾斜角度可以是相机的安装角度。
根据另一方面,提供了一种非暂态计算机可读存储介质,包括存储在其上的一组计算机可读指令,该组计算机可读指令在由至少一个处理器执行时,使得该至少一个处理器:从相机接收图像;检测图像中的多条线,其中,每条检测到的线具有相关联角度;至少基于具有预定角度范围内的角度的一组检测到的线,来至少确定指示该组中的线的平均角度的参数;以及至少基于该参数来确定相机坐标系和世界坐标系之间的倾斜角度。
本发明的其他特征和优点将从参考附图以仅示例的方式给出的本发明的优选实施例的描述变得明显。
附图说明
图1示出了根据实施例的用于检测图像中的线的方法的流程图;
图2示出了包括候选换行区域的示例图像;
图3示出了包括光亮区域和黑暗区域的示例图像;
图4示出了用于量化梯度角度的示例方案;
图5示出了图像中的梯度幅度的直方图的示意图;
图6a至图6c示出了图像的示例连续区域,通过该连续区域可以标识候选线分量;
图7示出了根据实施例的装置的示意图;
图8示出了根据实施例的非暂态计算机可读存储介质的示意图;
图9示出了根据实施例的用于检测倾斜角度的方法的流程图;
图10示出了具有倾斜角度的图像的示意图;
图11示出了根据实施例的装置的示意图;以及
图12示出了根据实施例的非暂态计算机可读存储介质的示意图。
具体实施方式
下面,将描述用于确定相机坐标系和世界坐标系之间的倾斜角度的方法和装置。然而,首先,我们将描述线检测的实施例,其包括基于标识和利用候选换行区域的改进线检测。
图1示出了根据实施例的用于检测图像中的线的方法100的流程图。图像例如可以包括静止图像或视频的帧。该方法包括标识步骤105,其中,在图像中标识候选换行区域。标识候选换行区域包括标识图像的第一像素的步骤110和标识图像的第二像素的步骤115,在第一像素和第二像素之间出现候选换行区域。在本公开中,“像素”是图像的细分。它可以是图像的单个元素,或替代地,一组元素,例如,4×4平方。
在标识候选换行区域之后,方法100包括使用候选换行区域来辅助检测图像中的线的步骤120,如下面将更详细描述。
图2示出了包括由像素215分开的两个像素区域205、210的图像200。已知的图像检测算法可以将区域205、210检测为单独的线。本方法可以将像素220标识为第一像素并将像素225标识为第二像素,从而将像素215标识为候选换行区域。
图3示出了包括均匀光亮区域305和均匀黑暗区域310的图像300。梯度幅度和/或角度可以与图像的像素相关联。这些可以使用Sobel滤波器来确定,其为每个像素产生梯度幅度和梯度角度。这些值可以存储为梯度幅度矩阵或位图以及梯度角度矩阵或位图,分别表示每个像素的梯度幅度和梯度角度。在实施例中,通过如下所述分配新值来更新这些位图中的一个或每个位图。因此,为了线路检测的目的而增强了一个或多个位图。
作为梯度幅度和角度的示例,均匀光亮区域305中间的像素315将具有梯度幅度零,均匀黑暗区域310中间的像素320也是如此。在光亮区域305和黑暗区域310的边界处的像素325将具有高梯度幅度,并且将具有与光亮区域305和黑暗区域310之间的边界垂直的梯度角度。
返回图1,在方法100中,第一像素具有第一特性并且第二像素具有第二特性,该第二特性具有相对于第一特性的预定相似关系。第一和第二特性例如可以是相应的第一和第二梯度角度。例如,预定关系可以使得第二梯度等于第一梯度角度,或者第二梯度在第一梯度角度的预定义范围内。
在一个示例中,第一和第二梯度角度是量化的梯度角度。图4示出了用于量化梯度角度的示例方案。全范围360°被分成角度范围,例如,由角度410和415限定的角度范围405。在该示例中,范围405以垂直为中心。具有范围415内的梯度角度的像素被分配同一量化梯度角度,在该示例中,该梯度角度是垂直的。例如,角度420和425都位于范围415内,因此对应于同一量化角度。角度范围可以尺寸相同,如图所示,或者可以尺寸不同。可以基于处理效率和线检测结果的准确性的折衷来选择划分整个360°的角度范围的数量。例如,增加角度范围的数量通常将提供更准确的线检测结果,但计算效率会降低。在其中第一角度和第二角度是量化梯度角度的示例中,第二梯度角度与第一梯度角度的预定关系可以是第二梯度角度等于第一梯度角度。
返回图1,在框120处,使用所标识的候选换行区域来辅助检测图像中的线。例如,在图2中的两条检测到的线(例如,205和210)被候选换行区域(例如,图2中所示的像素215)分开的情况下,可以确定两条线205、210应被组合成穿过候选换行区域215的单个线。可以使用如下所述的各种已知的线检测方法。可以对图像重复执行线检测,从而检测图像中存在的多条线。检测到的线可以用作许多已知图像处理技术的输入,例如,模式识别和/或对象分类。
在一些示例中,候选换行区域包含被标识为对于第一和第二像素具有预定差异关系的像素。例如,预定关系可以使得候选换行区域的像素被标识为具有低于第一像素的梯度幅度和/或低于第二像素的梯度幅度的梯度幅度。这可以通过要求第一和第二像素具有高于预定阈值的梯度幅度,并且要求候选换行区域的一个或多个像素具有低于该预定阈值的梯度幅度来实现。
替代地或另外地,预定差异关系可以使得候选换行区域的一个或多个像素具有与第一像素的梯度角度不同并且与第二像素的梯度角度不同的梯度角度。
在一些示例中,候选换行区域具有预定尺寸特性。例如,该特性可以是候选换行区域具有等于或小于阈值的长度。该阈值可以被表示为像素数量。例如,换行符可以具有等于单个像素的长度。
该方法可以包括为候选换行区域的像素分配与候选换行区域中的像素的原始梯度幅度不同的梯度幅度。这可以存储在梯度幅度位图中以生成增强的梯度幅度位图。例如,参考图2,可以基于第一像素220的梯度幅度和第二像素225的梯度幅度中的至少一个来为候选换行区域的像素215分配梯度幅度。例如,候选换行区域的像素215可以被分配等于第一像素220或第二像素225的梯度幅度的梯度幅度。作为另一示例,候选换行区域的像素215可以被分配等于第一像素220的梯度幅度和第二像素225的梯度幅度的平均值的梯度幅度。然后,可以基于所分配的梯度幅度来检测图像中的线。
替代地或另外地,该方法可以包括基于第一像素220的梯度角度和第二像素225的梯度角度中的至少一个来为候选换行区域的像素(例如,2的像素215)分配梯度角度。这可以存储在梯度角度位图中以生成增强的梯度角度位图。例如,候选换行区域的像素215可以被分配与第一像素220的梯度角度相等和/或第二像素225的梯度角度相等的梯度角度。作为另一示例,候选换行区域的像素215或多个像素可以被分配等于第一像素220的梯度角度和第二像素225的梯度角度的平均值的梯度角度。
在整个本公开中,将值(例如,梯度幅度和梯度角度)分配给像素,可以将所分配的值存储在阴影图像中,而不是立即改变图像中的像素的值。这允许依次分析图像的每个像素,并且分析而不会受到周围像素的值的变化的影响,因此提高了分析的准确性,同时需要额外的计算资源。在将每个所分配的值存储在阴影图像中之后,可以将所分配的值复制回主图像。
在一些示例中,该方法包括对图像的至少一个像素的边缘梯度进行滤波,其中,滤波包括确定相邻像素是否具有预定义梯度幅度关系。例如,滤波可以包括依次将图像的每个像素的梯度幅度与周围像素的梯度幅度进行比较,并且作为该比较的结果来修改给定像素的梯度。因此,过滤可以基于局部特征分析。在一个示例中,滤波包括确定给定像素的梯度幅度与每个周围像素的梯度之间的差异。然后将这些梯度差异的最大值与预定阈值进行比较,并且如果最大梯度差异低于阈值,则给定像素被梯度幅度零。以这种方式,可以假设具有低梯度幅度的图像的区域(即图像的相对平坦的区域)不包括边缘或线,并且因此可以从至少一些进一步的处理中排除。这提高了该方法的计算效率。可以在确定候选换行区域之前执行滤波步骤,使得候选换行区域的确定基于滤波的输出。
在其中基于预定义阈值执行滤波的一些示例中,如上所述,预定义阈值可以是固定值。在其他这样的示例中,可以基于对图像中的梯度幅度的分析来确定阈值,现在将参考图5进行描述。可以产生直方图500,其表示图像中的像素的梯度幅度的出现频率,其中,梯度幅度的范围从零到最大值505。例如,在8位图像中,最大梯度幅度可以是255。通常,梯度幅度的分布包括峰值510,并且通常情况是没有像素具有在最大梯度幅度505处终止的范围515中的梯度幅度。范围515的存在和宽度取决于正在进行分析的具体图像。这样,图像的所有像素具有在从零到图像中的最高梯度幅度(即范围515的下限)的范围520内的梯度幅度。
在一个示例中,预定义幅度阈值被设置为等于范围520内的像素值的常数值和平均值(例如,平均)的乘积。例如,平均值可以被确定为:
其中,a(i)是梯度幅度的累积频率,k是直方图的大小,并且n是范围520内的直方图的节点或容器的数量。该常数值根据在滤波过程期间围绕给定像素的像素的数量而变化,并且可以基于对大量图像的分析凭经验确定。例如,在滤波过程考虑围绕给定像素的3×3或5×5平方中的所有像素的情况下,常数值可以有利地在1.8和2.4之间。
在一些示例中,在上述滤波之后,该方法包括标识由具有零梯度的像素围绕的具有非零梯度的像素,并且为这些像素分配梯度零。以这种方式,可以从进一步的处理中排除不形成潜在线的一部分的具有非零梯度的单独像素。这提高了计算效率。可以通过标识由具有零梯度幅度的像素围绕的具有非零梯度幅度的像素的小孤立区域来进一步提高计算效率。例如,可以标识小于2×2平方的连接像素的区域,并且将它们的梯度幅度设置为零。这些步骤不会显著降低线检测的质量,因为这种小隔离像素和/或区域不可能形成线的一部分。
在一些示例中,检测120线包括执行连通分量分析以标识对应于各个线分段的图像区域。例如,标识这样的区域可以包括标识包括具有给定梯度特性的多个像素的连续区域。这种特性的一个示例是高于预定阈值(例如,先前定义的幅度阈值)的梯度幅度。替代地,在执行上述滤波的情况下,这种特性的一个示例是非零梯度幅度。这种特性的另一示例是等于连续区域的其他像素或在连续区域的其他像素的预定范围内的梯度角度。连续区域可具有预定尺寸特性。例如,连续区域可以具有高于预定阈值的长度和/或宽度。在进一步的分析中可以忽略尺寸小于尺寸阈值的连续区域以提高计算效率。可以基于存储器要求与线检测的准确性之间的折衷来优化尺寸阈值。
图6a示出了这样的连续区域的示例600,其包括满足梯度特性的像素(阴影)和不满足梯度特性的像素(非阴影)。该方法然后包括通过连续区域600确定最佳拟合线分量。可以使用随机样本一致性算法来确定最佳拟合线分量。
在一个示例中,确定最佳拟合线分量包括确定连续区域600是否具有第一预定义宽度特性和第一预定义高度特性,其中,高度大于宽度。例如,这可能要求高度大于长边阈值并且要求宽度小于短边阈值,使得区域600相对较高和较薄,如图6a所示。参考图6b,如果区域600具有这些特性,则本示例包括确定与通过区域600的预定数量的候选线分量(虚线)中的每一个相对应的误差。每个候选线分量的端点位于与区域600的顶部边缘相关联的预定义位置605处,并且位于与区域600的底部边缘相关联的预定义位置610处。例如,预定义位置605可以沿着区域600的顶部等距间隔,并且预定义位置610可以沿着区域600的底部等距间隔。增加预定义位置的数量产生更精确的结果,但需要增加的计算资源。这样,可以基于期望精度和可用处理资源之间的折衷来优化预定义位置的数量。该方法然后包括将具有最低对应误差的候选线分量标识为最佳拟合线分量。例如,可以基于每个阴影像素的中心点与给定候选线分量的距离来确定对应于给定候选线分量的误差。图6c示出了仅包括具有最低误差的候选线分量615的区域600。
类似地,如果区域600具有第二预定义宽度特性和第二预定义高度特性,其中,宽度大于高度,则该方法包括确定与通过区域600的预定义数量的候选线分量中的每一个相对应的误差,其中,每个候选线分量的端点位于与区域600的左手边缘和右手边缘相关联的预定义位置处。该方法然后包括将具有最低对应误差的候选线分量标识为最佳拟合线分量。
如果区域600不具有第一预定义宽度和高度特性并且不具有第二预定义宽度和高度特性,则该方法包括基于对连续区域的回归分析来确定最佳拟合线分量。
在一些示例中,预定义位置的数量取决于连续区域的高度和宽度中的较小者。例如,预定位置的数量可以等于与区域600的高度对应的像素数量和与区域600的宽度对应的像素数量中的较小者。这在图6b中示出,其中,区域600具有三个像素的宽度,并且其中,三个预定义位置与区域600的顶部和底部相关联。
该方法然后可以包括将图像中的线标识为包括线分量615。例如,这可以包括将连接的线分量标识为形成图像中的单个线,例如,通过霍夫变换。
本方法允许在不考虑如上所述的候选换行区域的情况下检测可能未检测到的线。例如,在生成梯度特性的增强位图的情况下,如上所述,对增强位图的处理允许检测经由原始位图的处理未检测到的线。
图7示出了根据示例的用于检测图像中的线的装置700。装置700包括被配置为接收图像710的输入705。装置700还包括处理器710。处理器例如可以是中央处理单元或图形处理单元。该装置可以包括其他元件,例如,相机光学器件及相关硬件、用于存储图像的存储器、和/或用于输出图像和/或表示检测到的线的数据的输出接口。该装置可以形成相机的一部分。
处理器700被配置为确定715图像的多个像素中的每个像素的梯度幅度和梯度角度,例如,如上所述。
然后,处理器700被配置为标识720图像中的候选换行区域。标识候选换行区域包括标识多个像素中的第一像素和多个像素中的第二像素,在第一像素和第二像素之间出现候选换行区域。第一像素具有第一量化梯度角度,并且第二像素具有等于第一梯度角度的第二量化梯度,第一像素和第二像素均具有预定义梯度幅度特性,并且候选换行区域的一个或多个像素不具有预定义幅度特性。
然后,处理器被配置为在725处标识图像中的线,其中,线通过候选换行区域。
图8示出了包括一组计算机可读指令805的非暂态计算机可读存储介质800的示例,该计算机可读指令805在由至少一个处理器810执行时,使得该至少一个处理器810执行根据本文所描述的示例的方法。计算机可读指令805可以从机器可读介质中检索,例如,可以包含、存储、或维护程序和数据以供指令执行系统使用或与之结合使用的任何介质。在这种情况下,机器可读介质可以包括许多物理介质中的任何一种,例如,电、磁、光、电磁或半导体介质。适当的机器可读介质的更具体的示例包括但不限于硬盘驱动器、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器、或便携式盘。
在框815处,指令805使得处理器810从输入接收图像。
在框820处,指令805使得处理器810标识图像中的候选换行区域,其中,标识候选换行区域包括标识图像的第一像素和图像的第二像素,在第一像素和第二像素之间出现候选换行区域。第一像素具有第一梯度角度并且第二像素具有第二梯度角度,该第二梯度角度具有相对于第一梯度角度的预定关系。
在框825处,指令805使得处理器810基于第一像素的梯度幅度和第二像素的梯度幅度中的至少一个来为候选换行区域的每个像素分配梯度幅度。
在框830处,指令805使得处理器810基于第一梯度角度和第二梯度角度中的至少一个来为候选换行区的每个像素分配梯度角度。
在框835处,指令805使得处理器810基于所分配的梯度角度和所分配的梯度幅度来检测图像中的线。
图9示出了根据本公开的方面的用于检测相机坐标系和世界坐标系之间的倾斜角度的方法900的流程图。相机坐标系表示相机轴,具体地,相机的图像传感器的水平轴和垂直轴。世界坐标系独立于相机位置而存在,并且表示可以在其中引入相机的显示世界环境中的轴。相机可以在移动设备中,并且可以相对于现实世界环境不断地或间歇地移动。相机可以在固定设备中,该固定设备安装在相对于现实世界环境的固定位置。作为示例,相机可以是壁挂式的。例如,世界坐标系可以表示相对于地球而定义的轴,具体地,存在于相机所在的地球上的位置处的水平轴和垂直轴。作为另一示例,世界坐标系可以表示由相机所处的环境(例如,飞机、火车或汽车)所定义的轴。这样,倾斜角度可以是相机相对于三维物理空间(例如,相机所处的房间或类似物的内部)的物理坐标系的倾斜角度。
方法900包括接收905图像。图10a示出了这种图像的示例1000。在这种情况下,图像1000是窗口1005。可以看出,窗口1005与水平面成大约20°的角度,这是因为捕获图像的相机具有与水平面成20°的倾斜角度。然后,方法900包括检测910图像1000中的多条线,其中,每条线具有相关联角度。在本示例中,检测到的多条线包括窗口1005的线。可以使用如先前在本公开中描述的线检测算法来检测多条线。在所检测到的线被表示为方程的情况下,可以根据方程来确定每条线的角度。在当前角度
在915处,该方法包括至少基于第一组线确定指示对应于第一组的第一代表角的至少第一参数。例如,第一参数可以是第一组的线的平均角度,其中,平均值可以是任何平均值,例如,均值、中值或模。该方法然后包括至少基于第一参数确定920倾斜角度。以这种方式,方法900允许检测倾斜角度而不需要任何外部传感器或除图像本身之外的任何其他输入。因此可以确定相机的倾斜角度,而没有与提供倾斜传感器相关联的成本和复杂性。
对于这种图像的情况经常是图像中的线更可能位于相对于世界坐标系的某些角度。例如,在图像1000中,形成窗口1005的线与世界坐标系中的垂直轴和水平轴对齐。这样,在相机坐标系中,窗口1005的垂直线相对于图像1000的垂直维度成20°的角度,并且窗口1005的水平线相对于图像1000的水平维度成20°的角度。通常,这种依赖性取决于捕获图像的环境。例如,可以预期城市场景的外部图像包括与建筑物、门、窗等的边缘相对应的垂直线和水平线。
在本公开的一些方面,第一组线包括具有第一范围内的相应角度的线,并且方法900包括将第一代表角标识为对应于坐标系的第一轴。例如,方法900可以包括将第一组标识为具有图像的水平维度的给定角度内的角度(例如,图像的水平维度的45°内的所有角度)的所有线的集合。图10b示出了图像1000,所有这些线被示出为实线并且其余的线被示出为虚线。可以看出,这样选择的线是窗口1005的水平线。如上所述,然后可以将第一代表角度计算为第一组线的平均角度。由于第一组中的线都与水平面成20°,因此代表角与水平面的成20°角度。在本示例中,由于假设第一组线在世界坐标系中是水平的,因此世界坐标系的第一轴是世界坐标系的水平轴。在这种情况下,方法900包括至少基于第一轴相对于图像的角度来确定倾斜角度。例如,在图10的示例中,可以将倾斜角度确定为等于第一轴相对于图像的角度。在这种情况下,倾斜角度将被正确地确定为20°。
类似地,第一轴可以是世界坐标系的垂直轴,并且该方法因此可以包括至少基于该第一轴相对于图像的角度来确定倾斜角度。在该示例中,第一组线可以被确定为具有图像的垂直维度的给定范围内(例如,图像的垂直维度的45°内)的角度的线的组。在示例图像1000中,窗口1005的垂直线全部与图像的垂直维度成20°的角度。因此可以看出,类似于上面对水平情况的描述,如果选择第一组线作为图像的垂直维度的45°内的线的组,则第一代表角可以被计算为相对于图像的垂直维度的20°。因此,第一轴可以被确定为与垂直方向成20°的角度,因此倾斜角可以被确定为20°。
在一些示例中,可以基于对相机所处的环境的知识来选择上述水平和垂直情况中的任一个。例如,如果相机位于具有许多高建筑物的区域中,则可以预期由相机产生的图像将包括垂直线比水平线更多。在这种情况下,可以选择第一组线以使得第一轴是垂直轴而不是水平轴,因为这可以产生更准确的结果。
在本公开的一个方面,方法900包括基于至少第二组线来确定指示对应于第二组的第二代表角的至少第二参数。该方法然后包括基于第一参数和第二参数中的至少一个来确定倾斜角度。第二组线可以包括具有第二范围内的相应角度的线。例如,在第一代表角被标识为对应于世界坐标系的水平轴和垂直轴之一的情况下,方法900可以包括将第二代表角标识为对应于世界坐标系的水平轴和垂直轴中的另一个。然后可以基于第一轴相对于图像的角度和第二轴相对于图像的角度中的至少一个来确定倾斜角度。
作为本发明的该方面的示例,方法900可以包括选择第一组线和第二组线中的优选的一个,并且至少基于与所选择的组相对应的参数来确定倾斜角度。可以基于图像的预定义特性来选择第一组和第二组中的优选的组。例如,如上所述,取决于相机所处的环境,可以预期第一组和第二组中的一个产生更精确的倾斜角度结果。因此,可以根据相机环境来选择第一组和第二组中的至少一个来作为最有可能产生精确结果的组。作为另一示例,所选择的组可以是包括最大线数量的组。替代地,方法900可以包括计算对应于第一组的不确定性和对应于第二组的不确定性。不确定性例如可以包括各个代表角度的统计不确定性。该方法然后可以包括基于所计算的不确定性来选择第一组和第二组中的至少一个。例如,可以选择具有最低不确定性的组。类似地,可以使用两个组中的线的角度的加权平均值(例如,加权平均)来确定倾斜角度,并且更多权重被赋予具有较低不确定性的组。
在一些示例中,方法900包括基于第一代表角度和第二代表角度之间的假设关系来确定倾斜角度。例如,在第一轴(与第一代表角度对应)是世界坐标系的水平轴并且第二轴(与第二代表角度对应)是世界坐标系的垂直轴的情况下,可以假设在第一代表角度和第二代表角度之间存在直角关系。然后可以基于第一和第二代表角度确定倾斜角度,并且假设它们具有这种关系。
在一些示例中,方法900包括标识图像中的候选换行区域。如上所述,标识候选换行区域可以包括标识图像的第一像素和图像的第二像素,在第一像素和第二像素之间出现候选换行区域。在该示例中,第一像素具有第一特性并且第二像素具有第二特性,该第二特性具有相对应第一特性的预定相似关系。该方法然后包括使用所标识的候选换行区域来辅助检测图像中的线。
图11示出了根据示例的用于检测相机坐标系和世界坐标系之间的倾斜角度的装置1100。该装置包括处理器1105,其被配置为从相机接收1115图像1120。相机例如可以是视频相机或静态相机。在相机是视频相机的情况下,图像可以是视频的帧。该装置可以是图7中描绘的并且如上所述的装置。处理器例如可以是中央处理单元或图形处理单元。该装置可以包括其他元件,例如,相机光学器件及相关硬件、用于存储图像的存储器、和/或对于表示倾斜角度的数据的输出接口。该装置可以形成相机的一部分。
处理器1105被配置为检测1125图像中的多条线,其中,每条检测到的线具有相关联角度。可以使用如上所述的线检测算法来检测线。
然后,处理器1105被配置为至少基于一组线来至少确定1130指示对应于第一组的第一代表角的参数。例如,如上所述,参数可以是该组线的角度的平均值,例如,均值或中值。
处理器1105被配置为至少基于该参数来确定1135倾斜角度,例如。如上所述。倾斜角度例如可以是相机的安装角度,其指示相机相对于其周围环境被安装的角度。
在一些示例中,处理器被配置为接收图像并实时确定倾斜角度。例如,在相机是相对于其周围环境运动的视频相机的情况下,处理器可以实时确定随着相机的角度相对于其周围环境改变而逐帧变化的倾斜角度值。
图12示出了包括一组计算机可读指令1205的非暂态计算机可读存储介质1200的示例,该计算机可读指令1205在由至少一个处理器1210执行时,使得该至少一个处理器1210执行根据本文所描述的示例的方法。计算机可读指令1205可以从机器可读介质中检索,例如,可以包含、存储、或维护程序和数据以供指令执行系统使用或与之结合使用的任何介质。在这种情况下,机器可读介质可以包括许多物理介质中的任何一种,例如,电、磁、光、电磁或半导体介质。适当的机器可读介质的更具体的示例包括但不限于硬盘驱动器、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器、或便携式盘。
在框1215处,指令1205使得处理器1210从相机接收图像。
在框1220处,指令1205使得处理器1210检测图像中的多条线,其中,每条检测到的线具有相关联角度。
在框1225处,指令1205使得处理器1210基于具有预定角度范围内的角度的至少一组检测到的线来至少确定指示该组的线的平均角度的参数。例如,如上所述,该组可以包括以图像的垂直或水平维度为中心的预定范围内的角度。
最后,在框1230处,指令1205使得处理器1210至少基于该参数来确定相机坐标系与世界坐标系之间的倾斜角度。
以上实施例应被理解为本发明的说明性示例。设想了替代方案。例如,代替修改梯度特性的位图以产生如上所述的增强位图,候选换行区域可以被单独地存储并且在检测图像中的线时被检索。作为另一替代方案,图7中所示的装置和/或图11中所示的装置可以不形成相机的一部分,而是可以替代地作为被配置为通过网络接收图像的远程处理设备。在针对视频的帧确定倾斜角度的情况下,上述装置可以不实时输出指示倾斜角度的信息,而是输出指示平均倾斜角度和/或倾斜角度的方差的总体值。可以向用户显示倾斜角度,例如,具有对用户的指示来移动相机以减小倾斜角度。指示倾斜角度和/或图像中所检测到的线的信息可以存储在与图像相关联的元数据中。应理解,关于任何一个实施例描述的任何特征可以被单独使用,或者与所描述的其他特征组合使用,并且还可以与任何其他实施例的一个或多个特征、或者任何其他实施例的任何组合来组合使用,此外,在不脱离由所附权利要求限定的本发明的范围的情况下,还可以采用上面未描述的等同物和修改。
Claims (10)
1.一种用于检测相机坐标系和世界坐标系之间的倾斜角度的方法,所述方法包括:
从相机接收图像;
检测所述图像中的多条线,其中,每条检测到的线具有相关联角度;
至少基于所述多条线中的第一组线来确定第一参数,所述第一参数指示与所述第一组相对应的第一代表角度;
至少基于所述多条线中的第二组线来确定第二参数,所述第二参数指示与所述第二组相对应的第二代表角度;
将所述第一代表角度标识为与所述世界坐标系的水平轴和垂直轴中的一个相对应;
将所述第二代表角度标识为与所述世界坐标系的水平轴和垂直轴中的另一个相对应;
选择所述第一组和所述第二组中的优选的组,其中所述第一组和所述第二组中的所选择的优选的组根据所述相机所处的环境而改变,其中所述第一组和所述第二组中的优选的组是基于所述第一组中的线数量和所述第二组中的线数量来选择的;以及
基于以下项来确定所述倾斜角度:
所述第一代表角度和所述第二代表角度之间的假设关系;以及
与所述第一组和所述第二组中的所选择的组相对应的参数。
2.根据权利要求1所述的方法,其中,所述第一组线包括具有第一范围内的相应角度的线。
3.根据权利要求1所述的方法,其中,所述方法包括至少基于所述世界坐标系的水平轴和垂直轴中的一个相对于所述图像的角度来确定所述倾斜角度。
4.根据权利要求1所述的方法,包括基于图像的预定义特性来选择所述第一组和所述第二组中的所述优选的组。
5.根据权利要求1所述的方法,包括:
计算与所述第一组相对应的不确定性和与所述第二组相对应的不确定性;
基于所计算的不确定性来选择所述第一组和所述第二组中的至少一个。
6.根据权利要求1所述的方法,所述方法包括:
标识所述图像中的候选换行区域,其中,标识所述候选换行区域包括标识所述图像的第一像素和所述图像的第二像素,在所述第一像素和所述第二像素之间出现所述候选换行区域,其中:
所述第一像素具有第一特性并且所述第二像素具有第二特性,所述第二特性具有相对于所述第一特性的预定相似关系,以及
使用所标识的候选换行区域来辅助检测所述图像中的所述多条线中的至少一条线。
7.一种用于检测相机坐标系和世界坐标系之间的倾斜角度的装置,所述装置包括处理器,所述处理器配置为:
从相机接收图像;
检测所述图像中的多条线,其中,每条检测到的线具有相关联角度;
至少基于所述多条线中的第一组线来确定第一参数,所述第一参数指示与所述第一组相对应的第一代表角度;
至少基于所述多条线中的第二组线来确定第二参数,所述第二参数指示与所述第二组相对应的第二代表角度;
将所述第一代表角度标识为与所述世界坐标系的水平轴和垂直轴中的一个相对应;
将所述第二代表角度标识为与所述世界坐标系的水平轴和垂直轴中的另一个相对应;
选择所述第一组和所述第二组中的优选的组,其中所述第一组和所述第二组中的所选择的优选的组根据所述相机所处的环境而改变,其中所述第一组和所述第二组中的优选的组是基于所述第一组中的线数量和所述第二组中的线数量来选择的;以及
基于以下项来确定所述倾斜角度:
所述第一代表角度和所述第二代表角度之间的假设关系;以及
与所述第一组和所述第二组中的所选择的组相对应的参数。
8.根据权利要求7所述的装置,其中,所述处理器被配置为接收所述图像并且实时确定所述倾斜角度。
9.根据权利要求7所述的装置,其中,所述倾斜角度是所述相机的安装角度。
10.一种非暂态计算机可读存储介质,包括存储在其上的一组计算机可读指令,所述计算机可读指令在由至少一个处理器执行时,使得所述至少一个处理器:
从相机接收图像;
检测所述图像中的多条线,其中,每条检测到的线具有相关联角度;
至少基于所述多条线中的具有预定角度范围内的角度的第一组线,来确定指示所述第一组中的线的第一代表角度的第一参数;
至少基于所述多条线中的第二组线来确定第二参数,所述第二参数指示与所述第二组相对应的第二代表角度;
将所述第一代表角度标识为与世界坐标系的水平轴和垂直轴中的一个相对应;
将所述第二代表角度标识为与所述世界坐标系的水平轴和垂直轴中的另一个相对应;
选择所述第一组和所述第二组中的优选的组,其中所述第一组和所述第二组中的所选择的优选的组根据所述相机所处的环境而改变,其中所述第一组和所述第二组中的优选的组是基于所述第一组中的线数量和所述第二组中的线数量来选择的;以及
基于以下项来确定相机坐标系和世界坐标系之间的倾斜角度:
所述第一代表角度和所述第二代表角度之间的假设关系;以及
与所述第一组和所述第二组中的所选择的组相对应的参数。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1614233.3 | 2016-08-19 | ||
GB1614233.3A GB2553103B (en) | 2016-08-19 | 2016-08-19 | Method of angle detection |
PCT/GB2017/052258 WO2018033698A1 (en) | 2016-08-19 | 2017-08-03 | Method of angle detection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109644236A CN109644236A (zh) | 2019-04-16 |
CN109644236B true CN109644236B (zh) | 2022-06-28 |
Family
ID=57045517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780050523.9A Active CN109644236B (zh) | 2016-08-19 | 2017-08-03 | 角度检测方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190251703A1 (zh) |
CN (1) | CN109644236B (zh) |
GB (1) | GB2553103B (zh) |
WO (1) | WO2018033698A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259598B (zh) * | 2021-07-16 | 2023-01-31 | 深圳市赛菲姆科技有限公司 | 摄像头水平调节控制方法、系统、终端及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101690166A (zh) * | 2007-06-27 | 2010-03-31 | 松下电器产业株式会社 | 摄像装置、方法、系统集成电路及程序 |
CN101689294A (zh) * | 2007-07-12 | 2010-03-31 | 松下电器产业株式会社 | 图像处理装置、图像处理方法、图像处理程序、记录了图像处理程序的记录介质、及图像处理用处理器 |
CN102132323A (zh) * | 2008-08-26 | 2011-07-20 | 微软公司 | 自动图像矫直 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7893963B2 (en) * | 2000-03-27 | 2011-02-22 | Eastman Kodak Company | Digital camera which estimates and corrects small camera rotations |
GB0116113D0 (en) * | 2001-06-30 | 2001-08-22 | Hewlett Packard Co | Tilt correction of electronic images |
US7079707B2 (en) * | 2001-07-20 | 2006-07-18 | Hewlett-Packard Development Company, L.P. | System and method for horizon correction within images |
JP2006245726A (ja) * | 2005-03-01 | 2006-09-14 | Fuji Photo Film Co Ltd | デジタルカメラ |
JP4640470B2 (ja) * | 2008-08-18 | 2011-03-02 | ソニー株式会社 | 画像処理装置、画像処理方法、プログラム、および撮像装置 |
JP4991887B2 (ja) * | 2010-01-13 | 2012-08-01 | シャープ株式会社 | 撮像画像処理システム、撮像画像処理システムの制御方法、プログラムおよび記録媒体 |
US8588550B2 (en) * | 2010-10-04 | 2013-11-19 | Sony Corporation | Virtual level for a digital camera |
US8411161B2 (en) * | 2010-10-04 | 2013-04-02 | Sony Corporation | Apparatus for automatic estimate of the angle in tilted images for level correction |
JP6299371B2 (ja) * | 2014-04-18 | 2018-03-28 | 富士通株式会社 | 撮像方向の傾き検出方法、撮像方向の傾き検出プログラムおよび撮像方向の傾き検出装置 |
US20150341536A1 (en) * | 2014-05-23 | 2015-11-26 | Mophie, Inc. | Systems and methods for orienting an image |
-
2016
- 2016-08-19 GB GB1614233.3A patent/GB2553103B/en active Active
-
2017
- 2017-08-03 CN CN201780050523.9A patent/CN109644236B/zh active Active
- 2017-08-03 WO PCT/GB2017/052258 patent/WO2018033698A1/en active Application Filing
-
2019
- 2019-02-19 US US16/279,753 patent/US20190251703A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101690166A (zh) * | 2007-06-27 | 2010-03-31 | 松下电器产业株式会社 | 摄像装置、方法、系统集成电路及程序 |
CN101689294A (zh) * | 2007-07-12 | 2010-03-31 | 松下电器产业株式会社 | 图像处理装置、图像处理方法、图像处理程序、记录了图像处理程序的记录介质、及图像处理用处理器 |
CN102132323A (zh) * | 2008-08-26 | 2011-07-20 | 微软公司 | 自动图像矫直 |
Also Published As
Publication number | Publication date |
---|---|
US20190251703A1 (en) | 2019-08-15 |
GB2553103A (en) | 2018-02-28 |
GB201614233D0 (en) | 2016-10-05 |
GB2553103B (en) | 2022-04-27 |
WO2018033698A1 (en) | 2018-02-22 |
CN109644236A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hulik et al. | Continuous plane detection in point-cloud data based on 3D Hough Transform | |
US9846946B2 (en) | Objection recognition in a 3D scene | |
US9142011B2 (en) | Shadow detection method and device | |
US9245200B2 (en) | Method for detecting a straight line in a digital image | |
US10311595B2 (en) | Image processing device and its control method, imaging apparatus, and storage medium | |
Pless et al. | Evaluation of local models of dynamic backgrounds | |
KR101988384B1 (ko) | 이미지 매칭 장치, 이미지 매칭 시스템 및 이미지 매칭 방법 | |
US20130202161A1 (en) | Enhanced face detection using depth information | |
CN110659658B (zh) | 一种目标检测方法及其装置 | |
US20140270362A1 (en) | Fast edge-based object relocalization and detection using contextual filtering | |
CN112560698A (zh) | 图像处理方法、装置、设备和介质 | |
JP2020149111A (ja) | 物体追跡装置および物体追跡方法 | |
CN109214254B (zh) | 一种确定机器人位移的方法及装置 | |
CN111354038A (zh) | 锚定物检测方法及装置、电子设备及存储介质 | |
AU2014216000A1 (en) | A non-uniform curve sampling method for object tracking | |
CN115533902A (zh) | 一种基于视觉引导的拆垛方法、装置、电子设备及系统 | |
CN110673607A (zh) | 动态场景下的特征点提取方法、装置、及终端设备 | |
CN109644236B (zh) | 角度检测方法 | |
CN110826364A (zh) | 一种库位识别方法及装置 | |
KR101696086B1 (ko) | 소나 이미지 내의 물체 부분 추출 방법 및 장치 | |
WO2020197494A1 (en) | Place recognition | |
Haque et al. | Robust feature-preserving denoising of 3D point clouds | |
JP6492603B2 (ja) | 画像処理装置、システム、画像処理方法、およびプログラム | |
CN109643451B (zh) | 线检测方法 | |
CN103337076B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221014 Address after: Cambridge County, England Patentee after: ARM Corp. Address before: Cambridge County, England Patentee before: Apical Ltd. |