用于检测的方法和计算系统与流程

文档序号:28663990发布日期:2022-01-26 20:47阅读:83来源:国知局
用于检测的方法和计算系统与流程

1.本公开涉及天空分割。更具体地,本公开涉及在图像或视频帧上执行天空分割,以帮助交通工具确定地面和天空之间的分界(例如,地平线),用于导航目的和/或检测交通工具的视野中的对象。


背景技术:

2.天空分割使用机器学习模型将图像或视频帧中的像素与天空相关联。天空分割方法通常是基于边缘的或者基于内容的。基于边缘的天空分割方法不产生完整的逐像素的天空分割。相反,它们最终找到了用于微型飞行器姿态估计的地平线。基于内容的天空分割方法需要大量的逐像素的手工标记的数据,并且它们也具有很高的计算成本。除了前述的缺点之外,两种方法都无法在有限的标记数据和实时运行时间约束下很好地工作。


技术实现要素:

3.公开了一种方法。该方法包括接收第一图像。方法还包括检测第一图像中的多个边缘。方法还包括连接边缘。方法还包括至少部分地基于连接的边缘来识别第一图像中的轮廓。方法还包括确定轮廓的凸包。方法还包括生成包括凸包的第二图像。
4.还公开了一种计算系统。该计算系统包括一个或多个处理器和存储器系统。存储器系统包括一个或多个非瞬时性计算机可读介质,该非瞬时性计算机可读介质存储指令,当指令由一个或多个处理器中的至少一个处理器执行时,使计算系统执行操作。操作包括接收第一图像。第一图像是由飞行中的飞机上的照相机捕获的。操作还包括至少部分地基于阈值来检测第一图像中的多个边缘。操作还包括连接边缘。操作还包括至少部分地基于连接的边缘来识别第一图像中的最大轮廓。操作还包括确定最大轮廓的凸包。凸包表示第一图像中的地面区域的一部分。操作还包括生成包括凸包的第二图像。第二图像中的多个第一像素表示凸包,并且第二图像中的多个第二像素不表示凸包。
5.在另一示例中,操作包括接收第一图像。第一图像是由交通工具上的照相机捕获的。操作还包括至少部分地基于阈值来检测第一图像中的多个边缘。操作还包括连接边缘。使用具有正方形核(square kernel)的形态闭合来连接边缘,并且形态闭合使用具有从大约20像素至大约50像素的面积的核。操作还包括至少部分地基于连接的边缘来识别第一图像中的最大轮廓。最大轮廓包括最大面积。操作还包括确定最大轮廓的凸包。凸包表示第一图像中的地面区域的一部分。操作还包括生成包括凸包的第二图像。第二图像中具有第一颜色的多个第一像素表示凸包,并且第二图像中具有第二颜色的多个第二像素不表示凸包。操作还包括识别第二图像中的每列中的最底部第一像素。操作还包括将每列中的在最底部第一像素下方的第二像素转换为第一像素以产生修改的第二图像。修改的第二图像中的第一像素表示地面区域,并且修改的第二图像中的第二像素表示天空区域。操作还包括组合第一图像的至少一部分和修改的第二图像的至少一部分以产生组合的图像。
附图说明
6.结合在本说明书中并构成本说明书的一部分的附图示出了本教导的各个方面,并且与描述一起用于解释本教导的原理。
7.图1示出了根据示例的飞行中的飞机的示意图。
8.图2示出了根据示例的用于将图像分割成天空区域和地面区域的方法的流程图。
9.图3示出了根据示例的由飞行中的飞机上的照相机捕获的第一图像。
10.图4示出了根据示例的具有识别的多个边缘的第一图像。
11.图5示出了根据示例的具有连接的边缘的第一图像。
12.图6示出了根据示例的具有识别的最大轮廓的第一图像。
13.图7示出了根据示例的具有识别的凸包的第一图像。
14.图8示出了根据示例的包括表示凸包的多个第一像素(例如,黑色像素)的第二图像。
15.图9示出了根据示例的具有每列中识别的最底部第一像素(例如,最底部的黑色像素)的第二图像。
16.图10示出了根据示例的第二图像,其中在最底部第一像素(最底部的黑色像素)下方的第二像素(例如,白色像素)被转换为第一像素(例如,黑色像素)以产生修改的第二图像。
17.图11示出了根据示例的组合的图像,该组合的图像包括覆盖在第一图像上的修改的第二图像。
18.应该注意的是,附图的一些细节已经被简化,并且是为了促进理解而绘制的,而不是为了保持严格的结构准确性、细节和比例。
具体实施方式
19.现在将详细参考本教导,其示例在附图中示出。在附图中,通篇使用了相同的附图标记来指定相同的元件。在下面的描述中,参考形成其一部分的附图,并且其中参考是通过实践本教导的说明具体示例的方式示出的。因此,以下描述仅是示例性的。
20.本文公开的系统和方法可以识别/产生近似图像中的地面区域与天空区域之间的分离的边界。该系统和方法还可以从图像中遮掩非天空(例如,地面)区域以产生天空背景,这可以最小化边界和/或检测的对象的误报。这里公开的系统和方法可以不需要训练数据并且实时地或接近实时地运行以生成逐像素的天空分割图。一旦已经检测到边界,系统和方法就可以使用边界以帮助检测对象(例如,其他飞机、鸟类等),并导航飞机以避开这样的对象。可以通过采用本文描述的天空分割技术来增强检测过程的准确性。
21.系统和方法可以快速并且准确地检测图像内具有非线性边界的非天空区域。此外,系统和方法不需要标记数据来训练机器学习(ml)模型。系统和方法逐像素地分割非天空区域,而不是通过找到地平线并将图像划分为“地平线上方”和“地平线下方”。
22.照相机可以在相对于飞机的限定位置处固定到飞机,其视野指向感兴趣的区域(例如,向前和/或在飞机行进的方向上)。天空区域可以完全包含在非天空区域上方。非天空区域可以包含比天空区域更多的边缘部分。天空和非天空区域由地平线分开:横穿图像的宽度的大部分至全部的适度直的线。系统和方法的示例可以将图像划分为天空和非天空
区域。
23.图1示出了根据示例的飞行中的飞机100的示意图。飞机100可以是或包括飞机、直升机、无人驾驶飞机(例如,无人机)、航天器等。飞机100可以包括照相机110。照相机110可以耦接到飞机100和/或定位在飞机100内。照相机110可以被配置为捕获一个或多个图像。照相机110也可以或者替代地被配置为捕获视频。在一个示例中,照相机110可以被配置为随着时间捕获连续图像流(即视频),并且图像可以是从视频提取的静止帧。
24.可以将图像和/或视频发送到飞机100上的计算系统120。在另一示例中,计算系统120可以位于地面上(例如,在控制站中),与飞机100上/中的机载计算系统通信。计算系统120可以包括一个或多个处理器和存储器系统。存储器系统可包括存储指令的一个或多个非瞬时性计算机可读介质,当指令由一个或多个处理器中的至少一个来执行时,指令使计算系统120执行操作。操作将参照下面的图2进行描述。
25.图2示出了根据示例的用于将图像分割成天空区域和地面区域的方法200的流程图。下面描述方法200的说明性顺序。方法200的一个或多个步骤能够以不同的顺序执行、重复或省略。
26.方法200可以包括接收第一图像,如在202处。图3中示出了第一图像300的示例。第一图像300可以由计算系统120接收。
27.如上所述,第一图像300可以由照相机110捕获。照相机110可以处于直立位置并且被指向前方,使得第一图像300包括在飞机100正在移动的方向上的感兴趣的区域。因此,第一图像300可以包括飞机100的飞行路径的至少一部分。第一图像300可以包括地面区域310、天空区域320或两者。
28.方法200还可以包括检测第一图像300中的多个边缘(识别出三个:410、420、430),如在204处。图4示出了在第一图像300中检测/识别的边缘410、420、430。如本文所使用的,“边缘”指的是图像中亮度急剧变化(例如,大于预定阈值)的点、点集或线(例如,一个或多个像素)。虽然第一图像300包括三个以上的边缘,但为了简单起见,仅有三个被识别。步骤可以由计算系统120来执行。更具体地,计算系统120可以使用canny边缘检测(例如,具有低滞后参数)或laplacian边缘检测方法来检测第一图像300中的边缘410、420、430。在至少一个示例中,检测可以至少部分地基于灵敏度阈值。例如,可以(例如,由用户)增加灵敏度阈值以检测第一图像300中的更多边缘,或者可以降低灵敏度阈值以检测第一图像300中的更少边缘。在至少一个示例中,第一图像300可以是二进制的,并且表示边缘410、420、430的像素可以具有0的值,并且不表示边缘410、420、430的像素可以具有1的值,或者反之亦然。
29.方法200还可以包括连接第一图像300中的边缘410、420、430中的一个或多个,如在206处。图5示出了在被连接以产生连接的边缘510、520、530之后的边缘410、420、430(来自图4)。步骤可由计算系统120执行。更具体地,计算系统120可以使用形态闭合来产生连接的边缘510、520、530。形态闭合可以使用具有从大约2像素至大约200像素、大约5像素至大约150像素、大约10像素至大约100像素、或大约20像素至大约50像素的面积的核。核可以具有基本上为正方形、矩形、三角形、圆形、卵形、椭圆形等的形状。
30.方法200还可以包括识别第一图像300中的一个或多个轮廓(示出了三个:610、620、630),如在208处。图6示出了第一图像300中的轮廓610、620、630。步骤可由计算系统120执行。轮廓610、620、630可至少部分地基于连接的边缘来识别。例如,轮廓610、620、630
各自可以具有由连接的边缘限定的不间断的周边。在示例中,第一图像300可以包括多个轮廓610、620、630,并且该步骤可以包括识别最大轮廓610,该最大轮廓610用阴影图案勾勒以便更清楚地看到。最大轮廓610可以是或包括具有最多像素(例如,最大面积)的轮廓。
31.方法200还可以包括确定(例如,最大的)轮廓610的凸包710,如在210处。图7示出了轮廓610的凸包710。步骤可由计算系统120执行。凸包710用阴影图案勾勒,以演示和描述步骤210。在实践中,这样的阴影可以使用,或可以不使用。如本文所使用的,“凸包”指的是(例如,完全地)围绕另一形状(例如,轮廓610)的最小凸形。因此,不能从形状内部的第一点绘制到形状内部的在沿着线的某些点处落在形状外部的第二点的线。凸包710表示第一图像300中的地面区域310的一部分。凸包710的顶部720可以表示地平线(例如,在地面区域310和天空区域320之间)。
32.方法200还可以包括生成第二图像800,该第二图像800包括凸包710,如在212处。或者,可以修改第一图像300以产生包括凸包710的第二图像900。图8示出了第二图像800,该第二图像800包括凸包710。步骤可由计算系统120执行。第二图像800可以包括多个第一(例如,黑色)像素810和多个第二(例如,白色)像素820。第一像素810可以表示凸包710,该凸包710表示地面区域310的至少一部分。第二像素820不表示凸包710。相反,第二像素820的至少一部分可以表示天空区域320。例如,在第一像素810上方的第二像素820可以表示天空区域320。然而,如可以看到的,一些第二像素820在第一像素810下方。由于天空区域320不能在地面区域310下方,因此在下面对此进行纠正。
33.方法200还可以包括识别第二图像800中的列910中的最底部第一像素911,如在214处。如图9所示。步骤可由计算系统120执行。可以对第二图像800中的每列重复该步骤。这可以在第二图像800中产生第一像素810的最底部层920。最底部层920用阴影图案勾勒,以便更清楚地看到。
34.方法200还可以包括将列910中在最底部第一像素911下方的第二像素820转换为第一像素810,以产生修改的第二图像1000,如在216处。如图10所示。步骤可由计算系统120执行。这纠正了上述问题。现在,第一像素810表示地面区域310,而第二像素820表示天空区域320。不再有位于地面区域310下方的天空区域320的一部分。修改的第二图像1000可以是或包括天空遮罩。如本文所使用的,“天空遮罩”指的是二进制图像,其中“假”(例如,0)值指示地面像素,而“真”(例如,1)值指示天空像素。
35.在示例中,方法200还可以包括组合第一图像300和修改的第二图像1000的至少一部分以产生组合的图像1100,如在218处。如图11所示。步骤可由计算系统120执行。在至少一个示例中,这可以包括将修改的第二图像1000的至少一部分覆盖在第一图像300上以产生组合的图像1100。修改的第二图像1000的被覆盖的部分基本上对应于第一图像300中的地面区域310。如图所示,修改的第二图像1000的部分可以是透明的或不透明的,从而可以看到下面的第一图像300。在图11中,修改的第二图像1000的部分以阴影线显示,以便更清楚地看到。在另一示例中,修改的第二图像1000的部分可以是实心的,使得下面的第一图像300可以不被看到。在又一示例中,可以省略该步骤。
36.方法200还可以包括导航(例如,操纵)飞机100,如在220处。可以至少部分地基于第二图像800、修改的第二图像1000、组合的图像1100或其组合来导航(例如,操纵)飞机100。导航可以由计算系统120执行(例如,自动地)。在另一示例中,导航可以由用户执行。用
户可以在飞机100中(例如,飞行员),或者用户可以在地面上并且远程操纵飞机100。
37.在另一示例中,方法200还可以或替代地包括检测一个或多个对象,如在222处。步骤可由计算系统120执行。可以至少部分地基于第二图像800、修改的第二图像1000、组合的图像1100或其组合来检测对象。例如,第二图像800、修改的第二图像1000和/或组合的图像1100可用作路径规划或对象检测算法的输入。当图像被分割成天空和非天空区域时,对象检测算法可以更准确地检测对象和/或检测具有较少误报的对象,这使得能够检测地平线上方(例如,在天空区域中)的对象。检测的对象可以是或包括移动对象。例如,对象可以是或包括飞行中的其他飞机,并且飞机100可以响应于(例如,以避开)飞行中的其他飞机而导航。
38.如本文中所使用的,术语“内部(inner)”和“外部(outer)”;“上(up)”和“下(down)”;“上(upper)”和“下(lower)”;“向上(upward)”和“向下(downward)”;“上游(upstream)”和“下游(downstream)”;“上方(above)”和“下方(below)”;“向内(inward)”和“向外(outward)”;并且这里使用的其它类似术语指的是彼此的相对位置,并且不旨在表示特定的方向或空间方位。术语“耦接(couple)”、“耦接(coupled)”、“连接(connect)”、“连接(connection)”、“连接(connected)”、“连接(in connection with)”和“连接(connecting)”是指“直接连接”或“经由一个或多个中间元件或构件连接”。类似地,术语“粘合(bonded)”和“粘合(bonding)”是指“直接粘合”或“经由一个或多个中间元件、构件或层粘合”。
39.尽管阐述本公开的广泛范围的数值范围和参数是近似值,但在具体示例中阐述的数值被尽可能精确地报告。然而,任何数值都固有地包含一定的误差,这些误差必然是由在相应的测试测量中发现的标准偏差造成的。此外,本文公开的所有范围应理解为涵盖其中包括的任何和所有子范围。
40.尽管已经针对一个或多个示例示出了本教导,但在不脱离所附技术方案的精神和范围的情况下,可以对示出的示例进行变更和/或修改。此外,尽管可能已经针对几个示例中的仅一个示例公开了本教导的特定特征,但是这种特征可以与其他示例的一个或多个其他特征组合,这对于任何给定的或特定的功能可能是期望的和有利的。如本文所使用的,术语“一个(a)”、“一个(an)”和“该(the)”可指代一个或多个元件或元件的部分。如本文所使用的,术语“第一”和“第二”可以指的是两个不同的元件或元件的部分。如本文所使用的,关于例如a和b的项目列表的术语“a和b中的至少一个”表示单独的a、单独的b、或者a和b。本领域技术人员将认识到这些和其它变化是可能的。此外,就在详细描述和技术方案中使用的术语“包括(including)”、“包括(includes)”、“具有(having)”、“具有(has)”、“具有(with)”或其变型来说,这样的术语旨在以类似于术语“包括(comprising)”的方式具有包括性。此外,在本文的讨论和技术方案中,术语“大约(about)”指示列出的值可以略微改变,只要该改变不导致过程或结构不符合本文所描述的预期目的。最后,“示例性(exemplary)”指示该描述被用作示例,而不是暗示它是理想的。
41.应当理解,上述公开的和其它特征及功能的变型或其替代可以组合到许多其它不同的系统或应用中。本领域技术人员可随后进行其中各种当前未预见或未预料到的替代、修改、变化或改进,其也旨在由所附技术方案来涵盖。
42.条款1:包括接收第一图像的方法;检测第一图像中的多个边缘;连接边缘;至少部
分地基于连接的边缘来识别第一图像中的轮廓;确定轮廓的凸包;以及生成包括凸包的第二图像。
43.条款2:根据条款1所述的方法,其中第一图像由飞行中的飞机上的照相机捕获。
44.条款3:根据条款1或2所述的方法,其中边缘使用形态闭合连接,并且其中形态闭合使用具有从大约2像素至大约200像素的面积的核。
45.条款4:根据条款1至3中的任一项所述的方法,其中凸包表示第一图像中的地面区域的一部分。
46.条款5:根据条款4所述的方法,其中第二图像中的多个第一像素表示凸包。
47.条款6:根据条款5所述的方法,其中第二图像中的多个第二像素不表示凸包。
48.条款7:根据条款6所述的方法,其中第二像素的一部分表示第一图像中的天空区域。
49.条款8:根据条款6或7所述的方法,还包括识别第二图像中的列中最底部第一像素;以及将列中在最底部第一像素下方的第二像素转换为第一像素以产生修改的第二图像。
50.条款9:根据条款8所述的方法,还包括至少部分地基于修改的第二图像来操纵飞机。
51.条款10:根据条款8或9所述的方法,还包括至少部分地基于修改的第二图像来检测飞行中的第二飞机。
52.条款11:包括一个或多个处理器的计算系统;以及存储器系统,该存储器系统包括存储指令的一个或多个非瞬时性计算机可读介质,当指令由一个或多个处理器中的至少一个处理器执行时,使计算系统执行操作,操作包括接收第一图像,其中第一图像由飞行中的飞机上的照相机捕获;至少部分地基于阈值检测第一图像中的多个边缘;连接边缘;至少部分地基于连接的边缘来识别第一图像中的最大轮廓;确定最大轮廓的凸包,其中凸包表示第一图像中的地面区域的一部分;以及生成包括凸包的第二图像,其中第二图像中的多个第一像素表示凸包,并且其中第二图像中的多个第二像素不表示凸包。
53.条款12:根据条款11所述的计算系统,其中边缘使用形态闭合连接,并且其中形态闭合使用具有从大约10像素至大约100像素的面积的核。
54.条款13:根据条款11或12所述的计算系统,其中操作还包括识别第二图像中的每列中的最底部第一像素;以及将每列中的在最底部第一像素下方的第二像素转换为第一像素以产生修改的第二图像,其中修改的第二图像中的第一像素表示地面区域,并且其中修改的第二图像中的第二像素表示天空区域。
55.条款14:根据条款13所述的计算系统,其中操作还包括组合第一图像的至少一部分和修改的第二图像的至少一部分以产生组合的图像。
56.条款15:根据条款14所述的计算系统,其中操作还包括至少部分地基于组合的图像发送或显示操纵飞机的通知。
57.条款16:包括一个或多个处理器的计算系统;以及存储器系统,该存储器系统包括存储指令的一个或多个非瞬时性计算机可读介质,当指令由一个或多个处理器中的至少一个处理器执行时,使计算系统执行操作,操作包括接收第一图像,其中第一图像由飞行中的飞机上的照相机捕获;至少部分地基于阈值检测第一图像中的多个边缘;连接边缘,其中边
缘使用具有正方形核的形态闭合来连接,并且其中形态闭合使用具有从大约20像素至大约50像素的面积的核;至少部分地基于连接的边缘来识别第一图像中的最大轮廓,其中最大轮廓包括最大面积;确定最大轮廓的凸包,其中凸包表示第一图像中的地面区域的一部分;生成包括凸包的第二图像,其中第二图像中具有第一颜色的多个第一像素表示凸包,并且其中第二图像中具有第二颜色的多个第二像素不表示凸包;识别第二图像中的每列中的最底部第一像素;将每列中在最底部第一像素下方的第二像素转换为第一像素,以产生修改的第二图像,其中修改的第二图像中的第一像素表示地面区域,并且其中修改的第二图像中的第二像素表示天空区域;以及组合第一图像的至少一部分和修改的第二图像的至少一部分以产生组合的图像。
58.条款17:根据条款16所述的计算系统,其中组合第一图像的至少一部分和修改的第二图像的至少一部分包括将修改的第二图像的对应于地面区域的一部分覆盖在第一图像上。
59.条款18:根据条款17所述的计算系统,其中修改的第二图像在覆盖在第一图像上时至少是部分透明的。
60.条款19:根据条款16至18中的任一项所述的计算系统,还包括至少部分地基于组合的图像来检测飞行中的第二飞机。
61.条款20:根据条款19所述的计算系统,还包括至少部分地基于第二飞机的轨迹来发送或显示操纵飞机的通知。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1