具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
在中医的整体辨证中,舌诊是极其重要的组成部分,通过观察舌象能较为客观地反映病位的深浅、病邪的性质、邪正的盛衰及病势的进退,因此,舌象图像成为了临床上辩证论治的重要依据。
本发明为了解决现有技术中患者确定就诊医生的效率和准确率较低的问题,提出了一种医生的推荐方法,可以通过获取患者的舌象图像,并基于舌象图像确定患者的舌象特征向量,从而根据舌象特征向量确定患者对应的推荐医生。这样,由于采集舌象图像方便,使得根据舌象图像自动确定推荐医生,提高了医生推荐的效率,另外,本发明基于舌象特征向量提高了推荐医生与患者病情的匹配程度,从而提高了医生推荐方法的准确度。
下面将结合具体实施例对本发明进行详细说明。
参照图1,示出了本申请的一种医生的推荐方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获取待诊断用户的舌象图像。
在本发明实施例中,待诊断用户可以登录终端(如手机、平板电脑、笔记本电脑、掌上电脑等)上的医生推荐平台,从而通过该医生推荐平台接收该待诊断用户输入的面部图像,其中,该医生推荐平台可以通过终端的图像采集设备(如摄像头等)采集该面部图像,当然,该医生推荐平台还可以接收待诊断用户从该终端的图像文件中选择的面部图像,上述示例只是举例说明,本公开对此不做限定。
由于本发明是通过舌象图像中的舌象特征确定推荐医生,因此,在本步骤中,若该面部图像中不包括舌象部分,或者该面部图像中的舌象部分不满足预设舌象质量,则无法执行后续确定推荐医生的步骤,这样,本步骤可以确定该面部图像中是否包括舌象部分,并在该面部图像中包括该舌象部分时,继续确定该舌象部分是否满足预设舌象质量,若该舌象部分满足预设舌象质量,则确定该舌象部分为该舌象图像;在该面部图像中不包括舌象部分,或者该舌象部分不满足预设舌象质量时,可以向用户展示提示消息,该提示消息用于提示用户重新输入面部图像。示例地,该提示消息可以为在文本框中展示的文本信息,该文本信息为“请您重新输入面部图像”,当然,该提示消息还可以是语音消息,本发明对此不做限定。
需要说明的是,该预设舌象质量包括该舌头部分的清晰度大于或者等于预设清晰度,且该舌头部分为舌面或者舌底,且该舌头部分为待诊断用户的舌头在正面对着镜头。
为了可以快速确定该面部图像中是否包括该舌象图像,可以预先训练图像识别模型,从而通过该图像识别模型在确定该面部图像中包括该舌象图像时,从该面部图像中提取该舌象图像。可以通过以下过程训练该图像识别模型:首先,采集已知就诊医生的舌照样本,并从舌照样本中获取一部分训练舌照样本,例如,由于通过5000个训练舌照样本得到的该图像识别模型的识别准确率满足用户需求,因此,可以从舌照样本中获取5000个训练舌照样本;接着,对该训练舌照样本分别进行图像标注,如可以将该训练舌照样本中的舌头部分框选出来,并标注该训练舌照样本的舌头部分为舌头正面对着镜头还是舌头侧面对着镜头,且标注舌头部分为舌面还是舌底,以及还可以标注舌头部分是否清晰等;最后,将该训练舌照样本的图像标注结果作为训练集,从而通过训练集对预设检测模型进行训练得到该图像识别模型,其中,该预设检测模型可以包括目标检测模型和图像质量分析模型,本发明可以采用SSD(Single Shot Multibox Detector)模型、Fast-R-CNN模型或者YOLO(YouOnly Look Once)模型等作为目标检测模型,考虑到mobileNet是一个轻量化网络,且采用了deep-wise的卷积方式来替代传统3D卷积,从而减少了卷积核的冗余表达,因此,本发明可以采用mobileNet作为图像质量分析模型,当然,该图像质量分析模型还可以为xceptionNet,mobileNet V2等模型,上述示例只是举例说明,本公开对此不做限定。
步骤102,将该舌象图像输入至舌象识别模型中得到对应的舌象特征向量。
在本发明实施例中,可以通过以下方式得到该舌象识别模型:
首先,采集已知就诊医生的舌照样本;
接着,从该舌照样本中获取待标注舌照,其中,需要通过步骤101中训练完成的图像识别模型分别对舌照样本进行识别得到该待标注舌照,该待标注舌照即为去除了面部特征的舌象部分且该舌象部分满足预设舌象质量;
然后,对该待标注舌照进行舌象特征的标注得到舌象向量样本,其中,由于舌象特征可以包括舌质(如舌头颜色,舌形胖瘦,舌形老嫩,是否有齿痕,是否有淤点),舌苔(如舌苔颜色,舌质润燥,舌苔薄厚,苔质腻腐,是否有裂纹,是否剥脱)等特征,因此,需要对待标注舌照的各个舌象特征均进行标注。例如,在对舌头颜色进行标注时,可以将舌头颜色划分为不同舌头颜色等级,从而通过专业人员确定该待标注舌照对应的舌头颜色等级。
当然,为了提高标注的准确度,本发明可以通过多个专业人员对同一舌象特征均进行标注,并在确定存在预设人数的专业人员对该同一舌象特征给出相同标注结果时,确定该同一舌象特征标注完成。例如,若通过多个专业人员对舌头颜色进行标注,且该舌头颜色等级包括“白”、“淡红”、“红”和“绛”,则每个专业人员依次对该舌头颜色标注,在舌头颜色“淡红”的标注人数最先满足预设人数时,确定该舌头颜色的标注结果为“淡红”。这样,在该待标注舌照的全部舌象特征标注完成后,可以根据标注结果生成该待标注舌照的舌象向量样本,即该舌象向量样本的每个维度分别代表不同舌象特征的标注结果。
最后,根据该待标注舌照和对应的舌象向量样本训练预设识别模型得到该舌象识别模型,其中,该预设识别模型可以为ResNet等。在另一种可能的实现方式中,根据经验可知:通过100000张待标注舌照进行训练得到的舌象识别模型即可满足用户需求,因此,在对该待标注舌照进行舌象特征的标注得到舌象向量样本时,可以从该待标注舌照中选取100000张待标注舌照进行舌象特征的标注,并通过训练好的舌象识别模型获取,除了100000张待标注舌照以外的其他待标注舌照对应的舌象向量样本。
通过上述训练过程可以得到该舌象识别模型,从而本步骤可以基于舌象识别模型快速得到该舌象图像对应的舌象特征向量,提高了处理效率。
步骤103,根据该舌象特征向量确定该待诊断用户对应的推荐医生。
在本步骤中,可以分别计算该舌象特征向量和每个舌象向量样本之间的向量距离;该舌象向量样本预先设置有对应的就诊医生;根据该向量距离从全部该舌象向量样本中获取目标舌象向量样本;从该目标舌象向量样本对应的就诊医生中确定该推荐医生。
综上所述,本申请实施例首先通过获取待诊断用户的舌象图像;接着将该舌象图像输入至舌象识别模型中得到对应的舌象特征向量;最后根据该舌象特征向量确定该待诊断用户对应的推荐医生。这样,由于采集舌象图像方便,使得根据舌象图像自动确定推荐医生,提高了医生推荐的效率,另外,本发明基于舌象特征向量提高了推荐医生与患者病情的匹配程度,从而提高了医生推荐方法的准确度。
参照图2,示出了本申请的一种医生的推荐方法可选实施例的步骤流程图,具体可以包括如下步骤:
步骤201,接收待诊断用户输入的面部图像。
在一种可能的实现方式中,当待诊断用户在医生推荐平台上输入完成该面部图像后,可以执行触发完成操作,从而本发明中的医生推荐平台在检测到该触发完成操作后,继续执行后续步骤,该触发完成操作可以为点击完成按钮等,本公开对此不做限定。
步骤202,确定该面部图像中是否包括舌象图像。
其中,可以通过步骤101中所述的图像识别模型确定该面部图像中是否包括舌象图像,不再赘述。
在该面部图像中包括舌象图像时,执行步骤203和205;
在该面部图像中不包括舌象图像时,执行步骤204;
步骤203,获取该待诊断用户的舌象图像。
本步骤同样可以通过该图像识别模型获取到该舌象图像。
步骤204,生成提示消息,并返回至步骤201。
其中,该提示消息用于提示用户重新输入面部图像。
步骤205,将该舌象图像输入至舌象识别模型中得到对应的舌象特征向量。
具体内容参考步骤102,不再赘述。
步骤206,分别计算该舌象特征向量和每个舌象向量样本之间的向量距离。
其中,由于该舌象向量样本为已知就诊医生的舌照样本对应的向量,因此,该舌象向量样本可以预先设置有对应的就诊医生。
在本发明实施例中,若该向量距离越近,则该舌象特征向量与该舌象向量样本越相似,即二者对应的患者的病情越相近;相反,若该向量距离越远,则该舌象特征向量与该舌象向量样本的差异越大,即二者对应的患者的病情越不同。在一种可能的实现方式中,该向量距离可以通过余弦距离算法或者欧氏距离算法等方式确定,上述示例只是举例说明,本公开对此不做限定。
需要说明的是,由于该舌象向量样本的数据较多,且该舌象向量样本的维度为多个,因此,在计算向量距离时,为了减少计算的工作量,本发明可以建立在k-d树上进行向量距离的计算,从而提高计算效率,具体过程参考现有技术,不再赘述。
步骤207,根据该向量距离从全部该舌象向量样本中,获取与该舌象特征向量距离最近的预设数量的待确定舌象向量样本。
在本步骤中,可以按照该向量距离从小到大顺序依次将全部该舌象向量样本进行排序,若该预设数量为M,则根据排序结果选取前M个舌象向量样本。
步骤208,从该待确定舌象向量样本中获取目标舌象向量样本。
其中,该目标舌象向量样本与该舌象特征向量之间的向量距离小于或者等于预设距离,这样,可以依次确定每个待确定舌象向量样本对应的向量距离是否小于或者等于该预设距离,从而可以删除与该舌象特征向量的向量距离较远的舌象向量样本。
需要说明的是,通过步骤207和步骤208方式确定该目标舌象向量样本的方式只是举例说明,本发明对此不做限定,当然,本发明可以将步骤207中的待确定舌象向量样本作为该目标舌象向量样本。
步骤209,确定该目标舌象向量样本对应的就诊医生为待确定医生。
其中,由于部分目标舌象向量样本对应的就诊医生可能为同一医生,因此,本步骤可以将该全部目标舌象向量样本对应的就诊医生进行统计得到不同的待确定医生。
示例地,若该目标舌象向量包括
和
且
和
对应的就诊医生为D
1,
和
对应的就诊医生为D
2,则该待确定医生即为D
1和D
2。
步骤210,分别计算每个该待确定医生的就诊匹配值。
在本步骤中,可以通过以下公式计算每个该待确定医生的就诊匹配值:
其中,r
j表示第j个待确定医生对应的就诊匹配值;s为全部该目标舌象向量样本中,就诊医生为第j个待确定医生的向量数量;M为预设数量;
为舌象特征向量
和第i个目标舌象向量样本之间的向量距离;t为预设距离。
示例地,继续以步骤209中的示例为例进行说明,若该目标舌象向量包括
和
且
和
对应的就诊医生为D
1,
和
对应的就诊医生为D
2,该待确定医生即为D
1和D
2,则D
1的就诊匹配值的计算公式可以表示为:
D
2的就诊匹配值的计算公式可以表示为:
上述示例只是举例说明,本公开对此不做限定。
通过上述公式可知,对于待诊断用户的舌象较为常见,则得到的s较大,这样,可以确定治疗过相似患者舌象的数量最多的医生为该推荐医生;对于待诊断用户的舌象较为罕见,则得到的s较少,这样,可以确定治疗过最相似患者舌象的医生为该推荐医生。
步骤211,根据该就诊匹配值从该待确定医生中确定该推荐医生。
在本步骤中,可以确定最大就诊匹配值对应的待确定医生为该推荐医生。
综上所述,本申请实施例首先获取待诊断用户的舌象图像;接着将该舌象图像输入至舌象识别模型中得到对应的舌象特征向量;最后根据该舌象特征向量确定该待诊断用户对应的推荐医生。这样,由于采集舌象图像方便,使得根据舌象图像自动确定推荐医生,提高了医生推荐的效率,另外,本发明基于舌象特征向量提高了推荐医生与患者病情的匹配程度,从而提高了医生推荐方法的准确度。
要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图3,示出了本申请的一种医生的推荐装置实施例的结构框图,具体可以包括如下模块:
第一获取模块301,用于获取待诊断用户的舌象图像;
第二获取模块302,用于将该舌象图像输入至舌象识别模型中得到对应的舌象特征向量;
第一确定模块303,用于根据该舌象特征向量确定该待诊断用户对应的推荐医生。
参照图4,在本申请的一个可选实施例中,该第一确定模块303包括:
计算子模块3031,用于分别计算该舌象特征向量和每个舌象向量样本之间的向量距离;该舌象向量样本预先设置有对应的就诊医生;
获取子模块3032,用于根据该向量距离从全部该舌象向量样本中获取目标舌象向量样本;
确定子模块3033,用于从该目标舌象向量样本对应的就诊医生中确定该推荐医生。
在本申请的一个可选实施例中,该获取子模块3032,用于根据该向量距离从全部该舌象向量样本中,获取与该舌象特征向量距离最近的预设数量的待确定舌象向量样本;并从该待确定舌象向量样本中获取该目标舌象向量样本;该目标舌象向量样本与该舌象特征向量之间的向量距离小于或者等于预设距离。
在本申请的一个可选实施例中,该确定子模块3033,用于确定该目标舌象向量样本对应的就诊医生为待确定医生;分别计算每个该待确定医生的就诊匹配值;根据该就诊匹配值从该待确定医生中确定该推荐医生。
参照图5,在本申请的一个可选实施例中,还包括:
采集模块304,用于采集已知就诊医生的舌照样本;
第三获取模块305,用于从该舌照样本中获取待标注舌照;
第四获取模块306,用于对该待标注舌照进行舌象特征的标注得到舌象向量样本;
第五获取模块307,用于根据该待标注舌照和对应的舌象向量样本训练预设识别模型得到该舌象识别模型。
参照图6,在本申请的一个可选实施例中,还包括:
接收模块308,用于接收该待诊断用户输入的面部图像;
第二确定模块309,用于确定该面部图像中是否包括该舌象图像;
该第一获取模块301,用于在该面部图像中包括该舌象图像时,获取该待诊断用户的舌象图像。
综上所述,本申请实施例首先获取待诊断用户的舌象图像;接着将该舌象图像输入至舌象识别模型中得到对应的舌象特征向量;最后根据该舌象特征向量确定该待诊断用户对应的推荐医生。这样,由于采集舌象图像方便,使得根据舌象图像自动确定推荐医生,提高了医生推荐的效率,另外,本发明基于舌象特征向量提高了推荐医生与患者病情的匹配程度,从而提高了医生推荐方法的准确度。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在终端设备时,可以使得该终端设备执行本申请实施例中各方法步骤的指令(instructions)。
图7为本申请一实施例提供的医生的推荐装置的硬件结构示意图。如图7所示,该医生的推荐装置可以包括输入设备70、处理器71、输出设备72、存储器73和至少一个通信总线74。通信总线74用于实现元件之间的通信连接。存储器73可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器73中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。
可选的,上述处理器71例如可以为中央处理器(Central Processing Unit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该处理器71通过有线或无线连接耦合到上述输入设备70和输出设备72。
可选的,上述输入设备70可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件***接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;可选的,上述收发信机可以是具有通信功能的射频收发芯片、基带处理芯片以及收发天线等。麦克风等音频输入设备可以接收语音数据。输出设备72可以包括显示器、音响等输出设备。
在本实施例中,该医生的推荐装置的处理器包括用于执行背景的设置装置中各模块的功能,具体功能和技术效果参照上述实施例即可,此处不再赘述。
图8为本申请另一实施例提供的医生的推荐装置的硬件结构示意图。图8是对图7在实现过程中的一个具体的实施例。如图8所示,本实施例的医生的推荐装置包括处理器81以及存储器82。
处理器81执行存储器82所存放的计算机程序代码,实现上述实施例中图1和图2的医生的推荐方法。
存储器82被配置为存储各种类型的数据以支持在医生的推荐方法的操作。这些数据的示例包括用于在医生的推荐装置上操作的任何应用程序或方法的指令,例如消息,图片,视频等。存储器82可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
可选地,处理器81设置在处理组件80中。该医生的推荐装置还可以包括:通信组件83,电源组件84,多媒体组件85,音频组件86,输入/输出接口87和/或传感器组件88。医生的推荐装置具体所包含的组件等依据实际需求设定,本实施例对此不做限定。
处理组件80通常控制医生的推荐装置的整体操作。处理组件80可以包括一个或多个处理器81来执行指令,以完成上述图1至图5方法的全部或部分步骤。此外,处理组件80可以包括一个或多个模块,便于处理组件80和其他组件之间的交互。例如,处理组件80可以包括多媒体模块,以方便多媒体组件85和处理组件80之间的交互。
电源组件84为医生的推荐装置的各种组件提供电力。电源组件84可以包括电源管理***,一个或多个电源,及其他与为医生的推荐装置生成、管理和分配电力相关联的组件。
多媒体组件85包括在医生的推荐装置和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
音频组件86被配置为输出和/或输入音频信号。例如,音频组件86包括一个麦克风(MIC)。所接收的音频信号可以被进一步存储在存储器82或经由通信组件83发送。在一些实施例中,音频组件86还包括一个扬声器,用于输出音频信号。
输入/输出接口87为处理组件80和***接口模块之间提供接口,上述***接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。
传感器组件88包括一个或多个传感器,用于为医生的推荐装置提供各个方面的状态评估。例如,传感器组件88可以检测到医生的推荐装置的打开/关闭状态,组件的相对定位,用户与医生的推荐装置接触的存在或不存在。传感器组件88可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。在一些实施例中,该传感器组件88还可以包括摄像头等。
通信组件83被配置为便于医生的推荐装置和其他设备之间有线或无线方式的通信。医生的推荐装置可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。
由上可知,在图8实施例中所涉及的通信组件83、音频组件86以及输入/输出接口87、传感器组件88均可以作为图7实施例中的输入设备的实现方式。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种医生的推荐方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。