图像识别方法、电子设备及可读存储介质
技术领域
本发明涉及医疗设备图像识别领域,尤其涉及一种图像识别方法、电子设备及可读存储介质。
背景技术
胃肠动力是指正常的胃肠蠕动以帮助完成食物消化和吸收的能力;当胃肠动力弱时,就可能引起消化不良。
现有技术中,通常通过胃肠标记物识别的方法判断胃肠动力的强弱,具体的,用户分次吞咽下不同形状标记物后,通过X射线拍摄获取的图像确定标记物的位置,进而判断胃肠动力强弱。
现有技术中,对于X光图像中标记物的位置和种类,通常通过人为辅助观察图像进行确定;然而,对于分次吞咽的不同形状的标记物,其显示在X光图像上的尺寸小,种类多,人为辅助观察的方式难以准确统计各种标记物的位置及数量,从而无法判断被检者的胃肠动力。
发明内容
为解决上述技术问题,本发明的目的在于提供一种图像识别方法、电子设备及可读存储介质。
为了实现上述发明目的之一,本发明一实施方式提供一种图像识别方法,所述方法包括:将原始图像分割为具有相同预定尺寸的多个单元图像,所述原始图像中分布若干标记物;
将所述单元图像输入预建立的神经网络模型进行处理,以对应每一单元图像中的标记物对应添加检测框,形成预检单元图像;所述检测框为围合所述标记物的最小矩形框;
按照每一单元图像在原始图像中的分割位置将多个预检单元图像拼接为一幅预输出图像;
判断预输出图像是否存在相邻的两个检测框中框选的标记物为同一标记物:
若是,将两个检测框进行合并;
若否,保留对应不同标记物的不同检测框;
直至确认为同一标记物的检测框均合并完成后,将带有检测框的图像进行输出;
其中,判断预输出图像是否存在相邻的两个检测框中框选的标记物为同一标记物具体包括:根据标记物种类的概率确认每个检测框中标记物的种类,若相邻的两个检测框中框选的标记物为同一种类,则根据相邻的两个检测框的坐标值确认框选的标记物是否为同一标记物。
作为本发明一实施方式的进一步改进,将原始图像分割为具有相同预定尺寸的多个单元图像过程时,所述方法还包括:
若分割过程中存在任一单元图像小于预定尺寸,则在单元图像形成之前对原始图像进行边缘像素值补充,或在单元图像形成之后,对尺寸小于预定尺寸的单元图像进行边缘像素值补充。
作为本发明一实施方式的进一步改进,所述神经网络模型的构建方法包括:对应每一单元图像采用卷积神经网络提取至少一个特征层;
提取特征层过程中,使用p个m*m的卷积核作为锚框的卷积预测器处理所述单元图像,p=(c1+c2)*k,其中,锚框为预设的长宽比不同的矩形框,m为奇数正整数,c1表示标记物种类的数量, k表示锚框的数量,c2为调整锚框的偏移参数的数量;所述检测框通过锚框进行大小变化获得。
作为本发明一实施方式的进一步改进,所述方法还包括:
根据标记物的种类及尺寸多次对单元图像做池化层处理得到对应的特征层。
作为本发明一实施方式的进一步改进,在根据标记物的种类及尺寸多次对单元图像做池化层处理得到对应的特征层过程中,所述方法包括:
在每次对单元图像进行池化层处理之前,均至少1次对所述单元图像做卷积层处理,且其卷积核大小相同。
作为本发明一实施方式的进一步改进,所述方法还包括:配置c2=4,调整锚框的偏移参数具体包括:左上角的横向偏移值和纵向偏移值,宽度的缩放倍数以及高度的缩放倍数。
作为本发明一实施方式的进一步改进,根据相邻的两个检测框的坐标值确认框选的标记物是否为同一标记物包括:
以原始图像的左上角为坐标原点建立直角坐标系,比较横向相邻的两个检测框的特征值的差值是否在阈值范围内,若是,则确认当前计算使用的两个检测框中框选的标记物为同一标记物;所述特征值为每一检测框的左上角坐标值和右下角坐标值。
作为本发明一实施方式的进一步改进,根据相邻的两个检测框的坐标值确认框选的标记物是否为同一标记物包括:
以原始图像的左上角为坐标原点建立直角坐标系,比较纵向相邻的两个检测框的特征值的差值是否在阈值范围内,若是,则确认当前计算使用的两个检测框中框选的标记物为同一标记物;所述特征值为每一检测框的左上角坐标值和右下角坐标值。
作为本发明一实施方式的进一步改进,将所述两个检测框进行合并,包括:
比较当前用于计算的两个检测框的左上角的坐标值,分别取其横坐标和纵坐标的最小值作为合并后的检测框的左上角坐标值;
比较所述两个检测框的右下角的坐标值,分别取其横坐标和纵坐标的最大值作为合并后的检测框的右下角坐标值。
为了解决上述发明目的之一,本发明一实施方式提供一种电子设备,包括存储器和处理器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述图像识别方法中的步骤。
为了解决上述发明目的之一,本发明一实施方式提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述图像识别方法中的步骤。
与现有技术相比,本发明的有益效果是:本发明的图像识别方法、电子设备及可读存储介质,原始图像通过神经网络模型自动处理添加检测框;进一步的,通过合并重复标识的检测框提高图像标识精确性,进而有效识别标记物在图像中的种类及位置,从而准确判断被检者的胃肠动力。
附图说明
图1是本发明一实施方式提供的图像识别方法的流程示意图;
图2是本发明一较佳实施方式的神经网络的结构示意图;
图3是对原始图像进行图1所示步骤S1至S3处理后的结果示意图;
图4是在图3的基础上进行图1所示步骤S4处理后的结果示意图。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
如图1所示,本发明第一实施方式中提供一种图像识别方法,所述方法包括:
S1、将原始图像分割为具有相同预定尺寸的多个单元图像,所述原始图像中分布若干标记物;
S2、将所述单元图像输入预建立的神经网络模型进行处理,以对应每一单元图像中的标记物对应添加检测框,形成预检单元图像;所述检测框为围合所述标记物的最小矩形框;
S3、按照每一单元图像在原始图像中的分割位置将多个预检单元图像拼接为一幅预输出图像;
S4、判断预输出图像是否存在相邻的两个检测框中框选的标记物为同一标记物:
若是,执行S5:将两个检测框进行合并;
若否,执行S6:保留对应不同标记物的不同检测框;
S7、直至确认为同一标记物的检测框均合并完成后,将带有检测框的图像进行输出。
本发明具体实施方式中,获取的原始图像通常很大,为了提高标识的精确度,需要在对图像进行标识之前,将图像进行分割,在对图像标识之后,再按照分割顺序复原图像。
对于步骤S1,在将原始图像分割为具有相同预定尺寸的多个单元图像过程中,可以以原始图像的边角开始按序分割图像,也可以在原始图像中任选一点后,以该点为基础按需分割图像。相应的,所述方法还包括:若分割过程中存在任一单元图像小于预定尺寸,则在单元图像形成之前对原始图像进行边缘像素值补充,或在单元图像形成之后,对尺寸小于预定尺寸的单元图像进行边缘像素值补充,以使得每一单元图像的尺寸均与所述预定尺寸相同。
需要说明的是,在具体应用过程中,可以先对原始图像进行分割,若最后形成的单元图像尺寸小于预定尺寸时,则仅对最后形成的单元图像进行边缘像素值的补充。也可以在图像分割之前,先行计算当前的原始图像按照预定尺寸进行分割时,是否可以被完整分割,若不能被完整分割,则在分割之前,在原始图像的边缘进行边缘像素值的补充。通常情况下,补充位置的像素值可以根据需要具体设定,例如:设置为0,在此不做进一步的赘述。
较佳的,分割后的所述单元图像为正方形,本发明一具体示例中,分割后的单元图像的尺寸为320*320,单位为像素。
对于步骤S2,所述神经网络模型的构建方法包括:对应每一单元图像采用卷积神经网络(Convolutional Neural Networks,CNN)提取至少一个特征层。
本发明可实现方式中,提取特征层过程中,使用p个m*m的卷积核作为锚框的卷积预测器处理所述单元图像,以预测标记物的种类和位置。其中,m为奇数正整数。所述锚框为预设的长宽比不同的矩形框。p=(c1+c2)*k,其中,c1表示标记物种类的数量, k表示锚框的数量,c2为调整锚框的偏移参数的数量;所述检测框通过锚框进行大小变化获得。
进一步的,根据标记物的种类及尺寸多次对单元图像做池化层处理得到对应的特征层;即标记物的种类及尺寸决定特征层数量及尺寸。具体的,将原始图像上的标记物尺寸进行预划分,以确定特征层的数量及尺寸。
较佳的,在根据标记物的种类及尺寸多次对单元图像做池化层处理得到对应的特征层过程中,所述方法具体包括:在每次对单元图像进行池化层处理之前,均至少1次对所述单元图像做卷积层处理,且其卷积核大小相同。
所述卷积层处理是通过卷积操作对输入图像进行降维和特征抽取;所述池化层处理用以减少图像的空间大小。
为了便于理解,以下描述一具体示例供参考:
如图2至图4所示,本发明一具体示例中,需要标识的标记物种类为三种,参阅图3所示,标记物的形状分别为:圆点型、“O”环型和三室型。由于X射线拍摄可能拍摄到不完整的标记物,或重叠的标记物,因此,即使同一种标记物在X光图像上显示的尺寸也可能不同。从而,需要对X光图像上显示的标记物的尺寸做预划分,以确定需要配置的特征层的数量。
参阅图2所示,建立本示例中特征提取的神经网络模型,配置有3个特征层。原始图像按序分割形成多个320*320的单元图像,通过建立卷积神经网络对每一单元图像进行特征提取。具体的,输入的单元图像的尺寸为320*320,依序对输入的图像进行卷积层处理和池化层处理分别得到所需的特征层。对单元图像(320*320)依次进行2次卷积层处理、1次池化层处理,2次卷积层处理、1次池化层处理,3次卷积层处理、1次池化层处理,3次卷积层处理后,提取特征层1。由于总共进行了3次池化层处理,而每一次池化层处理都会将图像尺寸相较于前一次的图像尺寸缩小一倍,因此,特征层1的图像尺寸缩小为40*40,能够检测尺寸范围为8*8至24*24的标记物。对特征层1图像(40*40)依次进行1次池化层处理和3次卷积层处理后,提取特征层2。此时,特征层2的图像尺寸相较于特征层1又缩小了一倍,为20*20,能够检测尺寸范围为16*16至48*48的标记物。对特征层2图像(20*20)依次进行1次池化层处理和3次卷积层处理后,提取特征层3。此时,特征层3的图像尺寸为10*10,能够检测尺寸范围为32*32至96*96的标记物。其中,每次卷积层处理使用的卷积核大小及卷积核个数,可以根据实际需求设定,例如:卷积核个数为图2中的64、128、256、512等数量。当然,在其他实施例中,可以根据实际需求建立神经网络,配置特征层数量。
较佳的,本发明具体示例中,使用3*3的卷积处理图像,即配置m=3;需要标识的标记物种类为3种,即配置c1=3,其分别为圆点型,“O”环型,三室型;锚框为以任一个像素点为中心生成的多个大小和宽高比不同的边界框;调整锚框的偏移参数具体包括:左上角横向偏移值和纵向偏移值,宽度的缩放倍数以及高度的缩放倍数,即配置c2=4。
具体的,c1的输出是一个一维数组,用result_c1[3]表示。其中,result_c1[0]、result_c1[1]和result_c1[2]是这个数组的三个元素,分别表示锚框中的标记物种类的概率。一具体示例中,result_c1[0]表示锚框中的标记物为圆点型的概率,result_c1[1]表示锚框中的标记物为“O”环形的概率,result_c1[2]表示锚框中的标记物为三室型的概率,这三个元素的取值范围都为0到1。判断锚框中标记物的种类,由这三个元素的最大值决定,例如,当result_c1[0]的值在这三个元素中最大时,此时对应锚框中的标记物为圆点型。
c2的输出是一个一维数组,用result_c2[4]表示。其中,result_c2[0]、result_c2[1]、result_c2[2]和result_c2[3]是这个数组的四个元素,分别表示锚框左上角的横向偏移值、锚框左上角的纵向偏移值、锚框宽度的缩放倍数及锚框高度的缩放倍数,其取值范围都为0到1。通过c2的输出,调整锚框的大小从而形成检测框。
通过上述步骤,初步确认标记物的种类和位置。
另外,需要说明的是,神经网络模型初建立时,首先将用于训练的单元图像进行人工辅助标注,其标注内容为标记物的类别信息,包括:围合每一标记物的检测框,以及检测框对应的左上角坐标值和右下角坐标值。之后,将未标注的单元图像输入到初建的神经网络模型进行预测,预测的结果越接近人工辅助标注的结果,说明神经网络模型检测准确度越高,当预测的结果与人工辅助标注的结果的比值大于预设的比值,表示神经网络模型可以正常应用。在此过程中,预测的结果与人工辅助标注的结果的比值不大于预设的比值时,则需要调整神经网络模型,直至满足需求。如此,通过以上内容训练神经网络模型,使其预测结果更加准确。在此过程中,预测的结果与人工辅助标注的结果的比值不大于预设的比值时,则需要调整神经网络模型,直至满足需求。如此,通过以上内容训练神经网络模型,使其预测结果更加准确。在神经网络建立过程中,可以采用交并比(Intersection overUnion,IOU)评价该神经网络模型的检测准确度,在此不做进一步的赘述。
对于步骤S3,结合图3所示,采用神经网络模型对单元图像中的标记物对应添加检测框后形成如图3所示的,由多幅预检单元图像按照原始图像的分割位置拼接形成的预输出图像。在该具体示例中,处于多个预检单元图像拼接位置的标记物被分解为多个部分,且处于不同预检图像中的同一标记物的多个部分被多个检测框同时标识。如此,导致最终形成的输出图像中,该标记物被多次标识。该具体示例中,图像由4个预检单元图像构成,需要标识的标记物具有三种,分别为标号为1的圆点型,标号为2的“O”环型,以及标号为3的三室型。其中,处于4个预检单元图像交界位置的同一个三室型标记物A,由3个检测框重复标注。若以当前图像进行输出,则对于标记物A会被统计3次,相应的,也会对应给出3个标识位置,不利于标记物的统计及位置确定,从而影响判断被检者胃肠动力的准确性。
相应的,为了解决该问题,本发明较佳实施方式中,需要对同一标记物的多个检测框进行合并,使得最终输出的图像中对应于每一标记物仅唯一标识一个相应的检测框,以利于标记物的统计及位置判定,从而准确判断被检者的胃肠动力。
具体的,对于步骤S4,其具体包括:根据标记物种类的概率确认每个检测框中标记物的种类,若相邻的两个检测框中框选的标记物为同一种类,则根据相邻的两个检测框的坐标值确认框选的标记物是否为同一标记物。
进一步的,根据相邻的两个检测框的坐标值确认框选的标记物是否为同一标记物包括:
判断横向拼接的预检单元图像中是否存在相邻的两个检测框中框选的标记物为同一标记物;
以原始图像的左上角为坐标原点建立XY直角坐标系,以坐标原点向右延伸为X轴正向,以坐标原点向下延伸为Y轴正向;其中,x轴为横轴,y轴为纵轴。比较横向相邻的两个检测框的特征值的差值是否在阈值范围内,若是,则确认当前计算使用的两个检测框中框选的标记物为同一标记物;所述特征值为每一检测框的左上角坐标值和右下角坐标值;
即同时满足abs(rectangles[i+1][xL]-rectangles[i][xL])<n1,
和(rectangles[i+1][yL] - rectangles[i][yL])<n2;
其中,abs()表示取绝对值,rectangles[i][]表示横向第i个检测框的坐标值,xL、yL分别表示检测框的左上角的横坐标值和纵坐标值;i取整数,n1∈(1,2,3),n2∈(5,10,15)。
另外,根据相邻的两个检测框的坐标值确认框选的标记物是否为同一标记物还包括:判断纵向拼接的预检单元图像中是否存在相邻的两个检测框中框选的标记物为同一标记物;
以原始图像的左上角为坐标原点建立XY直角坐标系,以坐标原点向右延伸为X轴正向,以坐标原点向下延伸为Y轴正向;其中,x轴为横轴,y轴为纵轴。比较纵向相邻的两个检测框的特征值的差值是否在阈值范围内,若是,则确认当前计算使用的两个检测框中框选的标记物为同一标记物;所述特征值为每一检测框的左上角坐标值和右下角坐标值;
即同时满足abs(rectangles[j+1][xL]-rectangles[j][xL])<n3,
和abs(rectangles[j+1][yL] - rectangles[j][yL])<n4;
其中,abs()表示取绝对值,rectangles[j][]表示纵向第j个检测框的坐标值,xL、yL分别表示检测框的左上角的横坐标值和纵坐标值;j取整数,n3∈(40,50,60),n4∈(1,2,3)。
进一步的,确认当前计算使用的两个检测框中框选的标记物为同一标记物后,将两个检测框进行合并,其合并方法具体包括:
比较当前用于计算的两个检测框的左上角的坐标值,分别取其横坐标和纵坐标的最小值作为合并后的检测框的左上角坐标值;
比较所述两个检测框的右下角的坐标值,分别取其横坐标和纵坐标的最大值作为合并后的检测框的右下角坐标值。
相应的,横向合并后的检测框的左上角坐标(xaL,yaL)和右下角坐标(xaR,yaR)分别为:
xaL=min(rectangles[i+1][xL],rectangles[i][xL]),
yaL=min(rectangles[i+1][yL],rectangles[i][yL]),
xaR=max(rectangles[i+1][xR],rectangles[i][xR]),
yaR=max(rectangles[i+1][yR],rectangles[i][yR]),
其中,min()表示取最小值,max()表示取最大值;xR、yR分别表示检测框的右下角的横坐标值和纵坐标值。
相应的,纵向合并后的检测框的左上角坐标(xbL,ybL)和右下角坐标(xbR,ybR)分别为:
xbL=min(rectangles[j+1][xL],rectangles[j][xL]),
ybL=min(rectangles[j+1][yL],rectangles[j][yL]),
xbR=max(rectangles[j+1][xR],rectangles[j][xR]),
ybR=max(rectangles[j+1][yR],rectangles[j][yR])。
需要说明的是,对于每幅预输出图像,均需要依次先后在横向、纵向方向上分别判断是否存在相邻的两个检测框中的标记物为同一标记物。横向和纵向的合并顺序不做限定,其可以先横向合并再纵向合并,也可以先纵向合并再横向合并,横向和纵向的先后顺序不会影响最终的输出结果。另外,以上示例中,均以所述特征值为每一检测框的左上角坐标值和右下角坐标值进行描述。实际应用中,所述特征值可以选定为每个检测框上具有相同位置的同一坐标值,例如:其特征值为左下角坐标值和右上角坐标值,所述特征值的变换,不会影响最终的输出结果;在检测框中不同位置选定特征值的方案均包括在本申请的保护范围内,在此不做进一步的赘述。
结合图4所示,经过合并后,处于4个单元图像交汇位置的三室型标记物A在最终的输出图像中,将图3中的3个检测框合并为一个检测框进行输出。
进一步的,经过检测框的标识、合并,再进行图像输出,输出的图像中对应于每一标记物均唯一具有一个检测框。此时,通过图像中检测框的标号及位置可确认标记物的种类及位置,进而确认不同种类的标记物在消化道中的部位,从而确认被检测者的胃肠动力。
进一步的,本发明一实施方式提供一种电子设备,包括存储器和处理器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述图像识别方法中的步骤。
进一步的,本发明一实施方式提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述图像识别方法中的步骤。
综上所述,本发明的图像识别方法、电子设备及可读存储介质,原始图像通过神经网络模型自动处理添加检测框;进一步的,通过合并重复标识的检测框提高图像标识精确性,进而有效识别标记物在图像中的种类及位置,确认标记物在消化道的分布情况,从而准确判断被检者的胃肠动力。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。