CN111428729A - 一种目标检测方法和装置 - Google Patents
一种目标检测方法和装置 Download PDFInfo
- Publication number
- CN111428729A CN111428729A CN201910019056.4A CN201910019056A CN111428729A CN 111428729 A CN111428729 A CN 111428729A CN 201910019056 A CN201910019056 A CN 201910019056A CN 111428729 A CN111428729 A CN 111428729A
- Authority
- CN
- China
- Prior art keywords
- feature map
- image
- detection
- target
- depth image
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 142
- 238000010586 diagram Methods 0.000 claims abstract description 25
- 230000000875 corresponding Effects 0.000 claims abstract description 20
- 230000000873 masking Effects 0.000 claims abstract description 14
- 238000011176 pooling Methods 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 abstract description 4
- 239000000203 mixture Substances 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 230000001537 neural Effects 0.000 description 4
- 230000003287 optical Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000006011 modification reaction Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000893018 Armeria Species 0.000 description 1
- 210000003666 Nerve Fibers, Myelinated Anatomy 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000003365 glass fiber Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Computing arrangements based on biological models using neural network models
- G06N3/04—Architectures, e.g. interconnection topology
- G06N3/0454—Architectures, e.g. interconnection topology using a combination of multiple neural nets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Abstract
本发明公开了一种目标检测方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:采集检测目标的2D图像和3D深度图像;将所述3D深度图像作为遮掩数据,对由所述2D图像生成的第一特征图进行处理,得到第二特征图;将所述第二特征图输入目标检测网络,得到所述检测目标对应的类别信息和位置信息。该实施方式能够提高对检测目标及其各平面的辨识度,提高检测准确率,不会增加额外计算负担且可节省检测成本。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种目标检测方法和装置。
背景技术
随着科技的进步和机械自动化的发展,越来越多的仓库开始采用机械手抓取货物进行分拣以节约人力。在目前机械手控制系统比较成熟的情况下,抓取目标的检测和定位一直是一个难点。
现有的目标检测方案包括:
SIFT(尺度不变特征变换,Scale-invariant feature transform)提特征加模板匹配方案,其需要对检测目标提前建立模板。以仓库货物的检测为例,仓库入库的货物成千上万,对每一种货物建立模板的成本非常高,同时对没有纹理的一些货物难以提取SIFT特征,导致难以识别;
边缘检测方案,其对光照变化和检测目标(例如货物包装盒)上的纹理干扰非常敏感,对检测目标各平面的辨识度低。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有方案对检测目标及其各平面的辨识度低,检测准确率不高,并且检测成本较高。
发明内容
有鉴于此,本发明实施例提供一种目标检测方法和装置,能够提高对检测目标及其各平面的辨识度,提高检测准确率,不会增加额外计算负担且可节省检测成本。
为实现上述目的,根据本发明实施例的一个方面,提供了一种目标检测方法。
一种目标检测方法,包括:采集检测目标的2D(二维)图像和3D(三维)深度图像;将所述3D深度图像作为遮掩数据,对由所述2D图像生成的第一特征图进行处理,得到第二特征图;将所述第二特征图输入目标检测网络,得到所述检测目标对应的类别信息和位置信息。
可选地,将所述3D深度图像作为遮掩数据,对由所述2D图像生成的第一特征图进行处理,得到第二特征图的步骤,包括:将所述2D图像进行N级卷积和池化处理,得到N个第一特征图;将所述3D深度图像进行N级池化处理,得到N个池化的3D深度图像,所述池化的3D深度图像与所述第一特征图一一对应,所述N为正整数;对于每个所述第一特征图,将对应的池化的3D深度图像作为遮掩数据,与该第一特征图中的特征进行预设处理,以得到所述第二特征图。
可选地,所述预设处理包括点乘、加法和合并三者之中的其中一种。
根据本发明实施例的另一方面,提供了一种目标检测装置。
一种目标检测装置,包括:图像采集模块,用于采集检测目标的2D图像和3D深度图像;特征图处理模块,用于将所述3D深度图像作为遮掩数据,对由所述2D图像生成的第一特征图进行处理,得到第二特征图;目标检测模块,用于将所述第二特征图输入目标检测网络,得到所述检测目标对应的类别信息和位置信息。
可选地,所述特征图处理模块还用于:将所述2D图像进行N级卷积和池化处理,得到N个第一特征图;将所述3D深度图像进行N级池化处理,得到N个池化的3D深度图像,所述池化的3D深度图像与所述第一特征图一一对应,所述N为正整数;对于每个所述第一特征图,将对应的池化的3D深度图像作为遮掩数据,与该第一特征图中的特征进行预设处理,以得到所述第二特征图。
可选地,所述预设处理包括点乘、加法和合并三者之中的其中一种。
根据本发明实施例的又一方面,提供了一种电子设备。
一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本发明提供的目标检测方法。
根据本发明实施例的又一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明提供的目标检测方法。
上述发明中的一个实施例具有如下优点或有益效果:采集检测目标的2D图像和3D深度图像;将该3D深度图像作为遮掩数据,对由该2D图像生成的第一特征图进行处理,得到第二特征图;将第二特征图输入目标检测网络,得到检测目标对应的类别信息和位置信息。能够提高对检测目标及其各平面的辨识度,提高检测准确率,不会增加额外计算负担且可节省检测成本。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明第一实施例的目标检测方法的主要步骤示意图;
图2是根据本发明实施例的残差块的结构示意图;
图3是根据本发明第二实施例的目标检测模型的结构示意图;
图4是根据本发明第三实施例的目标检测模型的结构示意图;
图5是根据本发明第四实施例的商品检测流程示意图;
图6是根据本发明第五实施例的目标检测装置的主要模块示意图;
图7是本发明实施例可以应用于其中的示例性系统架构图;
图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
图1是根据本发明一个实施例的目标检测方法的主要步骤示意图。
如图1所示,本发明一个实施例的目标检测方法主要包括如下的步骤S101至步骤S103。
步骤S101:采集检测目标的2D图像和3D深度图像。
本发明实施例的检测目标可以为多种应用场景下待检测识别的目标,例如在仓库拣选场景下,检测目标为通过机械臂抓取的商品等。
其中,检测目标的2D图像即检测目标的2D彩色图像(RGB图像),可以利用2D彩色相机和3D深度相机(该两个相机可以是整合的同一相机)分别采集2D图像和3D深度图像。
在步骤S101之后,可以对采集的检测目标的2D图像和3D深度图像做对齐处理,并对3D深度图像上的缺值部分做涂黑处理,3D深度图像上的黑色区域并不会影响检测目标区域的识别。
步骤S102:将检测目标的3D深度图像作为遮掩数据,对由检测目标的2D图像生成的第一特征图进行处理,得到第二特征图。
步骤S102具体可以包括:
将检测目标的2D图像通过N级残差块和池化层进行卷积和池化处理,得到N个第一特征图;
将检测目标的3D深度图像进行N级池化处理,得到N个池化的3D深度图像,该池化的3D深度图像与第一特征图一一对应;
对于每个第一特征图,将对应的池化的3D深度图像作为遮掩数据,与该第一特征图中的特征进行点乘处理,以得到第二特征图。
其中N为正整数。
其中残差块(resblock)的结构可以如图2所示,如图2所示,本结构包括一个具有64个卷积核且卷积核大小为1*1的卷积层、一个具有64个卷积核且卷积核大小为1*3的卷积层以及一个具有256个卷积核且卷积核大小为1*1的卷积层。relu表示激活函数。
作为替代实施方式,上述残差块可以替换为块(Block)结构。
作为替代实施方式,上述点乘处理可以替换为加法处理,或者合并(concatenate)处理。
步骤S103:将第二特征图输入目标检测网络,得到检测目标对应的类别信息和位置信息。
目标检测网络可以是由卷积层构成的卷积网络,也可以采用现有目标检测网络的检测层或检测模块,例如SSD(单发多盒检测器)的最后一层检测层,或者faster rcnn(更快速的区域卷积神经网络)后面的RPN(区域候选网络)检测模块等。
图3是根据本发明第二实施例的目标检测模型的结构示意图。本发明第二实施例在采集检测目标的2D图像和3D深度图像之后,将采集的2D图像和3D深度图像输入图3所示的目标检测模型。目标检测模型包括:块(Block)、第一池化层、第二池化层、检测层。块(Block)包括多个卷积层,本发明实施例的块(Block)可以采用resblock(残差块)的结构,残差块具体结构可以参见图2的介绍,此处不再赘述。块和第一池化层(第一池化层连接在对应的块的后面)用于对2D图像进行多级卷积和池化处理,多级第二池化层用于对3D深度图像进行池化处理。图3块和池化层的层级仅以四层为例,本发明实施例的目标检测模型可以不限于四级块和池化层。
同一层级的第一池化层和第二池化层可以通过同一个池化层来实现,即该同一个池化层既可以对2D图像、又可以对3D深度图像进行池化处理。
图3的四级块和第一池化层输出四个第一特征图(每级输出一个第一特征图),第二池化层输出四个池化的3D深度图像(每级输出一个池化的3D深度图像)。每级生成的第一特征图与每级生成的池化的3D深度图像相对应。对于每个第一特征图,将对应的池化的3D深度图像作为遮掩数据,与该第一特征图中的特征进行点乘处理,以得到第二特征图,例如,图3中,使用第二池化层1生成的池化的3D深度图作为遮掩数据,与块+第一池化层1生成的第一特征图的特征进行点乘处理,得到一个第二特征图,其他三级按照同样方法,最后得到四个第二特征图,该四个第二特征图输入检测层进行目标检测处理,以生成检测结果,即检测目标对应的类别信息和位置信息(检测框信息)。
图3中代表点乘,这个结构里,把3D深度图像当成遮罩(mask,即遮掩数据),对2D彩色图像提出来的特征进行点乘,从而对不同平面的像素值进行了不同的加权,可以极大的提高检测目标及其各平面的辨识度。并且,本发明实施例对3D深度图像仅做了池化(pool)操作,为了和特征(feature)的尺度保持一致,基本没有额外的计算负担,节省检测成本。
本发明实施例的检测层可以采用由卷积层构成的卷积网络,也可以采用现有目标检测网络的检测层或检测模块。检测层对第二特征图分别进行卷积,同时提取出类别信息和检测框信息。
图4示出了本发明第三实施例的目标检测模型的结构。本实施例中与第二实施例的目标检测模型的结构相似,其中不同之处在于对于每个第一特征图,将对应的池化的3D深度图像作为遮掩数据,与该第一特征图中的特征进行加法处理(图中的表示加法处理),以得到第二特征图。同样地,本实施例的目标检测模型可以不限于四级块和池化层。其他具体实施细节可参加第二实施例的介绍。
本发明实施例的目标检测模型为训练后的模型。在模型训练阶段可以利用2D彩色相机和3D深度相机采集检测目标的真实数据(2D图像和3D深度图像)作为训练数据,并进行训练数据的人工标注,对于检测货物场景,标注盒子(货物包装盒)位置和类别,然后训练模型的各层的参数,最后得到训练后的目标检测模型。模型训练方法可以采用各种目标检测模型的训练方法,例如随机梯度下降和反向传播训练方法等。本发明实施例基于3D深度图像和2D彩色图像来训练目标检测模型,克服了现有的目标检测模型提取信息有限的缺陷,并且本发明实施例的目标检测模型把深度视为一种遮掩数据(mask),对彩色图像进行修饰,然后进行检测,提高了检测精度。将本发明实施例的目标检测模型应用于部署到仓库拣选环节中,可以大大提高货物的检测率。
本发明第四实施例以商品检测为例,如图5所示,本发明第四实施例的商品检测流程包括步骤S501至步骤S504。
步骤S501:采集商品的2D图像和3D深度图像,通过人工标注得到训练样本。
步骤S502:构建商品检测模型,其中包括残差块、池化层、检测层。
步骤S503:利用训练样本训练基于深度图像和彩色图像的上述商品检测模型。
步骤S504:将待检测商品的2D图像和3D深度图像输入训练好的商品检测模型,以得到待检测商品的类别和检测框信息。
本实施例以商品为例描述了目标检测步骤,各步骤的详细实施方案和商品检测模型的结构可以参见上述其他实施例的介绍。
图6是根据本发明第五实施例的目标检测装置的主要模块示意图。
本发明第五实施例的目标检测装置600主要包括:图像采集模块601、特征图处理模块602、目标检测模块603。
图像采集模块601,用于采集检测目标的2D图像和3D深度图像。
特征图处理模块602,用于将3D深度图像作为遮掩数据,对由2D图像生成的第一特征图进行处理,得到第二特征图。
特征图处理模块602具体用于:
将检测目标的2D图像通过N级的块和池化层进行卷积和池化处理,得到N个第一特征图;
将检测目标的3D深度图像进行N级池化处理,得到N个池化的3D深度图像,池化的3D深度图像与第一特征图一一对应,N为正整数;
对于每个第一特征图,将对应的池化的3D深度图像作为遮掩数据,与该第一特征图中的特征进行预设处理,以得到第二特征图。
作为替换的实施方式,该块可以采用残差块的结构。
预设处理包括点乘、加法和合并三者之中的其中一种。
目标检测模块603,用于将第二特征图输入目标检测网络,得到检测目标对应的类别信息和位置信息。
目标检测网络可以是由卷积层构成的卷积网络,也可以采用现有目标检测网络的检测层或检测模块,例如SSD(单发多盒检测器)的最后一层检测层,或者faster rcnn(更快速的区域卷积神经网络)后面的RPN(区域候选网络)检测模块等。
另外,在本发明实施例中目标检测装置的具体实施内容,在上面所述目标检测方法中已经详细说明了,故在此重复内容不再说明。
图7示出了可以应用本发明实施例的目标检测方法或目标检测装置的示例性系统架构700。
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的目标检测方法一般由服务器705执行,相应地,目标检测装置一般设置于服务器705中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图8,其示出了适于用来实现本申请实施例的服务器的计算机系统800的结构示意图。图8示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括图像采集模块、特征图处理模块、目标检测模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,图像采集模块还可以被描述为“用于采集检测目标的2D图像和3D深度图像的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:采集检测目标的2D图像和3D深度图像;将所述3D深度图像作为遮掩数据,对由所述2D图像生成的第一特征图进行处理,得到第二特征图;将所述第二特征图输入目标检测网络,得到所述检测目标对应的类别信息和位置信息。
根据本发明实施例的技术方案,采集检测目标的2D图像和3D深度图像;将该3D深度图像作为遮掩数据,对由该2D图像生成的第一特征图进行处理,得到第二特征图;将第二特征图输入目标检测网络,得到检测目标对应的类别信息和位置信息。能够提高对检测目标及其各平面的辨识度,提高检测准确率,不会增加额外计算负担且可节省检测成本。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。