当前位置: 首页 > 科技观察

130行Python代码完成核酸统计,两分钟解决人工一小时的工作量!

时间:2023-03-19 01:10:27 科技观察

这段时间,全国疫情的发展牵动着人们的心。为更好配合疫情防控,复旦大学自3月初开始定期开展核酸筛查工作。这项工作要求辅导员对学生“健康云”核酸截图一一核对,确保“一个不漏”。听起来很简单,做起来却很难。面对几十张甚至上百张高度重复的截图,人工验证往往费时费力,一不小心就会错过。为了解决这个问题,信息科学与工程学院博士生李小康写了130行代码,很快就开发出了一个小程序。这个小程序极大地提高了核酸验证的速度和准确性,以至于之前几个人查800张截图需要一个多小时,现在只需要2分钟就可以出结果。图片来源:微博截图随后,李小康的事迹上了热搜,《人民日报》也为他点赞:“知识就是力量!”理工学院博士生,生物医学工程专业,研究方向为医学影像与人工智能。在日常的科研生活中,他经常会接触到很多图像处理方法。此外,李小康还是学院2019级信息1班的辅导员。学校进入准封闭式管理后,他还担任了一名志愿者。李小康正在做志愿者(图源:复旦大学公众号)。面对日常繁琐的抗疫工作,得益于长期的科研习惯和代码敏感性,李小康萌生了编写自动核酸验证代码程序完成截图的想法。李小康与学界同行闲聊(图源:复旦大学公众号)。3月15日晚,李小康花了一个多小时完成了初始代码。程序写好后,他对自己班级的核酸截图数据进行了验证,发现准确率非常高,甚至发现了以往人工验证没有发现的问题。同时,程序的运行时间也很短,80多张图片只需要20多秒,大大提高了验证的准确性和速度,也减轻了相关人员的工作量。程序实现原理并不复杂。如此高效的程序是如何实施的?说到原理,李小康觉得并不复杂。他首先想到了OCR(OpticalCharacterRecognition,光学字符识别)技术,可以识别图像中的文字,并将其转化为文字信息。由于图片中并不是所有的信息都有用,李小康想到了Python中的正则表达式,可以从OCR识别的文字中过滤出想要的信息。程序实际运行过程(来源:复旦大学公众号)李小康开发的程序基于OCR文字识别+正则表达式筛选的思想,实现了从识别的文字中筛选出需要的信息。确认每张截图的相关信息后,将所有人的结果输出成Excel文件进??行人工确认。程序输出的Excel文件(来源:复旦大学公众号)将所学付诸实践,积极抗击疫情。谈及开发该程序的初衷,李小康表示,只是想减轻自己和身边老师的工作量。因为程序是用Python写的,代码注释也很齐全,所以会用Python的人可以很快上手。同时,为了方便不会编程的老师使用,李小康还将程序进行了打包,只需输入一行代码即可运行。用李小康的原话来说:“虽然原理很简单,但是会写代码的人马上就明白是怎么回事了,但如果不做相关的工作,就不会感觉到工作的费时费力。我自然不会想出解决办法,只是用所学的知识去解决实际工作中的难点。”复旦大学相关负责人透露,校信办已与李小康对接,正在根据需要开发新的小程序,预计在不久的将来,师生不再需要手动采集核酸截图,可以查看统计结果通过小程序直接上传图片。

猜你喜欢