余慶豐,余慶兒,曾 輝,溫美玲(.中國人民解放軍總參謀部6764部隊(duì),海南 三亞 57000;.努比亞技術(shù)有限公司 技術(shù)部,廣東 深圳 58000;.怡伽物業(yè)服務(wù)有限公司 綜合部,海南 三亞 57000)
一種圖像識別震蕩優(yōu)化算法
余慶豐1,余慶兒2,曾輝1,溫美玲3
(1.中國人民解放軍總參謀部61764部隊(duì),海南 三亞 572000;2.努比亞技術(shù)有限公司 技術(shù)部,廣東 深圳 518000;3.怡伽物業(yè)服務(wù)有限公司 綜合部,海南 三亞 572000)
針對傳統(tǒng)圖像識別速度偏低的問題,提出一種圖像識別震蕩優(yōu)化(IRCA)算法。該算法采用震蕩逼近邊緣點(diǎn)的方法,從而達(dá)到快速、有效且不引入誤差地定位圖像邊緣點(diǎn)的目的,克服了傳統(tǒng)定位圖像邊緣點(diǎn)較慢的缺點(diǎn)。實(shí)驗(yàn)證明,IRCA算法可大大提高圖像識別速度,使識別時間大為減少。
IRCA;圖像識別;圖像邊緣點(diǎn);識別速度
圖像識別技術(shù)是利用像素點(diǎn)進(jìn)行分析和識別的技術(shù),在很多領(lǐng)域都有應(yīng)用[1]。圖像識別的過程主要分為三部分:一是對圖像進(jìn)行灰度化、二值化、抑噪等預(yù)處理操作,形成一個符合識別算法需求的圖像;二是找到新生成的圖像邊緣點(diǎn),進(jìn)行字符或區(qū)域分割;三是提取特征劃分類型,達(dá)到圖像識別的目的[2]。其中查找有效圖像邊緣點(diǎn)是繁瑣的事情,對計算資源的消耗比較大,對后續(xù)的圖像處理和分析過程有著重要的影響[3]。如何快速找到有效圖像邊緣點(diǎn)是圖像識別技術(shù)的一個難點(diǎn)。
一般圖像識別算法找到有效圖像邊緣點(diǎn)的方法都是對像素點(diǎn)進(jìn)行逐個分析,該算法效率低下,這是由于在找到有效圖像邊緣點(diǎn)前通常進(jìn)行了大量的無效計算,直接的結(jié)果就是識別時間被延長,可能導(dǎo)致失去應(yīng)用價值[4-5]。識別有效圖像邊緣點(diǎn)的速度與圖像的像素點(diǎn)數(shù)、識別算法及計算機(jī)性能有著直接的關(guān)系,提高查找有效圖像邊緣點(diǎn)速度最有效的方法是對識別算法進(jìn)行優(yōu)化處理。其優(yōu)化的方向是在滿足識別要求的條件下減少計算量,降低計算資源消耗,從而減少識別時間。為了快速查找有效圖像邊緣點(diǎn),本文提出一種圖像識別震蕩優(yōu)化(IRCA)算法,即利用二進(jìn)制表示方法,通過震蕩跳躍的過程,選擇性地分析特定位置像素點(diǎn)的RGB值,不斷逼近有效圖像邊緣點(diǎn),達(dá)到快速找到有效圖像邊緣點(diǎn)的目的,可極大地提高識別速度。
為了獲取有效圖像邊緣點(diǎn),計算機(jī)通常需要進(jìn)行大量的數(shù)據(jù)計算。IRCA算法主要設(shè)計思想是通過分析像素點(diǎn)之間隱藏的數(shù)學(xué)關(guān)系,從而減少需要分析的像素點(diǎn)數(shù)量,達(dá)到降低計算量、提高識別速度的目的。IRCA算法的基本原理是通過不斷縮小圖像邊緣點(diǎn)的取值范圍,逐漸逼近圖像邊緣點(diǎn)。
假設(shè)目標(biāo)點(diǎn)的位置是二進(jìn)制數(shù)1011B,且目標(biāo)點(diǎn)的位置未知,那么IRCA算法的基本原理如下:
(1)通過分析1B、11B、111B、1111B等點(diǎn)的RGB值發(fā)現(xiàn),1111B點(diǎn)的RGB值出現(xiàn)了變化,表現(xiàn)為有效圖像的RGB值,則確定了最高位為1000B,那么圖像邊緣點(diǎn)位置的取值范圍為(0001B,1111B];
(2)繼續(xù)分析1011B點(diǎn)的RGB值發(fā)現(xiàn),該點(diǎn)為有效圖像邊緣點(diǎn),那么圖像邊緣點(diǎn)位置的取值范圍為(0001B,1011B];
(3)繼續(xù)分析1001B點(diǎn)的RGB值發(fā)現(xiàn),該點(diǎn)為無效圖像邊緣點(diǎn),那么圖像邊緣點(diǎn)位置的取值范圍為(1001B,1011B];
(4)繼續(xù)分析1010B點(diǎn)的RGB值發(fā)現(xiàn),該點(diǎn)為無效圖像邊緣點(diǎn),那么圖像邊緣點(diǎn)位置的取值范圍為(1010B,1011B],則1011B為目標(biāo)點(diǎn)。
由IRCA算法的基本原理可知,采用IRCA算法可快速找到圖像邊緣點(diǎn)而不引入誤差,且采用IRCA算法找到的圖像邊緣點(diǎn)與逐行掃描找到的圖像邊緣點(diǎn)一致。
IRCA算法利用二進(jìn)制表示方法,通過分析特定位置像素點(diǎn)的RGB值,震蕩逼近圖像邊緣點(diǎn),最終實(shí)現(xiàn)快速、有效且不引入誤差地定位圖像邊緣點(diǎn)。為了方便描述,IRCA算法使用黑和白分別表示其背景和識別目標(biāo),A點(diǎn)是起點(diǎn),B點(diǎn)是目標(biāo)點(diǎn),如圖1所示。利用IRCA算法快速找到B點(diǎn),其具體步驟如下:
(1)定義變量j,m,n,Q及Cj,Cj=2^0+2^1+2^2…+2^j,j是自然數(shù)。
(2)分別判斷C0,C1,C2,C3等點(diǎn)的RGB值,找到RGB值為白色的第一個Cj點(diǎn),記該位置為P點(diǎn),Q=Cj,n=j-1,m=1。
(3)判斷Q=(Q+(-1)^m*2^n)是否為白色,則記該位置為P點(diǎn),m=1,n=n-1,否則m=0,n=n-1。不斷執(zhí)行步驟3,直至n=0。
甲洛洛坐不住了,今天必須要給自己一個交代,要給那些把自己當(dāng)小偷的人一個交代,哼哼,小丁,小丁主任,今天可對不起你了,誰讓你給我不明不白地背一個小偷的名聲,我甲洛洛何曾會干這偷雞摸狗的丟臉事。甲洛洛又尋思著怎樣抓住這小偷才最好?
(4)最后記錄的P點(diǎn)就是目標(biāo)點(diǎn)。
圖1 IRCA算法的背景和識別目標(biāo)
如果目標(biāo)在101的位置,剛開始每一步走的距離依次為:1,2,4,8,16,…2^n,直至步和大于或等于101(即1+2+4+…2^n>101)。當(dāng)n=6時,2^n=64,步和S=127>101,S所在位置為白色,記錄該位置為P;下一步走的距離為-32,此時步和S=95<101,S所在位置為黑色;下一步走的距離為+16,步和S=111>101,S所在位置為白色,記錄該位置為P;下一步走的距離為-8,……
每步走的距離依次為:1,2,4,8,16,32,64,-32,16,-8,-4,2,-1;步和為100。但最后記錄的P點(diǎn)位置是101,也就是找到了目標(biāo)邊緣點(diǎn)。采用一般圖像算法,需要走101步才能找到101的位置,只有在算法運(yùn)行完之后才知道101就是最佳解;采用IRCA算法,只需要走13步,加速比達(dá)到7.77,就能很快找到目標(biāo)邊緣點(diǎn)。但不同位置,加速比不一致,位置越遠(yuǎn),加速效果越好(見表1)。
表1 IRCA算法的加速效果
為了防止2^n的值超出白色的范圍,對IRCA算法的步驟1和步驟2進(jìn)行修正。設(shè)定一個閥值(即白色的寬度),當(dāng)2^(n+1)大于這個閥值時,n值不再增加,步長保持2^n,直至發(fā)現(xiàn)白色塊的第一個點(diǎn)。
為了驗(yàn)證IRCA算法的有效性,采用碎紙機(jī)刀片正反面圖像識別應(yīng)用實(shí)例進(jìn)行實(shí)驗(yàn)驗(yàn)證,分析IRCA算法對圖像識別時效性和準(zhǔn)確度的影響。實(shí)驗(yàn)證明,IRCA算法提高了刀片正反面圖像識別算法的識別速度,使識別時間降低了85%左右,優(yōu)化效果明顯,且不引入誤差,是一種可靠有效的優(yōu)化算法。由IRCA算法的基本原理可知,IRCA算法的優(yōu)點(diǎn)是提高圖像識別查找邊緣點(diǎn)的時效性和保持原有的準(zhǔn)確度,因而實(shí)驗(yàn)內(nèi)容主要包括時效性實(shí)驗(yàn)和準(zhǔn)確度實(shí)驗(yàn)。
3.1時效性實(shí)驗(yàn)
由圖2可知,碎紙機(jī)的刀片中,A為邊緣點(diǎn),符合IRCA算法的使用條件。為了快速找到A點(diǎn),使用IRCA算法對刀片正反面識別算法進(jìn)行優(yōu)化。由于刀片正反面識別算法是從上往下一行行進(jìn)行掃描,如果對行方向采用IRCA算法很可能會跳過鋸齒,造成誤判,因而只對列方向采用IRCA算法進(jìn)行優(yōu)化。
圖2 碎紙機(jī)的刀片
程序在運(yùn)行的時候會占用很多計算資源,從而影響程序內(nèi)部計時器的準(zhǔn)確性,為了更準(zhǔn)確地計算識別時間,在識別算法運(yùn)行之前記錄當(dāng)前系統(tǒng)時間,識別完成后再記錄當(dāng)前系統(tǒng)時間,兩者的時間差就是識別所需的時間。
IRCA算法優(yōu)化前識別速度測試如圖3所示,識別開始時間為21:09:04,結(jié)束時間為21:09:08,則識別過程占用時間計4s,這些時間包括圖像獲取、搜索A點(diǎn)、B點(diǎn)及計算角度t等。由于圖像獲取、B點(diǎn)及計算角度t的計算量都比較小,識別時間約等于搜索A點(diǎn)的時間,故可用識別時間大致表示查找圖像邊緣點(diǎn)的時間。
IRCA算法優(yōu)化后識別速度測試如圖4所示,識別開始時間為21:17:52,結(jié)束時間為21:17:52,則識別過程占用時間不足1s,有效地提高了識別速度。為了精確地計算識別時間,采用概率法來估測識別時間,經(jīng)過100次的識別測試,識別時間差為1s的有63次,0s的有37次,則識別時間約為63/100*1s=0.63s。
圖3 IRCA算法優(yōu)化前識別速度測試
圖4 IRCA算法優(yōu)化后識別速度測試
實(shí)驗(yàn)證明,經(jīng)過IRCA算法優(yōu)化后,識別時間由4s下降至0.63s,下降幅度高達(dá)84%,優(yōu)化效果顯著,表明該算法時效性較好。
3.2準(zhǔn)確度實(shí)驗(yàn)
為了驗(yàn)證IRCA算法的無誤差性,需要進(jìn)行準(zhǔn)確度實(shí)驗(yàn)。為了排除其他因素可能對實(shí)驗(yàn)結(jié)論產(chǎn)生干擾,實(shí)驗(yàn)時必須保持識別環(huán)境、攝像頭設(shè)備及計算機(jī)等外部因素的一致性。在此基礎(chǔ)上,采用原始識別算法和經(jīng)過IRCA算法優(yōu)化的識別算法分別進(jìn)行100次的識別測試,兩種算法的識別結(jié)果均為100%的識別率、53次正面檢出和47次反面檢出(見表2)。
實(shí)驗(yàn)證明,經(jīng)過IRCA算法優(yōu)化的識別算法與原始識別算法的識別結(jié)果保持一致,表明該算法無誤差性,保持了原有的準(zhǔn)確度。
表2 IRCA算法的準(zhǔn)確度實(shí)驗(yàn)
圖像識別技術(shù)在很多領(lǐng)域都得到了廣泛的應(yīng)用,但卻面臨快速查找有效圖像邊緣點(diǎn)的難點(diǎn)。如果不能及時找到有效圖像邊緣點(diǎn),就會影響識別速度,導(dǎo)致識別效率下降。為了減少查找有效圖像邊緣點(diǎn)的時間,本文提出一種圖像識別震蕩優(yōu)化(IRCA)算法,并進(jìn)行了實(shí)驗(yàn)分析。該算法通過不斷地縮小圖像邊緣點(diǎn)的取值范圍,震蕩逼近有效圖像邊緣點(diǎn),達(dá)到快速找到有效圖像邊緣點(diǎn)的目的。實(shí)驗(yàn)證明,IRCA算法有效性較好,保持了原有的準(zhǔn)確度,大大提高了圖像識別速度,使識別時間大為減少。
[1]張兆禮,趙春輝,梅曉丹.現(xiàn)代圖像處理技術(shù)及Matlab實(shí)現(xiàn)[M].北京:人民郵電出版社,2001:42-47.
[2]林正春,王知衍,張艷青.最優(yōu)進(jìn)化圖像閾值分割算法[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2010(7):1201-1206.
[3]付慧,劉峽壁,賈云得.用于文本區(qū)域提取的邊緣像素聚類方法[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2006(5):729-734.
[4]李云剛.自由搜索算法的改進(jìn)及其在圖像分割中的應(yīng)用[D].哈爾濱:哈爾濱工程大學(xué)信息與通信工程學(xué)院,2010.
[5]劉洋,薛向陽,路紅,等.一種基于邊緣檢測和線條特征的視頻字符檢測算法[J].計算機(jī)學(xué)報,2005(3):427-433.
[責(zé)任編輯:王志梅]
An Image Recognition Concussion Optimization Algorithm
YU Qingfeng1, YU Qinger2, ZENG Hui1, WEN Meiling3
(1.61764 Forces of the General Staff Department of the Chinese People’s Liberation Army, Sanya, 572000, China; 2.Technical Department, Nubia Technology Co., LTD, Shenzhen, 518000, China; 3.General Department, Yijia Property Services Limited, Sanya, 572000, China)
In view of the low speed of traditional image recognition, an image recognition concussion optimization algorithm (IRCA) was presented. The algorithm adopts the method of range close to the edge points, and it achieves the aim of being quick, efficient and locates the edge points without introducing errors, which has overcome the shortcoming of slow positioning of edge points of the traditional image. It is proved that IRCA algorithm can greatly increase the speed of image recognition and reduce the recognition time considerably.
IRCA; Image recognition; Image edge points; Recognition speed
TP391.413
A
1671-4326(2016)01-0056-03
10.13669/j.cnki.33-1276/z.2016.014
2015-11-06
余慶豐(1988—),男,廣東惠來人,中國人民解放軍總參謀部61764部隊(duì)工程師,碩士;余慶兒(1991—),男,廣東惠來人,努比亞技術(shù)有限公司技術(shù)部程序員;曾慶輝(1981—),男,河南商丘人,中國人民解放軍總參謀部61764部隊(duì)工程師,碩士;溫美玲(1990—),女,廣東普寧人,怡伽物業(yè)服務(wù)有限公司綜合部職員.