CN115018975A - 数据集生成方法、装置、电子设备及存储介质 - Google Patents

数据集生成方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115018975A
CN115018975A CN202210555686.5A CN202210555686A CN115018975A CN 115018975 A CN115018975 A CN 115018975A CN 202210555686 A CN202210555686 A CN 202210555686A CN 115018975 A CN115018975 A CN 115018975A
Authority
CN
China
Prior art keywords
information
data set
generating
rendering
data structure
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
Application number
CN202210555686.5A
Other languages
English (en)
Inventor
王帅
王剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Volcano Engine Technology Co Ltd
Original Assignee
Beijing Volcano Engine Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Volcano Engine Technology Co Ltd filed Critical Beijing Volcano Engine Technology Co Ltd
Priority to CN202210555686.5A priority Critical patent/CN115018975A/zh
Publication of CN115018975A publication Critical patent/CN115018975A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Abstract

本申请提供一种数据集生成方法、装置、电子设备及存储介质。所述方法包括:确定预先构建的三维虚拟场景中目标对象的预标注信息;根据模型训练任务的需求和所述预标注信息,生成数据集生成配置;根据所述数据集生成配置,渲染生成基于所述三维虚拟场景的渲染图像,并生成所述渲染图像对应的标注文件;根据所述渲染图像和所述标注文件,生成对应于所述模型训练任务的数据集。

Description

数据集生成方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据集生成方法、装置、电子设备及存储介质。
背景技术
在基于图像的机器学习和神经网络模型训练和测试验证中,数据集是得到优秀模型的基础。不同的模型种类、算法实现和应用的开发,对于图像数据集在多样性、丰富程度、图像标注准确性上都有不同的需求。
相关技术中,存在一些公开图片数据集,根据各自的适用范围,能够分别实现较为通用的图像识别、图像分类、对象检测、对象分割、聚类问题、以及目标跟踪等。这些公开数据集在对特定训练任务需求和特定应用场景的满足程度上存在较大局限性,导致用户往往需要自己制作数据集。用户采用相关技术中生成方案生成特定的数据集时,普遍存在成本高、效率低、数据质量差的问题。
因此,如何低成本、高效率、高质量的生成能够满足特定模型训练任务的需求的数据集,是于图像的机器学习和神经网络模型训练和测试领域亟待解决的问题。
发明内容
有鉴于此,本申请的目的在于提出一种数据集生成方法、装置、电子设备及存储介质。
基于上述目的,本申请提供了一种数据集生成方法,包括:
确定预先构建的三维虚拟场景中目标对象的预标注信息;
根据模型训练任务的需求和所述预标注信息,生成数据集生成配置;
根据所述数据集生成配置,渲染生成基于所述三维虚拟场景的渲染图像,并生成所述渲染图像对应的标注文件;根据所述渲染图像和所述标注文件,生成对应于所述模型训练任务的数据集。
在一些实施方式中,根据模型训练任务的需求和所述预标注信息,生成数据集生成配置,包括:
根据通过预定的语言编写的定义指令,或响应于对待选的标注数据结构定义的选择指令,生成与所述模型训练任务对应的标注数据结构定义;
解析所述标注数据结构定义以生成标注数据结构框架,并根据所述预标注信息,为所述标注数据结构框架中的各属性进行赋值;
根据所述标注数据结构定义和赋值后的标注数据结构框架,生成所述数据集生成配置。
在一些实施方式中,根据所述预标注信息,为所述标注数据结构框架中的各属性进行赋值,包括:
确定所述标注数据结构框架中的目标属性;
获取根据所述预标注信息生成的与所述目标属性对应的脚本,根据所述脚本为所述目标属性进行赋值。
在一些实施方式中,根据所述标注数据结构定义和赋值后的标注数据结构框架,生成所述数据集生成配置,包括:
获取预先定义的渲染偏好信息和数据集存储信息;其中,所述渲染偏好信息用于设置渲染生成所述三维虚拟场景的相关参数;所述数据集存储信息用于设置数据集的存储方式和存储位置;
根据所述标注数据结构定义、赋值后的标注数据结构框架、所述渲染偏好信息和所述数据集存储信息,生成所述数据集生成配置。
在一些实施方式中,根据所述数据集生成配置,渲染生成基于所述三维虚拟场景的渲染图像,并生成所述渲染图像对应的标注文件,包括:
根据所述标注数据结构定义和赋值后的标注数据结构框架,生成所述渲染图像对应的标注文件;
根据所述数据集存储信息,将所述标注文件进行存储。
在一些实施方式中,根据所述数据集生成配置,渲染生成基于所述三维虚拟场景的渲染图像,并生成所述渲染图像对应的标注文件,包括:
根据所述渲染偏好信息,确定渲染生成所述三维虚拟场景的相关参数,根据所述相关参数请求相应的渲染服务生成所述三维虚拟场景,并根据所述三维虚拟场景中目标帧范围内包括的各帧图像,生成所述渲染图像;
根据所述数据集存储信息,将所述渲染图像进行存储。
在一些实施方式中,确定预先构建的三维虚拟场景中目标对象的预标注信息,包括:
确定所述三维虚拟场景中的目标对象的相关信息、目标渲染相机的相关信息和目标帧的相关信息;
确定所述目标对象表面各顶点的世界坐标,得到世界坐标集合;
将所述世界坐标转换为所述目标渲染相机画面中的二维坐标,得到二维坐标集合;
根据所述二维坐标集合,得到所述目标对象的边界顶点坐标集合;
根据所述边界顶点坐标集合,得到所述目标对象的检测框信息;
根据所述目标对象的相关信息、所述目标渲染相机的相关信息、所述目标帧的相关信息、所述世界坐标集合、所述二维坐标集合、所述边界顶点坐标集合和所述检测框信息,生成所述预标注信息。
基于同一技术构思,本申请还提供了一种数据集生成装置,包括:
确定模块,被配置为确定预先构建的三维虚拟场景中目标对象的预标注信息;
配置模块,被配置为根据模型训练任务的需求和所述预标注信息,生成数据集生成配置;
生成模块,被配置为根据所述数据集生成配置,渲染生成基于所述三维虚拟场景的渲染图像,并生成所述渲染图像对应的标注文件;根据所述渲染图像和所述标注文件,生成对应于所述模型训练任务的数据集。
基于同一技术构思,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的方法。
基于同一技术构思,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如上任意一项所述的方法。
从上面所述可以看出,本申请提供的数据集生成方法、装置、电子设备及存储介质,数据集中的渲染图像来自于高度模拟真实环境的三维虚拟场景,数据质量极高;根据模型训练任务的需求和预标注得到的目标对象的预标注信息生成数据集生成配置,再根据数据集生成配置生成数据集的方式,一方面实现了对于具体的模型训练任务的需求的适配,可以满足模型训练任务的多样性和灵活性,另一方面整体方案的实现简单便捷,能够有效节省人力、物力和时间。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的应用场景示意图;
图2为本申请实施例的数据集生成方法流程示意图;
图3为本申请实施例中的位置信息的数据结构示例;
图4为本申请实施例中为标注数据结构框架中的各属性进行赋值的一个示例;
图5为本申请实施例的数据集生成装置结构示意图;
图6为本申请实施例的电子设备结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
根据本申请的实施方式,提出了一种数据集生成方法、装置、电子设备及存储介质。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本申请的若干代表性实施方式,详细阐释本申请的原理和精神。
在相关技术中,虽然一些知名的公开图片数据集能够适用于不同具体的业务需求下的模型训练和测试验证任务。但对于具体应用场景下的特定训练任务,公开图片数据集则难以满足需求。
在相关技术中,随着GPU/CPU等硬件技术的快速发展,以及3D制作软件和渲染软件功能的逐渐成熟,已经逐渐出现使用虚拟3D模型进行数据集的制作的方案。例如,直接通过3D软件建模得到一个对象的3D模型,再通过调整该3D模型的姿态、角度等,渲染生成一系列的图片作为数据集。上述方案改善了纯粹依赖传统真实图像采集的方式,能生成较为丰富的虚拟图像数据集,但仍存在较大的局限。一方面,由于只单纯的建模得到对象,无需再进行额外标注,直接得到数据集图像和对应的分类标签,目的性较为单一,导致其得到的数据集仅能服务于特定模型算法或特定应用场景;另一方面,单纯的建模得到对象,不能模拟现实环境中光线与材质的综合关系,如环境光的反射、散射,亮度、清晰度,以及对象在空间的透视角度、遮挡程度等影响,因而与真实环境中采集的图像数据存在较大的特征偏差。
在实现本申请的过程中有如下发现:随着渲染技术的发展,三维虚拟场景的渲染在光线、材质等方面带来了质的提升,使得虚拟场景可以达到照片级的显示效果;同时3D软件的物理模拟系统目前也能够在极大程度上模拟真实世界的物理规律。这样,借助GPU/CPU等硬件算力就可以进行较为复杂的真实环境模拟和呈现。
基于上述发现,并针对于上述相关技术存在的问题,本申请提供了一种数据集生成方案,通过对三维虚拟场景中目标对象进行预标注,得到目标对象的预标注信息,同时结合模型训练任务的需求来生成数据集生成配置,根据数据集生成配置可以渲染生成基于三维虚拟场景的渲染图像及对应的标注文件,从而得到对应于模型训练任务的数据集。本申请的方案生成的数据集中的渲染图像来自于高度模拟真实环境的三维虚拟场景,数据质量极高;根据模型训练任务的需求和预标注得到的目标对象的预标注信息生成数据集生成配置,再根据数据集生成配置生成数据集的方式,一方面实现了对于具体的模型训练任务的需求的适配,可以满足模型训练任务的多样性和灵活性,另一方面整体方案的实现简单便捷,能够有效节省人力、物力和时间。
参考图1,为本申请实施例的数据集生成方法的应用场景示意图。该应用场景包括终端设备101、服务器102、数据处理和存储系统103。其中,终端设备101、服务器102以及数据处理和存储系统103之间均可通过有线或无线的通信网络连接。终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备视、个人数字助理(personal digital assistant,PDA)或其它能够实现上述功能的电子设备等。服务器102、数据处理和存储系统103均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
服务器102用于向终端设备101的数据集生成服务,数据处理和存储系统103用于提供渲染生成三维虚拟场景的计算资源以及存储资源。用户可以通过终端设备101上安装的应用程序、插件或基于SDK开发的自定义应用等方式,与服务器102通信,以实施本申请实施例的数据集生成方法。在一些实施方式中,终端设备101可以通过Client-Server的方式应用形式,使用终端设备101本地的计算资源以及存储资源实施申请实施例的方法。在另一些实施方式中,终端设备101可以通过Browser-Server的方式应用形式,通过使用服务器102提供的计算资源以及存储资源实施申请实施例的方法。
下面结合图1的应用场景,来描述根据本申请示例性实施方式的数据集生成方法。需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
首先,本申请实施例提供了一种数据集生成方法。参考图2,本实施例的数据集生成方法,可以包括以下步骤:
步骤S201、确定预先构建的三维虚拟场景中目标对象的预标注信息。
具体实施时,目标对象是指一个预先构建的三维虚拟场景中的对象,该目标对象用于在模型训练任务中被模型所识别。其中,所述的三维虚拟场景可以是通过任意相关技术渲染生成的,完整的包括有不同对象的三维虚拟场景。例如,该三维虚拟场景可以是完整的室外环境,该三维虚拟场景中可以包括有建筑、人物、车辆、植被、静物等对象。根据模型训练任务的需求,目标对象可以是三维虚拟场景中的任意对象。例如,模型训练任务为对人物识别的模型的训练任务,则目标对象可以是三维虚拟场景中的人物。
具体实施时,预先构建的三维虚拟场景可以是根据模型训练任务的需求通过三维建模软件生成的,也可以使用三维建模软件中内置的或者现有的满足需求的三维虚拟场景。此外,三维建模软件也可以根据实施需要而在相关技术中相应选择。也即,对于三维虚拟场景具体生成方式,本申请实施例不做限定。
具体实施时,基于预先构建的三维虚拟场景,对该三维虚拟场景进行预标注,以得到三维虚拟场景中目标对象的预标注信息。
作为一个可选的实施方式,可以通过以下方法确定目标对象的预标注信息:
步骤一、确定所述三维虚拟场景中的目标对象的相关信息、目标渲染相机的相关信息和目标帧的相关信息。其中,根据模型训练任务的需求,目标对象可以是一个或多个。目标对象的相关信息可以包括名称、中心位置、缩放参数等。对于任一目标对象,可以相应的确定目标渲染相机和目标帧的相关信息;目标渲染相机的相关信可以包括相机名称、位置、焦距、分辨率等;目标帧的相关信息可以包括帧号、帧间隔、帧率等。通过目标对象、目标渲染相机和目标帧的相关信息,可以作为目标对象的标注信息。
步骤二、确定所述目标对象表面各顶点的世界坐标,得到世界坐标集合。目标对象表面各顶点的坐标是后续确定位置信息的主要操作对象。具体实施时,世界坐标信息可以通过三维建模软件中内置的API获得,例如GetObiectAllVectorsInWorld3DAxis()。其中,世界坐标信息是指目标对象在三维虚拟场景的全局坐标系中的坐标信息。
步骤三、将所述世界坐标转换为所述目标渲染相机画面中的二维坐标,得到二维坐标集合。根据目标渲染相机的位置、角度、焦距等相关信息,可以将目标对象表面各顶点的世界坐标信息转换为目标渲染相机画面中的二维坐标。具体实施时,坐标转换过程和查看可见顶点集合的操作,可以通过三维建模软件中内置的相应API实现,例如,Cover#3DTo2D Axis()和GetVisibleVertices()。
步骤四、根据所述二维坐标集合,得到所述目标对象的边界顶点坐标集合。通过边界查找算法,基于二维坐标计算目标对象在当前二维平面的边界顶点。具体实施时,可以通过任意的图形边界查找算法实现,例如OpenCV库中提供的BasicFindContours()。
步骤五、根据所述边界顶点坐标集合,得到所述目标对象的检测框信息。可以根据边界顶点坐标,根据最值顶点信息获得目标对象的检测框信息。具体实施时,可以通过相关的检测算法实现,例如GetBoundingBoxes()。
步骤六、根据所述目标对象的相关信息、所述目标渲染相机的相关信息、所述目标帧的相关信息、所述世界坐标集合、所述二维坐标集合、所述边界顶点坐标集合和所述检测框信息,生成所述预标注信息。其中,目标对象的相关信息、目标渲染相机的相关信息和目标帧的相关信息作为目标对象的标注信息;世界坐标集合、二维坐标集合、边界顶点坐标集合和检测框信息可以作为目标对象的位置信息。该预标注信息和位置信息即可以作为目标对象的预标注信息。具体实施时,预标注信息可以基于文本形式的yaml、json、xml等格式进行保存,以使预标注信息具有足够的灵活性且易于维护,例如可以方便的进行加载、编辑、删除等后续操作。参考图3,为本申请实施例中的位置信息的数据结构示例。其中,帧范围记载了通过渲染相机得到的帧图像的帧的范围;相机列表记载了渲染相机的相关信息,如渲染得到的图像的宽(width)、高(height)等;对象列表记载了选定若干个目标对象,对于其中一个目标对象,可以进一步包括其对应的世界坐标集合v_g、二维坐标集合v_c、边界顶点坐标集合v_s、检测框信息v_b等。
需要说明的是,对于三维虚拟场景进行预标注得到目标对象的位置信息,也可以通过上述可选实施方式之外的任意相关技术实现。也即,对于获得三维虚拟场景中目标对象的位置信息的具体实现方式,本申请实施例不做限定。
步骤S202、根据模型训练任务的需求和所述位置信息,生成数据集生成配置。
本步骤中,根据具体的模型训练任务的需求,对将要生成的数据集中的标注数据结构进行定义。具体的,可以根据通过预定的语言编写的定义指令,或响应于对待选的标注数据结构定义的选择指令,生成与所述模型训练任务对应的标注数据结构定义。其中,标注数据结构定义即作为将要生成的数据集所包括的标注文件的格式依据。
具体实施时,标注数据结构定义的生成,可以通过接收用户输入的定义指令来实现。其中,用户输入的定义指是通过预定的语言编写得到的。用户可以根据模型训练任务的需求,通过数据结构描述格式,例如JSON Schema或YAML Schema等,以自定义的方式编写生成标注数据结构定义,通过该标注数据结构定义来定义标注数据的数据结构。此外,也可以基于常见的模型训练任务的需求,预先设置一定数量的待选的标注数据结构定义,而后基于用户的选择指令,选定一个待选的标注数据结构定义作为当前模型训练任务所使用的标注数据结构定义。具体实施时,上述生成标注数据结构定义的过程,可以通过终端设备上安装的客户端向用户提供相应的UI界面(User Interface),用户可以通过UI界面进行交互操作,输入所述的定义指令或选择指令。通过上述方式,能够有效的提高对于标注数据结构进行定义配置的效率,同时满足用户的自定义配置需求,进而满足模型训练任务的需求。
本步骤中,生成得到标注数据结构定义后,会解析该标注数据结构定义,得到标注数据结构框架,该标注数据结构框架为包括的各属性未赋值状态下的数据结构。标注数据结构框架可以通过代码方式、或者UI界面可视化编程方式提供给用户。进一步的,根据前述步骤中得到的目标对象的预标注信息,可以为标注数据结构框架中的各属性进行赋值。基于预标注信息所记载的目标对象的位置信息,对标注数据结构框架中的各属性的赋值。具体的赋值操作可以包括将预标注信息包括的具体信息映射至相应的属性,以及基于指定预标注信息的自定义操作,如指定目标对象名称、渲染相机的分辨率、帧范围、标签提取(如名称)、属性提取(如颜色)等。
此外,对于标注数据结构框架中的一些属性,基于模型训练任务的需求,可能需要用户进行自定义赋值。本申请实施例中将需要自定义赋值的属性称为目标属性。则进行自定义赋值的步骤可以包括:确定标注数据结构框架中的目标属性;获取根据预标注信息生成的与目标属性对应的脚本,根据该脚本为目标属性进行赋值。具体实施时,用户可以根据预标注信息自定义相应的脚本,并根据该自定义的脚本为标注数据结构框架中的目标属性进行赋值;在实施过程中,赋值后的目标属性则基于该自定义的脚本的执行结果获得相应的数据。例如,对于三维虚拟场景中目标对象,需要确定该目标对象是否与其他对象存在遮挡关系;则可以接收用户自定义的用于检测对象间遮挡关系的脚本,并通过该脚本为标注数据结构框架中相应的目标属性进行赋值。
参考图4,为本申请实施例中为标注数据结构框架中的各属性进行赋值的一个示例。其中,对于标注数据结构框架中的一个目标对象-root_annotations_items,其标识号(id)、所属的帧图像的标识号(image_id)、对应的分类的标识号(category_id)等属性通过用户输入实现赋值,“TO_BE_ASSIGNED_STRING、TO_BE_ASSIGNED_NUMBER、TO_BE_ASSIGNED_ARRAY”为提示信息,用于提示用户进行自定义赋值;分隔信息属性(segmentation)被赋值为预标注信息中的边界顶点坐标集合v_s,检测框信息属性被赋值为预标注信息中的检测框信息v_b;是否遮挡(iscrowd)属性和对象所占面积(area)属性,则通过用户的自定义脚本方式赋值,具体的,其分别通过用于计算遮挡关系的脚本CheckIsOccluded()和用于计算对象面积CalcArea()进行赋值。
具体实施时,基于得到的标注数据结构定义和赋值后的标注数据结构框架,即可以相应的生成数据集生成配置,该数据集生成配置应用在后续生成数据集的生成步骤中作为数据处理的基础。
具体实施时,数据集生成配置除包括标注数据结构定义和赋值后的标注数据结构框架之外,还可以包括渲染偏好信息和数据集存储信息。该渲染偏好信息和数据集存储信息,均可以是用户根据模型训练任务的需求和预标注信息预先定义的。
其中,渲染偏好信息用于设置渲染生成三维虚拟场景的相关参数,该相关参数例如可以是3D建模软件版本、渲染器种类、软件版本需求等;在后续渲染生成三维虚拟场景的的步骤中,该渲染偏好信息将会被提供给执行渲染的执行主体,以指导其完成渲染任务的调度工作。作为一个示例,渲染偏好信息可以具体包括:3D建模软件为Maya,渲染器种类为Redshift,具体渲染设置则可以根据不同渲染器相应确定。
其中,数据集存储信息用于设置数据集的存储方式和存储位置,在后续渲染生成数据集的步骤中,数据集存储信息用于指导执行主体控制标注文件和渲染图像的存储、传输和目录结构。作为一个示例,数据集存储信息可以将生成的数据集按照预定的数据量比例分为train(用于训练)和val(用于验证)两个文件夹,每个文件夹下面分别包含images文件夹用于保存图像、annontations文件夹用于保存标注文件。
具体实施时,根据标注数据结构定义、赋值后的标注数据结构框架、渲染偏好信息和数据集存储信息,即可以生成数据集生成配置。
步骤S203、根据所述数据集生成配置,渲染生成基于所述三维虚拟场景的渲染图像,并生成所述渲染图像对应的标注文件;根据所述渲染图像和所述标注文件,生成对应于所述模型训练任务的数据集。
具体实施时,可以先对数据集生成配置进行正确性检查,正确性检查的内容可以包括:标注数据结构定义的语法的正确性、标注数据结构框架中的属性赋值的有效性、以及三维虚拟场景的相关信息和渲染偏好信息的有效性等。对于通过正确性检查的数据集生成配置进行解析,以分别执行生成渲染图像和标注文件的步骤。
具体实施时,根据数据集生成配置中的标注数据结构定义和赋值后的标注数据结构框架,即可以自动生成渲染图像对应的标注文件。
具体实施时,根据数据集生成配置中的渲染偏好信息,确定渲染生成三维虚拟场景的相关参数。该相关参数出了渲染偏好信息中包括的3D建模软件版本、渲染器种类、软件版本需求等之外,还可以包括一些其他系统信息,例如服务端渲染能力参数、三维场景信息、用户权限信息、渲染集群和存储集群调度方式、计费方式等。进一步的,根据渲染生成三维虚拟场景的相关参数,可以请求数据处理和存储系统(一般是服务器集群)提供的渲染服务,基于当前的算力状态,生成三维虚拟场景。根据渲染生成三维虚拟场景,并根据数据集生成配置确定出具体的目标帧范围后,得到目标帧范围内包括的各帧渲染图像。生成的标注文件和渲染图像即构成对应于模型训练任务的数据集,并根据数据集存储信息,采用相应的存储方式存储至目标存储位置。用户后续访问目标存储位置,通过下载或转存,即可以得到对应于模型训练任务的数据集,并在模型训练任务使用该对应的数据集。
需要说明的是,渲染生成三维虚拟场景的具体方式,可以通过任意相关技术实现,本申请实施例不做具体限定。
此外,在具体实施时,根据具体的模型训练任务的需求,还可以对本申请实施例的方法中生成数据集生成配置步骤包括的具体设置进行调整修改,以满足具体的模型训练任务的需求。
由上述实施例可见,本申请的数据集生成方法,通过对三维虚拟场景中目标对象进行预标注,得到目标对象的预标注信息,同时结合模型训练任务的需求来生成数据集生成配置,根据数据集生成配置可以渲染生成基于三维虚拟场景的渲染图像及对应的标注文件,从而得到对应于模型训练任务的数据集。本申请的方案生成的数据集中的渲染图像来自于高度模拟真实环境的三维虚拟场景,数据质量极高;根据模型训练任务的需求和预标注得到的目标对象的预标注信息生成数据集生成配置,再根据数据集生成配置生成数据集的方式,一方面实现了对于具体的模型训练任务的需求的适配,可以满足模型训练任务的多样性和灵活性,另一方面整体方案的实现简单便捷,能够有效节省人力、物力和时间。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一技术构思,本申请实施例还提供了一种数据集生成装置。参考图5,所述的数据集生成装置500,包括:
确定模块501,被配置为确定预先构建的三维虚拟场景中目标对象的预标注信息;
配置模块502,被配置为根据模型训练任务的需求和所述预标注信息,生成数据集生成配置;
生成模块503,被配置为根据所述数据集生成配置,渲染生成基于所述三维虚拟场景的渲染图像,并生成所述渲染图像对应的标注文件;根据所述渲染图像和所述标注文件,生成对应于所述模型训练任务的数据集。
在一些可选的实施例中,配置模块502,具体被配置为根据通过预定的语言编写的定义指令,或响应于对待选的标注数据结构定义的选择指令,生成与所述模型训练任务对应的标注数据结构定义;解析所述标注数据结构定义以生成标注数据结构框架,并根据所述预标注信息,为所述标注数据结构框架中的各属性进行赋值;根据所述标注数据结构定义和赋值后的标注数据结构框架,生成所述数据集生成配置。
在一些可选的实施例中,配置模块502,具体被配置为确定所述标注数据结构框架中的目标属性;获取根据所述预标注信息生成的与所述目标属性对应的脚本,根据所述脚本为所述目标属性进行赋值。
在一些可选的实施例中,配置模块502,具体被配置为获取预先定义的渲染偏好信息和数据集存储信息;其中,所述渲染偏好信息用于设置渲染生成所述三维虚拟场景的相关参数;所述数据集存储信息用于设置数据集的存储方式和存储位置;
根据所述标注数据结构定义、赋值后的标注数据结构框架、所述渲染偏好信息和所述数据集存储信息,生成所述数据集生成配置。
在一些可选的实施例中,生成模块503,具体被配置为根据所述标注数据结构定义和赋值后的标注数据结构框架,生成所述渲染图像对应的标注文件;根据所述数据集存储信息,将所述标注文件进行存储。
在一些可选的实施例中,生成模块503,具体被配置为根据所述渲染偏好信息,确定渲染生成所述三维虚拟场景的相关参数,根据所述相关参数请求相应的渲染服务生成所述三维虚拟场景,并根据所述三维虚拟场景中目标帧范围内包括的各帧图像,生成所述渲染图像;根据所述数据集存储信息,将所述渲染图像进行存储。
在一些可选的实施例中,确定模块501,具体被配置为确定所述三维虚拟场景中的目标对象的相关信息、目标渲染相机的相关信息和目标帧的相关信息;确定所述目标对象表面各顶点的世界坐标,得到世界坐标集合;将所述世界坐标转换为所述目标渲染相机画面中的二维坐标,得到二维坐标集合;根据所述二维坐标集合,得到所述目标对象的边界顶点坐标集合;根据所述边界顶点坐标集合,得到所述目标对象的检测框信息;根据所述目标对象的相关信息、所述目标渲染相机的相关信息、所述目标帧的相关信息、所述世界坐标集合、所述二维坐标集合、所述边界顶点坐标集合和所述检测框信息,生成所述预标注信息。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一应用于主播端的实施例中相应的数据集生成方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一技术构思,本申请实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任一实施例所述的数据集生成方法。
图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的数据集生成方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一技术构思,本申请实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的数据集生成方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的数据集生成方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。元素前的冠词“一”或“一个”不排除多个这种元素的存在。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种数据集生成方法,其特征在于,包括:
确定预先构建的三维虚拟场景中目标对象的预标注信息;
根据模型训练任务的需求和所述预标注信息,生成数据集生成配置;
根据所述数据集生成配置,渲染生成基于所述三维虚拟场景的渲染图像,并生成所述渲染图像对应的标注文件;根据所述渲染图像和所述标注文件,生成对应于所述模型训练任务的数据集。
2.根据权利要求1所述的方法,其特征在于,根据模型训练任务的需求和所述预标注信息,生成数据集生成配置,包括:
根据通过预定的语言编写的定义指令,或响应于对待选的标注数据结构定义的选择指令,生成与所述模型训练任务对应的标注数据结构定义;
解析所述标注数据结构定义以生成标注数据结构框架,并根据所述预标注信息,为所述标注数据结构框架中的各属性进行赋值;
根据所述标注数据结构定义和赋值后的标注数据结构框架,生成所述数据集生成配置。
3.根据权利要求2所述的方法,其特征在于,根据所述预标注信息,为所述标注数据结构框架中的各属性进行赋值,包括:
确定所述标注数据结构框架中的目标属性;
获取根据所述预标注信息生成的与所述目标属性对应的脚本,根据所述脚本为所述目标属性进行赋值。
4.根据权利要求2所述的方法,其特征在于,根据所述标注数据结构定义和赋值后的标注数据结构框架,生成所述数据集生成配置,包括:
获取预先定义的渲染偏好信息和数据集存储信息;其中,所述渲染偏好信息用于设置渲染生成所述三维虚拟场景的相关参数;所述数据集存储信息用于设置数据集的存储方式和存储位置;
根据所述标注数据结构定义、赋值后的标注数据结构框架、所述渲染偏好信息和所述数据集存储信息,生成所述数据集生成配置。
5.根据权利要求4所述的方法,其特征在于,根据所述数据集生成配置,渲染生成基于所述三维虚拟场景的渲染图像,并生成所述渲染图像对应的标注文件,包括:
根据所述标注数据结构定义和赋值后的标注数据结构框架,生成所述渲染图像对应的标注文件;
根据所述数据集存储信息,将所述标注文件进行存储。
6.根据权利要求4所述的方法,其特征在于,根据所述数据集生成配置,渲染生成基于所述三维虚拟场景的渲染图像,并生成所述渲染图像对应的标注文件,包括:
根据所述渲染偏好信息,确定渲染生成所述三维虚拟场景的相关参数,根据所述相关参数请求相应的渲染服务生成所述三维虚拟场景,并根据所述三维虚拟场景中目标帧范围内包括的各帧图像,生成所述渲染图像;
根据所述数据集存储信息,将所述渲染图像进行存储。
7.根据权利要求1所述的方法,其特征在于,确定预先构建的三维虚拟场景中目标对象的预标注信息,包括:
确定所述三维虚拟场景中的目标对象的相关信息、目标渲染相机的相关信息和目标帧的相关信息;
确定所述目标对象表面各顶点的世界坐标,得到世界坐标集合;
将所述世界坐标转换为所述目标渲染相机画面中的二维坐标,得到二维坐标集合;
根据所述二维坐标集合,得到所述目标对象的边界顶点坐标集合;
根据所述边界顶点坐标集合,得到所述目标对象的检测框信息;
根据所述目标对象的相关信息、所述目标渲染相机的相关信息、所述目标帧的相关信息、所述世界坐标集合、所述二维坐标集合、所述边界顶点坐标集合和所述检测框信息,生成所述预标注信息。
8.一种数据集生成装置,其特征在于,包括:
确定模块,被配置为确定预先构建的三维虚拟场景中目标对象的预标注信息;
配置模块,被配置为根据模型训练任务的需求和所述预标注信息,生成数据集生成配置;
生成模块,被配置为根据所述数据集生成配置,渲染生成基于所述三维虚拟场景的渲染图像,并生成所述渲染图像对应的标注文件;根据所述渲染图像和所述标注文件,生成对应于所述模型训练任务的数据集。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的方法。
10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使计算机执行如权利要求1至7任意一项所述的方法。
CN202210555686.5A 2022-05-20 2022-05-20 数据集生成方法、装置、电子设备及存储介质 Pending CN115018975A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210555686.5A CN115018975A (zh) 2022-05-20 2022-05-20 数据集生成方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210555686.5A CN115018975A (zh) 2022-05-20 2022-05-20 数据集生成方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115018975A true CN115018975A (zh) 2022-09-06

Family

ID=83069713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210555686.5A Pending CN115018975A (zh) 2022-05-20 2022-05-20 数据集生成方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115018975A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115205707A (zh) * 2022-09-13 2022-10-18 阿里巴巴(中国)有限公司 样本图像生成方法、存储介质以及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115205707A (zh) * 2022-09-13 2022-10-18 阿里巴巴(中国)有限公司 样本图像生成方法、存储介质以及电子设备

Similar Documents

Publication Publication Date Title
CN109618222B (zh) 一种拼接视频生成方法、装置、终端设备及存储介质
Baggio Mastering OpenCV with practical computer vision projects
CN106846497B (zh) 应用于终端的呈现三维地图的方法和装置
US20140289607A1 (en) Apparatus and method providing augmented reality contents based on web information structure
US9836876B1 (en) Rendering images using ray tracing with multiple light sources
CN111752557A (zh) 一种展示方法及装置
US11113874B2 (en) Displaying rich text on 3D models
KR20230162977A (ko) 얼굴 합성을 포함하는 상호작용적 증강 현실 콘텐츠
JP7337428B1 (ja) 対象物の双方向な三次元表現の制御方法、制御装置及び記録媒体
KR20230162987A (ko) 서드 파티 애플리케이션들을 위한 증강 현실 콘텐츠에서의 얼굴 합성
US11887229B2 (en) Method and system for populating a digital environment using a semantic map
KR20230162107A (ko) 증강 현실 콘텐츠에서의 머리 회전들에 대한 얼굴 합성
KR20230162972A (ko) 광고를 위한 증강 현실 콘텐츠에서의 얼굴 합성
CN117083640A (zh) 使用对面部表情的选择在线上社区的内容中的面部合成
CN111311480A (zh) 图像融合方法和装置
CN115018975A (zh) 数据集生成方法、装置、电子设备及存储介质
KR20230162971A (ko) 오버레이된 증강 현실 콘텐츠에서의 얼굴 합성
CN114416068A (zh) 应用开发平台、微程序生成方法、设备及存储介质
CN109863746B (zh) 用于数据探索的沉浸式环境系统和视频投影模块
Levkowitz et al. Cloud and mobile web-based graphics and visualization
Kharroubi et al. Marker-less mobile augmented reality application for massive 3d point clouds and semantics
US20190102148A1 (en) Development Environment for Real-Time Application Development
CN113867875A (zh) 标记对象的编辑及显示方法、装置、设备、存储介质
CN113888684A (zh) 图形渲染方法、设备及计算机存储介质
CN114117161A (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