发明内容
为克服相关技术中存在的问题,本发明提供一种基于动态滑动窗口的微小目标检测方法和装置,从而实现对微小物体的识别。
根据本发明实施例的第一方面,提供一种基于动态滑动窗口的微小目标检测方法,所述方法包括:
获取待识别图像;
基于动态滑动窗口将所述待识别图像分割成N*N大小的网格;
使用训练好的卷积神经网络分类模型对每个网格进行分类概率计算,以得到输出概率值;
根据每个网格生成对应的类激活图,并确定类驱动的显著性区域,以及显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量;
将所述输出概率值、显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量输入训练好的支持向量机分类器,以使所述支持向量机分类器确定网格所属类别,其中,网格的类别包括正常网格和异常网格,其中,正常网格中不包括微小目标,所述异常网格中包括至少一个微小目标。
在一个实施例中,优选地,所述卷积神经网络分类模型的训练过程包括:
获取巡航机器人采集的真实场景图像的训练集,并对训练集中的每个图像进行预处理;
基于动态滑动窗口将每个预处理后的图像分割成N*N大小的网格;
对每个网格进行标签化处理,其中,将包括微小目标的异常网格标签设置为0,将不包括微小目标的正常网格标签设置为1;
使用处理后的网格和梯度下降法对所述卷积神经网络分类模型进行训练,得到训练好的卷积神经网络分类模型。
在一个实施例中,优选地,所述支持向量机分类器的训练过程包括:
根据训练集中图像的每个网格生成对应的类激活图,并确定类驱动的显著性区域;
利用分割-合并抑制机制筛选显著性区域,以使每个显著性区域只归属于一个网格,并确定显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量;
利用所述训练集中的正常网格和异常网格,将所述输出概率值、显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量作为判别特征,训练得到所述支持向量机分类器。
在一个实施例中,优选地,确定类驱动的显著性区域,包括:
使用自适应阈值对所述类激活图进行二值化,其中,自适应阈值为127,将所述类激活图中像素值大于自适应阈值的区域确定为所述显著性区域。
在一个实施例中,优选地,所述方法还包括:
在确定类驱动的显著性区域之后,利用分割-合并抑制机制筛选显著性区域,以使每个显著性区域只归属于一个网格,其中,所述用分割-合并抑制机制包括:当多个网格对应的显著性区域为同一个显著性区域时,则抑制所述多个网格,并使所述显著性区域位于中心位置,当一个网格中有多个不相连的显著性区域时,在每个显著性区域的中心重新生成多个边界框,形成新的网格。
根据本发明实施例的第二方面,提供一种基于动态滑动窗口的微小目标检测装置,所述装置包括:
获取模块,用于获取待识别图像;
分割模块,用于基于动态滑动窗口将所述待识别图像分割成N*N大小的网格;
计算模块,用于使用训练好的卷积神经网络分类模型对每个网格进行分类概率计算,以得到输出概率值;
确定模块,用于根据每个网格生成对应的类激活图,并确定类驱动的显著性区域,以及显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量;
识别模块,用于将所述输出概率值、显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量输入训练好的支持向量机分类器,以使所述支持向量机分类器确定网格所属类别,其中,网格的类别包括正常网格和异常网格,其中,正常网格中不包括微小目标,所述异常网格中包括至少一个微小目标。
在一个实施例中,优选地,所述确定模块用于:
使用自适应阈值对所述类激活图进行二值化,其中,自适应阈值为127,将所述类激活图中像素值大于自适应阈值的区域确定为所述显著性区域。
在一个实施例中,优选地,所述装置还包括:
筛选模块,用于在确定类驱动的显著性区域之后,利用分割-合并抑制机制筛选显著性区域,以使每个显著性区域只归属于一个网格,其中,所述用分割-合并抑制机制包括:当多个网格对应的显著性区域为同一个显著性区域时,则抑制所述多个网格,并使所述显著性区域位于中心位置,当一个网格中有多个不相连的显著性区域时,在每个显著性区域的中心重新生成多个边界框,形成新的网格。
根据本发明实施例的第三方面,提供一种基于动态滑动窗口的微小目标检测装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取待识别图像;
基于动态滑动窗口将所述待识别图像分割成N*N大小的网格;
使用训练好的卷积神经网络分类模型对每个网格进行分类概率计算,以得到输出概率值;
根据每个网格生成对应的类激活图,并确定类驱动的显著性区域,以及显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量;
将所述输出概率值、显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量输入训练好的支持向量机分类器,以使所述支持向量机分类器确定网格所属类别,其中,网格的类别包括正常网格和异常网格,其中,正常网格中不包括微小目标,所述异常网格中包括至少一个微小目标。
根据本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现第一方面中任一项所述方法的步骤。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明实施例中,将待识别图像分割成多个网格,针对每个网格进行分类概率预测和显著性区域识别,进而根据多种判别特征确定网格种是否有微小目标,从而实现对微小特征的识别。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种基于动态滑动窗口的微小目标检测方法的流程图,如图1所示,该方法包括:
步骤S101,获取待识别图像;
步骤S102,基于动态滑动窗口将所述待识别图像分割成N*N大小的网格;其网格如图2所示。
步骤S103,使用训练好的卷积神经网络分类模型对每个网格进行分类概率计算,以得到输出概率值;
步骤S104,根据每个网格生成对应的类激活图,并确定类驱动的显著性区域,以及显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量;其中,输入待识别网格图像,根据训练好的卷积神经网络分类模型的最后一层卷积层的激活函数,使用可视化方法Grad-CAM生成每个网格对应的类激活图。
卷积神经网络的输出概率可以被看作是一个主要特征,并被广泛用于图像或网格分类。然而,特征不足以利用微小物体的固有纹理和形状信息。因此,专门为微小物体设计了更具代表性的判别特征。
显著性区域击中率指一个微小的物体被显著性区域击中的概率,这也是通用物体检测上的一个常见的聚集现象。直观地说,一个网格包含微小物体的概率与它被显著性区域击中的概率是正相关的。其中,显著性区域的击中率=击中一个微小物体的包含显著性区域的网格数量/击中该微小物体的所有网格的数量。
显著性区域覆盖率指网格中显著性区域的面积大小。由于微小的物体通常只占图像网格的小部分,检测到的显著性区域越大,就越有可能是背景或噪声。显著性区域覆盖率=显著性区域的面积/网格的面积。其中,网格的大小可以根据具体任务进行设定,一般是50*50像素点。
显著性区域数量指网格中包含显著性区域的数量。网格包含的显著性区域越多,包含微小物体的概率越大。
步骤S105,将所述输出概率值、显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量输入训练好的支持向量机分类器,以使所述支持向量机分类器确定网格所属类别,其中,网格的类别包括正常网格和异常网格,其中,正常网格中不包括微小目标,所述异常网格中包括至少一个微小目标。
如图3所示,在一个实施例中,优选地,所述卷积神经网络分类模型的训练过程包括:
步骤S301,获取巡航机器人采集的真实场景图像的训练集,并对训练集中的每个图像进行预处理;训练集图像来源于巡航机器人采集的真实场景数据,比如工厂内部环境,密集商场环境等。预处理技术包括标准的归一化预处理,去均值预处理,和高斯去模糊预处理、找圆心等预处理方法,使用RGB三通道。
步骤S302,基于动态滑动窗口将每个预处理后的图像分割成N*N大小的网格;
步骤S303,对每个网格进行标签化处理,其中,将包括微小目标的异常网格标签设置为0,将不包括微小目标的正常网格标签设置为1;
步骤S304,使用处理后的网格和梯度下降法对所述卷积神经网络分类模型进行训练,得到训练好的卷积神经网络分类模型。
其中,卷积神经网络分类模型含有两个卷积层,一个全连接层。使用梯度下降法进行分类模型的训练。在loss层添加样本均衡化处理,即对不同类别的样本数量取反比作为损失的权重。
如图4所示,在一个实施例中,优选地,所述支持向量机分类器的训练过程包括:
步骤S401,根据训练集中图像的每个网格生成对应的类激活图,并确定类驱动的显著性区域;
步骤S402,利用分割-合并抑制机制筛选显著性区域,以使每个显著性区域只归属于一个网格,并确定显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量;进行显著性区域的筛选可以生成更高质量的网格。
步骤S403,利用所述训练集中的正常网格和异常网格,将所述输出概率值、显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量作为判别特征,训练得到所述支持向量机分类器。
在一个实施例中,优选地,确定类驱动的显著性区域,包括:
使用自适应阈值对所述类激活图进行二值化,其中,自适应阈值为127,将所述类激活图中像素值大于自适应阈值的区域确定为所述显著性区域。
在该实施例中,通过使用二进制阈值法得到类驱动的显著性区域。具体来说,首先用127的自适应阈值对类激活图进行二值化。然后,通过一些拓扑操作对显著性区域的剩余部分进行后处理,这些操作参考了二进制地图法的一些后处理操作,以获得显著性区域的属性,如面积估计和开/关操作。最后,将最突出的显著性区域的属性保留给下一个分割-合并抑制步骤。
在一个实施例中,优选地,所述方法还包括:
在确定类驱动的显著性区域之后,利用分割-合并抑制机制筛选显著性区域,以使每个显著性区域只归属于一个网格,其中,所述用分割-合并抑制机制包括:当多个网格对应的显著性区域为同一个显著性区域时,则抑制所述多个网格,并使所述显著性区域位于中心位置,当一个网格中有多个不相连的显著性区域时,在每个显著性区域的中心重新生成多个边界框,形成新的网格。
如图5所示,如果多个网格撞上了同一个显著性区域,则抑制这些网格,并试图使显著性区域位于建议的中心位置。如果一个网格有多个不相连的显著性区域,可能来自不同的物体,就在每个显著性区域的中心重新生成多个边界框。
图6是根据一示例性实施例示出的一种基于动态滑动窗口的微小目标检测装置的框图。
如图6所示,根据本发明实施例的第二方面,提供一种基于动态滑动窗口的微小目标检测装置,所述装置包括:
获取模块61,用于获取待识别图像;
分割模块62,用于基于动态滑动窗口将所述待识别图像分割成N*N大小的网格;
计算模块63,用于使用训练好的卷积神经网络分类模型对每个网格进行分类概率计算,以得到输出概率值;
确定模块64,用于根据每个网格生成对应的类激活图,并确定类驱动的显著性区域,以及显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量;
识别模块65,用于将所述输出概率值、显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量输入训练好的支持向量机分类器,以使所述支持向量机分类器确定网格所属类别,其中,网格的类别包括正常网格和异常网格,其中,正常网格中不包括微小目标,所述异常网格中包括至少一个微小目标。
在一个实施例中,优选地,所述卷积神经网络分类模型的训练过程包括:
获取巡航机器人采集的真实场景图像的训练集,并对训练集中的每个图像进行预处理;
基于动态滑动窗口将每个预处理后的图像分割成N*N大小的网格;
对每个网格进行标签化处理,其中,将包括微小目标的异常网格标签设置为0,将不包括微小目标的正常网格标签设置为1;
使用处理后的网格和梯度下降法对所述卷积神经网络分类模型进行训练,得到训练好的卷积神经网络分类模型。
在一个实施例中,优选地,所述支持向量机分类器的训练过程包括:
根据训练集中图像的每个网格生成对应的类激活图,并确定类驱动的显著性区域;
利用分割-合并抑制机制筛选显著性区域,以使每个显著性区域只归属于一个网格,并确定显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量;
利用所述训练集中的正常网格和异常网格,将所述输出概率值、显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量作为判别特征,训练得到所述支持向量机分类器。
在一个实施例中,优选地,所述确定模块64用于:
使用自适应阈值对所述类激活图进行二值化,其中,自适应阈值为127,将所述类激活图中像素值大于自适应阈值的区域确定为所述显著性区域。
图7是根据一示例性实施例示出的另一种基于动态滑动窗口的微小目标检测装置的框图。
如图7所示,在一个实施例中,优选地,所述装置还包括:
筛选模块71,用于在确定类驱动的显著性区域之后,利用分割-合并抑制机制筛选显著性区域,以使每个显著性区域只归属于一个网格,其中,所述用分割-合并抑制机制包括:当多个网格对应的显著性区域为同一个显著性区域时,则抑制所述多个网格,并使所述显著性区域位于中心位置,当一个网格中有多个不相连的显著性区域时,在每个显著性区域的中心重新生成多个边界框,形成新的网格。
根据本发明实施例的第三方面,提供一种基于动态滑动窗口的微小目标检测装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取待识别图像;
基于动态滑动窗口将所述待识别图像分割成N*N大小的网格;
使用训练好的卷积神经网络分类模型对每个网格进行分类概率计算,以得到输出概率值;
根据每个网格生成对应的类激活图,并确定类驱动的显著性区域,以及显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量;
将所述输出概率值、显著性区域的击中率、显著性区域的覆盖率和显著性区域的数量输入训练好的支持向量机分类器,以使所述支持向量机分类器确定网格所属类别,其中,网格的类别包括正常网格和异常网格,其中,正常网格中不包括微小目标,所述异常网格中包括至少一个微小目标。
根据本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现第一方面中任一项所述方法的步骤。
进一步可以理解的是,本发明中“多个”是指两个或两个以上,其它量词与之类似。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
进一步可以理解的是,术语“第一”、“第二”等用于描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开,并不表示特定的顺序或者重要程度。实际上,“第一”、“第二”等表述完全可以互换使用。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
进一步可以理解的是,本发明实施例中尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。