当前位置 博文首页 > 疏影杏花里:AI与医学辅助诊断

    疏影杏花里:AI与医学辅助诊断

    作者:[db:作者] 时间:2021-06-02 20:59

    人工智能一词越来越频繁的出现在日常生活中。一种事物的时髦,必然有其背后的原因。而对于这样一个大的话题,从整体上来叙述总显得有些不接地气。作为跟AI沾过一些边的博主将以自己接触的方面来发表一点看法。 首先介绍一下,博主在研究生期间从事医疗数字影像研究和医疗系统开发,期间跟临床医生也有过一些交流,研究生课题也是智能辅助诊断的研究。因此,文章可能会实际工程使用为主要的着眼点,来表述一下对是否加入AI这一浪潮发表一点个人看法。

    一、什么是AI

    AI的范围太广泛了,前几年机器学习活跃在学术研究和工程领域,于是机器学习好像就成了AI的代名词;而目前深度学习的火爆,又让我们觉得深度学习也是AI。然后回首模式识别等领域,我们就能感到AI真是无处不在。对于这样一个比较大的概念,有一句比较贴切的话能将其概括:AI就是让机器实现原来只有人类才能完成的任务。也就是说,下图中所有的标签都可以称得上是AI。

    这里写图片描述
    AI子标签

    回到我们的医疗辅助诊断AI中,以往只能通过医生的肉眼去看X光、CT、超声、MR等等的影像,才能给患者给出诊断结论。那么人工智能的目的就是简化甚至完全取代医生阅片这一过程,直接将患者的影像数据交给AI系统,由AI系统给出诊断结论。诊断的流程如下图所示,使用AI辅助就直接的替代了医生的工作。

    这里写图片描述

    二、为什么AI这么火

    一种事物的时髦,必然有其背后的原因。从上面谈到的辅助诊断中的应用就很容易想到为什么AI这么的火。原因很简单,因为AI直接将人从繁重的劳动中解放出来了。可能平时我们见到过诊断的阅片医生,觉得他们工作并不那么繁重。但实际上在规模比较大的医院(例如我见过的华西医院放射科),阅片医生的工作就是盯着屏幕仔细的看,极其的枯燥和无聊。医生的工作环境应该来说是非常好的,想想其他行业那些繁重的工作,是不是也可以用AI来将其解放呢?
    当然,这些都是比较理想化的状态。在实际中,人类的感知和认识是相当复杂的,就拿医学诊断的例子来讲,医生诊断的依据并不是有很强的规则可以描述的。也就是说,从原因来推导到结论,往往并不那么容易,反过来由结论再去寻求原因似乎还有些可靠(BP神经网络反向传播训练参数可以这样理解)。机器学习和基于数据得到模型似乎就是这个套路我们并不去追寻问题的实质,我们从大量的统计数据中去得到事物发展规律的套路。这也就是在规则“不可描述”的时候机器学习、深度学习这类算法能取得较好结果的原因。
    有了这么多美好的前景,AI好像有了他兴盛的道理。除了这些,实际应用上的成果其实更能让人看到希望。比如语音识别、智能聊天这些让人实实在在感受到的成果。在医疗上成果也相当多,特别是影像的辅助诊断。上海联影和七家三甲医院合作,上线一个早期肺癌的辅助诊断系统。这个系统应该是我国医学辅助诊断AI上比较有意义的一大步。

    三、要不要为AI转型

    其实“转型”我觉得是不太准确的一个表述。说靠近应该更为贴切。比如作为一个医学影像研究的工程师来讲,假设他要从事AI相关工作,那么他之前的研究经历应该是必不可少的部分,他需要做的就是学习AI的相关算法和知识,结合具体的应用场景,根据之前的研究经验来设计出更为智能的系统。
    其他行业,亦是如此。因为AI不可能单独的存在,它必须依附在具体的背景、应用之下。因此,作为研发人员,只要是能想到AI有用武之地,那么学习它还是很有必要的。

    四、怎样进入AI领域

    AI包含的范围太广泛了,涉及到的知识也太多。从一个医学影像研究和应用开发(图像识别也一样)的角度来看,主要的关注点就是在于机器视觉机器学习以及深度学习

    • 如果是在校生,想毕业从事AI工作,那么理论就显得特别重要了。从找工作的角度看,李航的《统计学习方法》这类书是必备的理论基础,尤其是算法的推导,参数的设置等等来龙去脉再怎么熟悉也不为过。然后辅助几个典型的项目,这样就比较有竞争力了。当然,编程能力也是比不可少的部分。
    • 如果是工作者,我的观点是从应用的角度出发。尝试使用开源的框架(推荐OpenCV),从使用的过程中来了解背后的原理,这样可能效率上要高很多。

    高大上的项目不是一天就能练成的,看似简单的东西,要想得到很高的准确度或精度也是不那么容易的。以一个我们常见的车牌识别来看,虽然目前已经广泛应用到了实际当中。但是想要开发出一个在任何场景下都能识别得到正确结果的系统还是很难的一件事情(可以参看EasyPR开源项目)。下图就是博主在学习《深入理解opencv 实用计算机视觉项目解析》,然后借鉴EasyPR中的部分思想设计的,准确度并不高,只能达到毕业设计这样场合的要求。在这个编程实践过程中,能对算法有更深入的理解。


    这里写图片描述
    使用OpenCV、MFC编写的车牌识别(ANN)

    因此,我觉得AI并不是一个单纯理论的东西,它是一个相当工程性的事物。然而,对待工程性的事物,恐怕唯有实践才能让我们更能贴近真理一步。
    医学辅助诊断上来看,想要实现一个 能用的系统,那么必不可少需要了解医学的基本知识,这是AI开发人员必须了解的。去年博主应导师的要求,带着自己开发的一个小软件跟华西医院的医生交流,从交流的过程发现,缺少医学背景,很难设计出符合医生要求的功能。所以医生给出的评价是: 你们现在做的要想真的使用,我看还有很远的路要走。(附上博主的这个小软件: https://github.com/bzhou830/DiagnoseSystem)。

    这里写图片描述
    RBDcm肺结节辅助诊断

    五、后记

    博主在毕业前也尝试过去面试机器学习相关的岗位,由于理论知识欠缺。所以最后还是选择了软件开发,所以有此打算的师弟师妹,我觉得理论这一关一定要打牢。而且软件编程能力也一定要过硬。
    博主的态度是:技术的道路是无边无际的,永远抱着一颗学习的心,不畏所谓转型,只为业余增添乐趣。