@校园学霸君:【核酸报告核查太繁琐?复旦博士写了130行代码搞定】这段时间,学校经常需要开展全员核酸检测,为确保每位在校学生都已参加,学校要求每位班级辅导员都要收集学生的“健康云”截图,如果核查发现有人还没参加核酸,就要及时催促其尽快检测,确保当天“不漏一人”。
这个工作听起来好像很简单,但实际做的时候,一个班级的截图可能就需要花上半小时核查,如果是人数多的院系可能需要更久,还可能会看错看漏。为了解决这一难题,信息科学与工程学院博士生李小康写出130行代码,快速开发出了一项小程序。
这项小程序大大提高了核酸核查的速度和精度,使得原来需要几个人核对一个多小时的800幅截图,现在只需2分钟就能拿到结果。
随后,李小康的事迹火上热搜,《人民日报》也为他点赞:“知识就是力量!”
作为生物医学工程专业博士生,研究方向是医学影像与人工智能,他平常会接触很多图像处理方法。得益于长期的科研习惯和代码敏感性,面对自动核查核酸截图这件事情,李小康第一时间想到以前学到过的OCR (Optical Character Recognition,光学字符识别)技术。
一张截图中的文本信息很多,包括脱敏处理的姓名、证件类型、证件号码、采样时间、组织机构等内容,但不是所有信息都有用。其中,姓名、采样时间、是否已采样最为关键,是需要检索筛选出的内容。
为此,他想到了Python语言中的正则表达式——可以搜索到字符串中的特定模式内容。“使用正则表达式就可以把想要的信息从OCR识别的文本中筛选出来。最后,确认好每张截图里的姓名、检测时间和是否已采样等信息后,再把所有人的结果输出到Excel文件中,方便人工确认。”
经过思考,李小康的程序思路就基本确定为OCR文字识别+正则表达式筛选。
说干就干。3月15日晚,他花了一个多小时就写出了初始代码,共130行,发现确实能够跑通,且运行效率很高。
谈及开发程序的初衷,李小康表示自己只是为了减少自己和身边老师的工作量。因为程序是用Python编写的,代码注释也很完整,所以会使用Python的可以很快上手。
同时为了方便不会编程的老师使用,李小康还把程序进行了封装,只需简单输入一行代码就能运行。
用李小康的原话来说:“虽然原理也很简单,只要是会写代码的人第一时间就会明白是怎么回事,但是不做相关工作,感受不到这件事情的费时费力,自然也不会想出办法。我只是用我学到的知识解决实际工作中的困难。”
- 复制链接
- 举报
To超级实习生训练营~王同学