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