黃學沛 張 燕 項 炬 張佳峰 湯嵐欽
(1.長沙醫(yī)學院臨床學院,湖南 長沙 410219;2.長沙醫(yī)學院計算機系,湖南 長沙 410219;3.長沙醫(yī)學院基礎(chǔ)醫(yī)學院,湖南 長沙 410219)
基于云架構(gòu)的自適應(yīng)聚類圖像識別技術(shù)的研究與實現(xiàn)
黃學沛1張 燕2項 炬3張佳峰2湯嵐欽2
(1.長沙醫(yī)學院臨床學院,湖南 長沙 410219;2.長沙醫(yī)學院計算機系,湖南 長沙 410219;3.長沙醫(yī)學院基礎(chǔ)醫(yī)學院,湖南 長沙 410219)
針對移動平臺提供高精度圖像識別服務(wù),對當前比較流行的SIFT和BRISK圖像識別算法進行分析和研究,提出一種新型、高效、輕量級,適用于Android的自適應(yīng)聚類圖像識別算法。并基于Android平臺設(shè)計了一套高精度圖像識別系統(tǒng),利用Android本身提供的各種資源開發(fā)圖像識別軟件。結(jié)果表明:該系統(tǒng)硬件設(shè)備簡單,成本較低、系統(tǒng)可靠、易于使用和擴展。
Android;SIFT算法;大數(shù)據(jù);圖像識別
圖像識別是計算機視覺領(lǐng)域中活躍度很高的研究領(lǐng)域之一,其主要研究目標是利用計算機強大的運算能力,幫助人類自動處理海量的圖像信息,識別各種不同圖像類型的目標物以解放人類的部分勞動力,提高生活生產(chǎn)的效率。
圖像識別技術(shù)是綜合了多領(lǐng)域多學科的高新技術(shù)。隨著智能手機處理能力不斷增強,該技術(shù)也逐漸被應(yīng)用到智能手機平臺。但手機目前有限的處理能力和較少可用資源的問題對復(fù)雜的識別算法提出了考驗。圖像識別技術(shù)的基本原理是首先進行圖像特征點提取,然后對它們進行算法分析,最后通過匹配特征點來確定圖像數(shù)據(jù)庫中的圖像[1]。
當前手機上的圖像識別技術(shù)主要有兩種實現(xiàn)方式:第一種是依靠客戶端/服務(wù)器模型(C/S模型)。首先在手機端獲取要識別的圖像,然后在服務(wù)器端完成特征點提取、分析等工作。第二種是對現(xiàn)有識別算法進行改進優(yōu)化,在手機上完成全部工作。這兩種實現(xiàn)方案各有優(yōu)劣,第一種方案將繁雜的運算從手機轉(zhuǎn)移到服務(wù)器,降低了系統(tǒng)開銷并具備較高的效率。第二種方案通過改進算法,從算法層面減少運算和系統(tǒng)負載,但不利于樣本庫更新和數(shù)據(jù)同步。
針對以上所述兩種方案的缺陷和不足,本文提出了一種自適應(yīng)聚類圖像識別方案。此方案相較于傳統(tǒng)的圖像識別算法,使用帶圖像重力線信息的特征點描述算法,能適應(yīng)不同角度拍攝的圖片以避免角度對結(jié)果產(chǎn)生干擾;建立圖像數(shù)據(jù)庫實現(xiàn)圖像數(shù)據(jù)庫的云端共享和快速查找;用戶反饋對結(jié)果進行校正以提高識別精確度。實驗結(jié)果表明,該算法識別速度快,準確率高,適合在智能終端使用。
手機客戶端通過調(diào)用Android提供的API打開攝像頭對要進行識別的物體進行拍照并將圖像保存到SD卡,然后通過POST發(fā)送到服務(wù)器,服務(wù)器對圖像進行特征點檢測、描述、匹配,最后把匹配結(jié)果發(fā)送給客戶端,客戶端將結(jié)果顯示出來。系統(tǒng)架構(gòu)圖如圖1所示。

圖1 系統(tǒng)架構(gòu)設(shè)計示意圖
本算法包括圖像樣本訓練和在線識別兩個階段。
圖像樣本訓練階段。首先將所有樣本轉(zhuǎn)換為800x600像素以統(tǒng)一分辨率。通過帶有重力方向的樣本集提取brisk特征點并生成Freak特征描述符,然后選取前100個響應(yīng)值較大的特征點,計算其重力方向和像素強度主方向的夾角。最后,建立圖像指紋數(shù)據(jù)庫,并將圖像存儲到數(shù)據(jù)庫。下次只需要比對圖像指紋即可進行識別。
在線識別階段。手機打開攝像頭并捕捉圖像,以800x600像素裁剪圖像,然后發(fā)送到服務(wù)器,服務(wù)器通過提取圖像特征點,計算特征描述符和圖像拍攝方向與重力方向的夾角,然后根據(jù)特征描述符進行圖像指紋匹配,最后將結(jié)果發(fā)送給手機。
本算法包括兩個部分,第一部分(算法1)定義了圖像指紋數(shù)據(jù)庫的結(jié)構(gòu);第二部分(算法2)對要識別的圖像進行圖像指紋檢測。
算法1 定義圖像指紋數(shù)據(jù)庫
本算法采用經(jīng)過改進的SIFT描述符,文獻[2]中闡述了FREAK、SURF、BRISK和原算法之間的一些主要區(qū)別。SIFT是一種基于尺度不變局部特征算法,在圖像特征點匹配方面具有良好的效果[3]。原SIFT算法描述子的維數(shù)是128維,像素范圍是256。因為維數(shù)過高,它的計算量非常龐大。本文使用的改進SIFT算法以圓形區(qū)域代替原來的256特征區(qū)域并將區(qū)域擴大為400。
為了讓特征描述符具備旋轉(zhuǎn)不變性,需要使用圖像局部特征來為每一個關(guān)鍵點分配一個主方向。使用關(guān)鍵點鄰域像素的梯度方向分布規(guī)律為每個關(guān)鍵點指定方向參數(shù),使特征描述符具備旋轉(zhuǎn)不變性。

其中,(1)式和(2)式分別代表點(x,y)處的梯度模值和方向。然后使用直方圖統(tǒng)計鄰域像素的梯度模值和方向,其范圍為0~360度,共36柱,將直方圖進行高斯平滑處理,以區(qū)分各像素點的影響值。離中心點越近,其權(quán)值越大。以直方圖的最大值作為關(guān)鍵點主方向。為了增強魯棒性,將大于主方向最大值80%的方向作為輔助方向。將以特征點為中心的256像素大小的圓形區(qū)域劃分為鄰域并均勻分為16個子域,分別計算每個子域的梯度方向直方圖。然后,對16個子域的8方向梯度直方圖依據(jù)位置依次排序,這樣就構(gòu)成了一個128維的SIGT特征描述子。如圖2所示。

圖2 以特征點為中心選取8×8大小的窗口
算法2 對圖像進行圖像指紋檢測
特征點是圖像局部區(qū)域中變化最顯著的部分,本文采用計算量小的BRISK特征點檢測算法,在適合移動終端的同時保證了提點算法的即時性。
建立尺度空間后,需要尋找尺度空間的極值點。每一個采樣點要和它所有的相鄰點比較。檢測點和它同尺度的8個點以及相鄰上下尺度的18個點進行比較,若該點的值比它們都大或者都小,那么便可認為該點為該尺度下的一個特征點。
由于DoG值對噪聲和邊緣比較敏感,因此得到的特征點還需經(jīng)過進一步檢驗才能使用。對尺度空間DoG函數(shù)進行曲線擬合以提高其穩(wěn)定性,使用DoG函數(shù)在尺度空間的泰勒展開式為:

其中,X=(x,y,σ)T,求導(dǎo)并令D(X)等于零,即可得到極值點的位置為:

將精確位置代入擬合函數(shù)以剔除低對比度的點,取前兩項,為了去除低對比度的點,將(4)式所得結(jié)果代入擬合函數(shù),取前兩項,如果D(x)>=0.03則保留該特征點,否則就剔除該特征點。
將在尺度空間中搜索到的所有角點作為預(yù)備特征點,然后在鄰層進行非極大值抑制運算。最后被確認為特征點的像素點P σ在上下鄰層中對應(yīng)的點P σ-1和P σ+1在各自的尺度層上也應(yīng)該具有突出性,并且P σ的FAST得分應(yīng)該比P σ-1和P σ+1都要高以確保圖像特征點在尺度空間中的唯一性。
首先計算要識別圖像A的特征向量集與圖像指紋庫中所有特征向量集的匹配點數(shù)目,然后選定匹配點數(shù)目最多的一張圖像B來測試匹配率,當匹配率大于設(shè)定閾值時即為匹配成功的圖像。設(shè)匹配率閾值為Mth,A與B的特征點數(shù)目設(shè)置為k 1、 k 2,匹配點數(shù)目設(shè)置為m。如果滿足則說明兩張圖像的匹配程度較高,圖像匹配成功。
實驗設(shè)備為一臺Nexus5手機。實驗數(shù)據(jù)包括兩組數(shù)據(jù)集:第一組為國際圖像標準庫UK-Bench[5],圖像不含任何傳感器信息,包含2100個不同物體,每個物體包括4個不用角度的圖像。另一組為手機采集的帶有重力方向信息的800個室外場景圖像,每張圖片包括5個不同視角的圖像。
實驗過程包括訓練和在線識別階段。訓練階段將所有圖像轉(zhuǎn)換為800x600像素。對手機拍攝的圖片,提取它們的BRISK特征點并生成FREAK特征描述符,選取前100個響應(yīng)值較大的特征點,計算像素強度主方向和重力方向的夾角,而對沒有重力信息的標準庫UKBench中的圖像,僅計算其特征描述符并將夾角設(shè)置為0。在線識別階段通過圖像視覺信息和重力方向信息,提取圖像特征點并計算特征描述符和特征方向與重力主方向的夾角,最后進行指紋匹配。
取不同參數(shù)閾值在不同規(guī)模圖像庫上的識別精度進行比較。在樣本較少時,算法有較好的識別精度。本算法在漢明閾值R為40,匹配的特征夾角差閾值θ為30度,比率M為20%的時候有最好的效果。
本文提出了一種基于云架構(gòu)的自適應(yīng)聚類圖像識別算法,解決了在智能手機上大量圖像識別問題。在圖像特征提取方面,使用帶重力方向信息的BRISK特征點算法和用FREAK進行描述;在目標圖像匹配方面,使用方向夾角來過濾相似特征的誤匹配點以提高識別精度。實驗結(jié)果證明,該識別算法可在Android平臺上有效運行,該系統(tǒng)硬件設(shè)備簡單,成本較低、系統(tǒng)可靠、易于使用和擴展。
[1]桂振文,劉越,陳靖,等.一種適用于智能手機的圖像識別算法[J].電子學報,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]楊維,朱文球,羅哲,李旺.改進的sift特征匹配方法[J].電腦知識與技術(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
黃學沛,男,湖南衡陽人,本科,研究方向:臨床醫(yī)學。
2015年度湖南省大學生研究性學習和創(chuàng)新性實驗計劃項目,項目編號:湘教通[2015]269號第538。