基于計算機視覺的手寫字符輸入
手寫字符輸入方法已廣泛應(yīng)用于移動電話、掌上電腦等移動設(shè)備,其目的在于增強用戶體驗、提高輸入效率和減小設(shè)備體積。但該方法需要在顯示屏上覆蓋一個電容式或電阻式觸摸屏才能進行接觸式輸入,這無疑增加了設(shè)備成本。目前,移動設(shè)備普遍都配有攝像頭,如果用戶使用發(fā)光筆在空中不接觸屏幕手寫字符,運用計算機視覺的理論和方法實現(xiàn)輸入,則可以降低設(shè)備成本、延長設(shè)備使用壽命。近幾年已經(jīng)有相關(guān)方面的研究,參考文獻[1]提出了一種虛擬手寫字符的方法,通過檢測指尖的運動軌跡來恢復(fù)字符圖像,但該方法對手指書寫的抬筆、落筆檢測比較困難,使得手指陰影影響較大,恢復(fù)出來的字符圖像凌亂,正確識別率低。
本文采用普通教學用的激光筆通過單色屏幕以正常速度寫字,同時攝像頭記錄光斑的移動過程,利用一系列的光斑恢復(fù)出一幅完整的字符圖像,最后對該字符進行識別。該方法簡便快捷、識別率高,且無機械磨損,系統(tǒng)整體流程框圖如圖1所示。其中,光斑是波長約為650 nm的紅色光斑,視頻圖像的采集速度為25 s/s,每幀圖像為320×240的RGB圖像。
1光斑檢測與軌跡恢復(fù)
實際應(yīng)用的移動設(shè)備和移動投影設(shè)備的背景不是白色或黑色,因此通常本文僅討論白色和黑色背景下的光斑檢測及軌跡恢復(fù),不需要建立復(fù)雜的背景模型。
1.1光斑檢測
光點或光斑檢測近幾年已有不同的方法出現(xiàn),參考文獻[2]結(jié)合激光點的顏色特征、運動信息和形狀特征來定位激光點的位置。參考文獻[3]利用擬合算法精確定位光斑位置,但該方法還需要降維處理,算法復(fù)雜度較高。本文采用根據(jù)激光筆發(fā)出的紅色或是綠色來提取RGB圖像的特定分量方法,將其轉(zhuǎn)化成灰度圖像,然后利用灰度重心法找出光斑的中心位置,最后以光斑的中心位置為基礎(chǔ)恢復(fù)出光斑。
本文使用紅色激光筆,激光投射在屏幕上后形成一個非常亮的紅色光斑。因此,提取圖像的R分量,將RGB圖像轉(zhuǎn)化成灰度圖像。實驗發(fā)現(xiàn),在白色背景和黑色背景中不同光照條件下,光斑的灰度值分布在255附近。文中只對灰度級大于180的像素作了灰度分布描述,其結(jié)果如圖2、圖3所示。
圖2、圖3中像素灰度值的比例在255附近陡增,這是由于激光光斑的強度遠高于自然光。而圖中每個灰度級像素個數(shù)的比例也不相同。由此可以看出,同一種背景在不同光照條件下光斑像素灰度的分布是不同的,不同背景在同一種光照條件下光斑像素灰度分布也是不同的。
傳統(tǒng)的重心法是先將圖像二值化后再找光斑的中心,由此丟失了光斑灰度分布細節(jié)。本文采用灰度重心法,可以認為是以灰度為權(quán)值的加權(quán)重心法[4]?;叶葓D像I(i,j)中目標S的灰度重心(x0,y0)為:
式中T為區(qū)分背景與光斑的閾值。
在不同背景下,根據(jù)圖像灰度的分布情況確定閾值選取權(quán)值M(i,j)。圖4所示為選取閾值T前后光斑圖像灰度分布。
圖4中橫、縱坐標表示含有光斑圖像的大小,圖4(a)中背景也參與灰度重心的計算,由于光斑像素個數(shù)較少,計算結(jié)果不夠準確;圖4(b)中取閾值T后,大部分背景灰度值都為零,大大提高了計算結(jié)果的準確度。
光斑的大小對后續(xù)的軌跡恢復(fù)和字符識別會產(chǎn)生影響,如果檢測出來的光斑太小,則在恢復(fù)軌跡時會產(chǎn)生斷斷續(xù)續(xù)的不連續(xù)點;如果檢測出來的光斑太大,恢復(fù)出字符圖像的筆跡比較粗,則不利于后續(xù)的字符識別。以灰度重心為圓心,r為半徑做圓,即為恢復(fù)出來的光斑,為了保證字符的識別率,再結(jié)合國家標準字符相關(guān)規(guī)定,實驗中r采用10個像素的光斑半徑。
1.2 軌跡恢復(fù)
本文運用的軌跡方法是把每幀圖像中確定的光斑迭在一起或連接起來組成一個字符,然后利用八連通區(qū)域標記方法去除噪聲。首先,將得到的光斑圖像轉(zhuǎn)化為二維矩陣,然后把所有的二維矩陣中相對應(yīng)的值進行“或”運算,得到字符圖像的二維矩陣,再將該矩陣轉(zhuǎn)化為二值圖像,得到字符圖像,其效果如圖5所示。
在輸入字符時,可能有噪聲干擾或者由于激光筆操作不當產(chǎn)生類似于噪聲的單獨的點或短線。為了保證字符識別的準確性,需要對恢復(fù)出軌跡的二值化圖像進行八連通區(qū)域標記,并計算標記區(qū)域像素為1的個數(shù)。當像素為1的個數(shù)小于某個給定值n時,則認為該區(qū)域為噪聲刪除。當標記區(qū)域的像素個數(shù)大于給定值n時,則認為是字符區(qū)域。圖6所示表明了光斑半徑與光斑區(qū)域像素個數(shù)的關(guān)系。
實驗中采用的光斑半徑為10個像素,在圖6對應(yīng)的光斑區(qū)域的像素個數(shù)n為300。實驗過程中出現(xiàn)的類似噪聲的光斑區(qū)域往往不是一個單獨的斑點,而是一條短線或者幾個光斑組成的區(qū)域,因此結(jié)合實驗過程中出現(xiàn)的噪聲區(qū)域的大小和圖6中的關(guān)系曲線,本實驗中取n的值為700。
利用二階和三階規(guī)范化中心矩導(dǎo)出的7個不變矩組,結(jié)合拓撲結(jié)構(gòu)的8個特征,能比較準確地識別出大寫英文字符和阿拉伯數(shù)字,識別率達98%??梢姡疚乃玫?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/非接觸式">非接觸式手寫字符輸入方法是可行的。
相對于觸摸屏輸入法,非接觸手寫字符輸入法不僅提高了輸入效率,而且降低了設(shè)備的要求,同時達到無機械磨損,對一些移動設(shè)備和多媒體教學系統(tǒng)有較大的應(yīng)用前景。本文的設(shè)計雖能夠比較準確地識別出手寫字符,但仍需要做進一步地研究和改進。本文只選了單色簡單背景進行實驗,對于復(fù)雜變化背景還需進一步研究;對于正常書寫速度輸入的字符有較高的識別率,但對于快速輸入或者輸入比較潦草的字符識別還存在一定的困難;文中使用了單色背景屏,如果用發(fā)光筆直接對著攝像頭書寫,其效果如何還需進一步研究和驗證。
評論