目标检测方法及相关设备
技术领域
本申请涉及人工智能
技术领域
,具体而言,本申请涉及一种目标检测方法及相关设备。背景技术
目标检测任务是指给定一张图像,利用目标检测算法自动找出图像中感兴趣的物体,并标注其位置和类别。针对目标检测任务,现有技术中一般采用多个包括图像信息与对应标注信息的数据集对基础网络进行微调,进而获得适应不同场景或需求的新模型。
然而,现有技术中一般采用直接合并的多个数据集对基础网络进行微调获得更新的检测模型,忽略了不同数据集中标注信息之间的相互影响,导致所更新的检测模型对图像进行检测的准确率较低;且因未能有效合并不同数据集上的标注信息,还容易出现误检和漏检的问题。
发明内容
本申请提供了一种目标检测方法及相关设备,可以解决上述至少一种技术问题。所述技术方案如下:
第一方面,提供了一种目标检测方法,包括:获取待检测的图像信息;将所述图像信息输入预训练的目标检测模型,获得所述图像信息中与目标物体相关的标注信息;其中,所述目标检测模型基于获取的目标数据集训练而得;所述目标数据集的获取步骤包括:获取多个初始数据集;所述初始数据集包括图像信息以及与预定义物体相关的标注信息;针对每一所述初始数据集训练对应的初始检测模型;采用训练后的初始检测模型对未用于训练该初始检测模型的初始数据集提供的图像信息进行检测,并根据检测结果更新每一初始数据集中的标注信息;整合多个更新后的初始数据集得到目标数据集。
结合第一方面,在第一方面的第一种实施方式中,所述获取多个初始数据集,包括:获取多个原始数据集;针对每一原始数据集,基于该原始数据集中标注信息所表征的物体类别与预定义物体类别匹配的数量,筛选该原始数据集中的标注信息,获得对应的初始数据集。
结合第一方面,在第一方面的第二种实施方式中,所述采用训练后的初始检测模型对未用于训练该初始检测模型的初始数据集提供的图像信息进行检测,并根据检测结果更新每一初始数据集中的标注信息,包括:针对每一初始数据集,执行下述步骤:设该初始数据集中已有的标注信息的置信度为预设值;采用未经该初始数据集进行训练的初始检测模型,检测该初始数据集提供的图像信息,获得对应的初始的标注信息与相应的置信度;基于置信度对所述已有的标注信息与初始的标注信息进行筛选,获得更新标注信息后的初始数据集。
结合第一方面的第二种实施方式,在第一方面的第三种实施方式中,所述基于置信度对所述已有的标注信息与初始标注信息进行筛选,获得更新标注信息后的初始数据集,包括:基于置信度对所述已有的标注信息与初始的标注信息进行排序,获得排序后的标注信息;采用非极大值抑制算法,删除所述排序后的标注信息中重复或置信度低于预设阈值的标注信息,获得更新标注信息后的初始数据集。
结合第一方面的第二种实施方式,在第一方面的第四种实施方式中,所述标注信息包括表征物体所在位置的位置信息、与表征物体类别的类别信息中的至少一项。
结合第一方面的第四种实施方式,在第一方面的第五种实施方式中,所述目标检测模型基于目标损失函数更新网络参数;所述目标损失函数包括基于所述置信度确定的分类损失函数与基于所述置信度确定的定位损失函数中的至少一项。
结合第一方面,在第一方面的第六种实施方式中,所述目标检测方法应用于室内物体检测;所述初始数据集包括图像数据集COCO、室内结构化数据集Sturctured3D、室内场景重构数据集ScanNet、通用物体检测数据集Objects365、室内布局估计数据集SUNRGBD和中的至少一项。
第二方面,提供了一种目标检测装置,包括:获取模块,用于获取待检测的图像信息;检测模块,用于将所述图像信息输入预训练的目标检测模型,获得所述图像信息中与目标物体相关的标注信息;其中,所述目标检测模型基于获取的目标数据集训练而得;所述目标数据集的获取步骤包括:获取多个初始数据集;所述初始数据集包括图像信息以及与物体相关的标注信息;针对每一所述初始数据集训练对应的初始检测模型;采用训练后的初始检测模型对未用于训练该初始检测模型的初始数据集提供的图像信息进行检测,并根据检测结果更新每一初始数据集中的标注信息;整合多个更新后的初始数据集得到目标数据集。
第三方面,提供了一种电子设备,其包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行第一方面及第一方面任一种实施方式所述的目标检测方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现第一方面及第一方面任一种实施方式所述的目标检测方法。
本申请提供的技术方案带来的有益效果是:
本申请提供了一种目标检测方法与相关设备,与现有技术相比,本申请提供的方法中用于对图像信息进行检测的目标检测模型是基于目标数据集训练而得;其中,目标数据集基于交叉式弱标注机制确定;具体地,确定目标数据集的方法包括:获取多个包括图像信息与对应标注信息的初始数据集;针对每一初始数据集训练对应的初始检测模型;采用训练后的初始检测模型对未用于训练该初始检测模型的初始数据集提供的图像信息进行检测,并根据检测结果更新每一初始数据集中的标注信息;整合多个更新后的初始数据集得到目标数据集。本申请通过采用不同的初始数据集分别训练单独的初始检测模型,进而基于训练后的初始检测模型针对不同初始数据集提供的图像信息进行交叉式弱标注,以更新每个初始数据集中的标注信息,进而使得最终整合多个更新后的初始数据集得到的目标数据集中排除了不同数据集中标注信息之间的相互影响,提高了基于目标数据集训练所得的目标检测模型在对图像信息进行检测时的准确率。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种目标检测方法的流程示意图;
图2为本申请实施例提供的一种目标检测方法中展示有与目标物体相关的标注信息的图像示意图;
图3为本申请实施例提供的一种目标检测方法中获取目标数据集的方法流程示意图;
图4为本申请实施例提供的一种室内物体检测的流程示意图;
图5示出了不同数据集在预定义物体类别上的标注数量;
图6为一种数据集标注错误示例;
图7示出了一种无采用交叉式弱标注机制整合多个数据集训练所得模型的检测结果与一种采用交叉式弱标注机制整合多个数据集训练所得模型的检测结果对比图;
图8示出了一种无采用置信度加权策略训练所得模型的检测结果与一种采用置信度策略训练所得模型的检测结果对比图;
图9为本申请实施例提供的一种目标检测方法的运行环境示意图;
图10为本申请实施例提供的一种目标检测装置的结构示意图;
图11为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例提供的技术方案涉及人工智能的计算机视觉技术(ComputerVision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。本申请实施例主要涉及图像处理、图像识别、图像语义理解等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等。可理解的是,本申请提供的技术方案可以应用于智能家居、机器人导航、智能装修、场景定制等多个领域。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供的一种目标检测方法具体可以由本申请实施例提供的电子设备执行,具体地电子设备可以是客户端,也可以是服务器,客户端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能摄像机、机器人等,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。为更好地描述本申请实施例,下面以应用场景为室内物体检测为例进行说明。如图1所示,本申请实施例提供的目标检测方法包括以下步骤S101-S102:
步骤S101:获取待检测的图像信息。
具体地,待检测的图像信息可以是任一图像信息,也可以是视频文件中的一帧图像信息。可理解的是,待检测的图像信息可以基于应用场景的不同而不同,如应用于智能摄像机进行室内物体定位时,待检测的图像信息可以是当前智能摄像机拍摄的图像信息。
步骤S102:将图像信息输入预训练的目标检测模型,获得图像信息中与目标物体相关的标注信息。
具体地,目标检测模型可以采用一个或多个数据集进行训练。当用于训练目标检测模型的数据集中包括多个图像信息,以及各个图像信息中与预定义物体相关的标注信息(如预定义物体包括毛巾towel、画picture、厕所toilet、杯子cup、镜子minor、浴缸bathtub时,图像信息对应的标注信息可以包括指示毛巾的类别信息以及指示毛巾所在位置的位置信息)时,将目标检测模型用于对输入的图像信息进行检测,则可以针对图像信息中可能包括的预定义物体进行检测,如检测出图像信息中包括目标物体毛巾towel、画picture、厕所toilet、杯子cup、镜子minor、浴缸bathtub时,可以确定该图像信息中的标注信息;具体地标注信息包括位置信息与类别信息,可以采用目标框表示位置信息,如在图像信息中浴缸所在位置显示目标框,并基于目标框显示表征为浴缸的类别信息(如图2所示)。可选地,还可以采用箭头表示位置信息,如采用箭头指示浴缸所在位置。本申请实施例对标注信息的表现形式不作限定,可根据实际需求进行调整。
其中,目标检测模型基于获取的目标数据集训练而得;如图3所示,目标数据集的获取步骤包括以下A1-A4:
步骤A1:获取多个初始数据集;初始数据集包括图像信息以及与物体相关的标注信息。
可选地,当应用场景为室内物体检测时,初始数据集可以包括图像数据集COCO、室内结构化数据集Sturctured3D、室内场景重构数据集ScanNet、通用物体检测数据集Objects365、室内布局估计数据集SUNRGBD和中的至少一项。其中,每一初始数据集中包括多个图像信息,以及各图像信息中与物体相关的标注信息,标注信息可以包括表征物体在图像中位置的位置信息,也可以包括表征物体类别的类别信息;其中,类别信息在不同的初始数据集中所包括表征物体类别的类别信息不同,如数据集COCO中可以包括表征80类不同物体的类别信息、数据集Sturctured3D和ScanNet中可以包括表征40类不同物体的类别信息。
步骤A2:针对每一初始数据集训练对应的初始检测模型。
具体地,假设当前获取的初始数据集包括三个,则分别对应训练形成三个初始检测模型。
在一可行的实施例中,假设当前获取的初始数据集包括图像数据集COCO、室内结构化数据集Sturctured3D、室内场景重构数据集ScanNet,则可以采用数据集COCO预训练基础模型EfficientDet(模型D0);进而采用数据集Sturctured3D微调预训练的基础模型EfficientDet获得模型D1;采用数据集ScanNet微调预训练的基础模型EfficientDet获得模型D2。
可选地,预训练的基础模型除可以采用EfficientDet(Scalable and EfficientObject Detection)外,还可以根据不同的精度和时间需求替换为其他网络框架,如同样为目标检测算法的Faster-RCNN(一个完全端到端的卷积网络对象检测模型)、SSD(SingleShot MultiBox Detector)、RetinaNet、YOLOv3等。
步骤A3:采用训练后的初始检测模型对未用于训练该初始检测模型的初始数据集提供的图像信息进行检测,并根据检测结果更新每一初始数据集中的标注信息。
具体地,步骤A3体现的是本申请实施例实现的交叉式弱标注方法;其中,检测结果可以包括各图像信息对应的多个标注信息。
结合上述步骤A2的说明,结合下述表1对步骤A3所实施的交叉标注方法进行说明:
表1
结合上述表1可见,采用训练后的模型D1和D2对未用于训练该模型D1和D2的数据集COCO提供的图像信息进行检测,并根据检测结果更新数据集COCO中包括的标注信息;采用训练后的模型D0和D2对未用于训练该模型D0和D2的数据集Sturctured3D提供的图像信息进行检测,并根据检测结果更新数据集Sturctured3D中包括的标注信息;采用训练后的模型D0和D1对未用于训练该模型D0和D1的数据集ScanNet提供的图像信息进行检测,并根据检测结果更新数据集ScanNet中包括的标注信息。
步骤A4:整合多个更新后的初始数据集得到目标数据集。
可选地,整合可以理解为将多个更新标注信息后的初始数据集进行合并。结合上述步骤A3的说明,整合可以是将更新标注信息后的数据集COCO、Sturctured3D和ScanNet进行合并获得一个目标数据集CSS。
可选地,整合多个更新后的初始数据集时,还可以根据实际需要设定预定义物体的类别信息,进而基于预定义物体的类别信息对多个更新后的初始数据集进行合并得到目标数据集。
在一实施例中,步骤A1获取多个包括图像信息与对应标注信息的初始数据集,包括以下步骤A11-A12:
步骤A11:获取多个包括图像信息与对应标注信息的原始数据集。
具体地,以步骤A11中包括图像数据集COCO、室内结构化数据集Sturctured3D、室内场景重构数据集ScanNet三个原始数据集为例进行说明,各个数据集中标注信息所包括的原始标注的类别信息如下表2所示:
表2
步骤A12:针对每一原始数据集,基于该原始数据集中标注信息所表征的物体类别与预定义物体类别匹配的数量,筛选该原始数据集中的标注信息,获得对应的初始数据集。
具体地,结合图5(不同数据集在预定义物体类别上的标注框数量,表3所示类别顺序与图5横坐标所示类别顺序一致)、图6与下述表3所示内容进行解释:
表3
可选地,通过对比表2和表3可见,表3中部分类别并未在表2中出现,即本申请实施例中预定义物体的类别信息可以是在原始数据集中获取的,也可以是基于需求另外设定的。在此基础上,步骤A4中整合多个更新后的初始数据集得到的目标数据集中标注信息所包括的类别信息可以如上表3所示,也可以是合并三个更新后的初始数据集中的类别信息。
具体地,如图5所示,数据集Sturctured3D中标注信息所表征灯lamp、门door、窗window、和其他others的物体类别与预定义物体类别匹配的数量远大于其他类别;以及数据集ScanNet中标注信息所表征桌子table、椅子chair、枕头pillow和其他others的物体类别与预定义物体类别匹配的数量远大于其他类别。另,由于数据集Sturctured3D和ScanNet用于对图像信息进行标注的质量较差,存在物体类别标注错误等的问题,如图6所示,图中桌子、椅子、花瓶被标注为同一类物体,导致模型学习准确率降低。因此,为避免由于标注质量的问题降低模型对图像信息进行检测的准确率,本申请实施例在数据集Sturctured3D和ScanNet中分别筛选出所表征物体类别与预定义物体类别匹配数量较大、且标注质量较高的类别信息,如下表4所示:
表4
结合表4可见,本申请实施例在数据集Sturctured3D中筛选出9个类别信息,在数据集ScanNet中筛选出19个类别信息,而由于数据集COCO在实践中表明具有较高的标注质量,在步骤A12中暂不针对数据集COCO进行类别筛选。
结合上述步骤A11-A12的说明,本申请实施例所获取的初始数据集是可以基于原始数据集经过筛选得到的,经筛选后确定初始数据集有利于提高本申请实施例所提供的目标检测模型针对图像信息进行检测时的准确率。
可选地,结合上述实施例的描述,当本申请实施例提供的目标检测方法应用于室内物体检测时,训练目标检测模型的流程可以参考图4所示的流程图。首先,采用三个经过筛选得到的初始数据集分别训练各自的初始检测模型;其次,采用训练后的初始检测模型分别针对其他数据集提供的图像信息进行检测,并根据检测结果更新每一初始数据集;进而基于预定义物体的类别信息整合多个更新后的初始数据集获得目标数据集;最终采用目标数据集训练目标检测模型。
在一实施例中,步骤A3采用训练后的初始检测模型对未用于训练该初始检测模型的初始数据集提供的图像信息进行检测,并根据检测结果更新每一初始数据集中的标注信息中,涉及针对每一初始数据集执行下述步骤A31-A33:
步骤A31:设该初始数据集中已有的标注信息的置信度为预设值。
步骤A32:采用未经该初始数据集进行训练的初始检测模型,检测该初始数据集提供的图像信息,获得对应的初始的标注信息与相应的置信度。
步骤A33:基于置信度对已有的标注信息与初始的标注信息进行筛选,获得更新标注信息后的初始数据集。
具体地,以初始数据集为包括80类的COCO为例说明:首先将数据集COCO中的标注信息的置信度设为预设值(可以是1.0);进而采用经包括9类的数据集Sturctured3D训练所得的模型D1和包括19类的数据集ScanNet训练所得的模型D2针对数据集COCO中提供的图像信息进行检测,获得一系列的标注信息以及相应的置信度;再者基于置信度对所有标注信息(包括数据集COCO原始提供的标注信息,还包括由模型D1和D2对图像进行检测所得的标注信息)进行筛选,进而将筛选后的标注信息作为初始数据集COCO更新后的标注信息。
以初始数据集为包括9类的Sturctured3D为例说明:首先将数据集Sturctured3D中的标注信息的置信度设为预设值(可以是1.0);进而采用经包括80类的数据集COCO训练所得模型D0和包括19类的数据集ScanNet训练所得的模型D2针对数据集Sturctured3D中提供的图像信息进行检测,获得一系列的标注信息以及相应的置信度;再者基于置信度对所有标注信息(包括数据集Sturctured3D原始提供的标注信息,还包括由模型D0和D2对图像进行检测所得的标注信息)进行筛选,进而将筛选后的标注信息作为初始数据集Sturctured3D更新后的标注信息。
以初始数据集为包括19类的ScanNet为例说明:首先将数据集ScanNet中的标注信息的置信度设为预设值(可以是1.0);进而采用经包括80类的数据集COCO训练所得模型D0和包括9类的数据集Sturctured3D训练所得的模型D1针对数据集ScanNet中提供的图像信息进行检测,获得一系列的标注信息以及相应的置信度;再者基于置信度对所有标注信息(包括数据集ScanNet原始提供的标注信息,还包括由模型D0和D1对图像进行检测所得的标注信息)进行筛选,进而将筛选后的标注信息作为初始数据集ScanNet更新后的标注信息。
在一实施例中,考虑到检测结果中的标注信息与数据集中原始提供的标注信息之间存在误差,为减少标注信息之间的影响,本申请实施例步骤A33基于置信度对已有的标注信息与初始标注信息进行筛选,获得更新标注信息后的初始数据集,包括以下步骤A331-A332:
步骤A331:基于置信度对已有的标注信息与初始的标注信息进行排序,获得排序后的标注信息。
可选地,如图2所示,各标注信息具有对应的置信度,如毛巾towel对应的置信度为30%等。
可选地,标注信息可以包括位置信息与类别信息,且两者具有各自的置信度,在基于置信度对标注信息进行排序时,可以针对位置信息的置信度为主对所有的标注信息进行排序。当排序过程中,若存在置信度相同而位置信息不同的情况时,可以结合类别信息的置信度进行排序。
在一可行的实施例中,还可以同时结合位置信息与类别信息的置信度对所有的标注信息进行排序,若位置信息与类别信息的置信度不同时,可以采用置信度加权的方式综合各标注信息对应的置信度,如:权重系数1*位置信息的置信度+权重系数2*类别信息的置信度=标注信息的置信度;其中,权重系数1+权重系数2=1。
可选地,排序的方式可以采用降序排序,将置信度较高的排序在前。
步骤A332:采用非极大值抑制算法,删除排序后的标注信息中重复或置信度低于预设阈值的标注信息,获得更新标注信息后的初始数据集。
具体地,采用非极大值抑制(Non-Maximum Suppression,NMS)算法剔除所有标注信息中冗余或者置信度低于预设阈值的标注信息。
可选地,在进行标注信息的更新时,单次更新可以是针对单一数据集进行,也可以是针对所有数据集进行。
在一实施例中,标注信息包括与目标物体对应的位置信息与类别信息中的至少一项。目标检测模型基于目标损失函数更新网络参数;目标损失函数包括基于置信度确定的分类损失函数与基于置信度确定的定位损失函数中的至少一项。
具体地,考虑到采用目标数据集对目标检测模型训练时,仍可能存在检测不准确的问题,若所训练的目标检测模型过于相信不准确的检测结果,可能会降低训练所得目标检测模型在对图像信息进行检测时的准确性,因此,本申请实施例在训练过程中还基于目标损失函数更新目标检测模型的网络参数。
可选地,在采用目标数据集中的某一图像信息与对应的标注信息进行训练时,该图像信息可以对应有N个标注信息(可体现为具有N个目标框和N个类别信息),可以采用如下公式(1)所示的分类损失函数与公式(2)所示的定位损失函数构建目标损失函数,进而基于目标损失函数更新目标检测模型的网络参数。
其中,为第i个标注信息Bi的分类损失函数Focal Loss,si为对应该标注信息的置信度。
其中,为第i个标注信息Bi的位置损失函数smooth L1loss,si为对应该标注信息的置信度。
为更好地说明本申请实施例所能带来的有益效果,下面结合图7和图8进行说明:
如图7所示,对比了采用本申请实施例提供的交叉式若标注机制前后的检测结果,其中,第一行为无交叉式弱标注检测结果,仅将所有数据集中的图像信息整合在一起直接训练目标检测模型;第二行为采用交叉式弱标注的检测结果。可以看出,采用交叉式弱标注后,检测到的物体类别更全面,如:第一行所示的检测结果中无窗户和灯的标注信息,而在第二行所示的检测结果中具有窗户和灯相应的标注信息。
如图8所示,对比了采用置信度加权策略训练目标检测模型的检测结果,其中第一行为采用三个数据集独立训练目标检测模型的检测结果,第二行为交叉式弱标注对数据集进行处理后采用置信度加权策略训练目标检测模型的检测结果。可以看出,采用置信度加权策略训练所得的目标检测模型能够得到更加准确和更加全面的检测结果,如:第一行所示的检测结果中墙、画和浴缸的标注信息有误,而在第二行所示的检测结果中墙、画和浴缸的标注信息正确。
在一实施例中,如图9所示,本申请实施例提供的目标检测方法可以在客户端902执行,也可以在服务端901执行。
具体地,当目标检测方法应用于客户端时,假设客户端902为室内可移动式摄像机,则可以基于实时拍摄或录制的图像信息采用本申请提供的目标检测方法检测出当前图像信息中与目标物体相关的标注信息,进而了解当前位置所对应目标物体的布局情况。在此基础上,室内可移动式摄像机还可以将检测结果实时上传服务端901进行存储或应用于其他领域的数据分析。
具体地,当目标检测方法应用于服务端时,假设客户端902为室内可移动式摄像机,则可以将实时拍摄或录制的图像信息上传服务端901,由服务端901进行图像检测并将检测结果反馈至客户端902,可以使得客户端902实时知悉当前位置所对应目标物体的布局情况的同时提高了数据处理的效率,降低了客户端对数据处理性能的要求。
在一实施例中,如图10所示,提供了一种目标检测装置1000,包括:获取模块1001和检测模块1002。
具体地,获取模块1001,用于获取待检测的图像信息。
检测模块1002,用于将所述图像信息输入预训练的目标检测模型,获得所述图像信息中与目标物体相关的标注信息。
其中,所述目标检测模型基于获取的目标数据集训练而得;所述目标数据集的获取步骤包括:获取多个初始数据集;所述初始数据集包括图像信息以及与物体相关的标注信息;针对每一所述初始数据集训练对应的初始检测模型;采用训练后的初始检测模型对未用于训练该初始检测模型的初始数据集提供的图像信息进行检测,并根据检测结果更新每一初始数据集中的标注信息;整合多个更新后的初始数据集得到目标数据集。
可选地,所述获取多个初始数据集,包括:获取多个原始数据集;针对每一原始数据集,基于该原始数据集中标注信息所表征的物体类别与预定义物体类别匹配的数量,筛选该原始数据集中的标注信息,获得对应的初始数据集。
可选地,所述采用训练后的初始检测模型对未用于训练该初始检测模型的初始数据集提供的图像信息进行检测,并根据检测结果更新每一初始数据集中的标注信息,包括:针对每一初始数据集,执行下述步骤:设该初始数据集中已有的标注信息的置信度为预设值;采用未经该初始数据集进行训练的初始检测模型,检测该初始数据集提供的图像信息,获得对应的初始的标注信息与相应的置信度;基于置信度对所述已有的标注信息与初始的标注信息进行筛选,获得更新标注信息后的初始数据集。
可选地,所述基于置信度对所述已有的标注信息与初始标注信息进行筛选,获得更新标注信息后的初始数据集,包括:基于置信度对所述已有的标注信息与初始的标注信息进行排序,获得排序后的标注信息;采用非极大值抑制算法,删除所述排序后的标注信息中重复或置信度低于预设阈值的标注信息,获得更新标注信息后的初始数据集。
可选地,所述标注信息包括表征物体所在位置的位置信息、与表征物体类别的类别信息中的至少一项。
可选地,所述目标检测模型基于目标损失函数更新网络参数;所述目标损失函数包括基于置信度确定的分类损失函数与基于置信度确定的定位损失函数中的至少一项。
可选地,所述目标检测方法应用于室内物体检测;所述初始数据集包括图像数据集COCO、室内结构化数据集Sturctured3D、室内场景重构数据集ScanNet、通用物体检测数据集Objects365、室内布局估计数据集SUNRGBD和中的至少一项。
本申请实施例的目标检测装置可执行本申请的实施例所提供的一种目标检测方法,其实现原理相类似,本申请各实施例中的目标检测装置中的各模块所执行的动作是与本申请各实施例中的目标检测方法中的步骤相对应的,对于目标检测装置的各模块的详细功能描述具体可以参见前文中所示的对应的目标检测方法中的描述,此处不再赘述。
在一个可选实施例中提供了一种电子设备,如图11所示,图11所示的电子设备1100包括:处理器1101和存储器1103。其中,处理器1101和存储器1103相连,如通过总线1102相连。可选地,电子设备1100还可以包括收发器1104。需要说明的是,实际应用中收发器1104不限于一个,该电子设备1100的结构并不构成对本申请实施例的限定。
处理器1101可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1101也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线1102可包括一通路,在上述组件之间传送信息。总线1102可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线1102可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1103可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器1103用于存储执行本申请方案的应用程序代码,并由处理器1101来控制执行。处理器1101用于执行存储器1103中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图11示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的目标检测方法。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,本申请提供的方法中用于对图像信息进行检测的目标检测模型是基于目标数据集训练而得;其中,目标数据集基于交叉标注机制确定;具体地,确定目标数据集的方法包括:获取多个包括图像信息与对应标注信息的初始数据集;针对每一初始数据集训练对应的初始检测模型;采用训练后的初始检测模型对未用于训练该初始检测模型的初始数据集提供的图像信息进行标注,以更新每一初始数据集中的标注信息;整合多个更新后的初始数据集得到目标数据集。本申请通过采用不同的初始数据集分别训练单独的初始检测模型,进而基于训练后的初始检测模型针对不同初始数据集提供的图像信息进行交叉式弱标注,以更新每个初始数据集中的标注信息,进而使得最终整合多个更新后的初始数据集得到的目标数据集中排除了不同数据集中标注信息之间的相互影响,提高了基于目标数据集训练所得的目标检测模型在对图像信息进行检测时的准确率。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“用于获取待检测的图像信息的模块”。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:基于多分析任务的数据分析方法及电子设备