掌桥专利:专业的专利平台
掌桥专利
首页

用于训练对象检测系统的人工图像生成

文献发布时间:2023-06-19 13:46:35


用于训练对象检测系统的人工图像生成

技术领域

本发明总体上涉及人工图像生成和用于训练对象检测系统的人工图像生成。

背景技术

图像处理可以包括图像分类技术和对象检测技术。图像分类系统可以分析特定图像并且提供识别特定类别的对象被包括在特定图像中的可能性的信息。例如,图像分类系统可以提供指示在特定图像中某处描绘第一类对象的第一概率,在特定图像中某处描绘第二类对象的第二概率等的信息。

相反,在对象检测中,对象检测系统可以分析特定图像并且提供识别特定图像内的特定类别的对象的位置的信息。例如,对象检测系统可以提供指示在图像内的一个或多个不同位置处的特定图像中描绘了特定类别的对象的阈值概率的信息。换言之,对象检测系统可以检测特定图像中第一位置处的特定类别的对象的第一实例和特定图像中的第二位置处的特定对象的第二实例。在这种情况下,对象检测系统可以提供识别表示图像中的区域的一个或多个边界框的信息作为输出,在其中以阈值概率检测到特定类别的对象。可替代地,对象检测系统可以提供像素级分割数据,其可以是边界框数据的形式。像素级分割可以指将图像的像素识别为描绘特定类别的对象或不描绘特定类别的对象的信息,而不是使用框来定义其内部是描绘特定类别的对象的像素的区域。可替代地,对象检测系统可以提供像素级边界框数据,由此边界框表示特定类别的对象的像素级轮廓,而不是特定类别的对象的直线轮廓。

可以使用深度学习技术、卷积神经网络(CNN)技术、计算机视觉技术等来训练这种对象检测系统。然而,获取用于训练这种对象检测系统的图像可能是资源密集的。例如,对象检测系统的训练可以使用图像中要检测的对象的数千、数十万或甚至数百万个图像。此外,为了确保对象检测系统被训练为在各种条件(例如,环境条件、照明条件等)下检测对象,可能需要在各种条件中的每一种条件下获取对象的许多图像。

在2014年8月19日授予Brown等人的美国专利第8,811,633号中公开了一种提供自动训练数据收集以训练对象检测器的尝试(“’663专利”)。特别地,’663专利公开了从多个图像自动收集一组训练数据图像,并且合成地生成具有至少一个合成地产生的部分遮挡的被遮挡图像。然而,虽然’663专利中描述的系统可以自动收集图像并且生成部分被遮挡图像,但是这种处理需要大量的时间和资源。例如,在交通视频中收集车辆的图像以在使用30个交通监视摄像机所涉及的各种照明和天气条件下获取接近一百万张图像,交通监视摄像机在几个月的时间段内不断地捕获数据。

用于训练本发明的对象检测系统的人工图像生成解决了上述问题中的一个或多个和/或本领域中的其它问题。

发明内容

根据一些实现方式,一种方法可以包括由设备获取机器的机器模型和机器的机器模型的相关联的运动数据;由设备将机器模型渲染到与一组特征相关联的渲染环境中;由设备基于将机器模型渲染到渲染环境中来捕获机器模型和渲染环境的一组图像,其中一组图像基于基于相关联的运动数据或一组特征改变机器模型的位置中的至少一个而改变;由设备基于机器模型在渲染环境内相对于渲染环境内的图像捕获取向的位置来确定机器模型和渲染环境的一组图像的边界框数据;以及由设备提供机器模型和渲染环境的一组图像以及边界框数据作为用于对象检测的数据集。

根据一些实现方式,一种设备可以包括一个或多个存储器;以及一个或多个处理器,其通信地耦合到一个或多个存储器,经配置:获取机器的机器模型和机器的机器模型的相关联的运动数据;将机器模型渲染到与一组特征相关联的渲染环境中;基于将机器模型渲染到渲染环境中来捕获机器模型和渲染环境的一组图像,其中一组图像基于基于相关联的运动数据或一组特征改变机器模型的位置中的至少一个而改变;基于机器模型在渲染环境内相对于渲染环境内的图像捕获取向的位置来确定机器模型和渲染环境的一组图像的边界框数据;将边界框数据的数据集和一组图像划分为训练数据集和验证数据集;基于一组图像的第一子集和训练数据集的边界框数据的对应第一子集来训练对象检测系统以检测成像数据中的对象;使用一组图像的第二子集和验证数据集的边界框数据的对应第二子集来验证对象检测系统;以及提供对象检测系统以针对对应于机器的机器模型的机器执行对象检测。

根据一些实现方式,一种非暂时性计算机可读介质可以存储一个或多个指令。当由设备的一个或多个处理器执行时,一个或多个指令可以使一个或多个处理器:获取机器的机器模型和机器的机器模型的相关联的运动数据;将机器模型渲染到与一组特征相关联的渲染环境中;基于相关联的运动数据改变机器模型相对于渲染环境的位置;改变一组特征;基于改变机器模型的位置和改变一组特征来捕获机器模型和渲染环境的一组图像;基于机器模型在渲染环境内相对于渲染环境内的图像捕获取向的位置来确定机器模型和渲染环境的一组图像的边界框数据;以及提供机器模型和渲染环境的一组图像以及边界框数据作为用于对象检测的数据集。

附图说明

图1是用于训练本文描述的对象检测系统的示例人工图像生成的图。

图2是用于本文描述的人工图像生成的示例机器模型的图。

图3是在本文描述的渲染环境中渲染的示例机器模型的捕获图像的图。

图4是用于训练本文描述的对象检测系统的示例边界框数据的图。

图5是使用本文描述的人工生成图像和边界框数据来训练对象检测系统的图。

图6是用于训练对象检测系统的人工图像生成的示例过程的流程图。

具体实施方式

本发明涉及用于训练对象检测系统的人工图像生成。人工图像生成对使用这种对象检测系统的任何机器具有普遍适用性。术语“机器”可以指执行与诸如采矿、建筑、农业、运输或任何其它行业等行业相关联的操作的任何机器。作为一些示例,机器可以是车辆、反铲装载机、挖掘机、工业装载机、机动平地机、滑移装载机、拖拉机、推土机或其它地上设备、地下设备或水上设备。此外,一个或多个机具可以连接到机器并且由使用人工生成图像训练的对象检测系统驱动和/或监控。

图1是用于训练本文描述的对象检测系统的人工图像生成的示例100的图。如图1所示,示例100包括渲染设备105、训练设备110、系统115和机器120。

如图1中进一步所示,并且通过参考125,渲染设备105可以接收机器模型和相关联的运动数据。例如,渲染设备105可以通信地耦合到数据结构或另一设备(例如,经由网络)以接收用于渲染机器的三维表示的数据。进一步地,渲染设备105可以接收用于渲染对应于机器的物理移动的机器的机器模型的移动的相关联的数据。与机器模型相关联的数据可以包括与在渲染机器模型时改变机器模型的特征相关联的数据。例如,数据可以包括用于渲染机器模型的机器磨损条件的数据,诸如用于渲染对应于新机器、旧机械、生锈机器、损坏机器等的机器模型的数据。附加地或可替代地,与机器模型相关联的数据可以包括基于物理的运动数据、自标记数据等。

如图1中进一步所示,并且通过参考130,渲染设备105可以接收环境数据。例如,渲染设备105可以通信地耦合到数据结构或另一设备(例如,经由网络)以接收用于渲染环境的信息,在该环境中渲染机器模型。环境数据可以与渲染机器模型的环境的三维表示相关联。附加地或可替代地,环境数据可以与环境的二维表示相关联,诸如在其前面渲染机器模型的背景的表示。环境数据可以与机器将在其中操作的一个或多个环境相关联。例如,环境数据可以与渲染森林环境、采矿环境、建筑环境等相关联。

环境数据可以包括用于改变渲染环境的特征的信息。例如,环境数据可以包括天气条件数据,诸如用于渲染与环境和机器模型的渲染有关的雨条件、雪条件等的数据。环境数据可以包括用于渲染与环境和机器模型的渲染有关的照明条件(诸如自然照明条件、人工照明条件等)的数据。

如图1中进一步所示,并且通过参考135,渲染设备105可以将机器模型渲染到渲染环境中,并且可以捕获一组图像。例如,渲染设备105可以渲染一组环境(例如,森林环境、建筑环境、积雪环境、下雨环境、早晨环境、日落环境、人工照明环境等),并且可以将机器模型渲染到渲染环境中(例如,机器的新版本、机器的旧版本等的表示)。在这种情况下,渲染设备105可以捕获自标记合成图像,诸如渲染环境中的机器模型、渲染环境中的对象(例如,机器模型的一部分、另一类型的对象等)的数字渲染、没有机器模型或对象的渲染环境等。

渲染设备105可以改变渲染环境内的机器模型的位置。例如,渲染设备105可以使用相关联的运动数据来在渲染环境内移动机器模型,并且在渲染环境内的不同位置和/或取向处捕获机器模型的图像。渲染设备105可以重新渲染具有一组不同特征的另一环境。例如,渲染设备105可以捕获具有第一特征(例如,第一照明条件)的渲染环境中的机器模型的第一图像和具有第二特征(例如,第二照明条件)的渲染环境中的机器模型的第二图像。

在这种情况下,渲染设备105可以基于将机器模型渲染到渲染环境中来捕获一组图像。例如,渲染设备105可以确定摄像机相对于机器(例如,用于机器的对象检测系统的摄像机)的取向,并且可以用与摄像机的取向匹配的取向来捕获机器模型和渲染环境的逼真的图像。渲染设备105可以基于与机器模型相关联的数据来确定摄像机的取向。渲染设备105可以捕获具有不同特征(例如,不同天气条件、照明条件、磨损条件等)的数百、数千或数百万个图像。

渲染设备105可以基于改变特征来改变一个或多个捕获图像,以生成包括在用于训练对象检测系统的数据集中的改变的图像。例如,渲染设备105可以使用图像处理技术来应用一个或多个捕获后改变。一个或多个捕获后改变可以包括对天气条件(例如,将雨叠加到图像中)、照明条件(例如,改变图像的一部分的亮度)、可见性条件(例如,部分地遮挡图像的一部分)、图像的分辨率特征、阻碍条件(例如,第一对象可以被叠加到图像中以遮挡要被检测的第二对象的一部分)、背景条件(例如,可以将一个或多个对象叠加到图像的背景中)等的改变。这样,渲染设备105可以解释机器的对象检测系统可以观察到的不同条件,诸如天气条件、缺乏可见性(例如,摄像机镜头上的污点、遮挡建筑工地的一部分的雾等)等。

渲染设备105可以生成一组捕获图像的边界框数据或像素级分割数据。边界框可以表示其中出现用于识别的对象的图像的一部分。例如,渲染设备105可以使用与机器模型相关联的位置数据来确定例如机器模型的铲斗在渲染环境中的机器模型的渲染中的位置。在这种情况下,渲染设备105可以确定铲斗在机器模型捕获图像内的位置,并且可以确定图像的边界框,其表示示出铲斗的像素出现在其中的框。尽管根据表示界定检测对象的像素集的边界框数据来描述一些实现方式,但边界框数据可以包括像素级分割,借此将像素标记为对应于检测对象(例如,机器模型的铲斗)或不对应于检测对象;用于检测的对象的像素级轮廓;或与启用对象检测系统的训练相关联的另一类型的边界框数据。

渲染设备105可以存储与一组捕获图像相关联的场景元数据。例如,渲染设备105可以存储用于训练对象检测系统的场景元数据,其识别图像的渲染环境的特征、边界框相对于图像的位置等。

如图1中进一步所示,并且通过参考140,渲染设备105可以向训练设备110提供所生成的人工图像和边界框数据(或像素级分割数据),并且训练设备110(或渲染设备105或系统115)可以使用该组图像来训练对象检测系统。例如,训练设备110可以训练对象检测系统以使用渲染环境中的机器模型的一组图像来检测与机器有关的特定对象。如图所示,在一些实现方式中,训练设备110和渲染设备105可以是例如公共系统115的单独设备。可替代地,训练设备110和渲染设备105可以在单个设备或一组设备中实现。

特定对象可以是机器的一部分(例如,铲斗机具、一组铲斗齿等)、机器的一部分的特征(例如,铲斗机具是否充满污垢、一组铲斗齿的磨损条件)、机器附近的对象(例如,路标、人、树等)等。训练设备110可以使用深度学习技术、卷积神经网络技术、人工智能技术、计算机视觉技术等来训练对象检测系统。训练设备110可以使用场景元数据(诸如,指示图像中的特定类型的对象的信息、指示图像的渲染环境的特征的信息等)来训练对象检测系统。

训练设备110可以将该组图像划分多组以训练对象检测系统。例如,训练设备110可以将该组图像划分训练数据集和验证数据集。在这种情况下,训练设备110可以使用训练数据集来训练对象检测系统,并且可以使用验证数据集来验证对象检测系统以阈值精度检测对象。当对象检测系统未能满足阈值精度时,渲染设备105可以在渲染环境中生成机器模型的附加图像,并且可以使用附加图像来重新训练对象检测系统(或训练新的对象检测系统)。

训练设备110可以使用边界框数据来训练对象检测系统。例如,训练设备110可以训练对象检测系统围绕检测到的对象绘制边界框,并且可以将由对象检测系统基于图像绘制的第一边界框与基于机器模型在渲染环境内的位置数据生成的第二边界框进行比较。在这种情况下,当第一边界框处于第二边界框的阈值接近度内时,训练设备110可以确定对象检测系统正确地识别出图像内的对象的位置或很多对象的很多位置。

如图1中进一步所示,并且通过参考145,训练设备110可以向机器120提供对象检测系统,以用于使用例如机器120的成像系统来执行对象检测。

如上所述,提供图1作为示例。其它示例可以与结合图1所描述的不同。

图2是用于本文描述的人工图像生成的机器模型202的示例200的图。如图2所示,机器模型202可以包括机具204。机具204可以铰接铲斗206。机器模型202可以进一步包括与截头锥体投影210所示的视场相关联的摄像机208。机器模型202的数据可以在机具204的每个可能的铰接位置处识别铲斗206相对于摄像机208和截头锥体投影210的位置。这样,渲染设备105可以确定在渲染环境中机器模型202的二维捕获图像中围绕铲斗206的边界框的位置。例如,边界框可以表示与铲斗206对准的截头锥体投影210的一部分。在这种情况下,捕获图像可以是从摄像机208的位置捕获图像的渲染,并且具有对应于截头锥体投影210的取向。

如上所述,提供图2作为示例。其它示例可以与结合图2所描述的不同。

图3是在本文描述的渲染环境中渲染的机器模型捕获图像A1-C3的示例300的图。例如,图像A1是具有中性照明条件的草地渲染环境中的机器模型(例如,铲斗206)的图像。类似地,图像A3是在相同草地渲染环境中但具有明亮照明条件的机器模型的图像。作为另一示例,图像B1是具有相对暗的照明条件的森林渲染环境中的机器模型的图像。类似地,图像C2是森林渲染环境中但具有相对明亮的照明条件的机器模型的图像。作为另一示例,图像B2和B3示出了分别具有中性照明条件和明亮照明条件的另一草地渲染环境中的机器模型。作为另一示例,图像A3和C3示出了在背景中具有建筑物并且具有不同亮度级的草地环境中的机器模型。最后,作为另一示例,图像A2示出了具有相对暗的照明条件的岩石环境中的机器模型。进一步地,在图像A1-C3中的每一个中,示出机器模型具有相对较高的磨损水平(例如,机器模型上的生锈)。

如上所述,提供图3作为示例。其它示例可以与结合图3所描述的不同。

图4是用于训练本文描述的对象检测系统的边界框数据的示例400的图。如图4所示,边界框402可以是围绕要检测的对象(例如铲斗206)的图像404的子集。在这种情况下,渲染设备105可以基于识别铲斗206相对于由机器模型表示的机器的图像捕获设备的位置的位置的位置信息来确定边界框402。换言之,基于机器模型,渲染设备105可以基于铲斗206相对于摄像机208和截头锥体投影210的位置来确定边界框402的位置。这样,当渲染设备105从摄像机208的模拟透视图捕获图像时,渲染设备105准确地生成用于训练对象检测系统的边界框402。

如上所述,提供图4作为示例。其它示例可以与结合图4所描述的不同。

图5是使用本文描述的人工生成的图像和边界框数据来训练对象检测系统的示例500的图。如图5所示,在对象检测系统的训练期间,训练设备110可以基于对图像404的分析来确定铲斗206的边界框502(例如,不使用关于机器模型的信息来确定边界框502)。在这种情况下,训练设备110可以将边界框502与由渲染设备105基于铲斗206相对于图像404的取向的位置数据确定的边界框402进行比较。训练设备110可以确定边界框502是否在边界框402的阈值接近度内,以确定对象检测系统是否正以阈值准确度识别图像404中的铲斗206的位置。

如上所述,提供图5作为示例。其它示例可以与结合图5所描述的不同。

图6是用于训练对象检测系统的人工图像生成的示例过程600的流程图。图6的一个或多个过程框可以由设备(例如,渲染设备105或另一设备)来执行。

如图6所示,过程600可以包括获取机器的机器模型和相关联的运动数据(框610)。例如,设备可以获取机器的机器模型和机器的机器模型的相关联的运动数据。

如图6中进一步所示,过程600可以包括将机器模型渲染到与一组特征相关联的渲染环境中(框620)。例如,设备可以将机器模型渲染到与一组特征相关联的渲染环境中。

如图6中进一步所示,过程600可以包括捕获机器模型和渲染环境的一组图像(框630)。例如,设备可以基于将机器模型渲染到渲染环境中来捕获机器模型和渲染环境的一组图像,并且其中该组图像基于基于相关联的运动数据或该组特征来改变机器模型的位置中的至少一个而改变。在一些实现方式中,该组图像基于改变基于相关联的运动数据或该组特征的机器模型的位置中的至少一个而改变。设备可以基于机器模型在渲染环境内相对于渲染环境内的图像捕获取向的位置来确定机器模型和渲染环境的一组图像的边界框数据。

如图6中进一步所示,过程600可以包括提供一组图像作为用于对象检测的数据集(框640)。例如,设备可以提供机器模型和渲染环境的一组图像以及边界框数据作为用于对象检测的数据集。

虽然图6示出了过程600的示例框,但是在一些实现方式中,过程600可以包括与图6中描绘的那些框相比的附加框、更少框、不同框或不同布置的框。附加地或可替代地,可以并行地执行过程600的两个或更多个框。

工业实用性

人工图像生成可以与任何机器一起使用。渲染设备可以将机器模型渲染到渲染环境中,并且在渲染环境中捕获机器模型的图像,以训练部署在机器上的对象检测系统。若干优点可以与本文中所描述的人工图像生成相关联。例如,通过人工地生成用于训练对象检测的图像,相对于在不同条件下人工地捕获(并标记边界框)数千、数十万或数百万对象的图像,可消耗减少的资源来训练对象检测系统。此外,通过人工地改变渲染环境、机器模型或人工图像的特征,渲染设备使得能够在可能无法获取实际成像的条件下训练对象检测系统,诸如用于原型机器机具的对象检测,在罕见环境或照明条件下的对象检测等。此外,可以通过使用人工图像生成来增加用于训练对象检测系统的图像的数量,从而相对于用较少量的实时图像来训练对象检测系统,增加了对象检测系统的准确度。

如本文使用的,冠词“一(a)”和“一个(an)”旨在包括一个或多个项目,并且可以与“一个或多个”互换使用。此外,如本文使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等旨在是开放式术语。进一步地,短语“基于”旨在表示“至少部分地基于”。

上述公开提供了说明和描述,但并不旨在穷举或将实现方式限制为所公开的准确形式。可以根据上述公开进行修改和变化,或者可以从实现方式的实践中获取修改和变化。本说明书仅被认为是示例,本发明的真实范围由所附权利要求及其等同物指示。即使在权利要求中记载和/或在说明书中公开了特征的特定组合,这些组合并不旨在限制各种实现方式的公开。虽然下面列出的每个从属权利要求可以直接仅取决于一个权利要求,但是各种实现方式的公开包括与权利要求集中的所有其它权利要求相结合的每个从属权利要求。

技术分类

06120113803327