一种图像目标检测方法、装置和设备与流程

文档序号:27391597发布日期:2021-11-15 22:22阅读:94来源:国知局
一种图像目标检测方法、装置和设备与流程

1.本发明涉及目标检测领域,特别地,涉及一种图像目标检测方法、装置和设备。


背景技术:

2.目标检测是计算机视觉的主要应用之一。利用目标检测技术能够对图像中感兴趣的目标进行精确标识。基于深度神经网络的目标检测技术具有快速、精准、高效等特点,在医学辅助诊断、视频监控等领域均有着广泛的应用。
3.深度学习的图像数据一般都是采用成千上万的学习样本,然而当图像数据较大时,例如在医学图像目标检测实际应用场景中,x光图像是一种尺寸非常大的图像,长和宽都超过了3000,这种x光图像包含的像素数一般都在900万像素以上。如果将成千上万的数据较大的图像数据输入到目标检测网络中,将会占用很大的内存,耗时十分严重,难以完成检测任务。
4.因此有人提出采用区域分割来将原始图像分成若干组小图像,然后输入目标检测网络进行批量目标检测,得到每个所述小图像的检测结果,最后将小图像的预测结果进行组合得到所述待检测图像的目标检测结果,然而这些方法都增加了计算复杂度,同时检测精度也有所下降。


技术实现要素:

5.为了克服现有技术的不足,本发明提供一种图像目标检测方法、装置和设备,以解决现有技术在检测大图像是增加计算复杂度,检测精度不高的问题。
6.本发明解决其技术问题所采用的技术方案是:
7.第一方面,
8.一种图像目标检测方法,包括以下步骤:
9.获取待检测图像;
10.将所述待检测图像进行缩小处理;
11.在缩小后的待检测图像中获取目标位置;
12.将所述目标位置映射回所述待检测图像得到在待检测图像中的目标原始位置。
13.进一步地,所述将所述待检测图像进行缩小处理包括:
14.确定所述缩小后的待检测图像和所述待检测图像的缩放比例;
15.将所述缩小后的待检测图像和所述待检测图像的对齐,根据所述缩放比例对待检测图像进行变换,以得到缩小后的待检测图像的像素点坐标;
16.采用双线性差值计算所述缩小后的待检测图像的每个像素点的像素值,以便得到缩小后的待检测图像。
17.进一步地,所述将所述缩小后的待检测图像和所述待检测图像的对齐,根据所述缩放比例对待检测图像进行变换包括:
18.srcx=dstx(srcwidth/dstwidth)+0.5(srcwidth/dstwidth

1)
19.srcy=dsty(srcheight/dstheight)+0.5(srcheight/dstheight

1)
20.其中,srcwidth是缩小后的待检测图像的宽,srcheight是缩小后的待检测图像的高,srcx是缩小后的待检测图像的x坐标,srcy是缩小后的待检测图像的y坐标,dstwidth是待检测图像的宽,dstheight是待检测图像的高,dstx是待检测图像的x坐标,dsty是待检测图像的y坐标。
21.进一步地,所述采用双线性差值计算所述缩小后的待检测图像的每个像素点的像素值包括:
22.在x方向上进行两次线性差值,公式如下:
[0023][0024][0025]
在y方向进行一次线性差值,公式如下:
[0026][0027]
联立三个公式计算得到缩小后的待检测图像中每个点的像素值;
[0028]
其中,f(x,y)是待检测图像上任意一个点的坐标,f(x0,y0),f(x1,y1),f(x0,y1),f(x1,y0)是待检测图像中的四个点的坐标,f(x0,y0),f(x1,y1),f(x0,y1),f(x1,y0)四个点确定一个矩形。
[0029]
进一步地,所述在缩小后的待检测图像中获取目标位置包括:
[0030]
将缩小后的待检测图像输入到预训练的目标网络检测模型中得到在缩小后的待检测图像中的目标位置。
[0031]
进一步地,所述将缩小后的待检测图像输入到预训练的目标网络检测模型中得到在缩小后的待检测图像中的目标位置包括:
[0032]
将所述缩小后的待检测图像输入到所述目标检测网络的骨干网络中得到所述缩小后的待检测图像的特征图;
[0033]
将所述特征图输入到rpn层中得到多个候选目标位置;
[0034]
将筛选后的候选目标位置输入到roi pooling层并经过分类和边框回归得到目标位置。
[0035]
进一步地,所述将所述目标位置映射回所述待检测图像得到在待检测图像中的目标原始位置包括:
[0036]
将所述目标位置输入到所述目标检测网络中的图像映射层得到在待检测图像中的目标原始位置。
[0037]
进一步地,所述将所述目标位置映射回所述待检测图像得到在待检测图像中的目标原始位置包括:
[0038]
将所述目标位置输入到预训练的图像映射模型中得到在待检测图像中的目标原始位置。
[0039]
第二方面,
[0040]
一种图像目标检测装置,包括:
[0041]
图像获取模块,用于获取待检测图像;
[0042]
图像缩小模块,用于将所述待检测图像进行缩小处理;
[0043]
目标位置获取模块,用于在缩小后的待检测图像中获取目标位置;
[0044]
图像映射模块,用于将所述目标位置映射回所述待检测图像得到在待检测图像中的目标原始位置。
[0045]
第三方面,
[0046]
一种图像目标检测设备,包括:
[0047]
处理器;以及,
[0048]
用于存储所述处理器可执行指令的存储器;
[0049]
所述处理器被配置为用于执行上述技术方案中所述的方法。
[0050]
本技术采用以上技术方案,至少具备以下有益效果:
[0051]
本技术技术方案提供了一种图像目标检测方法、装置和设备,在获取待检测图像之后,首先对待检测图像进行缩小处理,然后在缩小后的待检测图像中获取目标位置;由于此时输入的图像缩小了,因此获取目标位置无需占用太大内存,也大大降低了获取目标位置的计算量;获取目标位置后根据目标位置映射回原来的待检测图像;这样能够在原来的待检测图像中精准的找到目标原始位置,检测精度不会降低,能够在原来的待检测图像中找到目标原始位置。
附图说明
[0052]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0053]
图1是本发明实施例提供的一种图像目标检测方法流程图;
[0054]
图2是本发明实施例提供的一种目标检测网络结构流程图;
[0055]
图3是本发明实施例提供的一种图像目标检测装置结构图;
[0056]
图4是本发明实施例提供的一种图像目标检测设备结构图。
具体实施方式
[0057]
为使本技术的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明的技术方案进行详细的描述说明。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本技术所保护的范围。
[0058]
参照图1,本发明实施例提供了一种图像目标检测方法,包括以下步骤:
[0059]
获取待检测图像;
[0060]
缩小待检测图像;
[0061]
在缩小后的待检测图像中获取目标位置;
[0062]
将目标位置映射回待检测图像得到在待检测图像中的目标原始位置。
[0063]
本发明实施例提供的一种图像目标检测方法,在获取待检测图像之后,首先对待
检测图像进行缩小处理,然后在缩小后的待检测图像中获取目标位置;由于此时输入的图像缩小了,因此获取目标位置无需占用太大内存,也大大降低了获取目标位置的计算量;获取目标位置后根据目标位置映射回原来的待检测图像;这样能够在原来的待检测图像中精准的找到目标原始位置,检测精度不会降低,能够在原来的待检测图像中找到目标原始位置。
[0064]
作为对上述发明实施例的一种补充说明,缩小待检测图像包括:
[0065]
确定缩小后的待检测图像和待检测图像的缩放比例;
[0066]
将缩小后的待检测图像和待检测图像的对齐,根据缩放比例对待检测图像进行变换,以得到缩小后的待检测图像的像素点坐标;转换公式如下:
[0067]
srcx=dstx(srcwidth/dstwidth)+0.5(srcwidth/dstwidth

1)
[0068]
srcy=dsty(srcheight/dstheight)+0.5(srcheight/dstheight

1)
[0069]
其中,srcwidth是缩小后的待检测图像的宽,srcheight是缩小后的待检测图像的高,srcx是缩小后的待检测图像的x坐标,srcy是缩小后的待检测图像的y坐标,dstwidth是待检测图像的宽,dstheight是待检测图像的高,dstx是待检测图像的x坐标,dsty是待检测图像的y坐标。
[0070]
采用双线性差值计算缩小后的待检测图像的每个像素点的像素值,以便得到缩小后的待检测图像。示例性的,在x方向上进行两次线性差值,公式如下:
[0071][0072][0073]
在y方向进行一次线性差值,公式如下:
[0074][0075]
联立三个公式得到:
[0076][0077]
根据该公式能够计算得到缩小后的待检测图像中每个点的像素值;最终得到整幅缩小后的待检测图像。
[0078]
其中,f(x,y)是待检测图像上任意一个点的坐标,f(x0,y0),f(x1,y1),f(x0,y1),f(x1,y0)是待检测图像中的四个点的坐标,f(x0,y0),f(x1,y1),f(x0,y1),f(x1,y0)四个点确定一个矩形。
[0079]
作为本发明实施例一种可选的实现方式,在缩小后的待检测图像中获取目标位置包括:
[0080]
将缩小后的待检测图像输入到预训练的目标网络检测模型中得到在缩小后的待检测图像中的目标位置。进一步地,将缩小后的待检测图像输入到目标检测网络的骨干网络中得到缩小后的待检测图像的特征图;将特征图输入到rpn层中得到多个候选目标位置;将筛选后的候选目标位置输入到roi pooling层并经过分类和边框回归得到目标位置。
[0081]
不同的目标检测网络操作流程相似,这里以faster_rcnn二阶段目标检测网络为
例,如图2所示,骨干网络选择resnet101,将缩放图像(即本发明实施例中的缩小后的待检测图像,下同)输入到骨干网络中,经过卷积与池化操作得到每一幅图像的特征图,将特征图输入到rpn和roi pooling层中。在rpn层中,设置滑动窗口实现候选窗口的提取,每个滑动窗口位置生成9个候选窗口(不同尺度、不同宽高),提取对应9个候选窗口(anchor)的特征,用于目标分类和边框回归。
[0082]
在rpn层中,对于每一个位置,通过两个全连接层(目标分类+边框回归)对每个候选窗口anchor(即本技术中的候选目标位置)进行判断并且结合概率值进行舍弃,没有显式地提取任何候选窗口,完全使用网络自身完成判断和修正。训练时,对所有的anchors分类为两种类别。与ground

truth object边界框的iou(intersection over union)大于0.5的anchors作为foreground;小于0.1的作为background。对于边框回归层,每个anchor输出4个预测值:δxcenter、δycenter、δwidth、δheight,即用于anchors来得到最终的proposals。
[0083]
由于anchors一般是有重叠的overlap,相同object的proposals也存在重叠。为了解决重叠proposals问题,我们采用nms算法处理,丢弃与一个score更高的并且iou大于预设阈值的proposals。
[0084]
rpn处理后,可以得到一堆没有分类分数的object proposals。把建议窗口映射到cnn的最后一层卷积feature map上;通过roi pooling层使每个roi生成固定尺寸的feature map;利用softmax loss(探测分类概率)和smooth l1 loss(探测边框回归)对分类概率和边框回归(bounding box regression)联合训练。r

cnn有两个不同的输出:对每个proposal分类,其中类别包括一个background类(用于去除不良proposals);根据预测的类别class,更好的调整proposal边界框。通过rpn层与roi pooling层的作用,输出目标位置,示例性的,包括中心横坐标x,中心纵坐标y,宽度width,高度height。
[0085]
可以理解的是,本发明实施例中的目标位置并不是单纯的一个点的位置,而是包含目标在内的矩形框的位置。
[0086]
如图2所示,在回归边界框函数层后加上图像映射层,根据输出的参数x,y,width,height,根据转换公式(见上文转换公式)将缩放图像中的边界框坐标重新映射回原始图像(即本技术中的待检测图像),得到最终的目标检测区域。
[0087]
需要说明的是,上述实施例中图像映射层属于目标检测网络的一部分,这样整体算法运行时间短。
[0088]
可以理解的是,本发明实施例还可以根据坐标之间的关系重新训练一个图像映射模型,将缩放图像中的边界框坐标重新映射回原始图像,得到最终的目标检测区域。
[0089]
本发明实施例提供的图像目标检测方法,通过对图像进行缩小,计算前后缩放比例,采用双线性插值计算待检测图像与缩小后的待检测图像的像素点,让待检测图像和缩小后的待检测图像的中心对齐,减少目标检测网络的计算量,同时将目标位置按照缩放比例映射回待检测图像,能够准确测得目标原始位置,并加快目标检测网络的运算速度。
[0090]
一个实施例中,本发明提供一种图像目标检测装置,如图3所示,包括:
[0091]
图像获取模块31,用于获取待检测图像;
[0092]
图像缩小模块32,用于缩小待检测图像;具体地,图像缩小模块32确定缩小后的待检测图像和待检测图像的缩放比例;将缩小后的待检测图像和待检测图像的对齐,根据缩
放比例对待检测图像进行变换,以得到缩小后的待检测图像的像素点坐标;采用双线性差值计算缩小后的待检测图像的每个像素点的像素值,以便得到缩小后的待检测图像。
[0093]
其中,将缩小后的待检测图像和待检测图像的对齐,根据缩放比例对待检测图像进行变换包括:
[0094]
srcx=dstx(srcwidth/dstwidth)+0.5(srcwidth/dstwidth

1)
[0095]
srcy=dsty(srcheight/dstheight)+0.5(srcheight/dstheight

1)
[0096]
其中,srcwidth是缩小后的待检测图像的宽,srcheight是缩小后的待检测图像的高,srcx是缩小后的待检测图像的x坐标,srcy是缩小后的待检测图像的y坐标,dstwidth是待检测图像的宽,dstheight是待检测图像的高,dstx是待检测图像的x坐标,dsty是待检测图像的y坐标。
[0097]
作为本发明实施例一种可选的实现方式,采用双线性差值计算缩小后的待检测图像的每个像素点的像素值包括:在x方向上进行两次线性差值,公式如下:
[0098][0099][0100]
在y方向进行一次线性差值,公式如下:
[0101][0102]
联立三个公式计算得到缩小后的待检测图像中每个点的像素值;其中,f(x,y)是待检测图像上任意一个点的坐标,f(x0,y0),f(x1,y1),f(x0,y1),f(x1,y0)是待检测图像中的四个点的坐标,f(x0,y0),f(x1,y1),f(x0,y1),f(x1,y0)四个点确定一个矩形。
[0103]
目标位置获取模块33,用于在缩小后的待检测图像中获取目标位置;具体地,目标位置获取模块33将缩小后的待检测图像输入到预训练的目标网络检测模型中得到在缩小后的待检测图像中的目标位置。进一步地,将缩小后的待检测图像输入到目标检测网络的骨干网络中得到缩小后的待检测图像的特征图;将特征图输入到rpn层中得到多个候选目标位置;
[0104]
图像映射模块34,用于将目标位置映射回待检测图像得到在待检测图像中的目标原始位置。
[0105]
一个实施例中,图像映射模块将目标位置映射回待检测图像得到在待检测图像中的目标原始位置包括:将筛选后的候选目标位置输入到roi pooling层并经过分类和边框回归得到目标位置。
[0106]
另一个实施例中,图像映射模块将目标位置映射回待检测图像得到在待检测图像中的目标原始位置包括:
[0107]
将目标位置输入到预训练的图像映射模型中得到在待检测图像中的目标原始位置。
[0108]
本发明实施例提供的一种图像目标检测装置,像获取模块获取待检测图像;图像缩小模块缩小待检测图像;目标位置获取模块,在缩小后的待检测图像中获取目标位置;图像映射模块将目标位置映射回待检测图像得到在待检测图像中的目标原始位置。本发明实
施例提供的装置先通过图像缩小模块对待检测图像进行缩小处理;然后目标位置获取模块在缩小后的待检测图像中获取目标位置,这样获取目标位置时大大降低了计算复杂度,最后图像映射模块根据目标位置映射回待检测图像,通过映射回原待检测图像,又可以在原待检测图像中精确的找到目标原始位置。
[0109]
一个实施例中,本发明还提供图像目标检测设备,如图4所示,包括:
[0110]
处理器41;以及,
[0111]
用于存储处理器41可执行指令的存储器42;
[0112]
处理器41被配置为用于执行上述发明实施例中提供的图像目标检测方法。
[0113]
本发明实施例提供的图像目标检测设备,通过存储器存储处理器的可执行指令;处理器根据存储器存储的指令执行图像目标检测方法。根据该图像目标检测方法,本发明实施例的设备能够快速精确的得到图像中的目标原始位置。
[0114]
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
[0115]
需要说明的是,在本技术的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本技术的描述中,除非另有说明,“多个”的含义是指至少两个。
[0116]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
[0117]
应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0118]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0119]
此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0120]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0121]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0122]
尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1