核酸報(bào)告核查太繁瑣?復(fù)旦博士生寫了130行代碼搞定
東方網(wǎng)記者傅文婧、通訊員殷夢昊4月7日報(bào)道:打開“健康云”、將核酸報(bào)告截圖、上傳提交統(tǒng)計(jì)……這一套操作已經(jīng)是大學(xué)校園里師生配合疫情防控的“常規(guī)動作”。但人工核查往往費(fèi)時(shí)費(fèi)力,又容易出錯(cuò)怎么辦?復(fù)旦大學(xué)信息科學(xué)與工程學(xué)院博士生李小康日前開發(fā)出一項(xiàng)小程序,幾分鐘就能快速核查數(shù)百人的核酸并完成截圖,大大提高了核查效率和精度。
從1小時(shí)到2分鐘
信息科學(xué)與工程學(xué)院生物醫(yī)學(xué)工程專業(yè)博士生李小康,擔(dān)任學(xué)院2019級信息1班輔導(dǎo)員。學(xué)校進(jìn)入準(zhǔn)封閉管理之后,忙于抗疫的他,對一項(xiàng)繁瑣的日常工作產(chǎn)生了思考。原來,近期學(xué)校經(jīng)常需要開展全員核酸檢測,為確保每位在校學(xué)生都已參加,學(xué)校要求每位班級輔導(dǎo)員都要收集學(xué)生的“健康云”截圖,如果核查發(fā)現(xiàn)有人還沒參加核酸,就要及時(shí)催促其盡快檢測,確保當(dāng)天“不漏一人”。
李小康擔(dān)任志愿者
“這個(gè)工作聽起來好像很簡單,但實(shí)際做的時(shí)候,一個(gè)班級的截圖可能就需要花上半小時(shí)核查,如果是人數(shù)多的院系可能需要更久,還可能會看錯(cuò)看漏!崩钚】嫡f。
他想,這件事情單調(diào)枯燥又費(fèi)時(shí),重復(fù)性很強(qiáng),正符合計(jì)算機(jī)程序的特點(diǎn)。寫一個(gè)代碼程序用于自動核查核酸完成截圖的想法,在他腦海中產(chǎn)生。
程序一寫好,李小康就在自己班級的核酸截圖數(shù)據(jù)上進(jìn)行驗(yàn)證,準(zhǔn)確率果然很高,甚至檢測出了之前人工核查沒有發(fā)現(xiàn)的問題。并且,程序運(yùn)行時(shí)間很短,80多張圖只需要20多秒,大大節(jié)約時(shí)間和人力。
后來,李小康了解到,信息科學(xué)與工程學(xué)院研工組組長高麗梅每次需要核查學(xué)院所有研究生的核酸截圖,要花很長時(shí)間,特別辛苦。為了減輕高老師的工作負(fù)擔(dān),李小康也讓她使用自己的程序進(jìn)行核查。800幅截圖,原來要幾個(gè)人枯燥核對一個(gè)多小時(shí),現(xiàn)在只需等2分鐘就拿到結(jié)果。程序目前已在該學(xué)院服務(wù)2周。
一個(gè)多小時(shí)跑通代碼
說起程序原理,李小康認(rèn)為并不復(fù)雜。作為生物醫(yī)學(xué)工程專業(yè)博士生,研究方向是醫(yī)學(xué)影像與人工智能,他平常會接觸很多圖像處理方法。即使是在現(xiàn)在抗疫工作繁忙的情況下,導(dǎo)師汪源源老師和郭翌老師還是堅(jiān)持每周找他討論科研進(jìn)展,關(guān)心他的科研和生活,從未間斷。得益于長期的科研習(xí)慣和代碼敏感性,面對自動核查核酸截圖這件事情,李小康第一時(shí)間想到以前學(xué)到過的OCR (Optical Character Recognition,光學(xué)字符識別)技術(shù)。
“OCR可以把圖像中的文字識別出來,轉(zhuǎn)換為文本信息,就方便用來核查了。而且因?yàn)楹怂峤貓D是打印字體,識別率非常高,幾乎可以做到100%準(zhǔn)確!崩钚】嫡f。
一張截圖中的文本信息很多,包括脫敏處理的姓名、證件類型、證件號碼、采樣時(shí)間、組織機(jī)構(gòu)等內(nèi)容,但不是所有信息都有用。其中,姓名、采樣時(shí)間、是否已采樣最為關(guān)鍵,是需要檢索篩選出的內(nèi)容。
為此,他想到了Python語言中的正則表達(dá)式——可以搜索到字符串中的特定模式內(nèi)容!笆褂谜齽t表達(dá)式就可以把想要的信息從OCR識別的文本中篩選出來。最后,確認(rèn)好每張截圖里的姓名、檢測時(shí)間和是否已采樣等信息后,再把所有人的結(jié)果輸出到Excel文件中,方便人工確認(rèn)。”
經(jīng)過思考,李小康的程序思路就基本確定為OCR文字識別+正則表達(dá)式篩選。說干就干。3月15日晚,他花了一個(gè)多小時(shí)就寫出了初始代碼,共130行,發(fā)現(xiàn)確實(shí)能夠跑通,且運(yùn)行效率很高。
當(dāng)然,當(dāng)中也遇到了幾個(gè)技術(shù)難題——OCR技術(shù)的實(shí)現(xiàn)、學(xué)生提交截圖類型不統(tǒng)一、截圖數(shù)量多時(shí)的程序等待焦慮等。李小康逐一嘗試工具、分析圖像特點(diǎn),尋找到了最佳解決方案。
程序輸出的Excel文件
未來有望覆蓋全校
李小康說,自己開發(fā)這個(gè)程序的初衷是為了減少自己和身邊老師的工作量!半m然原理也很簡單,只要是會寫代碼的人第一時(shí)間就會明白是怎么回事,但是不做相關(guān)工作的感受不到這件事情的費(fèi)時(shí)費(fèi)力,自然也不會想出辦法。我只是用我學(xué)到的知識解決實(shí)際工作中的困難!彼f。
李小康把這件事發(fā)到朋友圈之后,不少學(xué)工的同事表示很感興趣,他也把代碼分享了出去,讓有需求的老師們都能及時(shí)使用。
“因?yàn)槌绦蚴褂胮ython語言編寫,代碼注釋也寫得很完整,只要會使用python,就可以很快上手!睘榱朔奖悴粫幊痰睦蠋熓褂,李小康最后還把程序進(jìn)行了封裝。“大家需要用的時(shí)候,只要在命令行輸入一行代碼就可以運(yùn)行,非常簡單!
據(jù)悉,學(xué)校信息辦已與李小康對接!八乃悸泛妥龇ńo我們很大啟發(fā)!毕嚓P(guān)負(fù)責(zé)人介紹,正在收集二級單位管理需求,研究制定相關(guān)方案,開發(fā)全新小程序納入學(xué)!耙痪W(wǎng)通辦”平臺。預(yù)計(jì)在不久的將來,師生們就可不用再通過微信手動收集核酸截圖,而是通過小程序直接上傳圖片,二級單位負(fù)責(zé)人可在后臺隨時(shí)查看統(tǒng)計(jì)結(jié)果。
分享讓更多人看到