发明内容
本发明实施例提供一种手骨分类方法及装置,用以识别骨龄片中手骨图像的类型,且提高识别准确率。
本发明实施例提供的一种手骨分类方法,包括:
获取手骨图像;
将所述手骨图像输入至第一分类模型,确定所述手骨图像的第一手骨类型;
将翻转后的所述手骨图像输入至所述第一分类模型,确定所述手骨图像的第二手骨类型;
根据所述第一手骨类型和所述第二手骨类型,确定所述手骨图像的手骨类型;
所述第一分类模型是以预先标记有手骨类型的手骨图像为训练样本,对深度残差网络进行训练后确定的。
上述技术方案中,以预先标记有手骨类型的多张手骨图像为训练样本,对深度残差网络进行训练后确定第一分类模型,然后采用第一分类模型确定手骨图像的第一手骨类型和第二手骨类型,进而确定手骨图像的手骨类型,该种方式无需拍摄者人工识别拍摄的手骨图像是否为符合规范的图像,减少拍摄者的工作量,且可以有效识别出手骨图像的手骨类型。通过将手骨图像正面输入以及反面输入,提高第一分类模型对手骨类型识别的准确性。
可选的,所述获取手骨图像,包括:
对骨龄片进行二值化处理;
将二值化处理后的骨龄片中的第一图像进行膨胀腐蚀操作;
通过漫水法从膨胀腐蚀操作后的第一图像中提取多个连通块;将所述多个连通块中除面积最大的连通块以外的连通块删除,以及将所述面积最大的连通作为所述骨龄片中的第二图像;
将所述骨龄片中的第二图像进行膨胀操作;
根据所述骨龄片中膨胀操作之后的第二图像,将所述膨胀操作之后的骨龄片与所述二值化处理之前的骨龄片做点乘操作,得到所述手骨图像。
上述技术方案中,对骨龄片进行预先处理获取到手骨图像,通过二值化、膨胀腐蚀、漫水法等操作,可以有效将骨龄片中拍摄到的异物排除掉,获取到的手骨图像输入至第一分类模型,可以避免由于拍摄原因造成的分类不准确的问题。
可选的,在所述将所述手骨图像输入至第一分类模型之前,还包括:
将所述手骨图像输入至第二分类模型,确定所述手骨图像的分类角度;所述分类角度用于指示所述手骨图像相比于预设角度所偏移的角度;所述第二分类模型是以预先标记有分类角度的多个手骨图像为训练样本,对深度残差网络进行训练后确定的;
根据所述手骨图像的分类角度,将所述手骨图像旋转至所述预设角度。
上述技术方案中,将手骨图像输入至第二分类模型,进而获取到正位的(偏移角度小于预设值)手骨图像,再将正位的手骨图像输入至第一分类模型时,可以保障第一分类模型输出结果的准确率。
可选的,所述手骨类型包括左手类型、右手类型;
所述根据所述第一手骨类型和所述第二手骨类型,确定所述手骨图像的手骨类型,包括:
判断所述第一手骨类型和所述第二手骨类型是否一致,若是,则在确定所述第一手骨类型的置信度大于所述第二手骨类型的置信度后,确定所述手骨类型为所述第一手骨类型;或在确定所述第一手骨类型的置信度小于所述第二手骨类型的置信度后,确定所述手骨类型为与所述第一手骨类型相反的手骨类型;
否则,确定所述手骨类型为所述第一手骨类型。
可选的,还包括:
若确定所述第一手骨类型和所述第二手骨类型不一致,则将所述手骨类型确定为所述第一手骨类型。
可选的,所述手骨类型还包括非手类型;
所述根据所述第一手骨类型和所述第二手骨类型,确定所述手骨图像的手骨类型,还包括:
若确定所述第一手骨类型和所述第二手骨类型均为非手类型则确定所述手骨类型为非手类型;
否则,在确定所述第一手骨类型为非手类型后,确定所述手骨类型为与所述第二手骨类型相反的手骨类型;在确定所述第二手骨类型为非手类型后,确定所述手骨类型为所述第一手骨类型。
上述技术方案中,充分考虑手骨图像正面和反面的特性,以及左手、右手、非手的特性,根据第一手骨类型和第二手骨类型,确定手骨图像的手骨类型,提高了手骨类型识别的准确性。
相应的,本发明实施例还提供了一种手骨分类装置,包括:
获取单元,用于获取手骨图像;
处理单元,用于将所述手骨图像输入至第一分类模型,确定所述手骨图像的第一手骨类型;
所述处理单元,还用于将翻转后的所述手骨图像输入至所述第一分类模型,确定所述手骨图像的第二手骨类型;根据所述第一手骨类型和所述第二手骨类型,确定所述手骨图像的手骨类型;
所述第一分类模型是以预先标记有手骨类型的手骨图像为训练样本,对深度残差网络进行训练后确定的。
可选的,所述获取单元具体用于:
对骨龄片进行二值化处理;
将二值化处理后的骨龄片中的第一图像进行膨胀腐蚀操作;
通过漫水法从膨胀腐蚀操作后的第一图像中提取多个连通块;将所述多个连通块中除面积最大的连通块以外的连通块删除,以及将所述面积最大的连通作为所述骨龄片中的第二图像;
将所述骨龄片中的第二图像进行膨胀操作;
根据所述骨龄片中膨胀操作之后的第二图像,将所述膨胀操作之后的骨龄片与所述二值化处理之前的骨龄片做点乘操作,得到所述手骨图像。
可选的,所述处理单元,还用于:
在所述将所述手骨图像输入至第一分类模型之前,将所述手骨图像输入至第二分类模型,确定所述手骨图像的分类角度;所述分类角度用于指示所述手骨图像相比于预设角度所偏移的角度;所述第二分类模型是以预先标记有分类角度的多个手骨图像为训练样本,对深度残差网络进行训练后确定的;
根据所述手骨图像的分类角度,将所述手骨图像旋转至所述预设角度。
可选的,所述手骨类型包括左手类型、右手类型;
所述处理单元,具体用于:
判断所述第一手骨类型和所述第二手骨类型是否一致,若是,则在确定所述第一手骨类型的置信度大于所述第二手骨类型的置信度后,确定所述手骨类型为所述第一手骨类型;或在确定所述第一手骨类型的置信度小于所述第二手骨类型的置信度后,确定所述手骨类型为与所述第一手骨类型相反的手骨类型;
否则,确定所述手骨类型为所述第一手骨类型。
可选的,所述处理单元,还用于:
若确定所述第一手骨类型和所述第二手骨类型不一致,则将所述手骨类型确定为所述第一手骨类型。
可选的,所述手骨类型还包括非手类型;
所述处理单元,还用于:
若确定所述第一手骨类型和所述第二手骨类型均为非手类型则确定所述手骨类型为非手类型;
否则,在确定所述第一手骨类型为非手类型后,确定所述手骨类型为与所述第二手骨类型相反的手骨类型;在确定所述第二手骨类型为非手类型后,确定所述手骨类型为所述第一手骨类型。
相应的,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述手骨分类方法。
相应的,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述手骨分类方法。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例提供的一种手骨分类方法的流程,该流程可以由手骨分类装置执行。
如图1所示,该流程具体包括:
步骤101,获取手骨图像;
步骤102,将手骨图像输入至第一分类模型,确定手骨图像的第一手骨类型;
步骤103,将翻转后的手骨图像输入至第一分类模型,确定手骨图像的第二手骨类型;
步骤104,根据第一手骨类型和第二手骨类型,确定手骨图像的手骨类型。
第一分类模型是以预先标记有手骨类型的多张手骨图像为训练样本,对深度残差网络进行训练后确定的。模型训练过程中的训练样本为已经标记好手骨类型的手骨图像,手骨类型可以包括左手类型、右手类型和非手类型,其中,左手类型对应的手骨图像即拍摄有左手手骨的手骨图像,右手类型对应的手骨图像即拍摄有右手手骨的手骨图像,非手类型对应的手骨图像即拍摄有不是手骨的手骨图像,也可以说是非手骨图像,非手骨图像可以是拍摄有手臂、脚部等非手部位的图像。
本发明实施例中,可以对模型训练过程中的训练样本进行数据增强,数据增强的方法包括但不限于:
1、随机旋转一定角度。
2、随机上下左右平移0~30像素。
3、随机缩放0.85~1.15倍。
4、对图像对比度和亮度进行少量抖动。
5、通过对正常数据进行裁剪、部分旋转、粘贴,获得更多异常数据。
在对模型进行训练过程中,获取多张手骨图像,然后人工标记手骨图像的手骨类型,然后将标记好的手骨图像输入深度残差网络进行训练,当深度残差网络的目标函数满足预设条件时,确定调整模型。具体的,将标记有手骨类型的手骨图像的正面输入至深度残差网络,第一次输出手骨类型;将该同一张手骨图像翻转后,即将该手骨图像的反面再次输入至深度残差网络,第二次输出手骨类型。结合两次输出的手骨类型和该手骨图像已被标记的手骨类型,对该训练模型进行调整。
在对模型进行训练过程中,可以加入一个训练矩阵,该训练矩阵用于增强模型的准确性。该训练矩阵可以如下所示,其中,矩阵中的“大”表示置信度大,以矩阵的第二行第二列为例,表示正面是左手类型,反面是左手类型,则确定此时正面是左手类型和反面是左手类型的置信度哪一个大一些,并以哪一个为依据。
结合上述训练矩阵,对模型训练过程中的多种情况说明如下,且在确定出手骨图像的手骨类型后,进一步根据该手骨图像被人工标记的手骨类型,对深度残差网络进行调整。
情况一:两次输出的手骨类型不同,且没有非手类型。
将手骨图像的正面输入至深度残差网络,第一次输出的手骨类型为左手类型;将该手骨图像的反面再次输入至深度残差网络,第二次输出手骨类型为右手类型,则确定该手骨图像为左手类型;
将手骨图像的正面输入至深度残差网络,第一次输出的手骨类型为右手类型;将该手骨图像的反面再次输入至深度残差网络,第二次输出手骨类型为左手类型,则确定该手骨图像为右手类型。
情况二:两次输出的手骨类型相同,且均不为非手类型。
将手骨图像的正面输入至深度残差网络,第一次输出的手骨类型为左手类型;将该手骨图像的反面再次输入至深度残差网络,第二次输出手骨类型仍为左手类型,则根据两次输出的手骨类型的置信度进行确定。具体的,若第一次输出的手骨类型的置信度高于第二次输出的手骨类型的置信度,则确定该手骨图像为左手类型;若第一次输出的手骨类型的置信度低于第二次输出的手骨类型的置信度,则确定该手骨图像为右手类型。
将手骨图像的正面输入至深度残差网络,第一次输出的手骨类型为右手类型;将该手骨图像的反面再次输入至深度残差网络,第二次输出手骨类型仍为右手类型,则根据两次输出的手骨类型的置信度进行确定。具体的,若第一次输出的手骨类型的置信度高于第二次输出的手骨类型的置信度,则确定该手骨图像为右手类型;若第一次输出的手骨类型的置信度低于第二次输出的手骨类型的置信度,则确定该手骨图像为左手类型。
情况三:两次输出的手骨类型中仅存在一个非手类型。
将手骨图像的正面输入至深度残差网络,第一次输出的手骨类型为左手类型;将该手骨图像的反面再次输入至深度残差网络,第二次输出手骨类型为非手类型,则确定该手骨图像为左手类型。
将手骨图像的正面输入至深度残差网络,第一次输出的手骨类型为右手类型;将该手骨图像的反面再次输入至深度残差网络,第二次输出手骨类型为非手类型,则确定该手骨图像为右手类型。
将手骨图像的正面输入至深度残差网络,第一次输出的手骨类型为非手类型;将该手骨图像的反面再次输入至深度残差网络,第二次输出手骨类型为左手类型,则确定该手骨图像为右手类型。
将手骨图像的正面输入至深度残差网络,第一次输出的手骨类型为非手类型;将该手骨图像的反面再次输入至深度残差网络,第二次输出手骨类型为右手类型,则确定该手骨图像为左手类型。
情况四:两次输出的手骨类型均为非手类型。
将手骨图像的正面输入至深度残差网络,第一次输出的手骨类型为非手类型;将该手骨图像的反面再次输入至深度残差网络,第二次输出手骨类型仍为非手类型,则确定该手骨图像为非手类型。
结合上述模型训练过程可知,在步骤102和步骤103中分别确定出第一手骨类型和第二手骨类型之后,步骤104中,可以根据第一手骨类型和第二手骨类型确定手骨图像的手骨类型,此处的手骨类型可以只包括左手类型、右手类型,也可以同时包括左手类型、右手类型和非手类型。
一种可以实现的方式中,手骨类型包括左手类型、右手类型,则判断第一手骨类型和第二手骨类型是否一致,若是,则在确定第一手骨类型的置信度大于第二手骨类型的置信度后,确定手骨类型为第一手骨类型;或在确定第一手骨类型的置信度小于第二手骨类型的置信度后,确定手骨类型为与第一手骨类型相反的手骨类型;否则,确定手骨类型为第一手骨类型。
一种可以实现的方式中,手骨类型还包括左手类型、右手类型和非手类型;若确定第一手骨类型和第二手骨类型中均不存在非手类型,则判定方式和上述实现方式一致,若确定第一手骨类型和第二手骨类型中存在非手类型,则进行如下判定:若确定第一手骨类型和第二手骨类型均为非手类型则确定手骨类型为非手类型;否则,在确定第一手骨类型为非手类型后,确定手骨类型为与第二手骨类型相反的手骨类型;在确定第二手骨类型为非手类型后,确定手骨类型为第一手骨类型。
上述手骨分类的确定方法中,根据第一手骨类型和第二手骨类型确定手骨图像的手骨类型的实现过程与第一分类模型的训练过程中的情况一、情况二、情况三、情况四类似,不再赘述。
本发明实施例中,手骨图像可以是对待检测用户的骨龄片进行预处理后确定的,骨龄片指的是采用X光拍摄的特定图像,通常拍摄人左手的X光片作为骨龄片,示例性地,如图2所示。
具体的预处理过程,可以结合图3进行说明。如图3(a)中,获取到待检测用户的骨龄片后,将该骨龄片进行二值化处理,该二值化处理可以是自适应直方图二值化算法,随后将二值化处理后的骨龄片进行闭操作,具体为将二值化处理后的骨龄片中的第一图像(高亮图像)进行膨胀腐蚀操作,可以如图3(b)、3(c)所示。然后通过漫水法(flood fill)从膨胀腐蚀操作后的第一图像中提取多个连通块,可以如图3(d)所示,并将多个连通块中除面积最大的连通块以外的连通块删除,以及将面积最大的连通块作为骨龄片中的第二图像,如图3(e)。再对骨龄片中的第二图像进行膨胀操作,如图3(f),并根据骨龄片中膨胀操作之后的第二图像,将膨胀操作之后的骨龄片与二值化处理之前的骨龄片做点乘操作,即将图3(f)与图3(a)做点乘操作,则得到如图3(j)所示的手骨图像。
此外,在将手骨图像输入至第一分类模型之前,还可以对手骨图像进行位置矫正,具体的,可以是偏移角度上的矫正。本发明实施例中,可以以预先标记有分类角度的多个手骨图像为训练样本,对深度残差网络进行训练并确定第二分类模型,该第二分类模型可以理解为角度分类模型。该第二分类模型的输出结果为分类角度,分类角度用于指示手骨图像相比于预设角度所偏移的角度。如图4所示,第二分类模型的输出结果可以有8个分类角度,依次对应0度、45度、90度...直到315度。
实现过程中,可以将手骨图像输入至第二分类模型,确定手骨图像的分类角度,再根据手骨图像的分类角度,将手骨图像旋转至预设角度。示例性的,确定手骨图像的分类角度为45度,则可以确定该手骨图像偏移预设角度45度,则可以将该手骨图像旋转-45度至预设角度。通过该方式可以将手骨图像旋转至正位上,实际操作中,正位可以理解成与预设角度(90度)之间夹角小于预设值的位置,如夹角小于22.5度,即当手骨图像处于(90度-22.5度)至(90度+22.5度)之间,即可以认为该手骨图像为正位。通过该方式,可以保障第一分类模型输出结果的准确率以及后续操作中的准确性。
上述技术方案中,以预先标记有手骨类型的多张手骨图像为训练样本,对深度残差网络进行训练后确定第一分类模型,然后采用第一分类模型确定手骨图像的第一手骨类型和第二手骨类型,进而确定手骨图像的手骨类型,该种方式无需拍摄者人工识别拍摄的手骨图像是否为符合规范的图像,减少拍摄者的工作量,且可以有效识别出手骨图像的手骨类型。通过将手骨图像正面输入以及反面输入,提高第一分类模型对手骨类型识别的准确性。
基于同一发明构思,图5示例性的示出了本发明实施例提供的一种手骨分类装置的结构,该装置可以执行手骨分类方法的流程。
该装置包括:
获取单元501,用于获取手骨图像;
处理单元502,用于将所述手骨图像输入至第一分类模型,确定所述手骨图像的第一手骨类型;
所述处理单元502,还用于将翻转后的所述手骨图像输入至所述第一分类模型,确定所述手骨图像的第二手骨类型;根据所述第一手骨类型和所述第二手骨类型,确定所述手骨图像的手骨类型;
所述第一分类模型是以预先标记有手骨类型的手骨图像为训练样本,对深度残差网络进行训练后确定的。
可选的,所述获取单元501具体用于:
对骨龄片进行二值化处理;
将二值化处理后的骨龄片中的第一图像进行膨胀腐蚀操作;
通过漫水法从膨胀腐蚀操作后的第一图像中提取多个连通块;将所述多个连通块中除面积最大的连通块以外的连通块删除,以及将所述面积最大的连通作为所述骨龄片中的第二图像;
将所述骨龄片中的第二图像进行膨胀操作;
根据所述骨龄片中膨胀操作之后的第二图像,将所述膨胀操作之后的骨龄片与所述二值化处理之前的骨龄片做点乘操作,得到所述手骨图像。
可选的,所述处理单元502,还用于:
在所述将所述手骨图像输入至第一分类模型之前,将所述手骨图像输入至第二分类模型,确定所述手骨图像的分类角度;所述分类角度用于指示所述手骨图像相比于预设角度所偏移的角度;所述第二分类模型是以预先标记有分类角度的多个手骨图像为训练样本,对深度残差网络进行训练后确定的;
根据所述手骨图像的分类角度,将所述手骨图像旋转至所述预设角度。
可选的,所述手骨类型包括左手类型、右手类型;
所述处理单元502,具体用于:
判断所述第一手骨类型和所述第二手骨类型是否一致,若是,则在确定所述第一手骨类型的置信度大于所述第二手骨类型的置信度后,确定所述手骨类型为所述第一手骨类型;或在确定所述第一手骨类型的置信度小于所述第二手骨类型的置信度后,确定所述手骨类型为与所述第一手骨类型相反的手骨类型;
否则,确定所述手骨类型为所述第一手骨类型。
所述处理单元502,还用于:
若确定所述第一手骨类型和所述第二手骨类型不一致,则将所述手骨类型确定为所述第一手骨类型。
可选的,所述手骨类型还包括非手类型;
所述处理单元502,还用于:
若确定所述第一手骨类型和所述第二手骨类型均为非手类型则确定所述手骨类型为非手类型;
否则,在确定所述第一手骨类型为非手类型后,确定所述手骨类型为与所述第二手骨类型相反的手骨类型;在确定所述第二手骨类型为非手类型后,确定所述手骨类型为所述第一手骨类型。
基于同一发明构思,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述手骨分类方法。
基于同一发明构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述手骨分类方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。