自今年3月以來,上海遭遇了新一輪新冠肺炎疫情襲擊。持續(xù)大量的新增病例,給上海這座擁有2500萬常住人口的超大城市帶來了前所未有的挑戰(zhàn)——人工核查核酸報告,費時費力又易出錯,怎么辦?
對此,復旦大學一位在讀博士生,利用自己的專業(yè)知識開發(fā)了一項小程序,800幅核酸截圖原來要幾個人核對一個多小時,現在只需等待2分鐘就能拿到結果,大大提高了核查效率和精度。
由此,他也獲得了眾多網友的一致好評。就連人民日報都發(fā)表了這一消息,對該博士生給予點贊表彰。
(人民日報官方微博截圖)
據悉,該博士生名叫“李小康”,就讀于復旦大學信息科學與工程學院生物醫(yī)學工程專業(yè),擔任學院2019級信息1班輔導員。由于他的研究方向是醫(yī)學影像與人工智能,因此李小康平常會接觸很多圖像處理方法。
得益于長期的科研習慣和代碼敏感性,自從學校進入準封閉管理之后,忙于抗疫的他,便對人工核查核酸報告這件繁瑣的日常工作產生了思考:如何自動核查核酸截圖?
作為生物醫(yī)學工程專業(yè)博士生,李小康第一時間想到了以前學過的OCR(Optical Character Recognition,光學字符識別)技術。他認為,開發(fā)這項小程序并不復雜:“OCR可以把圖像中的文字識別出來,轉換為文本信息,就方便用來核查了。而且因為核酸截圖是打印字體,識別率非常高,幾乎可以做到100%準確。”
(李小康正在做志愿者)
要知道,一張截圖中的文本信息很多,包括脫敏處理的姓名、證件類型、證件號碼、采樣時間、組織機構等內容,但不是所有信息都有用。其中,姓名、采樣時間、是否已采樣最為關鍵,是需要檢索篩選出的內容。
為此,他想到了Python語言中的正則表達式——可以搜索到字符串中的特定模式內容?!笆褂谜齽t表達式就可以把想要的信息從OCR識別的文本中篩選出來。最后,確認好每張截圖里的姓名、檢測時間和是否已采樣等信息后,再把所有人的結果輸出到Excel文件中,方便人工確認?!?/span>
(程序實際運行過程)
最后,李小康確定了“OCR文字識別+正則表達式篩選”的程序思路。
3月15日晚間,他花了一個多小時就寫出了初始代碼,共130行。程序一寫好,李小康就在自己班級的核酸截圖數據上進行驗證,準確率果然很高,甚至檢測出了之前人工核查沒有發(fā)現的問題,并且程序運行時間很短。
目前,這項小程序已在該學院服務兩周了。
(程序輸出的Excel文件)
后來,他把這件事發(fā)到了朋友圈,不少師生表示很感興趣,他還把代碼分享了出去。為了方便不會編程的老師使用,李小康最后還把程序進行了封裝——用的時候,只要在命令行輸入一行代碼就可以運行。
據了解,學校信息辦也與李小康取得了對接。預計在不久的將來,師生們就可不用再手動收集核酸截圖,而是通過小程序直接上傳圖片,可在后臺隨時查看統計結果。
(網友評論截圖)
面對外界的點贊,李小康表示:“我只是用我學到的知識解決實際工作中的困難?!?/span>