彭安娜,崔建一,張育瑋
(遼寧科技大學(xué)電信學(xué)院,遼寧 114051)
隨著社會(huì)的發(fā)展,無(wú)人化成為了各個(gè)行業(yè)的發(fā)展方向。但在兒童票身高檢測(cè)領(lǐng)域依舊使用人工的方式,為提高效率、減少勞動(dòng)量和運(yùn)營(yíng)成本,本文介紹了一種可以應(yīng)用于兒童票身高識(shí)別的方法,可以取代人工,達(dá)到判斷兒童身高是否符合要求的目的,本方案雖然比不上人工的精準(zhǔn)度,也無(wú)法達(dá)到百分之百的識(shí)別成功率,但綜合分析來(lái)看,在兒童票使用頻繁的地方,此方案是更加劃算的。
根據(jù)國(guó)家相關(guān)法律規(guī)定,符合相關(guān)標(biāo)準(zhǔn)的兒童可在很多場(chǎng)合使用兒童票,享受相關(guān)的優(yōu)惠政策,目前,不論是火車(chē)兒童票、飛機(jī)兒童票還是景區(qū)兒童門(mén)票都是以身高為標(biāo)準(zhǔn),一般為1.5米以下可享受兒童票優(yōu)惠。
視覺(jué)識(shí)別技術(shù)現(xiàn)在十分流行,被廣泛地應(yīng)用于生活的方方面面。近年來(lái),火車(chē)站、機(jī)場(chǎng)以及部分景區(qū)都在門(mén)口使用上了視覺(jué)識(shí)別技術(shù),人們買(mǎi)票之后,只需要刷票的同時(shí)掃描一下面部,即可完成檢票工作,代替了之前的人工檢票,既節(jié)省了人工又提高了效率。但是,在兒童票檢票時(shí),由于要檢驗(yàn)兒童是否符合身高標(biāo)準(zhǔn),所以還是需要人工來(lái)測(cè)量身高,十分麻煩。所以,本文從這個(gè)問(wèn)題入手,制作一個(gè)身高檢測(cè)系統(tǒng),可快速檢測(cè)出被測(cè)人的身高,使檢票環(huán)節(jié)做到完全的去人工化,在人流量較大時(shí),該系統(tǒng)優(yōu)勢(shì)明顯,不但可以節(jié)省大量時(shí)間,同時(shí)還可以排除安全隱患,避免擁堵導(dǎo)致的不良事件發(fā)生。使檢票流程高效快速,同時(shí)也可減少人力資源的浪費(fèi),節(jié)約運(yùn)營(yíng)成本。
OpenCV是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)開(kāi)發(fā)包,它的優(yōu)點(diǎn)在于擁有覆蓋了機(jī)器視覺(jué)的大多應(yīng)用領(lǐng)域的圖像處理函數(shù)。它的算法都經(jīng)過(guò)了很好的優(yōu)化[1]?;贠penCV來(lái)實(shí)現(xiàn)兒童票身高識(shí)別,具有成熟可靠的原理基礎(chǔ)。
本方案使用Python下載OpenCV庫(kù)供編程使用,共兩套程序,使用時(shí)固定距離放置攝像機(jī),連接電腦,兒童進(jìn)入通道之后,第一套程序啟動(dòng)攝像機(jī)開(kāi)始錄像,將視頻傳送給電腦;第二套程序啟動(dòng),電腦識(shí)別視頻中的動(dòng)態(tài)兒童,將圖像轉(zhuǎn)化為一個(gè)個(gè)像素點(diǎn),待兒童在固定位置站好后,截取關(guān)鍵幀,測(cè)量最上方像素點(diǎn)與最下方像素點(diǎn)的距離,乘上對(duì)應(yīng)的比例尺,將得到的數(shù)據(jù)與標(biāo)準(zhǔn)數(shù)據(jù)進(jìn)行比較,既完成了判斷過(guò)程,符合標(biāo)準(zhǔn)則無(wú)反應(yīng),不符合標(biāo)準(zhǔn),則通過(guò)語(yǔ)音提醒,之后立馬等待下一個(gè)目標(biāo),繼續(xù)下一次動(dòng)態(tài)識(shí)別。
在此實(shí)驗(yàn)過(guò)程中,運(yùn)用的核心技術(shù)便是幀間差分法。幀間差分法主要應(yīng)用場(chǎng)景為檢測(cè)目標(biāo)是相對(duì)固定的,而運(yùn)動(dòng)目標(biāo)的位置是處于變化的情況下。在該前提下,讓相鄰兩個(gè)視頻幀進(jìn)行相減,在理想狀態(tài)下,背景部分差值為0,而運(yùn)動(dòng)區(qū)域的差值不為零。這時(shí)候選取一個(gè)合適的閾值把視頻幀的背景過(guò)濾掉,從而提取到運(yùn)動(dòng)目標(biāo)[2]。
基于OpenCV的兒童票身高識(shí)別具體流程如下:
第一步,進(jìn)行圖像預(yù)處理?;贠penCV的兒童票身高識(shí)別,致力于便捷可靠。在實(shí)踐運(yùn)用中,取景攝像頭為固定的,被檢測(cè)兒童處于固定距離外。固定的取景位和角度可避免圖像傾斜帶來(lái)的誤差。取到圖像后,通過(guò)預(yù)處理突出重點(diǎn),抑制背景的干擾。預(yù)處理操作包括圖像灰度化、邊緣檢測(cè)、二值化和傾斜校正[3],因?yàn)閮和囝B皮好動(dòng),可能給圖像帶來(lái)影響,所以?xún)A斜校正是必不可少的一步。如圖1所示。
圖1 圖像預(yù)處理
第二步,尋找關(guān)鍵幀并求正外接矩形。兒童到達(dá)目標(biāo)位置后站定,幀間分差背景部分差值變?yōu)?,截取關(guān)鍵幀。接下來(lái)求得人體正外接矩形。人體正外接矩形為平行于x,y軸的規(guī)矩圖形,進(jìn)而可得到人體高度像素[4]。如圖2所示。
圖2 人體正外接矩形
第三步,進(jìn)行比例換算。根據(jù)處理器屏幕分辨率和屏幕尺寸,可得到PPI(每英寸像素的個(gè)數(shù)),已知攝像頭焦距和物距,可將得到的人體身高像素?fù)Q算為實(shí)際身高。實(shí)際身高為(人體身高像素/PPI×25.4)×比例尺。
對(duì)程序進(jìn)行了多次模擬實(shí)驗(yàn),不斷地優(yōu)化改進(jìn),基本可以滿(mǎn)足實(shí)際的要求,可以證明,此方法可行性高,后期將針對(duì)兒童進(jìn)行大量實(shí)驗(yàn),爭(zhēng)取可以早日將本方案投入到實(shí)際生產(chǎn)生活中。
身高識(shí)別技術(shù)目前還存在著許多問(wèn)題,首先,對(duì)于視覺(jué)識(shí)別技術(shù)來(lái)說(shuō),不可能有百分百的成功率,識(shí)別過(guò)程中不可避免地會(huì)出現(xiàn)識(shí)別異常的現(xiàn)象,我們只能降低失敗率,無(wú)法保證失敗率徹底清零。在實(shí)驗(yàn)過(guò)程中,為了追求結(jié)果的理想化和數(shù)據(jù)的最小誤差,實(shí)驗(yàn)環(huán)境整潔,背景為白墻。而在實(shí)際運(yùn)用中,檢票環(huán)境是雜亂的,除了被檢測(cè)兒童以外,還有許多干擾元素,都會(huì)對(duì)數(shù)據(jù)結(jié)果造成影響。其次,我們服務(wù)的對(duì)象是兒童,兒童的自主能力較差,可能會(huì)出現(xiàn)不配合機(jī)器識(shí)別的情況,如果在識(shí)別過(guò)程中,兒童出現(xiàn)跑、跳等動(dòng)作,機(jī)器識(shí)別的準(zhǔn)確率與成功率都會(huì)大幅下降。
本項(xiàng)目基于OpenCV對(duì)動(dòng)態(tài)的人體進(jìn)行像素幀識(shí)別,計(jì)算身高。隨著科學(xué)技術(shù)的發(fā)展,數(shù)據(jù)趨于信息化,效率為生產(chǎn)發(fā)展的一大重點(diǎn)。火車(chē)站、地鐵站等人流量巨大的區(qū)域,為了避免擁堵,對(duì)效率的要求更加嚴(yán)格。在不久的將來(lái),兒童票身高識(shí)別機(jī)器的出現(xiàn)是必然的。