一种宠物脸关键点检测方法、装置、存储介质及设备
文献发布时间:2023-06-19 13:46:35
技术领域
本发明涉及宠物智能识别领域,具体而言,涉及一种宠物脸关键点检测方法、装置、存储介质及设备。
背景技术
随着宠物在人们日常生活中的占比越来越大,人们的日常生活照片中宠物出现的频率也越来越高,现有技术和软件会对图像中出现的人脸进行美化处理,比如美颜、贴纸等;而目前针对宠物脸的检测技术则很少或检测不准确。例如当需要使用软件对宠物的脸部进行分析时,则需要对宠物脸进行识别。
因此,在宠物脸检测技术方面,现有技术还有待于改进和发展。
发明内容
本发明实施例提供了一种宠物脸关键点检测方法、装置、存储介质及设备,通过对宠物脸进行校正后,能够有效提高宠物脸上关键点检测的准确率。
根据本发明的一实施例,提供了一种宠物脸关键点检测方法、装置、存储介质及设备,包括以下步骤:
从宠物图像库中选出标准宠物脸图像;
基于五官检测模型对目标宠物脸进行检测,得到目标宠物脸图像;
将目标宠物脸图像与标准宠物脸图像进行对比,得到偏移矩阵;
基于偏移矩阵对目标宠物脸图像进行校正;
通过关键点检测模型对校正后的目标宠物脸图像进行关键点检测,得到目标宠物图像的若干个关键点位置。
进一步地,在从宠物图像数据库中选出标准宠物脸图像之前还包括:
获取若干张宠物图像,基于宠物图像生成宠物图像库。
进一步地,在基于五官检测模型对目标宠物脸进行检测,得到目标宠物脸图像之前还包括:
对宠物图像库内的宠物图像进行标注,标注包括五官框标注和关键点标注;
将进行标注后的宠物图像分类为两个数据集,其中,将标注为五官框标注的宠物图像作为用于检测宠物五官的五官检测数据集,将标注为关键点标注的宠物图像作为用于检测宠物若干个关键点的关键点数据集。
进一步地,基于YOLOv4-tiny训练五官检测模型。
进一步地,基于ShuffleNetV2训练关键点检测模型。
一种宠物脸关键点检测装置,包括:
图像选取模块,用于从宠物图像库中选出标准宠物脸图像;
五官检测模型,用于对目标宠物脸进行检测,得到目标宠物脸图像;
对比模块,用于将目标宠物脸图像与标准宠物脸图像进行对比,得到偏移矩阵;
校正模块,用于基于偏移矩阵对目标宠物脸图像进行校正;
关键点检测模型,用于对校正后的目标宠物脸图像进行关键点检测,得到目标宠物图像的若干个关键点位置。
进一步地,装置还包括:
数据库生成模块,用于获取大量宠物图像,生成宠物图像库。
进一步地,在装置还包括:
标注模块,用于对宠物图像库内的宠物图像进行标注,标注包括五官框标注和关键点标注;
分类模块,用于将进行标注后的宠物图像分类为两个数据集,其中,将标注为五官框标注的宠物图像作为用于检测宠物五官的五官检测数据集,将标注为关键点标注的宠物图像作为用于检测宠物若干个关键点的关键点数据集。
一种计算机可读存储介质,计算机可读存储介质存储一个或多个程序,一个或多个程序可被一个或多个处理器执行,以实现宠物脸关键点检测方法中的步骤。
一种终端设备,包括:处理器、存储器及通信总线;存储器上存储有可被处理器执行的计算机可读程序;
通信总线实现处理器和存储器之间的连接通信;
处理器执行计算机可读程序时实现宠物脸关键点检测方法中的步骤。
本发明实施例中的基于一种宠物脸关键点检测方法、装置、存储介质及设备,方法包括:从宠物图像库中选出标准宠物脸图像;基于五官检测模型对目标宠物脸进行检测,得到目标宠物脸图像;将所述目标宠物脸图像与所述标准宠物脸图像进行对比,得到偏移矩阵;基于所述偏移矩阵对所述目标宠物脸图像进行校正;通过关键点检测模型对校正后的所述目标宠物脸图像进行关键点检测,得到所述目标宠物图像的若干个关键点位置。本发明通过在检测关键点之前,通过偏移矩阵对目标宠物脸图像进行校正,使得有效提检测高宠物脸的关键点的准确率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明宠物脸关键点检测方法的流程图;
图2为本发明宠物脸关键点检测方法的原理图;
图3为本发明宠物脸关键点检测方法的猫脸图像的五官框图;
图4为本发明宠物脸关键点检测方法的猫脸图像的关键点图;
图5为本发明提供的终端设备图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
参考图1,根据本发明一实施例,提供了一种宠物脸关键点检测方法,包括以下步骤:
S101:从宠物图像库中选出标准宠物脸图像;
S102:基于五官检测模型对目标宠物脸进行检测,得到目标宠物脸图像;
S103:将目标宠物脸图像与标准宠物脸图像进行对比,得到偏移矩阵;
S104:基于偏移矩阵对目标宠物脸图像进行校正;
S105:通过关键点检测模型对校正后的目标宠物脸图像进行关键点检测,得到目标宠物图像的若干个关键点位置。
本发明实施例中的基于一种宠物脸关键点检测方法,从宠物图像库中选出标准宠物脸图像;基于五官检测模型对目标宠物脸进行检测,得到目标宠物脸图像;将目标宠物脸图像与标准宠物脸图像进行对比,得到偏移矩阵;基于偏移矩阵对目标宠物脸图像进行校正;通过关键点检测模型对校正后的目标宠物脸图像进行关键点检测,得到目标宠物图像的若干个关键点位置。本发明通过在检测关键点之前,通过偏移矩阵对目标宠物脸图像进行校正,使得有效提检测高宠物脸的关键点的准确率。
实施例中,在从宠物图像数据库中选出标准宠物脸图像之前还包括:
获取若干张宠物图像,基于宠物图像生成宠物图像库。
具体地,首先可以通过摄像机进行拍摄或从网络数据孔库中收集大量的宠物图像,并将收集的宠物图像训练为宠物图像库,然后从收集的所有宠物脸图像中选出一张认为五官最好的猫脸作为标准猫脸图像。
实施例中,在基于五官检测模型对目标宠物脸进行检测,得到目标宠物脸图像之前还包括:
对宠物图像库内的宠物图像进行标注,标注包括五官框标注和关键点标注;
将进行标注后的宠物图像分类为两个数据集,其中,将标注为五官框标注的宠物图像作为用于检测宠物五官的五官检测数据集,将标注为关键点标注的宠物图像作为用于检测宠物若干个关键点的关键点数据集。
具体地,选出五官最好的宠物脸作为标准宠物脸图像后,将所有猫脸进行标注,包括五官框和若干个关键点标注;其中五官框标注包括对猫脸,耳朵、眼睛、鼻子及嘴巴的标注,本申请选择标记十五个关键点;然后,将标注的宠物脸图像形成两个数据集,一个数据集用来做宠物脸五官的检测,一个数据集用来做宠物脸关键点的检测。
如图3所示,以宠物猫的脸为例,对猫脸的眼睛、耳朵、嘴巴、鼻及整个猫脸进行标注,即五官框;如图4所示,猫脸上的十五个关键点分别为:1-左眼、2-右眼、3-左鼻孔、4-右鼻孔、5-猫人中(猫的鼻子与嘴巴之间的点)、6-嘴左侧、7-嘴右侧、8-下巴、9-左耳下、10-左耳朵、11-左额头、12-额头、13-右额头、14-右耳朵、15-右耳下。
实施例中,基于YOLOv4-tiny训练五官检测模型。本申请基于YOLOv4-tiny训练一个宠物脸的五官检测模型,用来检测宠物脸脸;
需要说明的是,之所以加上五官是为了提高宠物脸检测框的准确性;例如,可以定义必须有眼睛的前提才能判断为猫脸以防止误检。
进一步地,根据除了宠物脸的其它部位,动态调节宠物脸框的大小和位置,使得宠物框能够最大限度的包括整个猫脸,不至于缺失,以保证后续关键点检测的准确。
实施例中,基于ShuffleNetV2训练关键点检测模型。
具体地,基于ShuffleNetV2训练一种轻量且稳定的宠物脸关键点检测模型,也可以将模型转为onnx模型,以加快模型推理速度。
具体地,本实施例中,以宠物猫为例进行说明:
步骤一:收集大量的猫脸图像。
步骤二:从收集的所有猫脸图像中选出五官最好的猫脸作为标准猫脸图像。
步骤三:对所有图像中的猫脸进行标注,包括上述的五官框和十五个个关键点标注,然后形成两个数据集,一个用来做猫五官检测,一个用来做猫脸关键点检测。
步骤四:通过YOLOv4-tiny训练的猫五官检测模型来检测猫脸,以得出目标猫脸图像;
具体地,之所以加上对猫脸五官的检测是为了提高猫脸检测框的准确性;另外,根据除了猫脸的其它部位,态调节猫脸框的大小和位置,使得猫脸框能够最大限度包括整个猫脸,不至于缺失,以保证后续关键点检测的准确。
步骤五:将检测出的目标猫脸图像和标准猫脸图像进行比对,得到偏移矩阵;
步骤六:基于偏移矩阵对目标猫脸图像进行校正,得到校正后的目标猫脸图像。
步骤七:通过ShuffleNetV2训练的猫脸关键点检测模型对校正后的目标猫脸图像,得到十五个猫脸关键点的位置。
另外,为了加快猫脸关键点检测模型推理速度,也可以将模型转为onnx模型进行猫脸图像的关键点检测。
参见图2,根据本发明一实施例,提供了一种宠物脸关键点检测装置,包括:
图像选取模块100,用于从宠物图像库中选出标准宠物脸图像;
五官检测模型200,用于对目标宠物脸进行检测,得到目标宠物脸图像;
对比模块300,用于将目标宠物脸图像与标准宠物脸图像进行对比,得到偏移矩阵;
校正模块400,用于基于偏移矩阵对目标宠物脸图像进行校正;
关键点检测模型500,用于对校正后的目标宠物脸图像进行关键点检测,得到目标宠物图像的若干个关键点位置。
本发明实施例中的基于一种宠物脸关键点检测装置,装置包括:图像选取模块100,用于从宠物图像库中选出标准宠物脸图像;五官检测模型200,用于基于五官检测模型对目标宠物脸进行检测,得到目标宠物脸图像;对比模块300,用于将目标宠物脸图像与标准宠物脸图像进行对比,得到偏移矩阵;校正模块400,用于基于偏移矩阵对目标宠物脸图像进行校正;关键点检测模型500,用于对校正后的目标宠物脸图像进行关键点检测,得到目标宠物图像的若干个关键点位置。本发明通过在检测关键点之前,通过偏移矩阵对目标宠物脸图像进行校正,使得有效提检测高宠物脸的关键点的准确率。
实施例中,装置还包括:
数据库生成模块,用于获取大量宠物图像,生成宠物图像库。
具体地,首先可以通过摄像机进行拍摄或从网络数据孔库中收集大量的宠物图像,并将收集的宠物图像训练为宠物图像库,然后从收集的所有宠物脸图像中选出一张认为五官最好的猫脸作为标准猫脸图像。
实施例中,在装置还包括:
标注模块,用于对宠物图像库内的宠物图像进行标注,标注包括五官框标注和关键点标注;
分类模块,用于将进行标注后的宠物图像分类为两个数据集,其中,将标注为五官框标注的宠物图像作为用于检测宠物五官的五官检测数据集,将标注为关键点标注的宠物图像作为用于检测宠物若干个关键点的关键点数据集。
具体地,如图3和图4所示,选出五官最好的宠物脸作为标准宠物脸图像后,将所有猫脸进行标注,包括五官框和若干个关键点标注;其中五官框标注包括对猫脸,耳朵、眼睛、鼻子及嘴巴的标注,本申请选择标记十五个关键点;然后,将标注的宠物脸图像形成两个数据集,一个数据集用来做宠物脸五官的检测,一个数据集用来做宠物脸关键点的检测。
基于上述宠物脸关键点检测方法,本实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例的宠物脸关键点检测方法中的步骤。
基于上述宠物脸关键点检测方法,本申请还提供了一种扫码设备,如图5所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的宠物脸关键点检测方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。
此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
- 一种宠物脸关键点检测方法、装置、存储介质及设备
- 一种人脸关键点检测方法、装置、计算机设备和存储介质