一种深度学习样本收集方法、装置、设备及存储介质与流程

文档序号:16036747发布日期:2018-11-24 10:08阅读:244来源:国知局

本发明涉及深度学习技术领域,特别是涉及一种深度学习样本收集方法、装置、设备及存储介质。

背景技术

深度学习技术的概念是由hinton等人于2006年提出。基于深度置信网络(deepbeliefnets,简称dbn)提出的非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来了希望,基于此随后提出了多层自动编码器深层结构。卷积神经网络是第一个真正的多层自动编码器深层结构学习算法,该算法利用空间相对关系来减少参数数目用以提高训练性能。到目前为止,深度学习技术凭借其强大的特征提取能力已经在目标识别、目标检测、目标分割、目标跟踪等各个计算机视觉技术领域以碾压性的优势压倒了众多传统视觉算法。

虽然深度学习技术在效果上较传统的计算机视觉方法具有明显优势,但是深度学习技术要达到很好的效果必须要有大量的训练样本作为支撑,否则也无法得到准确率很高的深度模型。然而现实情况是:在一个方面,获取大量准确标注的训练样本通常是一件极其困难的事情,这极大的阻碍了深度学习技术在很多领域的应用,在另外一个方面,即使花费大量人力和物力对训练样本进行标注,但是由于工作量太大且太繁琐的原因,容易出现一些错误标注的训练样本,这对最终获得的深度模型的准确率具有较大影响。



技术实现要素:

本发明要解决的技术问题是提供一种深度学习样本收集方法、装置、设备及存储介质,用以解决现有技术中通过人工的方式标注大量训练样本成本高且易出现标注错误的问题。

为了解决上述技术问题,本发明是通过以下技术方案来解决的:

本发明提供了一种深度学习样本收集方法,包括:在视频数据的一帧图像中确定目标对象并标注出所述目标对象的感兴趣区域;根据在所述图像中确定的目标对象以及所述目标对象的感兴趣区域,利用即时定位与地图构建slam系统,在所述视频数据的多帧图像中标注出所述目标对象的感兴趣区域;采集标注有所述目标对象的感兴趣区域的图像,作为所述目标对象的训练样本图像。

其中,所述利用即时定位与地图构建slam系统,在视频数据中标注出所述目标对象的感兴趣区域,包括:针对正在拍摄的视频数据或者拍摄完成的视频数据,利用所述slam系统,在包含所述目标对象的每帧图像中,标注出所述目标对象的感兴趣区域。

其中,所述针对正在拍摄的视频数据,利用所述slam系统,在包含所述目标对象的每帧图像中,标注出所述目标对象的感兴趣区域,包括:拍摄不同光线条件下和/或不同位姿下的所述目标对象,并利用所述slam系统,在包含所述目标对象的每帧图像中标注出所述目标对象的感兴趣区域。

其中,所述拍摄不同光线条件下和不同位姿下的所述目标对象,包括:步骤2,调整当前光线亮度;步骤4,对所述目标对象进行不同尺度的拍摄,以获得在当前光线亮度下不同尺度的所述目标对象的图像;步骤6,围绕所述目标对象进行不同视角的拍摄,以获得在当前光线亮度下不同视角的所述目标对象的图像;步骤8,判断预设的多个光线亮度是否都拍摄完毕,如果否,则跳转到步骤2。

其中,所述在视频数据的一帧图像中确定目标对象并标注出所述目标对象的感兴趣区域,包括:利用预设的目标检测模型,在视频数据中的图像中检测目标对象并标注出所述目标对象的感兴趣区域。

其中,所述根据在所述图像中确定的目标对象以及所述目标对象的感兴趣区域,利用即时定位与地图构建slam系统,在所述视频数据的多帧图像中标注出所述目标对象的感兴趣区域,包括:通过所述slam系统,确定本帧图像中的所述目标对象相对于前一帧图像中的所述目标对象的位姿变化;根据所述目标对象的位姿变化以及所述目标对象在所述前一帧图像中的感兴趣区域,标注出所述目标对象在本帧图像中的感兴趣区域。

本发明提供了一种深度学习样本收集装置,包括以下程序模块:目标确定模块,用于在视频数据的一帧图像中,确定目标对象并标注出所述目标对象的感兴趣区域;目标标注模块,用于根据在所述图像中确定的目标对象以及所述目标对象的感兴趣区域,利用slam系统,在视频数据的多帧图像中标注出所述目标对象的感兴趣区域;图像采集模块,用于采集标注有所述目标对象的感兴趣区域的图像,作为所述目标对象的训练样本图像。

其中,所述目标标注模块,用于:针对正在拍摄的视频数据或者拍摄完成的视频数据,利用所述slam系统,在包含所述目标对象的每帧图像中,标注出所述目标对象的感兴趣区域。

其中,所述目标标注模块,用于:拍摄不同光线条件下和/或不同位姿下的所述目标对象,并利用所述slam系统,在包含所述目标对象的每帧图像中标注出所述目标对象的感兴趣区域。

其中,所述目标标注模块,包括:调整单元,用于调整当前光线亮度;尺度拍摄单元,用于对所述目标对象进行不同尺度的拍摄,以获得在当前光线亮度下不同尺度的所述目标对象的图像;视角拍摄单元,用于围绕所述目标对象进行不同视角的拍摄,以获得在当前光线亮度下不同视角的所述目标对象的图像;判断单元,用于判断预设的多个光线亮度是否都拍摄完毕,如果否,则调用所述调整单元调整当前光线亮度。

其中,所述目标确定模块,用于利用预设的目标检测模型,在视频数据中的图像中检测目标对象并标注出所述目标对象的感兴趣区域。

其中,所述目标标注模块,用于:通过所述slam系统,确定本帧图像中的所述目标对象相对于前一帧图像中的所述目标对象的位姿变化;根据所述目标对象的位姿变化以及所述目标对象在所述前一帧图像中的感兴趣区域,标注出所述目标对象在本帧图像中的感兴趣区域。

本发明提供了一种存储介质,存储有计算机程序,所述存储介质中存储的计算机程序被处理器执行时实现上述的深度学习样本收集方法。

本发明提供了一种深度学习样本收集设备,所述深度学习样本收集设备包括处理器和存储器;所述处理器用于执行所述存储器中存储的深度学习样本收集程序,以实现上述的深度学习样本收集方法。

本发明有益效果如下:

本发明可以利用slam系统在图像中标注出目标对象的感兴趣区域,获得包含目标对象感兴趣区域的训练样本图像,进而可以将感兴趣区域作为对包含目标对象的图像的标注,这样在存储目标对象的训练样本图像时,就已经对该训练样本图像进行了标注,且标注具有准确性。通过本实施例无需对大量的训练样本图像进行人工标注,并且避免了人工标注容易出现错误标注的问题,标注效率高且具有准确性,能够提高最终训练出的深度模型的准确性。

附图说明

图1是根据本发明第一实施例的深度学习样本收集方法的流程图;

图2是根据本发明第二实施例的深度学习样本收集方法的流程图;

图3是根据本发明第三实施例的深度学习样本收集方法的流程图;

图4是根据本发明第三实施例的摄像头拍摄时采集的环境图像的示意图;

图5是根据本发明第三实施例的摄像头远离目标对象拍摄时采集的图像示意图;

图6是根据本发明第三实施例的摄像头靠近目标对象拍摄时采集的图像示意图;

图7是根据本发明第三实施例的摄像头围绕目标对象拍摄时采集的图像示意图;

图8是根据本发明第三实施例的摄像头围绕目标对象拍摄时采集的图像示意图;

图9是根据本发明第三实施例的摄像头围绕目标对象拍摄时采集的图像示意图;

图10是根据本发明第四实施例的深度学习样本收集装置的结构图。

具体实施方式

以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

实施例一

本发明实施例提供一种深度学习样本收集方法。图1是根据本发明第一实施例的深度学习样本收集方法的流程图。

步骤s110,在视频数据的一帧图像中确定目标对象并标注出所述目标对象的感兴趣区域(regionofinterest,简称roi)。

视频数据可以是正在拍摄的视频数据,也可以是拍摄完成的视频数据。

感兴趣区域可以是以矩形、圆形、椭圆形、不规则多边形等方式勾勒出的目标对象的外接区域,这样感兴趣区域标注出了图像中的目标对象。本实施例优选地,感兴趣区域是目标对象的外接矩形。

在本实施例中,可以利用预设的目标检测模型,在视频数据中的图像中检测目标对象并标注出所述目标对象的感兴趣区域。目标检测模型可以是经过粗略训练的目标检测模型。目标检测模型用于检测对象,目标检测模型检测出的对象可以被确定为目标对象,标注出目标对象的感兴趣区域。

在本实施例中,还可以由用户在一帧图像中选择一个对象,将用户选择的对象确定为目标对象并标注出目标对象的感兴趣区域。例如:用户矩形框画出图像中的一个对象,该对象为目标对象,该矩形框可以认为是用于标注目标对象的感兴趣区域。

步骤s120,根据在所述图像中确定的目标对象以及所述目标对象的感兴趣区域,利用即时定位与地图构建(simultaneouslocalizationandmapping,简称slam)系统,在视频数据的多帧图像中标注出所述目标对象的感兴趣区域。

slam系统为具有环境建模能力与目标姿态估计能力的视觉slam系统。视觉slam系统具备在图像中自动为目标对象标注感兴趣区域的能力。在本实施例中,针对正在拍摄的视频数据中或者在拍摄完成的视频数据,利用slam系统,在包含所述目标对象的每帧图像中,标注出所述目标对象的感兴趣区域。其中,slam系统可以预先构建或者实时构建的。

针对正在拍摄的视频数据,可以拍摄不同光线条件下和/或不同位姿下的所述目标对象,并利用所述slam系统,在包含所述目标对象的每帧图像中标注出所述目标对象的感兴趣区域。不同位姿的目标对象是指尺度不同和视角不同的目标对象。其中,本实施例优选地,在拍摄所述目标对象时,使拍摄的图像包含完整的所述目标对象,这样可以在视频数据中采集到连续的训练样本图像。

slam系统可以对视频数据中的目标对象进行三维成像,通过所述slam系统,确定本帧图像中的所述目标对象相对于前一帧图像中的所述目标对象的位姿变化;根据所述目标对象的位姿变化以及所述目标对象在所述前一帧图像中的感兴趣区域,标注出所述目标对象在本帧图像中的感兴趣区域。位姿变化包括尺度变化和视角变化。位姿变化值包括:摄像头和目标对象的距离(尺度)变化值,摄像头和目标对象的视角变化值。视角变化包含摄像头拍摄位置的变化和拍摄角度的变化。

步骤s130,采集标注有所述目标对象的感兴趣区域的图像,作为所述目标对象的训练样本图像。

在视频数据中的多帧图像中包含目标对象的感兴趣区域,针对包含目标对象的感兴趣区域的图像,可以采集感兴趣区域内的图像作为目标对象的训练样本图像,或者采集整张图像作为目标对象的训练样本图像。

保存目标对象的训练样本图像。可以将同一个目标对象的训练样本图像都保存到一个文件夹,也可以将同一类目标对象(如显示器类的目标对象)的训练样本图像保存到一个文件夹,文件夹可以命名为目标对象的名称。

在本实施例中,可以选择多个目标对象,利用slam系统在视频数据中分别标注出每个所述目标对象的感兴趣区域,分别获得包含每个目标对象感兴趣区域的训练样本图像。可以将感兴趣区域作为对包含目标对象的图像的标注,这样在存储目标对象的训练样本图像时,就已经对该训练样本图像进行了标注,且标注具有准确性。通过本实施例无需对大量的训练样本图像进行人工标注,并且避免了人工标注容易出现错误标注的问题,标注效率高且具有准确性,能够提高最终训练出的深度模型的准确性。

实施例二

下面给出一种较为具体的实施例,来说明本发明的基于slam的深度学习样本收集方法。图2是根据本发明第二实施例的深度学习样本收集方法的流程图。

步骤s210,选择并启动一个slam系统。

在存在目标对象的环境中启动slam系统。

slam系统例如是:orbslam系统或者dso系统。

步骤s220,初始化该slam系统,调用摄像头拍摄摄像头视角内的环境。

摄像头连接slam系统。

根据训练目标任务,可以事先确定需要拍摄的目标对象,摄像头可以在存在目标对象的环境中做移动拍摄。如:向着目标对象做伸缩运动,以及围绕目标对象运动等。

步骤s230,启动预设的目标检测模型,通过该目标检测模型检测摄像头拍摄的第一帧图像中的目标对象并标注出目标对象的感兴趣区域。

根据训练目标任务,准备一个粗略的目标检测模型,该目标检测模型是一个用于检测目标对象的初训练的模型,检测精度较低,待根据本实施例采集了足够的目标对象的训练样本图像之后,可以对该目标检测模型进行重训练或者调优,最终获得深度学习后的模型。

步骤s240,利用slam系统,在摄像头后续拍摄的图像中标注出目标对象的感兴趣区域。

slam系统可以根据摄像机成像的几何原理,对摄像头视角内的环境进行准确地三维空间建模,进而获得目标对象的三维成像,基于此slam系统可以计算出摄像头和目标对象的相对位姿,进而确定相邻两帧图像中目标对象的位姿变化值;根据目标对象的位姿变化值以及目标对象在前一帧图像中的位姿数据(摄像头和目标对象的距离,摄像头和目标对象的角度),可以得到目标对象在本帧图像中的位姿数据,可以将目标对象在本帧图像中的位姿数据转化为二维数据(如:二维坐标),进而得到目标对象从三维成像到二维图像的摄像机投影模型,从而获取精确的目标物体的boundingbox(感兴趣区域)。

如果不使用本实施例的slam技术,直接采集视频数据并保存目标对象的训练样本图像,则无法获取单个目标对象的准确的外接区域,这样后续还需要对训练样本图像进行人工手动标注,相比之下,利用本实施例的slam技术来为深度学习算法收集大量准确的已标注的样本显得十分高效。

步骤s250,调整当前光线亮度,以便改变光线条件。

可以预先设置多个光线亮度,以便获得多个光线亮度下的目标对象的训练样本图像。

步骤s260,对目标对象进行不同尺度的拍摄,获得在当前光线亮度下不同尺度的所述目标对象的图像,以获得目标对象的训练样本图像并存储。

可以手持或者控制摄像头,对准目标对象做不同尺度的拍摄,通过slam可以在拍摄的图像中标注出目标对象的感兴趣区域,进而可以将图像作为目标对象的训练样本图像,并保存目标对象的训练样本图像。本实施例优选地,手持摄像头靠近或者远离目标对象,靠近目标对象时以拍摄画面可以包含完整目标为准,远离目标对象时以目标对象的大小不小于拍摄画面的1/10为准。

步骤s270,围绕目标对象进行不同视角的拍摄,获得在当前光线亮度下不同视角的所述目标对象的图像,以获得目标对象的训练样本图像并存储。

可以手持摄像头,对准目标物体做不同角度的拍摄,通过slam可以在拍摄的图像中标注出目标对象的感兴趣区域,进而可以将图像作为目标对象的训练样本图像,并保存目标对象的训练样本图像。例如:手持摄像头围绕目标对象进行拍摄,可以用小于5度每秒的角速度围绕目标对象做360度的旋转、俯仰、偏转等移动拍摄。

步骤s280,判断是否已经采集了所有光线亮度下的目标对象的训练样本图像;如果是,则执行步骤s290;如果否,则执行步骤s250。

可以预设多个光线亮度,判断预设的多个光线亮度是否都采集完毕,如果是,则跳转到步骤s290,如果否,则跳转到步骤s250。

步骤s290,判断采集的目标对象的训练样本图像的数量是否已经达到预设阈值;如果是,则结束流程;如果否,则执行步骤s250。

该预设阈值可以根据具体需求进行设置。

在本实施例中,可以针对不同背景环境下的目标对象分别执行本实施例的流程,如:对家庭环境中的目标对象、办公环境中的目标对象和户外环境中的目标对象执行本实施例的流程。

在本实施例中,还可以针对类型相同的多个目标对象分别执行本实施例的流程,进而可以获得同一类目标对象的训练样本图像集,如:对不同品牌、不同型号的目标对象执行本实施例的流程。

在本实施例中,可以在图像中确定多个目标对象,利用slam系统在图像中分别标注出每个所述目标对象的感兴趣区域。该多个目标对象的类型相同或者不同。

相较于手动对大量训练样本图像进行标注收集,使用本实施例的slam技术进行自动采集训练样本图像,无论是在采集速度上,还是在得到的训练样本图像的准确度上,都具有优越性,尤其是在采集大量训练样本图像的情况下,优越性更为显著,而且训练样本图像的多样性与丰富性较好。

实施例三

本实施例提供一个应用实例来对本发明的深度学习样本收集方法进行进一步地说明。图3是根据本发明第三实施例的深度学习样本收集方法的流程图。

步骤s310,选择orbslam系统并将fasterrcnn作为目标检测模型。

步骤s320,启动并初始化orbslam系统,调用摄像头拍摄摄像头视角内的环境。

步骤s330,启动fasterrcnn,通过fasterrcnn检测图像中的目标对象并标注出目标对象的感兴趣区域。

在本实施例中,需要采集包含显示器、键盘、鼠标垫和双面胶的训练样本图像,因此在包含显示器、键盘、鼠标垫和双面胶的环境中启动orbslam系统和fasterrcnn。其中,fasterrcnn用于检测图像中的显示器、键盘、鼠标垫和双面胶。

步骤s340,在摄像头拍摄的图像中,分别标注显示器、键盘、鼠标垫和双面胶的boundingbox。

如图4所示为摄像头拍摄时采集的环境图像的示意图,摄像头拍摄的图像为办公桌,办公桌上存在显示器、键盘、鼠标垫和双面胶,fasterrcnn检测图像中的目标对象,即显示器、键盘、鼠标垫和双面胶,并且显示标注出的显示器、键盘、鼠标垫和双面胶的boundingbox。

步骤s350,使摄像头靠近、远离目标对象并进行拍摄,保存各个尺度下的目标对象的训练样本图像。

如图5所示,为摄像头远离目标对象拍摄时采集的图像示意图。

如图6所示,为摄像头靠近目标对象拍摄时采集的图像示意图。

步骤s360,使摄像头围绕目标对象做不同视角的拍摄,保存各个视角下的目标对象的训练样本图像。

如图7~图9所示,为摄像头围绕目标对象拍摄时采集的图像示意图,图7~图9的视角不同。

步骤s370,判断是否已经采集完各种光线亮度下的训练样本图像,如果是则转步骤s380,否则转步骤s390;

步骤s380,判断训练样本图像的数量是否达到预设阈值,如果是则结束流程,否则转步骤s320。

步骤s390,改变环境光线亮度,转步骤s350。

通过本实施例,可以节省大量的人力、物力以及时间成本,通过slam系统,只需围绕目标对象录制一段视频即可自动得到多张目标对象的训练样本图像,避免通过人工的方式在每张原始图片里将目标对象框出来,本实施例在采集效率上得到了指数级的上升。

实施例四

本实施例提供一种深度学习样本收集装置。图10为根据本发明第四实施例的深度学习样本收集装置的结构图。

目标确定模块1010,用于在视频数据的一帧图像中,确定目标对象并标注出所述目标对象的感兴趣区域。

目标标注模块1020,用于根据在所述图像中确定的目标对象以及所述目标对象的感兴趣区域,利用slam系统,在视频数据的多帧图像中标注出所述目标对象的感兴趣区域。

图像采集模块1030,用于采集标注有所述目标对象的感兴趣区域的图像,作为所述目标对象的训练样本图像。

进一步地,所述目标标注模块1020,用于针对正在拍摄的视频数据或者拍摄完成的视频数据,利用所述slam系统,在包含所述目标对象的每帧图像中,标注出所述目标对象的感兴趣区域。

进一步地,所述目标标注模块1020,用于拍摄不同光线条件下和/或不同位姿下的所述目标对象,并利用所述slam系统,在包含所述目标对象的每帧图像中标注出所述目标对象的感兴趣区域。

进一步地,所述目标标注模块1020,包括:

调整单元(图中未示出),用于调整当前光线亮度;

尺度拍摄单元(图中未示出),用于对所述目标对象进行不同尺度的拍摄,以获得在当前光线亮度下不同尺度的所述目标对象的图像;

视角拍摄单元(图中未示出),用于围绕所述目标对象进行不同视角的拍摄,以获得在当前光线亮度下不同视角的所述目标对象的图像;

判断单元(图中未示出),用于判断预设的多个光线亮度是否都拍摄完毕,如果否,则调用所述调整单元调整当前光线亮度。

进一步地,所述目标确定模块1010,用于利用预设的目标检测模型,在视频数据中的图像中检测目标对象并标注出所述目标对象的感兴趣区域。

进一步地,所述目标标注模块1020,用于:

通过所述slam系统,确定本帧图像中的所述目标对象相对于前一帧图像中的所述目标对象的位姿变化;

根据所述目标对象的位姿变化以及所述目标对象在所述前一帧图像中的感兴趣区域,标注出所述目标对象在本帧图像中的感兴趣区域。

本实施例所述的装置的功能已经在图1~图9所示的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。

由于深度学习算法所需要的训练样本图像数量非常多,有时需要达到千万级甚至上亿级别的数量级,人工标注大数量级的训练样本图像难免会引入一些错误标注的训练样本图像,这些错误样本对深度学习训练的最终模型的准确率会有消极影响。而本实施例的基于slam的方法收集的训练样本图像可以训练样本图像的准确性,即使偶尔有跟踪失败的情况也可以通过重新启动slam系统继续采集训练样本图像,而不会出现错误标注的情况。

本实施例通过视频的方式来获取训练样本图像,视频中帧与帧之间的变化较小,这样对于目标对象而言,能够得到较为丰富的不同状态变化下的训练样本图像,使训练样本图像集对目标对象的描述更加精细和完备,在一定程度上可以减弱深度学习算法对样本增强预处理的依赖,也有利于提高最终深度学习模型的准确率。

实施例五

本实施例提供一种存储介质,在该存储介质中存储有计算机程序,该计算机程序可以被处理器执行。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储介质也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储介质还可以包括上述种类的存储器的组合。

在所述存储介质中存储的计算机程序被处理器执行时,可以实现实施例一~实施例四所述的深度学习样本收集方法。

实施例六

本实施例提供一种深度学习样本收集设备。该深度学习样本收集设备可以是服务器或者终端设备。在深度学习样本收集设备上可以运行slam系统。

所述深度学习样本收集设备包括处理器和存储器;所述处理器用于执行所述存储器中存储的深度学习样本收集程序,以实现实施例一~实施例四所述的深度学习样本收集方法。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1