圖像識別已成為當下的主流,每天都有成千上萬的公司和數百萬的消費者在使用這項技術。 圖像識別由深度學習提供動力,特別是卷積神經網絡(CNN),這是一種神經網絡體系結構,可模擬視覺皮層如何分解并分析圖像數據。CNN和神經網絡圖像識別是計算機視覺深度學習的核心組成部分,它具有許多應用場景,包括電子商務,游戲,汽車,制造業和教育。


在本文中,你將學習到:
1)什么是圖像識別?
2)圖像識別如何工作?
3)神經網絡的圖像數據預處理步驟
4)使用神經網絡建立圖像預測模型
5)卷積神經網絡及其在圖像識別中的作用
6)圖像識別的應用
1、什么是圖像識別?
圖像識別使用人工智能技術自動識別圖像中的對象,人物,位置和動作。 圖像識別用于執行任務,例如使用描述性標簽標記圖像,在圖像中搜索內容以及引導機器人,自動駕駛汽車和駕駛員輔助系統。


圖像識別對于人類和動物來說是很自然的,但是對于計算機來說卻是一項極其困難的任務。 在過去的二十年中,計算機視覺領域出現了,并且已經開發了可以挑戰的工具和技術。目前用于圖像識別任務的最有效工具是深層神經網絡,特別是卷積神經網絡(CNN)。 CNN是一種旨在有效處理,關聯和理解高分辨率圖像中的大量數據的體系結構。
2、圖像識別如何工作?
人眼將圖像視為一組信號,由大腦的視覺皮層來解釋。結果是一個場景的體驗,它鏈接到保留在內存中的對象和概念。圖像識別模仿了這一過程。計算機以一組矢量(帶有彩色注釋的多邊形)或一個柵格(一個帶有顏色離散數值的像素畫布)“看到”圖像。
在神經網絡圖像識別過程中,圖像的矢量或光柵編碼被轉換為描繪物理對象和特征的構造。計算機視覺系統可以從邏輯上分析這些構造,首先是通過簡化圖像并提取最重要的信息,然后通過特征提取和分類來組織數據。最后,計算機視覺系統使用分類或其他算法來決定圖像或圖像的一部分-它們屬于哪個類別,或者如何最好地描述它們。


3、圖像識別算法
一種圖像識別算法是圖像分類器。它以圖像(或圖像的一部分)作為輸入并預測圖像包含的內容。輸出是一個類別標簽,例如狗,貓或桌子。需要訓練該算法以學習和區分類。
在一個簡單的情況下,要創建一種可以識別帶有狗的圖像的分類算法,你將訓練具有數千個狗的圖像和數千個沒有狗的背景圖像的神經網絡。該算法將學習提取識別“狗”對象的特征,并正確分類包含狗的圖像。雖然大多數圖像識別算法是分類器,但其他算法可用于執行更復雜的活動。例如,循環神經網絡可用于自動編寫描述圖像內容的標題。
4、神經網絡的圖像數據預處理步驟
神經網絡圖像識別算法依賴于數據集的質量-用于訓練和測試模型的圖像。以下是圖像數據準備的一些重要參數和注意事項。
1)圖像大小-更高質量的圖像為模型提供了更多信息,但需要更多的神經網絡節點和更多的計算能力來處理。
2)圖像數量-你向模型提供的數據越多,它將越精確,但要確保訓練集代表實際人口。
3)通道數-灰度圖像具有2個通道(黑白),彩色圖像通常具有3個顏色通道(紅色,綠色,藍色/ RGB),其顏色表示為[0,255]。
4)高寬比-確保圖像具有相同的高寬比和尺寸。通常,神經網絡模型采用正方形輸入圖像。
5)圖像縮放-一旦所有圖像都經過平方處理,就可以縮放每個圖像。有許多放大和縮小技術,它們可以作為深度學習庫中的函數使用。
6)輸入數據的均值,標準差-在所有訓練示例中,你可以通過計算每個像素的平均值來查看“均值圖像”,以獲得有關圖像中基礎結構的信息。
7)標準化圖像輸入-確保所有輸入參數(在這種情況下為像素)均具有均勻的數據分布。訓練網絡時,這將加快融合速度。你可以通過從每個像素中減去平均值,然后將結果除以標準偏差來進行數據歸一化。
8)降維-你可以決定將RGB通道折疊為灰度通道。如果你打算使神經網絡對該尺寸不變,或者使訓練的計算強度降低,則可能需要減小其他尺寸。
9)數據擴充-涉及通過擾動當前圖像的類型(包括縮放和旋轉)來擴充現有數據集。這樣做是為了使神經網絡具有多種變體。這樣,該神經網絡不太可能識別數據集中的有害特征。


5、使用神經網絡建立圖像預測模型
準備好訓練圖像后,你將需要一個可以處理它們并使用它們對新的未知圖像進行預測的系統。該系統是一個人工神經網絡。神經網絡圖像識別算法可以對幾乎所有內容進行分類,從文本到圖像,音頻文件和視頻。


神經網絡是稱為神經元或感知器的節點的互連集合。每個神經元都會獲取一份輸入數據,通常是圖像的一個像素,然后應用稱為激活函數的簡單計算來生成結果。每個神經元都有影響其結果的數值權重。
該結果將被饋送到其他神經層,直到該過程結束時,神經網絡為每個輸入或每個像素生成一個預測。多層感知器此過程針對大量圖像重復進行,并且網絡在稱為反向傳播的過程中為每個神經元學習最合適的權重,從而提供準確的預測。訓練模型后,將其應用于未參與訓練的一組新圖像(測試或驗證集)以測試其準確性。進行一些調整后,該模型可用于對真實世界的圖像進行分類。
6、常規神經網絡在圖像識別中的局限性
傳統的神經網絡使用完全連接的體系結構,如下所示,其中一層中的每個神經元都連接到下一層中的所有神經元。完全連接的神經網絡在處理圖像數據時,完全連接的體系結構效率很低:


對于具有數百個像素和三個通道的普通圖像,傳統的神經網絡將生成數百萬個參數,這可能會導致過擬合。
該模型將需要大量的計算。
可能難以解釋結果,調試和調整模型以提高其性能。
7、卷積神經網絡及其在圖像識別中的作用
與完全連接的神經網絡不同,在卷積神經網絡(CNN)中,一層中的神經元不會連接到下一層中的所有神經元。相反,卷積神經網絡使用三維結構,其中每組神經元都分析圖像的特定區域或“特征”。 CNN會按接近程度過濾連接(僅針對附近的像素分析像素),從而可以在計算上實現訓練過程。


在CNN中,每組神經元都專注于圖像的一部分。例如,在貓的圖像中,一組神經元可能會識別出頭部,另一組是身體,另一組是尾部等。在分割的幾個階段中,神經網絡圖像識別算法會分析圖像的較小部分,以便例如,在頭部,貓的鼻子,胡須,耳朵等內部。最終輸出是概率矢量,它針對圖像中的每個特征預測其屬于某個類別或類別的可能性。
8、卷積神經網絡的有效性和局限性
CNN架構使使用行業基準數據集預測圖像中的對象和面部的可能性達到了95%的準確性,而人類能力達到了94%的準確性。 即便如此,卷積神經網絡也有其局限性:需要高處理能力。 通常在具有專用圖形處理單元(GPU)的高成本機器上訓練模型。
當圖像旋轉或傾斜時,或者圖像具有所需對象的特征,但順序或位置不正確時,可能會失敗,例如,鼻子和嘴巴張開的臉。 已經出現了一種稱為CAPSNet的新體系結構來解決此限制。
9、圖像識別應用
圖像識別的實現包括安全性和監視,面部識別,視覺地理定位,手勢識別,對象識別,醫學圖像分析,駕駛員幫助以及網站或大型數據庫中的圖像標記和組織。圖像識別已進入主流。人臉,照片和視頻幀識別已在Facebook,Google,Youtube和許多其他高端消費者應用程序中使用。已經出現了工具包和云服務,可以幫助較小的參與者將圖像識別集成到他們的網站或應用程序中。
10、在各行業中使用圖像識別
1)電子商務行業-圖像識別用于自動處理,分類和標記產品圖像,并實現強大的圖像搜索。例如,消費者可以搜索帶有特定扶手的椅子并接收相關結果。
2)游戲產業-圖像識別可用于將數字層置于真實世界的圖像之上。增強現實為現有環境添加了細節。精靈寶可夢Go是一款依靠圖像識別技術的流行游戲。
3)汽車工業-自動駕駛汽車在美國處于測試階段,并在許多歐洲城市用于公共交通。為了促進自動駕駛,傳授了圖像識別功能,以識別道路上的物體,包括移動的物體,車輛,人和道路,以及識別交通信號燈和道路標志。
4)制造業-在制造周期的不同階段采用圖像識別。它用于減少制造過程中的缺陷,例如,通過存儲具有相關元數據的組件的圖像并自動識別缺陷。
5)教育—圖像識別可以幫助有學習障礙和殘疾的學生。例如,以計算機視覺為動力的應用程序提供了圖像轉語音和文本轉語音功能,可以向閱讀障礙或視力障礙的學生朗讀材料。


計算機視覺與語音識別的應用示例
Gravitylink推出鈦靈AIX是一款集計算機視覺與智能語音交互兩大核心功能為一體的人工智能硬件,Model Play是面向全球開發者的AI模型資源平臺,內置多樣化AI模型,與鈦靈AIX結合,基于Google開源神經網絡架構及算法,構建自主遷移學習功能,無需寫代碼,通過選擇圖片、定義模型和類別名稱即可完成AI模型訓練。


在本文中,我們介紹了圖像識別的基礎知識,以及如何通過卷積神經網絡實現它。當你開始研究CNN項目時,使用TensorFlow,Keras和PyTorch等深度學習框架來處理圖像和對圖像進行分類時,你會遇到一些實際挑戰:
1)追蹤實驗
跟蹤實驗源代碼,配置和超參數。卷積網絡可以具有許多參數和結構變化。你需要進行成百上千次實驗才能找到提供最佳性能的超參數。組織,跟蹤和共享實驗數據和結果可能是一個挑戰。
2)在多臺機器上運行實驗/在本地或云端擴展實驗
CNN的計算量很大,在實際項目中,你需要在多臺計算機上擴展實驗規模。無論是在內部還是在云上配置機器,將它們設置為運行深度學習項目并在它們之間分發實驗都是非常耗時的。
3)管理訓練數據集/管理培訓數據
計算機視覺項目涉及諸如圖像或視頻之類的富媒體,其大型培訓集的大小從千兆字節到PB級。將數據復制到每臺訓練機,然后在更改訓練集時重新復制,這既耗時又容易出錯。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。