【中國安防展覽網 企業關注】人工智能技術的突破往往來自于多方面技術間的融合互通。近日,百度在語音識別技術方面再獲突破,將圖像識別技術成功“跨界”到語音領域,大幅度提升語音識別產品性能,是繼端對端語音識別后取得的另一次重大技術突破。那么,圖像識別究竟是什么?
近些年比較經典的一個應用,就是谷歌和百度推出的識圖功能,相信大家都已經有所體驗;IT行業同事炒得火熱的人臉識別,也是圖像識別應用的一個典例;當然,現在的日常生活中也少不了網上購物中的識圖,只要把想買的東西拿在某寶APP拍一下,就會立即搜索出此物品的種類和價格。
不過,這些厲害的功能究竟是怎么實現的呢?未來圖像識別還會和我們生活有哪些更深的接觸,又跟大數據有什么關系?今天為你慢慢探索。
數字圖像(又稱數碼圖像或數位圖像),是二維圖像用有限數字數值像素的表示。完成數字圖像的識別需要大致經過信息獲取圖像采集 -> 圖像預處理(如二值化、反色等處理方法)得到特征數據 -> 訓練過程(分類器涉及和分類決策) -> 識別這幾個步驟。由于數字圖像和文字、數字均以像素為基本元素,加之數字圖像識別和數字識別的基本過程類似,我將以圖像識別技術中比較基礎的數字識別簡單講述識別的過程。
先介紹一下幾個后面會用到的基本概念:
1. 模式識別:當前,模式識別的應用范圍十分廣泛,它的觀察對象囊括了人類感官直接或間接接受的外界信息。而運用模式識別的目的,則是利用計算機模仿人的識別能力來辨別觀察對象。模式識別方法大致可分為兩種,即結構方法和決策理論方法,其中決策理論方法又稱為統計方法。字符模式識別的方法可以大致分為統計模式識別、結構模式識別和人工神經網絡等。上述的圖像識別步驟就是模式識別的基本步驟了。
常用的模式識別方法之一是模板匹配,顧名思義,就是在輸入圖像上不斷切割出臨時圖像、并將之與模板圖像匹配,如果相似度足夠高,就認為我們尋找到了應有的目標。常見的匹配方法包括平方差匹配法、相關匹配法、相關系數匹配法等。以下我們都將以模板匹配為例,說明模型識別的概念。
2. 支持向量機(SVM):支持向量機是一種可訓練的、基于結構風險小化原則的通用機器學習方法,簡單來說就是一種分類器。SVM方法的原理簡單說即是線性化和升維的過程。SVM是從線性可分情況下的優分類超平面發展而來的。如下圖所示,空心點和實心點分別代表兩類樣本,H為H維分類超平面,HI和H2分別為過各類點且離分類超平面舉例近且平行于H的超平面。優分類超平面理論要求分類超平面在可將兩類正確分開的基礎上,使分類間隔大化。
3. OpenCV:是一個基于BSD許可證授權發型的跨平臺計算機視覺庫。與其他函數庫相比,致力于真實世界的實時應用。同時通過優化的C代碼的編寫,為其執行速度帶來了客觀的提升。
4. LIBSVM:一個簡單、易于使用的SVM模式識別與回歸軟件包。軟件包內包含python,svmtoy等文件夾,以及SVM-predict,svm-scale,svm-train等。
首先運用OpenCV函數庫讀取原始圖像庫中的圖像數據,存儲特征值到外部.txt文檔。隨后對數據進行預處理,并形成待訓練數據;隨后對及格過預處理的數據進行參數尋優、模型訓練。在對待測試圖像進行數據特征的提取后,將特征數據放進模型中進行預測并得到識別率預測值。后對識別率情況進行分析。
下面是實戰步驟:
1. 圖像采集
手繪了0-9共十個數字,每個數字10個樣本,共100個樣本。樣本均為5*5模板。通過代碼實現獲得了手寫數字圖像的特征信息。
2. 預處理
在得到特征數據后,需對特征數據進行一定的預處理以保證后續工作的正常進行。此次我們選用歸一化處理,用svm-scale實現。進行歸一化,目的是保證提取的數據處在一定范圍內,避免過大或過小的情況發生,進而為模型的訓練提供了保障。
此外,過程中還運用了參數尋優,目的是為模型的訓練提供好的參數,以得到準確率更高的模型。下圖為對數據進行參數尋優操作的截圖。
數據進行參數尋優操作的截圖
上圖中后一行就是佳參數。通常,我們會使用幾個正確的模型,提取出特征值,作為參數尋優的結果;之后進行預測工作,都要以尋找出來的優值作為*,進行預測,滿足這些特征值的就會被識別成功。
3. 模型訓練
模型訓練即是根據之前提取到的樣本特征數據,放到LIBSVM分類器中進行分類,分類的依據是每組特征值的標簽。SVM機器學習方法是基于統計學理論的,因此大量的數據會得到更為的模型文件。
實戰結果:
進行了幾組簡單的試驗。
1. 使用相同的訓練集和測試樣本,分別基于模板匹配法和基于SVM的識別方法,以觀察數據維度對于識別準確率的影響。
原因分析:由于模板匹配方法使用網絡特征的提取方法,對每個區域內黑色像素個數進行統計,計算得到每個區域占得總體區域的百分比;而SVM是針對每個像素點的坐標進行統計分析的,加之高緯度可以使得坐標定位更加,因此SVM方法優勢較大。
結論:在相同測試樣本、相同緯度的前提下,運用SVM方法訓練得到的模型分別在16維和25維下預測,運用SVM方法得到的準確率高于模板匹配法。
2. 運用SVM方法,使用相同訓練樣本和測試樣本,在不同維度下對比準確率。訓練樣本500個,測試樣本100個。
結論:對于相同樣本,使用SVM方法對模型進行預測,維度的高低對于準確率起到一定積極的影響,但準確率不會隨維度的升高而無限升高。
3.對于相同測試樣本,在相同維度下,測試訓練樣本數對于準確率的影響。
原因分析:由于SVM方法的圖像識別是基于統計學理論進行研究的,因此大量的訓練樣本有助于得到更加準確的訓練模型,對模型訓練的預測準確度起到一定積極的影響。
圖像識別和大數據有著密不可分的關系。有前輩指出,數據挖掘=大數據+機器學習;也有專家認為,模式識別=數據+機器學習。大數據是一個時代性的概念,也是社會發展的必然產物。我們通過大數據技術實現我們終的目的——即數據挖掘。無疑,“圖像”也是一種數據,而圖像識別是將非結構化數據結構化的必要過程。
圖像識別技術日益火熱,每年都在以火箭般的速度更新著新的技術和成果,當然并不局限于圖像處理和購物方面。如今,圖像識別技術更是從搜圖識物發展到了視頻領域,不斷給我們帶來驚喜。比如新興的互動視頻技術video++,已經可以實現在視頻中捕捉待識別的人臉和同款服飾。科技是生產力,在21世紀,火的技術之一當屬人工智能,然而圖像識別技術又是人工智能的核心,它是未來智能AI的“眼睛”,它的發展必然會帶動人工智能的迅速發展。未來已至,你準備好了嗎?
參考文獻:曾志強,支持向量分類的訓練與簡化算法研究[D]浙江:浙江大學2007.6,29.
(原標題:我們比較了幾種圖像識別技術……圖像識別究竟是什么? 圖片來源:KPMG專業數據挖掘團隊)