天天看點

核酸報告核查太繁瑣?複旦博士生寫了130行代碼搞定

東方網記者傅文婧、通訊員殷夢昊4月7日報道:打開“健康雲”、将核酸報告截圖、上傳送出統……這一套操作已經是大學校園裡師生配合疫情防控的“正常動作”。但人工核查往往費時費力,又容易出錯怎麼辦?複旦大學資訊科學與工程學院博士生李小康日前開發出一項小程式,幾分鐘就能快速核查數百人的核酸并完成截圖,大大提高了核查效率和精度。

從1小時到2分鐘

資訊科學與工程學院生物醫學工程專業博士生李小康,擔任學院2019級資訊1班輔導員。學校進入準封閉管理之後,忙于抗疫的他,對一項繁瑣的日常工作産生了思考。原來,近期學校經常需要開展全員核酸檢測,為確定每位在校學生都已參加,學校要求每位班級輔導員都要收集學生的“健康雲”截圖,如果核查發現有人還沒參加核酸,就要及時催促其盡快檢測,確定當天“不漏一人”。

核酸報告核查太繁瑣?複旦博士生寫了130行代碼搞定

李小康擔任志願者

“這個工作聽起來好像很簡單,但實際做的時候,一個班級的截圖可能就需要花上半小時核查,如果是人數多的院系可能需要更久,還可能會看錯看漏。”李小康說。

他想,這件事情單調枯燥又費時,重複性很強,正符合計算機程式的特點。寫一個代碼程式用于自動核查核酸完成截圖的想法,在他腦海中産生。

程式一寫好,李小康就在自己班級的核酸截圖資料上進行驗證,準确率果然很高,甚至檢測出了之前人工核查沒有發現的問題。并且,程式運作時間很短,80多張圖隻需要20多秒,大大節約時間和人力。

後來,李小康了解到,資訊科學與工程學院研工組組長高麗梅每次需要核查學院所有研究所學生的核酸截圖,要花很長時間,特别辛苦。為了減輕高老師的工作負擔,李小康也讓她使用自己的程式進行核查。800幅截圖,原來要幾個人枯燥核對一個多小時,現在隻需等2分鐘就拿到結果。程式目前已在該學院服務2周。

核酸報告核查太繁瑣?複旦博士生寫了130行代碼搞定

一個多小時跑通代碼

說起程式原理,李小康認為并不複雜。作為生物醫學工程專業博士生,研究方向是醫學影像與人工智能,他平常會接觸很多圖像處理方法。即使是在現在抗疫工作繁忙的情況下,導師汪源源老師和郭翌老師還是堅持每周找他讨論科研進展,關心他的科研和生活,從未間斷。得益于長期的科研習慣和代碼敏感性,面對自動核查核酸截圖這件事情,李小康第一時間想到以前學到過的OCR (Optical Character Recognition,光學字元識别)技術。

“OCR可以把圖像中的文字識别出來,轉換為文本資訊,就友善用來核查了。而且因為核酸截圖是列印字型,識别率非常高,幾乎可以做到100%準确。”李小康說。

一張截圖中的文本資訊很多,包括脫敏處理的姓名、證件類型、證件号碼、采樣時間、組織機構等内容,但不是所有資訊都有用。其中,姓名、采樣時間、是否已采樣最為關鍵,是需要檢索篩選出的内容。

為此,他想到了Python語言中的正規表達式——可以搜尋到字元串中的特定模式内容。“使用正規表達式就可以把想要的資訊從OCR識别的文本中篩選出來。最後,确認好每張截圖裡的姓名、檢測時間和是否已采樣等資訊後,再把所有人的結果輸出到Excel檔案中,友善人工确認。”

經過思考,李小康的程式思路就基本确定為OCR文字識别+正規表達式篩選。說幹就幹。3月15日晚,他花了一個多小時就寫出了初始代碼,共130行,發現确實能夠跑通,且運作效率很高。

當然,當中也遇到了幾個技術難題——OCR技術的實作、學生送出截圖類型不統一、截圖數量多時的程式等待焦慮等。李小康逐一嘗試工具、分析圖像特點,尋找到了最佳解決方案。

核酸報告核查太繁瑣?複旦博士生寫了130行代碼搞定

程式輸出的Excel檔案

未來有望覆寫全校

李小康說,自己開發這個程式的初衷是為了減少自己和身邊老師的工作量。“雖然原理也很簡單,隻要是會寫代碼的人第一時間就會明白是怎麼回事,但是不做相關工作的感受不到這件事情的費時費力,自然也不會想出辦法。我隻是用我學到的知識解決實際工作中的困難。”他說。

李小康把這件事發到朋友圈之後,不少學工的同僚表示很感興趣,他也把代碼分享了出去,讓有需求的老師們都能及時使用。

“因為程式使用python語言編寫,代碼注釋也寫得很完整,隻要會使用python,就可以很快上手。”為了友善不會程式設計的老師使用,李小康最後還把程式進行了封裝。“大家需要用的時候,隻要在指令行輸入一行代碼就可以運作,非常簡單。”

據悉,學校資訊辦已與李小康對接。“他的思路和做法給我們很大啟發。”相關負責人介紹,正在收集二級機關管理需求,研究制定相關方案,開發全新小程式納入學校“一網通辦”平台。預計在不久的将來,師生們就可不用再通過微信手動收集核酸截圖,而是通過小程式直接上傳圖檔,二級機關負責人可在背景随時檢視統計結果。

繼續閱讀