图像标注方法、装置、设备及存储介质
技术领域
本申请涉及人工智能技术领域,特别涉及一种图像标注方法、装置、设备及存储介质。
背景技术
在人工智能技术以及机器学习技术中,为了通过模型来识别出图像的类别,通常会预先对图像集中的图像进行标注,利用已标注的图像集,对模型进行训练,以使模型在训练的过程中,通过图像和图像的标签,学习出如何预测一张未知图像的类别。由此可见,图像标注的过程对于人工智能技术而言是至关重要的。
目前,图像标注的方法通常是:首先,用户选择图像集中的第一个图像,查看第一个图像后,依据经验,对第一个图像触发标注操作。电子设备会根据检测到的标注操作,对第一个图像进行标注。之后,同理地,用户选择图像集中的第二个图像,查看第二个图像后,依据经验,对第二个图像触发标注操作。电子设备会根据检测到的标注操作,对第二个图像进行标注。以此类推,通过对每个图像重复执行上述标注流程,对图像集中的每个图像分别进行标注,直至图像集中最后一个图像标注完成,整个图像集标注结束。
采用上述方法进行标注时,用户需要对每个图像重新执行标注操作,例如如果图像集中包含N个图像(N为大于1的正整数),则要执行N次标注操作,导致图像标注的工作量巨大。尤其是,由于图像集包含的图像数量通常较为庞大,会造成图像标注的时间成本和人力成本极大,致使图像的标注效率低下。
发明内容
本申请实施例提供了一种图像标注方法、装置、设备及存储介质,能够解决相关技术场景标注操作耗时较长、效率低下的问题。所述技术方案如下:
一方面,提供了一种图像标注方法,所述方法包括:
检测对图像集中第一图像的标注操作;根据所述标注操作,获取所述第一图像的标注结果;检测到待标注的图像从所述第一图像切换为第二图像,所述第二图像为所述图像集中所述第一图像的下一个图像;将所述第一图像的标注结果加载至所述第二图像。
可选地,所述标注结果包括标注框,所述将所述第一图像的标注结果加载至所述第二图像,包括:根据所述第一图像的标注框在所述第一图像中的位置,确定所述第二图像的标注框。
可选地,所述根据所述第一图像的标注框在所述第一图像中的位置,确定所述第二图像的标注框,包括:将所述第二图像中所述位置对应的图像区域,作为所述第二图像的标注框;或者,将所述第二图像中所述位置对应的图像区域,作为所述第二图像的初始标注框,对所述初始标注框的位置进行调整,得到所述第二图像的标注框。
可选地,所述对所述初始标注框的位置进行调整,得到所述第二图像的标注框,包括:在所述第二图像中,显示所述初始标注框;根据对所述初始标注框触发的调整操作,对所述初始标注框的位置进行调整,得到所述第二图像的标注框。
可选地,所述对所述初始标注框的位置进行调整,得到所述第二图像的标注框,包括:识别目标物在所述第一图像出现的第一位置;识别所述目标物在所述第二图像出现的第二位置;根据所述第一位置和所述第二位置,获取所述目标物的位移;根据所述位移,对所述初始标注框的位置进行调整,得到所述第二图像的标注框。
可选地,所述标注结果包括标签,所述将所述第一图像的标注结果加载至所述第二图像,包括:将所述第一图像的标签作为所述第二图像的标签;或者,获取与所述第一图像的标签语义匹配的标签,作为所述第二图像的标签。
可选地,所述将所述第一图像的标注结果加载至所述第二图像,包括:检测所述图像集对应的任务类型,如果所述图像集对应于跟踪任务,将所述第一图像的标注结果加载至所述第二图像;或者,获取所述第一图像与所述第二图像之间的图像相似度,如果所述图像相似度超过相似度阈值,将所述第一图像的标注结果加载至所述第二图像。
另一方面,提供了一种图像标注装置,所述装置包括:
检测模块,用于检测对图像集中第一图像的标注操作;获取模块,用于根据所述标注操作,获取所述第一图像的标注结果;所述检测模块,还用于检测到待标注的图像从所述第一图像切换为第二图像,所述第二图像为所述图像集中所述第一图像的下一个图像;加载模块,用于将所述第一图像的标注结果加载至所述第二图像。
可选地,所述标注结果包括标注框,所述加载模块,用于根据所述第一图像的标注框在所述第一图像中的位置,确定所述第二图像的标注框。
可选地,所述加载模块,用于将所述第二图像中所述位置对应的图像区域,作为所述第二图像的标注框。
可选地,所述加载模块,包括:确定子模块,用于将所述第二图像中所述位置对应的图像区域,作为所述第二图像的初始标注框;调整子模块,用于对所述初始标注框的位置进行调整,得到所述第二图像的标注框。
可选地,所述调整子模块,用于在所述第二图像中,显示所述初始标注框;根据对所述初始标注框触发的调整操作,对所述初始标注框的位置进行调整,得到所述第二图像的标注框。
可选地,所述调整子模块,用于识别目标物在所述第一图像出现的第一位置;识别所述目标物在所述第二图像出现的第二位置;根据所述第一位置和所述第二位置,获取所述目标物的位移;根据所述位移,对所述初始标注框的位置进行调整,得到所述第二图像的标注框。
可选地,所述标注结果包括标签,所述加载模块,用于将所述第一图像的标签作为所述第二图像的标签。
可选地,所述标注结果包括标签,所述加载模块,用于获取与所述第一图像的标签语义匹配的标签,作为所述第二图像的标签。
可选地,所述装置还包括:检测模块,用于检测图像集对应的任务类型;所述加载模块,用于如果所述图像集对应于跟踪任务,将所述第一图像的标注结果加载至所述第二图像。
可选地,所述获取模块,还用于获取所述第一图像与所述第二图像之间的图像相似度;所述加载模块,用于如果所述图像相似度超过相似度阈值,将所述第一图像的标注结果加载至所述第二图像。
另一方面,提供了一种电子设备,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现上述图像标注方法所执行的操作。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现上述图像标注方法所执行的操作。
本申请实施例提供的技术方案带来的有益效果至少包括:
本实施例提供的方法,考虑到同一图像集中的不同图像的内容通常具有关联性,因此同一图像集中的不同图像的标注结果通常具有关联性,因此通过当标注下一个图像时,自动加载上一个图像的标注结果,从而免去为下一个图像从头开始重新标注带来的时间开销,提高下一个图像的标注效率。通过该方法,能够利用图像集中已标注的图像的标注结果,来对剩余的图像进行标注,从而节省了图像集整体的标注时间,提高了图像集整体的标注效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种图像标注***的架构图;
图2是本申请实施例提供的一种图像标注方法的流程图;
图3是本申请实施例提供的一种图像标注方法的流程图;
图4是本申请实施例提供的一种图像标注方法的流程图;
图5是本申请实施例提供的一种图像标注装置的结构示意图;
图6是本申请实施例提供的一种终端的结构示意图;
图7是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请中术语“多个”的含义是指两个或两个以上,例如,多个数据包是指两个或两个以上的数据包。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
以下,示例性介绍本申请的应用场景。
在自动驾驶领域,汽车在驾驶过程中,汽车要准确识别出车身周围的场景和物体,以便根据周围的场景和物体,对驾驶动作进行精准的控制。因此,汽车通常会携带各类传感器和摄像头,以便利用携带的传感器和摄像头,实时采集各类图像,将图像发送给控制***,控制***可以利用图像来进行实时处理和决策,从而实现自动驾驶的功能。有鉴于此,图像的识别能力,是自动驾驶领域极为重要的研究内容。
图像的识别能力通常是利用已标注的图像集训练得到的。具体地,在汽车驾驶过程中,可以实时采集到图像,通过预先对采集的图像进行标注,比如标注该图像是道路、障碍物还是行人等,使用已标注的图像训练模型后,能够让控制***在实际驾驶过程中,当采集到未知的图像时,能够利用已训练的模型,从图像中识别出所处的场景以及周围的物体。
以下,示例性介绍本申请的***架构。
图1是本申请实施例提供的一种图像标注***的***架构图。该图像标注***包括:终端110和图像标注平台120。终端110通过无线网络或有线网络与图像标注平台120相连。
终端110可以是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器或MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器和膝上型便携计算机中的至少一种。终端110安装和运行有支持图像标注的应用程序。该应用程序可以是图像标注工具,该应用程序可以具有专用的客户端,也可以通过浏览器在网页中运行。示例性的,终端110是用户使用的终端,终端110中运行的应用程序内登录有用户账号。
图像标注平台120包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。图像标注平台120用于为支持图像标注的应用程序提供后台服务。可选地,图像标注平台120承担主要标注工作,终端110承担次要标注工作;或者,图像标注平台120承担次要标注工作,终端110承担主要标注工作;或者,图像标注平台120或终端110分别可以单独承担标注工作。
可选地,图像标注平台120包括:图像标注服务器1201和数据库1202。图像标注服务器1201用于提供图像标注有关的后台服务。图像标注服务器1201可以是一台或多台。当图像标注服务器1201是多台时,存在至少两台图像标注服务器1201用于提供不同的服务,和/或,存在至少两台图像标注服务器1201用于提供相同的服务,比如以负载均衡方式提供同一种服务,本申请实施例对此不加以限定。图像标注服务器1201中可以设置有图像标注模型。数据库1202可以用于存储未标注的图像集或已标注的图像集,当终端110发起请求时,图像标注服务器1201可以访问数据库1202,得到终端110请求的图像集,返回给终端110。
终端110可以泛指多个终端中的一个,本实施例仅以终端110来举例说明。
本领域技术人员可以知晓,上述终端110以及图像标注服务器1201的数量可以更多或更少。比如上述终端110以及图像标注服务器1201可以仅为一个,或者上述终端110以及图像标注服务器1201为几十个或几百个,或者更多数量,此时上述图像标注***还包括其他终端以及其他图像标注服务器。本申请实施例对终端和图像标注服务器的数量和设备类型均不加以限定。
图2是本申请实施例提供的一种图像标注方法的流程图。该发明实施例的执行主体为电子设备,参见图2,该方法包括:
201、检测对图像集中第一图像的标注操作。
202、根据标注操作,获取第一图像的标注结果。
203、检测到待标注的图像从第一图像切换为第二图像,第二图像为图像集中第一图像的下一个图像。
204、将第一图像的标注结果加载至第二图像。
本实施例提供的方法,考虑到同一图像集中的不同图像的内容通常具有关联性,因此同一图像集中的不同图像的标注结果通常具有关联性,因此通过当标注下一个图像时,自动加载上一个图像的标注结果,从而免去为下一个图像从头开始重新标注带来的时间开销,提高下一个图像的标注效率。通过该方法,能够利用图像集中已标注的图像的标注结果,来对剩余的图像进行标注,从而节省了图像集整体的标注时间,提高了图像集整体的标注效率。
可选地,标注结果包括标注框,将第一图像的标注结果加载至第二图像,包括:根据第一图像的标注框在第一图像中的位置,确定第二图像的标注框。
可选地,根据第一图像的标注框在第一图像中的位置,确定第二图像的标注框,包括:将第二图像中位置对应的图像区域,作为第二图像的标注框;或者,将第二图像中位置对应的图像区域,作为第二图像的初始标注框,对初始标注框的位置进行调整,得到第二图像的标注框。
可选地,对初始标注框的位置进行调整,得到第二图像的标注框,包括:在第二图像中,显示初始标注框;根据对初始标注框触发的调整操作,对初始标注框的位置进行调整,得到第二图像的标注框。
可选地,对初始标注框的位置进行调整,得到第二图像的标注框,包括:
识别目标物在第一图像出现的第一位置;
识别目标物在第二图像出现的第二位置;
根据第一位置和第二位置,获取目标物的位移;
根据位移,对初始标注框的位置进行调整,得到第二图像的标注框。
可选地,标注结果包括标签,将第一图像的标注结果加载至第二图像,包括:将第一图像的标签作为第二图像的标签;或者,获取与第一图像的标签语义匹配的标签,作为第二图像的标签。
可选地,将第一图像的标注结果加载至第二图像,包括:检测图像集对应的任务类型,如果图像集对应于跟踪任务,将第一图像的标注结果加载至第二图像;或者,获取第一图像与第二图像之间的图像相似度,如果图像相似度超过相似度阈值,将第一图像的标注结果加载至第二图像。
图3是本申请实施例提供的一种图像标注方法的流程图。该实施例的执行主体为电子设备,参见图3,该方法包括:
301、电子设备获取待标注的图像集。
图像集可以包括一个或多个待标注的图像。图像可以包括人、物品、动物、场景等。例如,应用在自动驾驶的场景,图像集可以是车辆图像集、行人图像集、环境图像集、建筑图像集、道路图像集、天气图像集或者交通图像集中的至少一种,通过对这些图像集进行标注,后续利用已标注的图像集进行模型训练后,车辆利用模型,能够在驾驶过程中,通过实时采集的图像,精确地识别出旁边的车辆、附近的行人、所处的环境、周围的建筑、行驶的道路、当前的天气或者实时交通情况,从而感知周围的环境,以便根据环境,自动确定出驾驶策略。
获取图像集的方式可以包括多种,例如,电子设备可以在浏览器上接收到下载指令,通过浏览器下载待标注的图像集。其中,下载指令用于指示通过浏览器下载待标注的图像集,下载指令可以通过对浏览器的操作触发,下载指令可以携带图像集的标识,该图像集的标识用于标识对应的图像集,例如可以是图像集的身份标识号码(identification,ID)、名称或编号等。此外,该下载指令还可以携带图像集的地址,该图像集的地址可以是服务器的地址,比如可以是提供该数据集的网站的地址。
在一些实施例中,车辆在驾驶过程中可以采集图像,可以将车辆采集的每个图像存储至图像库,该图像库可以包括海量的图像,该图像库可以存储在服务器上;可以采用自动或人工的方式,对图像库进行分割,得到至少一个图像包,每个图像包用于以package(包)的形式承载标注任务,一个package大约包含100~200张图片,便于标注。电子设备可以从该至少一个图像包,选择目标图像包,该目标图像包是指包括该待标注的图像集的图像包,电子设备可以从服务器下载该目标图像包,从而得到待标注的图像集。
302、电子设备检测对图像集中第一图像的标注操作。
第一图像可以是图像集中的任一个图像。
303、电子设备根据标注操作,获取第一图像的标注结果。
第一图像的标注结果可以包括多种。例如,第一图像的标注结果可以包括标注框和标签中的至少一项。
标注框也称bounding box(边界框),标注框的外形为可以为一个矩形的空心框,标注框用于标识第一图像中物体的位置。对于一个精确的标注框来说,该标注框会正好框住物体图像,令物体图像落入标注框中,不至于面积过小,以致物体图像超过标注框的边界,也不至于面积过大,以致包括过多的空余区域。标注框在电子设备中可以记录为四维向量,例如,标注框可以记录为(x,y,w,h),其中x表示标注框中心的横坐标,y表示标注框中心的纵坐标,w表示标注框的宽,h表示标注框的高。
标签用于标识对应图像的类别。例如,应用在自动驾驶场景,标签可以表示“车辆”、“道路”、“行人”等,应用在人脸识别场景,标签可以表示“女性”、“高颜值”、“长发”、“微笑”等。其中,标签在电子设备中可以记录为数字,比如100表示“车辆”,200表示“行人”。
304、电子设备检测到待标注的图像从第一图像切换为第二图像。
第二图像为图像集中第一图像的下一个图像,例如,如果第一图像是图像集中的第5个图像,第二图像可以是图像集中的第6个图像。
305、电子设备检测图像集对应的任务类型。
306、如果图像集对应于跟踪任务,电子设备将第一图像的标注结果加载至第二图像。
跟踪任务即目标跟踪任务,是计算机视觉技术中的一种重要任务,可以应用在无人驾驶、视频监控,人机交互等各种场景中。跟踪任务包括:识别同一目标在图像序列中不同图像之间位置的变化。为了实现跟踪任务,可以预先对图像序列中每个图像中目标出现的位置进行标注,后续利用已标注的图像序列进行模型训练后,当采集到初始帧后,可以利用目标在初始帧中的位置,预测目标在后续帧出现的位置。对于跟踪任务而言,通常要在连续的图像上标注出物体的位置变化,各个图像中的标注框的大小和形状大体一致,区别主要在于位置的变化。那么,通过执行本步骤,在进入下一张图片标注时,自动检测是否为追踪任务,如果是,则加载上一张图片的标注结果,那么可以免去为下一张图片重新开始标注的开销,对位置有所改变的物体进行调整,即可得到下一张图片的标注结果,从而提高标注效率。
在一些实施例中,加载上一个图像的标注结果的方式可以包括多种实现方式,以下通过实现方式一和实现方式二进行举例说明。
实现方式一、加载上一个图像的标注框
具体而言,电子设备可以根据第一图像的标注框在第一图像中的位置,确定第二图像的标注框。通过这种方式,考虑到相邻图像的标注框的位置通常邻近,可以当标注下一个图像时,自动加载上一个图像的标注框,从而利用已标注的图像的标注框,来对剩余的图像进行标注。
在一些实施例中,可以根据第一图像的标注框的宽,确定第二图像的标注框的宽。根据第一图像的标注框的高,确定第二图像的标注框的高。根据第一图像的标注框的顶点位置,确定第二图像的标注框的顶点位置。具体而言,以下通过实现方式1.1和实现方式1.2进行举例说明。
实现方式1.1、电子设备将第二图像中位置对应的图像区域,作为第二图像的标注框。
可以将第一图像的标注框的宽作为第二图像的标注框的宽,将第一图像的标注框的高作为第二图像的标注框的高,将第一图像的标注框的顶点位置作为第二图像的标注框的顶点位置。例如,如果第一图像的标注框的位置是(x1,y1,w1,h1),则可以确定第二图像中(x1,y1,w1,h1)对应的图像区域,作为第二图像的标注框。
实现方式1.2、电子设备将第二图像中位置对应的图像区域,作为第二图像的初始标注框,对初始标注框的位置进行调整,得到第二图像的标注框。
例如,如果第一图像的标注框的位置是(x1,y1,w1,h1),则可以确定第二图像中(x1,y1,w1,h1)对应的图像区域,作为第二图像的初始标注框,将初始标注框的位置从(x1,y1,w1,h1)调整至(x2,y2,w2,h2),得到第二图像的标注框。
在一些实施例中,初始标注框的调整可以包括多种实现方式,以下通过调整方式一和调整方式二进行举例说明。
调整方式一、手动调整
在一些实施例中,手动调整标注框的方式可以通过以下步骤一至步骤二实现:
步骤一、电子设备在第二图像中,显示初始标注框。
步骤二、电子设备根据对初始标注框触发的调整操作,对初始标注框的位置进行调整,得到第二图像的标注框。
在一些实施例中,本实施例可以支持快捷调整标注框的功能,以下通过调整方式1.1和调整方式1.2进行举例说明。
调整方式1.1、拖拽标注框的位置
具体而言,如果用户将初始标注框从图像中的当前位置拖拽至目标位置,电子设备可以检测到拖拽操作,电子设备可以将初始标注框的位置调整为目标位置。其中,用户可以通过拖拽初始标注框的四个顶点中的任一顶点,来触发拖拽操作,也可以通过拖拽初始标注框的四条边中的任一条边,来触发拖拽操作。
可选地,用户可以通过鼠标,来触发拖拽操作。在一个示例性场景中,如果用户通过鼠标,将初始标注框的左上顶点从图像中的点A拖拽至点B,电子设备可以将点B的坐标作为第二图像的标注框的左上顶点的坐标,对应调整第二图像的标注框的其他位置的坐标。
在一些实施例中,当调整标注框的位置后,电子设备可以向该图像中落入该标注框的图像区域,添加第一图像的标签。比如说,如果第8个图像的标签是“行人”,当对第9个图像进行标注时,可以在第9个图像中显示第8个图像的标注框的位置,用户对标注框的位置进行调整后,向第9个图像中落入该调整后的标注框的图像区域,添加标签“行人”。
调整方式1.2、点击标注框的目标位置
具体而言,如果用户对第二图像中的目标位置触发了点击操作,则电子设备会检测到对该目标位置的点击操作,电子设备根据该目标位置,对初始标注框的位置进行调整,得到第二图像的标注框。例如,可以将目标位置作为第二图像的标注框的中心位置,根据该中心位置对应调整标注框其他位置。又如,可以将目标位置作为第二图像的标注框的顶点位置,根据该顶点位置对应调整标注框其他位置。
可选地,用户可以通过鼠标,来触发对目标位置的点击操作。在一个示例性场景中,如果初始标注框的中心位置位于点A,用户通过鼠标,点击了图像中的点B,电子设备可以将初始标注框的中心位置从点A调整至点B,从而确定调整后的标注框,作为第二图像的标注框。
通过调整方式1.2,用户对图像点击一下,即可完成标注框的位置调整操作,可见标注方式十分快捷。
调整方式二、自动对齐
在一些实施例中,自动对齐的标注框调整方式可以通过以下步骤一至步骤四实现:
步骤一、电子设备识别目标物在第一图像出现的第一位置。
步骤二、电子设备识别目标物在第二图像出现的第二位置。
第一位置是指第一图像中目标物所处的位置。第二位置是指第二图像中目标物所处的位置。
步骤三、电子设备根据第一位置和第二位置,获取目标物的位移。
目标物的位移可以包括移动的距离和/或移动的方向,可以将第一位置为移动的起点,将第二位置为移动的终点,确定目标物的位移。
步骤四、电子设备根据位移,对初始标注框的位置进行调整,得到第二图像的标注框。
例如,如果目标物的位移为Δ,第一图像的标注框的位置是(x1,y1,w1,h1),将初始标注框的位置从(x1,y1,w1,h1)调整至(x1+Δ,y1+Δ,w1+Δ,h1+Δ),得到第二图像的标注框。
实现方式二、加载上一个图像的标签
具体而言,电子设备可以根据第一图像的标签,确定第二图像的标签。通过这种方式,考虑到相邻图像的语义通常相同,使得相邻图像的标签通常相同,可以当标注下一个图像时,自动加载上一个图像的标签,从而利用已标注的图像的标签,来对剩余的图像进行标注,从而免去为下一个图像重新输入标签的繁琐操作,极大地节省了标注下一个图像的时间。
加载上一个图像的标签可以包括多种实现方式,以下通过实现方式2.1和实现方式2.2进行举例说明。
实现方式2.1、电子设备将第一图像的标签作为第二图像的标签。
例如,如果第8个图像的标签是“行人”,当对第9个图像进行标注时,可以自动载入标签“行人”。
实现方式2.2、电子设备获取与第一图像的标签语义匹配的标签,作为第二图像的标签。
具体地,第二图像的标签和第一图像的标签的语义相似度可以达到相似度阈值。其中,第二图像的标签可以是第一图像的标签的上位概念,即,第二图像的标签的语义所涵盖的范围覆盖了第一图像的标签的语义。第二图像的标签也可以是是第一图像的标签的下位概念,即第二图像的标签的语义所涵盖的范围覆盖了第一图像的标签的语义。例如,如果第8个图像的标签是“奥迪”,当对第9个图像进行标注时,可以自动载入标签“车辆”。
需要说明的一点是,在标注任务为跟踪任务的情况下执行上述方法流程是可选方式,在一些实施例中,电子设备获取第一图像与第二图像之间的图像相似度,判断第一图像与第二图像之间的图像相似度是否超过相似度阈值,如果图像相似度超过相似度阈值,将第一图像的标注结果加载至第二图像。
通过这种方式,如果图像集中的不同图像内容高度相似,可以通过图像相似度来识别出这一情况。由于相似图像的标签通常是相同的,可以通过以视频的方式展示图像,来节省展示图像集中各个图像的时间,免去繁琐的图像切换操作,同时通过批量化的添加标签,提高标注效率。
参见图4,其示出了一种标注***的工作流程图。
本实施例提供的方法,考虑到同一图像集中的不同图像的内容通常具有关联性,因此同一图像集中的不同图像的标注结果通常具有关联性,因此通过当标注下一个图像时,自动加载上一个图像的标注结果,从而免去为下一个图像从头开始重新标注带来的时间开销,提高下一个图像的标注效率。通过该方法,能够利用图像集中已标注的图像的标注结果,来对剩余的图像进行标注,从而节省了图像集整体的标注时间,提高了图像集整体的标注效率。
图5是本申请实施例提供的一种图像标注装置的结构示意图。参见图5,该装置包括:
检测模块501,用于检测对图像集中第一图像的标注操作;
获取模块502,用于根据标注操作,获取第一图像的标注结果;
该检测模块501,还用于检测到待标注的图像从第一图像切换为第二图像,第二图像为图像集中第一图像的下一个图像;
加载模块503,用于将第一图像的标注结果加载至第二图像。
本实施例提供的装置,考虑到同一图像集中的不同图像的内容通常具有关联性,因此同一图像集中的不同图像的标注结果通常具有关联性,因此通过当标注下一个图像时,自动加载上一个图像的标注结果,从而免去为下一个图像从头开始重新标注带来的时间开销,提高下一个图像的标注效率。通过该方法,能够利用图像集中已标注的图像的标注结果,来对剩余的图像进行标注,从而节省了图像集整体的标注时间,提高了图像集整体的标注效率。
可选地,标注结果包括标注框,加载模块503,用于根据第一图像的标注框在第一图像中的位置,确定第二图像的标注框。
可选地,加载模块503,用于将第二图像中位置对应的图像区域,作为第二图像的标注框。
可选地,加载模块503,包括:
确定子模块,用于将第二图像中位置对应的图像区域,作为第二图像的初始标注框;
调整子模块,用于对初始标注框的位置进行调整,得到第二图像的标注框。
可选地,调整子模块,用于在第二图像中,显示初始标注框;根据对初始标注框触发的调整操作,对初始标注框的位置进行调整,得到第二图像的标注框。
可选地,调整子模块,用于识别目标物在第一图像出现的第一位置;识别目标物在第二图像出现的第二位置;根据第一位置和第二位置,获取目标物的位移;根据位移,对初始标注框的位置进行调整,得到第二图像的标注框。
可选地,标注结果包括标签,加载模块503,用于将第一图像的标签作为第二图像的标签。
可选地,标注结果包括标签,加载模块503,用于获取与第一图像的标签语义匹配的标签,作为第二图像的标签。
可选地,装置还包括:检测模块501,用于检测图像集对应的任务类型;
加载模块503,用于如果图像集对应于跟踪任务,将第一图像的标注结果加载至第二图像;或者,
可选地,获取模块502,还用于获取第一图像与第二图像之间的图像相似度;
加载模块503,用于如果图像相似度超过相似度阈值,将第一图像的标注结果加载至第二图像。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的图像标注装置在标注图像时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将图像标注装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像标注装置与图像标注的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述方法实施例中的电子设备可以实现为终端,例如,图6示出了本申请一个示例性实施例提供的终端600的结构框图。该终端600可以是:智能手机、平板电脑、MP3(MovingPicture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端600包括有:一个或多个处理器601和一个或多个存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器601所执行以实现本申请中方法实施例提供的图像标注方法。
在一些实施例中,终端600还可选包括有:***设备接口603和至少一个***设备。处理器601、存储器602和***设备接口603之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口603相连。具体地,***设备包括:射频电路604、触摸显示屏605、摄像头组件606、音频电路607、定位组件608和电源609中的至少一种。
***设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和***设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和***设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置终端600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在终端600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
定位组件608用于定位终端600的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件608可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***或俄罗斯的伽利略***的定位组件。
电源609用于为终端600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。
加速度传感器611可以检测以终端600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器612可以检测终端600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对终端600的3D动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器613可以设置在终端600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在终端600的侧边框时,可以检测用户对终端600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在触摸显示屏605的下层时,由处理器601根据用户对触摸显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置终端600的正面、背面或侧面。当终端600上设置有物理按键或厂商Logo时,指纹传感器614可以与物理按键或厂商Logo集成在一起。
光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。
接近传感器616,也称距离传感器,通常设置在终端600的前面板。接近传感器616用于采集用户与终端600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与终端600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与终端600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图6中示出的结构并不构成对终端600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
上述方法实施例中的电子设备可以实现为服务器,例如,图7是本申请实施例提供的一种服务器的结构示意图,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)701和一个或一个以上的存储器702,其中,存储器702中存储有至少一条程序代码,至少一条程序代码由处理器701加载并执行以实现上述各个方法实施例提供的图像标注方法。当然,该服务器还可以具有有线或无线网络接口以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由处理器执行以完成上述实施例中的图像标注方法。例如,计算机可读存储介质可以是只读存储器(Read-Only Memory,简称:ROM)、随机存取存储器(RandomAccess Memory,简称:RAM)、只读光盘(Compact Disc Read-Only Memory,简称:CD-ROM)、磁带、软盘和光数据存储设备等。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。