前言:
此时咱们对“python算法灵敏度”大约比较关切,朋友们都需要学习一些“python算法灵敏度”的相关内容。那么小编在网络上收集了一些有关“python算法灵敏度””的相关资讯,希望姐妹们能喜欢,大家一起来学习一下吧!澎湃前辈记者张辉通讯员殷梦昊
3月初以来,复旦大学启动定期核酸筛查工作,要求辅导员查看学生“健康云”核酸毕业截图,确保“不漏掉任何一个”。
人工验证费时、费力且容易出错。为此,信息科学与工程学院生物医学工程专业的博士生李小康迅速开发了一个小程序,可以快速检查数百人的核酸,并在几分钟内完成截图。
李小康做志愿者
李小康是信息科学与工程学院的辅导员。他表示,检查截图繁琐、耗时且重复性很强,这与计算机程序的特点相符。于是他萌生了编写一个代码程序来自动检查的想法。
李小康第一次写程序时与学生和同事聊天
程序写完后,李小康就通过课堂上的核酸筛查数据进行了验证。准确率确实很高,甚至发现了之前人工验证没有发现的问题。该程序的运行时间非常短,80多张图像只需要20多秒的时间。
学院的研究团队必须检查研究生在学院的所有核酸截图,最初需要几个人检查一个多小时。使用李小康的程序后,截图了800张,现在只需要2分钟就可以得到结果。该项目已为学院服务两周。
说起原理,李小康认为并不复杂。作为一名生物医学工程博士生,他的研究领域是医学影像和人工智能。他通常会接触到许多成像方法。得益于长期的科研习惯和代码敏感度,李小康在面对核酸截图的自动验证时,立刻想到了之前学过的OCR(光学字符识别)技术。
“OCR可以识别图像中的文字,并将其转换为文字信息,方便验证。而且由于核酸截图是打印字体,识别速度非常高,几乎可以100%准确。”李小康说道。
程序本身的运行过程
截图中包含大量文字信息,包括脱敏名称、证书类型、证书编号、采样时间、组织机构等,但并非所有信息都有用。其中,名称、采样时间、是否采样过是最关键的,是要检索和过滤的内容。为此,他想到了Python语言中的正则表达式——可以搜索字符串中的特定模式。
“利用正则表达式可以从OCR识别的文本中过滤出想要的信息。最后,在每一屏中确认姓名、检测时间以及是否已采样后,将所有人的结果输出到Excel文件中进行手动确认。”想了想,李小康的方案思路基本确定为OCR文字识别+正则表达式筛选。
3月15日晚,他花了一个多小时写了最初的代码,总共130行,发现居然能跑通,而且运行效率非常高。
当然,也遇到了几个技术问题——OCR技术的实现、学生提交的截图类型不一致、以及大量截图时等待程序的焦虑。李小康一一尝试了工具,分析了图像的特征,找到了最佳解决方案。
“原理虽然很简单,任何会写代码的人都会立刻明白是怎么回事,但不做相关工作的人不会感受到这件事的耗时耗力,自然不会想出解决办法,我就是用所学的知识去解决实际工作中的困难。”他说。
为了方便不会编程的老师使用,李小康对程序进行了封装。“当你需要使用它时,只需要在命令行输入一行代码即可运行,非常简单。”
复旦大学新闻办公室已与李小康对接,收集学校二级单位的管理需求,研究制定相关方案,并开发新的小程序纳入学校“一网服务”平台。
周玉华本期高级编辑
标签: #python算法灵敏度