黃學(xué)沛 張 燕 項(xiàng) 炬 張佳峰 湯嵐欽
(1.長(zhǎng)沙醫(yī)學(xué)院臨床學(xué)院,湖南 長(zhǎng)沙 410219;2.長(zhǎng)沙醫(yī)學(xué)院計(jì)算機(jī)系,湖南 長(zhǎng)沙 410219;3.長(zhǎng)沙醫(yī)學(xué)院基礎(chǔ)醫(yī)學(xué)院,湖南 長(zhǎng)沙 410219)
基于云架構(gòu)的自適應(yīng)聚類(lèi)圖像識(shí)別技術(shù)的研究與實(shí)現(xiàn)
黃學(xué)沛1張 燕2項(xiàng) 炬3張佳峰2湯嵐欽2
(1.長(zhǎng)沙醫(yī)學(xué)院臨床學(xué)院,湖南 長(zhǎng)沙 410219;2.長(zhǎng)沙醫(yī)學(xué)院計(jì)算機(jī)系,湖南 長(zhǎng)沙 410219;3.長(zhǎng)沙醫(yī)學(xué)院基礎(chǔ)醫(yī)學(xué)院,湖南 長(zhǎng)沙 410219)
針對(duì)移動(dòng)平臺(tái)提供高精度圖像識(shí)別服務(wù),對(duì)當(dāng)前比較流行的SIFT和BRISK圖像識(shí)別算法進(jìn)行分析和研究,提出一種新型、高效、輕量級(jí),適用于Android的自適應(yīng)聚類(lèi)圖像識(shí)別算法。并基于Android平臺(tái)設(shè)計(jì)了一套高精度圖像識(shí)別系統(tǒng),利用Android本身提供的各種資源開(kāi)發(fā)圖像識(shí)別軟件。結(jié)果表明:該系統(tǒng)硬件設(shè)備簡(jiǎn)單,成本較低、系統(tǒng)可靠、易于使用和擴(kuò)展。
Android;SIFT算法;大數(shù)據(jù);圖像識(shí)別
圖像識(shí)別是計(jì)算機(jī)視覺(jué)領(lǐng)域中活躍度很高的研究領(lǐng)域之一,其主要研究目標(biāo)是利用計(jì)算機(jī)強(qiáng)大的運(yùn)算能力,幫助人類(lèi)自動(dòng)處理海量的圖像信息,識(shí)別各種不同圖像類(lèi)型的目標(biāo)物以解放人類(lèi)的部分勞動(dòng)力,提高生活生產(chǎn)的效率。
圖像識(shí)別技術(shù)是綜合了多領(lǐng)域多學(xué)科的高新技術(shù)。隨著智能手機(jī)處理能力不斷增強(qiáng),該技術(shù)也逐漸被應(yīng)用到智能手機(jī)平臺(tái)。但手機(jī)目前有限的處理能力和較少可用資源的問(wèn)題對(duì)復(fù)雜的識(shí)別算法提出了考驗(yàn)。圖像識(shí)別技術(shù)的基本原理是首先進(jìn)行圖像特征點(diǎn)提取,然后對(duì)它們進(jìn)行算法分析,最后通過(guò)匹配特征點(diǎn)來(lái)確定圖像數(shù)據(jù)庫(kù)中的圖像[1]。
當(dāng)前手機(jī)上的圖像識(shí)別技術(shù)主要有兩種實(shí)現(xiàn)方式:第一種是依靠客戶(hù)端/服務(wù)器模型(C/S模型)。首先在手機(jī)端獲取要識(shí)別的圖像,然后在服務(wù)器端完成特征點(diǎn)提取、分析等工作。第二種是對(duì)現(xiàn)有識(shí)別算法進(jìn)行改進(jìn)優(yōu)化,在手機(jī)上完成全部工作。這兩種實(shí)現(xiàn)方案各有優(yōu)劣,第一種方案將繁雜的運(yùn)算從手機(jī)轉(zhuǎn)移到服務(wù)器,降低了系統(tǒng)開(kāi)銷(xiāo)并具備較高的效率。第二種方案通過(guò)改進(jìn)算法,從算法層面減少運(yùn)算和系統(tǒng)負(fù)載,但不利于樣本庫(kù)更新和數(shù)據(jù)同步。
針對(duì)以上所述兩種方案的缺陷和不足,本文提出了一種自適應(yīng)聚類(lèi)圖像識(shí)別方案。此方案相較于傳統(tǒng)的圖像識(shí)別算法,使用帶圖像重力線信息的特征點(diǎn)描述算法,能適應(yīng)不同角度拍攝的圖片以避免角度對(duì)結(jié)果產(chǎn)生干擾;建立圖像數(shù)據(jù)庫(kù)實(shí)現(xiàn)圖像數(shù)據(jù)庫(kù)的云端共享和快速查找;用戶(hù)反饋對(duì)結(jié)果進(jìn)行校正以提高識(shí)別精確度。實(shí)驗(yàn)結(jié)果表明,該算法識(shí)別速度快,準(zhǔn)確率高,適合在智能終端使用。
手機(jī)客戶(hù)端通過(guò)調(diào)用Android提供的API打開(kāi)攝像頭對(duì)要進(jìn)行識(shí)別的物體進(jìn)行拍照并將圖像保存到SD卡,然后通過(guò)POST發(fā)送到服務(wù)器,服務(wù)器對(duì)圖像進(jìn)行特征點(diǎn)檢測(cè)、描述、匹配,最后把匹配結(jié)果發(fā)送給客戶(hù)端,客戶(hù)端將結(jié)果顯示出來(lái)。系統(tǒng)架構(gòu)圖如圖1所示。
圖1 系統(tǒng)架構(gòu)設(shè)計(jì)示意圖
本算法包括圖像樣本訓(xùn)練和在線識(shí)別兩個(gè)階段。
圖像樣本訓(xùn)練階段。首先將所有樣本轉(zhuǎn)換為800x600像素以統(tǒng)一分辨率。通過(guò)帶有重力方向的樣本集提取brisk特征點(diǎn)并生成Freak特征描述符,然后選取前100個(gè)響應(yīng)值較大的特征點(diǎn),計(jì)算其重力方向和像素強(qiáng)度主方向的夾角。最后,建立圖像指紋數(shù)據(jù)庫(kù),并將圖像存儲(chǔ)到數(shù)據(jù)庫(kù)。下次只需要比對(duì)圖像指紋即可進(jìn)行識(shí)別。
在線識(shí)別階段。手機(jī)打開(kāi)攝像頭并捕捉圖像,以800x600像素裁剪圖像,然后發(fā)送到服務(wù)器,服務(wù)器通過(guò)提取圖像特征點(diǎn),計(jì)算特征描述符和圖像拍攝方向與重力方向的夾角,然后根據(jù)特征描述符進(jìn)行圖像指紋匹配,最后將結(jié)果發(fā)送給手機(jī)。
本算法包括兩個(gè)部分,第一部分(算法1)定義了圖像指紋數(shù)據(jù)庫(kù)的結(jié)構(gòu);第二部分(算法2)對(duì)要識(shí)別的圖像進(jìn)行圖像指紋檢測(cè)。
算法1 定義圖像指紋數(shù)據(jù)庫(kù)
本算法采用經(jīng)過(guò)改進(jìn)的SIFT描述符,文獻(xiàn)[2]中闡述了FREAK、SURF、BRISK和原算法之間的一些主要區(qū)別。SIFT是一種基于尺度不變局部特征算法,在圖像特征點(diǎn)匹配方面具有良好的效果[3]。原SIFT算法描述子的維數(shù)是128維,像素范圍是256。因?yàn)榫S數(shù)過(guò)高,它的計(jì)算量非常龐大。本文使用的改進(jìn)SIFT算法以圓形區(qū)域代替原來(lái)的256特征區(qū)域并將區(qū)域擴(kuò)大為400。
為了讓特征描述符具備旋轉(zhuǎn)不變性,需要使用圖像局部特征來(lái)為每一個(gè)關(guān)鍵點(diǎn)分配一個(gè)主方向。使用關(guān)鍵點(diǎn)鄰域像素的梯度方向分布規(guī)律為每個(gè)關(guān)鍵點(diǎn)指定方向參數(shù),使特征描述符具備旋轉(zhuǎn)不變性。
其中,(1)式和(2)式分別代表點(diǎn)(x,y)處的梯度模值和方向。然后使用直方圖統(tǒng)計(jì)鄰域像素的梯度模值和方向,其范圍為0~360度,共36柱,將直方圖進(jìn)行高斯平滑處理,以區(qū)分各像素點(diǎn)的影響值。離中心點(diǎn)越近,其權(quán)值越大。以直方圖的最大值作為關(guān)鍵點(diǎn)主方向。為了增強(qiáng)魯棒性,將大于主方向最大值80%的方向作為輔助方向。將以特征點(diǎn)為中心的256像素大小的圓形區(qū)域劃分為鄰域并均勻分為16個(gè)子域,分別計(jì)算每個(gè)子域的梯度方向直方圖。然后,對(duì)16個(gè)子域的8方向梯度直方圖依據(jù)位置依次排序,這樣就構(gòu)成了一個(gè)128維的SIGT特征描述子。如圖2所示。
圖2 以特征點(diǎn)為中心選取8×8大小的窗口
算法2 對(duì)圖像進(jìn)行圖像指紋檢測(cè)
特征點(diǎn)是圖像局部區(qū)域中變化最顯著的部分,本文采用計(jì)算量小的BRISK特征點(diǎn)檢測(cè)算法,在適合移動(dòng)終端的同時(shí)保證了提點(diǎn)算法的即時(shí)性。
建立尺度空間后,需要尋找尺度空間的極值點(diǎn)。每一個(gè)采樣點(diǎn)要和它所有的相鄰點(diǎn)比較。檢測(cè)點(diǎn)和它同尺度的8個(gè)點(diǎn)以及相鄰上下尺度的18個(gè)點(diǎn)進(jìn)行比較,若該點(diǎn)的值比它們都大或者都小,那么便可認(rèn)為該點(diǎn)為該尺度下的一個(gè)特征點(diǎn)。
由于DoG值對(duì)噪聲和邊緣比較敏感,因此得到的特征點(diǎn)還需經(jīng)過(guò)進(jìn)一步檢驗(yàn)才能使用。對(duì)尺度空間DoG函數(shù)進(jìn)行曲線擬合以提高其穩(wěn)定性,使用DoG函數(shù)在尺度空間的泰勒展開(kāi)式為:
其中,X=(x,y,σ)T,求導(dǎo)并令D(X)等于零,即可得到極值點(diǎn)的位置為:
將精確位置代入擬合函數(shù)以剔除低對(duì)比度的點(diǎn),取前兩項(xiàng),為了去除低對(duì)比度的點(diǎn),將(4)式所得結(jié)果代入擬合函數(shù),取前兩項(xiàng),如果D(x)>=0.03則保留該特征點(diǎn),否則就剔除該特征點(diǎn)。
將在尺度空間中搜索到的所有角點(diǎn)作為預(yù)備特征點(diǎn),然后在鄰層進(jìn)行非極大值抑制運(yùn)算。最后被確認(rèn)為特征點(diǎn)的像素點(diǎn)P σ在上下鄰層中對(duì)應(yīng)的點(diǎn)P σ-1和P σ+1在各自的尺度層上也應(yīng)該具有突出性,并且P σ的FAST得分應(yīng)該比P σ-1和P σ+1都要高以確保圖像特征點(diǎn)在尺度空間中的唯一性。
首先計(jì)算要識(shí)別圖像A的特征向量集與圖像指紋庫(kù)中所有特征向量集的匹配點(diǎn)數(shù)目,然后選定匹配點(diǎn)數(shù)目最多的一張圖像B來(lái)測(cè)試匹配率,當(dāng)匹配率大于設(shè)定閾值時(shí)即為匹配成功的圖像。設(shè)匹配率閾值為Mth,A與B的特征點(diǎn)數(shù)目設(shè)置為k 1、 k 2,匹配點(diǎn)數(shù)目設(shè)置為m。如果滿(mǎn)足則說(shuō)明兩張圖像的匹配程度較高,圖像匹配成功。
實(shí)驗(yàn)設(shè)備為一臺(tái)Nexus5手機(jī)。實(shí)驗(yàn)數(shù)據(jù)包括兩組數(shù)據(jù)集:第一組為國(guó)際圖像標(biāo)準(zhǔn)庫(kù)UK-Bench[5],圖像不含任何傳感器信息,包含2100個(gè)不同物體,每個(gè)物體包括4個(gè)不用角度的圖像。另一組為手機(jī)采集的帶有重力方向信息的800個(gè)室外場(chǎng)景圖像,每張圖片包括5個(gè)不同視角的圖像。
實(shí)驗(yàn)過(guò)程包括訓(xùn)練和在線識(shí)別階段。訓(xùn)練階段將所有圖像轉(zhuǎn)換為800x600像素。對(duì)手機(jī)拍攝的圖片,提取它們的BRISK特征點(diǎn)并生成FREAK特征描述符,選取前100個(gè)響應(yīng)值較大的特征點(diǎn),計(jì)算像素強(qiáng)度主方向和重力方向的夾角,而對(duì)沒(méi)有重力信息的標(biāo)準(zhǔn)庫(kù)UKBench中的圖像,僅計(jì)算其特征描述符并將夾角設(shè)置為0。在線識(shí)別階段通過(guò)圖像視覺(jué)信息和重力方向信息,提取圖像特征點(diǎn)并計(jì)算特征描述符和特征方向與重力主方向的夾角,最后進(jìn)行指紋匹配。
取不同參數(shù)閾值在不同規(guī)模圖像庫(kù)上的識(shí)別精度進(jìn)行比較。在樣本較少時(shí),算法有較好的識(shí)別精度。本算法在漢明閾值R為40,匹配的特征夾角差閾值θ為30度,比率M為20%的時(shí)候有最好的效果。
本文提出了一種基于云架構(gòu)的自適應(yīng)聚類(lèi)圖像識(shí)別算法,解決了在智能手機(jī)上大量圖像識(shí)別問(wèn)題。在圖像特征提取方面,使用帶重力方向信息的BRISK特征點(diǎn)算法和用FREAK進(jìn)行描述;在目標(biāo)圖像匹配方面,使用方向夾角來(lái)過(guò)濾相似特征的誤匹配點(diǎn)以提高識(shí)別精度。實(shí)驗(yàn)結(jié)果證明,該識(shí)別算法可在Android平臺(tái)上有效運(yùn)行,該系統(tǒng)硬件設(shè)備簡(jiǎn)單,成本較低、系統(tǒng)可靠、易于使用和擴(kuò)展。
[1]桂振文,劉越,陳靖,等.一種適用于智能手機(jī)的圖像識(shí)別算法[J].電子學(xué)報(bào),2014(8):1487.
[2]Alahi A,Ortiz R,Vandergheynst P.Freak:Fast retina key-point [A].Proceedings of the 25th IEEE Conference on Computer Vision and Pattern Recognition[C].Washing-ton:IEEE,2012:510-517.
[3]楊維,朱文球,羅哲,李旺.改進(jìn)的sift特征匹配方法[J].電腦知識(shí)與技術(shù),2015(9):130.
[4]E M air,G D Hager,D Burschka,M Suppa,et al.Adaptive and generic corner detection based on the accelerated seg-ment test[A].Proceedings of the 11th European Confer-ence on Computer Vision[C].Heidelberg: Springer,2010:183-196.
[5]D Kurz,S.Benhimane.Inertial sensor-aligned visual fea-ture descriptors[A].Proceedings of 24th IEEE Confer-ence on Computer Vision and Pattern Recognition[C].Piscataw ay:IEEE,2011:161-166.
Research and Realization ofAdaptive Clustering Image Recognition Technology Based on CloudArchitectures
Huang Xuepei1Zhang Yan2Xiang Ju3Zhang Jiafeng2Tang Lanqin2
(1.College of Clinical Medicine,Changsha Medical University,Changsha 410219,Hunan; 2.College of Computer Science,Changsha Medical University,Changsha 410219,Hunan; 3.College of Basic Medicine,Changsha Medical University,Changsha 410219,Hunan)
This paper provides high-precision image recognition service for mobile platforms.It analyzes and researches on SIFT and BRISK algorithm,and proposes a novel,efficient,lightweight adaptive clustering algorithm for image recognition which is suitable for Android.It designs a high-precision image recognition system based on the Android platform,using a variety of resources of Android to develop image recognition software.The results show that the system hardware is simple,low-priced,reliable, easy to be used and extended.
Android;SIFT algorithm;big data;image recognition
TP391.41
A
1008-6609(2016)05-0030-03
黃學(xué)沛,男,湖南衡陽(yáng)人,本科,研究方向:臨床醫(yī)學(xué)。
2015年度湖南省大學(xué)生研究性學(xué)習(xí)和創(chuàng)新性實(shí)驗(yàn)計(jì)劃項(xiàng)目,項(xiàng)目編號(hào):湘教通[2015]269號(hào)第538。