分類學危機
目前,手機的掃一掃功能可以幫助我們識別商品資訊,識別花的名稱,識別各種動物。這背後有一系列的技術支援。物種識別需要什麼樣的技術?識別的過程中用到哪些核心演算法和理論?這都是大多數人不知道的。不過,物種識別理論與演算法多種多樣,針對不同的東西用到的識別演算法也不相同,因此本文著重帶大家瞭解其中一種演算法和理論。即利用神經網路進行動物的識別。
動物識別涉及生物分類,只有生物學家已經把生物的類別分好了,計算機才能在此基礎上進行物種的劃分與識別。
不過,生物分類學降低了我們對生物多樣性的理解。我們知道幾乎所有分類資訊都存在大量的高階專業知識和詞彙,這讓人不易理解,造成知識傳播困難,尤其那些熱愛科普的但不是專業科學家的人一看到到專業詞彙就會頭大。
因此,生物分類知識被侷限在有限的地理區域內和有限數量的分類學家中。缺乏向公眾提供分類學知識的機會被稱為“分類學危機”。
分類學家一直在尋找更有效的方法來滿足物種識別的要求,例如開發數字影象處理和模式識別技術。目前,研究人員擁有昆蟲,植物,蜘蛛和浮游生物的識別技術。這種方法可以進一步擴充套件到基於現場的生物識別,例如魚類。這些方法有助於緩解“分類危機”。
計算機科學家也設計了一種簡單有效的演算法,並定義了一系列將特徵識別與人工神經網路設計(ANN)結合使用的新功能。
那麼這個演算法可以識別哪些物種呢?可以識別魚類,植物,和蝴蝶。
基於模式識別理論和典型的自動物種識別系統中使用的基本計算機處理路徑,計算機科學家設計了一個用於物種水平自動個體識別的系統。該系統將預處理和提取元件與訓練和識別過程共享。
訓練影象的特徵用於在特徵提取之後建立分類進度模式的模型。然後將這些特徵和經過訓練的模型記錄在資料庫中,並結合到後續照片的分析中。該過程使用兩種型別的資料對影象特徵進行建模,從而獲得更好的物種識別結果。
當用這種演算法去訓練如何識別一個動物時,計算機首先會去除影象背景,並轉換為灰度。之後應用各種濾鏡消除影象噪聲來改善影象,然後將影象縮小。接下來,將處理後的影象輪廓化,然後繪製骨骼。上面這些步驟都可使用MATLAB語言中的影象處理模組完成。
處理完圖片後,就會對圖片中的動物進行特徵提取。這些特徵包括幾何,形態和紋理特徵,這些特徵可以透過影象處理有效地提取,並且對於物種而言是唯一的。必須確保這些特徵是該物種唯一的特徵,這樣才能提高識別精準度。
幾何特徵提取就得用到數學的功力了。基本上進行4步計算。分別計算樣本區域的畫素總數,影象畫素周長,影象直徑,影象緊密度。下面的圖中展示了這4步數學公式,不過讀者只需瞭解無需深究。
隨後,演算法需要處理影象的紋理。紋理是用於均勻描述區域的重要視覺圖案。直觀的度量提供諸如平滑度,粗糙度和規則性之類的屬性。紋理取決於影象的解析度,可以遵循兩種方法:統計和頻率。這個演算法則使用統計近似值,其中統計值被分析為一階和二階。
從影象的灰度直方圖獲得統計一級。每個值除以畫素總數,就會得到一個新的直方圖,該直方圖表示在需要識別的區域中顯示確定的灰度級。
當然這也需要大量數學公式支援,考慮到不想讓大家頭大,直接跳過。不過我們最好知道處理影象紋理時用到了哪些公式,這些是方差公式,中位數公式,均勻度公式,同質公式,慣量公式等。有興趣的可以自行了解。
形態特徵是那些集中於畫素組織的特徵。它們分為兩類:二維笛卡爾矩和歸一化中心矩。
分析影象的特徵結構對於物種級別的識別非常重要,因為人眼區分物種的直觀感受就是物種的特徵,而演算法要做的就是代替人眼完成這些過程。
先來講講什麼叫人工神經網路,人工神經網路簡稱神經網路或類神經網路,在機器學習和認知科學領域,是一種模仿生物神經網路結構和功能的數學模型或計算模型。
神經網路由大量的人工神經元聯結進行計算。大多數情況下人工神經網路能在外界資訊的基礎上改變內部結構,是一種自適應系統,通俗的講就是具備學習功能。神經網路目前也具有情感功能,用到極其複雜的數學計算。
單層神經元網路是最基本的神經元網路形式,由有限個神經元構成,所有神經元的輸入向量都是同一個向量。由於每一個神經元都會產生一個標量結果,所以單層神經元的輸出是一個向量,向量的維數等於神經元的數目。
同時神經網路還有多層神經網路等等。
神經網路被定義為由大量自適應處理單元組成的平行計算機模型,這些單元透過互連與變數進行通訊。多層網路具有一層或多層神經元,這些層透過從輸入影象圖案中逐漸提取更有意義的特徵來學習複雜的任務。
與其它機器學習方法相比,神經網路學習速度較慢,但預測速度更快,並且具有非常好的非線性資料模型。簡單的感知器被分配了多個輸入,但是生成了一個輸出,類似於依賴於輸入權重的不同線性組合並生成了線性啟用函式。
多層感知器由一組包含一個或多個輸入層的源節點和一組隱藏節點輸出組成。輸入訊號透過網路逐層傳播。
神經網路結構由N個輸入N = [ N 1,N 2,…,N n ],一個隱藏層h和一個輸出向量S = [ S 1,S 2,…,S m ]組成。透過轉換向量S,評估每個S i二進位制訊號[0,1]。在反向訓練演算法的基礎上,有監督的訓練階段(即S型啟用)是根據權重和偏差在負梯度的方向上進行更新,然後在相反的方向上進行更新。隱藏層和輸出層的S啟用函式由以下公式確定。
輸入神經元的數量由每種模式中可用的描述符數量確定,輸出神經元的數量由每個資料庫中分類的物種數量決定。為了確定給定資料影象的最佳神經元數量,研究者已經探索了識別成功率與神經元數量之間的關係。顯然,需要大量的神經元和世代來處理每個集合中影象的資訊。隨著物種數量的增加,識別也變得更加困難。
神經網路使用了來自影象資料的分類物種。但是,大多數其它研究僅使用物種豐富度較低的資料庫,這些資料庫通常跨越許多不同的學科,並且由於形態特徵的巨大差異而易於分類。而神經網路以這些網路的工作為基礎,並且所需的操作員專業知識,成本和響應時間都很低。神經網路的物種識別準確性和可用性,可以有效識別魚類,植物,蝴蝶。
不過,物種之間的高表型相似性也會影響人工神經網路的識別能力,這是由於某些物種的表型差異較小,這些差異僅在細微的細節上有所變化,例如牙齒或鰭半徑,這會影響分類。不過總體上。系統的總體效能達到了高精度和高精確度。具有較低物種數的物種的鑑別成功率較高,這可能由形態特徵非常不同的物種而非實際物種的數量導致的。
演算法會根據分類關鍵字,區分物種的字元是形態結構,顏色圖案和大小。這些觀察是個體的分類學特徵。因此,某些分類學家可能會偏向任何給定特徵的值,因此,可以透過使用基於機器的分類來消除人的主觀性和時間限制。
特徵提取方法並不取決於人們觀察每個物種的個體標本的方式的變化,因此消除了人類的主觀性。但是,仍然需要人類分類學家來訓練定義物種的神經網路,並減少主觀性或不確定性。
分類學危機
目前,手機的掃一掃功能可以幫助我們識別商品資訊,識別花的名稱,識別各種動物。這背後有一系列的技術支援。物種識別需要什麼樣的技術?識別的過程中用到哪些核心演算法和理論?這都是大多數人不知道的。不過,物種識別理論與演算法多種多樣,針對不同的東西用到的識別演算法也不相同,因此本文著重帶大家瞭解其中一種演算法和理論。即利用神經網路進行動物的識別。
動物識別涉及生物分類,只有生物學家已經把生物的類別分好了,計算機才能在此基礎上進行物種的劃分與識別。
不過,生物分類學降低了我們對生物多樣性的理解。我們知道幾乎所有分類資訊都存在大量的高階專業知識和詞彙,這讓人不易理解,造成知識傳播困難,尤其那些熱愛科普的但不是專業科學家的人一看到到專業詞彙就會頭大。
因此,生物分類知識被侷限在有限的地理區域內和有限數量的分類學家中。缺乏向公眾提供分類學知識的機會被稱為“分類學危機”。
計算機要出來解決這個分類學危機了。分類學家一直在尋找更有效的方法來滿足物種識別的要求,例如開發數字影象處理和模式識別技術。目前,研究人員擁有昆蟲,植物,蜘蛛和浮游生物的識別技術。這種方法可以進一步擴充套件到基於現場的生物識別,例如魚類。這些方法有助於緩解“分類危機”。
計算機科學家也設計了一種簡單有效的演算法,並定義了一系列將特徵識別與人工神經網路設計(ANN)結合使用的新功能。
那麼這個演算法可以識別哪些物種呢?可以識別魚類,植物,和蝴蝶。
基於模式識別理論和典型的自動物種識別系統中使用的基本計算機處理路徑,計算機科學家設計了一個用於物種水平自動個體識別的系統。該系統將預處理和提取元件與訓練和識別過程共享。
訓練影象的特徵用於在特徵提取之後建立分類進度模式的模型。然後將這些特徵和經過訓練的模型記錄在資料庫中,並結合到後續照片的分析中。該過程使用兩種型別的資料對影象特徵進行建模,從而獲得更好的物種識別結果。
當用這種演算法去訓練如何識別一個動物時,計算機首先會去除影象背景,並轉換為灰度。之後應用各種濾鏡消除影象噪聲來改善影象,然後將影象縮小。接下來,將處理後的影象輪廓化,然後繪製骨骼。上面這些步驟都可使用MATLAB語言中的影象處理模組完成。
處理完圖片後,就會對圖片中的動物進行特徵提取。這些特徵包括幾何,形態和紋理特徵,這些特徵可以透過影象處理有效地提取,並且對於物種而言是唯一的。必須確保這些特徵是該物種唯一的特徵,這樣才能提高識別精準度。
幾何特徵提取就得用到數學的功力了。基本上進行4步計算。分別計算樣本區域的畫素總數,影象畫素周長,影象直徑,影象緊密度。下面的圖中展示了這4步數學公式,不過讀者只需瞭解無需深究。
隨後,演算法需要處理影象的紋理。紋理是用於均勻描述區域的重要視覺圖案。直觀的度量提供諸如平滑度,粗糙度和規則性之類的屬性。紋理取決於影象的解析度,可以遵循兩種方法:統計和頻率。這個演算法則使用統計近似值,其中統計值被分析為一階和二階。
從影象的灰度直方圖獲得統計一級。每個值除以畫素總數,就會得到一個新的直方圖,該直方圖表示在需要識別的區域中顯示確定的灰度級。
當然這也需要大量數學公式支援,考慮到不想讓大家頭大,直接跳過。不過我們最好知道處理影象紋理時用到了哪些公式,這些是方差公式,中位數公式,均勻度公式,同質公式,慣量公式等。有興趣的可以自行了解。
接著要對影象的形態特徵進行處理。形態特徵是那些集中於畫素組織的特徵。它們分為兩類:二維笛卡爾矩和歸一化中心矩。
分析影象的特徵結構對於物種級別的識別非常重要,因為人眼區分物種的直觀感受就是物種的特徵,而演算法要做的就是代替人眼完成這些過程。
接下來就用到人工神經網路了。先來講講什麼叫人工神經網路,人工神經網路簡稱神經網路或類神經網路,在機器學習和認知科學領域,是一種模仿生物神經網路結構和功能的數學模型或計算模型。
神經網路由大量的人工神經元聯結進行計算。大多數情況下人工神經網路能在外界資訊的基礎上改變內部結構,是一種自適應系統,通俗的講就是具備學習功能。神經網路目前也具有情感功能,用到極其複雜的數學計算。
單層神經元網路是最基本的神經元網路形式,由有限個神經元構成,所有神經元的輸入向量都是同一個向量。由於每一個神經元都會產生一個標量結果,所以單層神經元的輸出是一個向量,向量的維數等於神經元的數目。
同時神經網路還有多層神經網路等等。
神經網路被定義為由大量自適應處理單元組成的平行計算機模型,這些單元透過互連與變數進行通訊。多層網路具有一層或多層神經元,這些層透過從輸入影象圖案中逐漸提取更有意義的特徵來學習複雜的任務。
與其它機器學習方法相比,神經網路學習速度較慢,但預測速度更快,並且具有非常好的非線性資料模型。簡單的感知器被分配了多個輸入,但是生成了一個輸出,類似於依賴於輸入權重的不同線性組合並生成了線性啟用函式。
多層感知器由一組包含一個或多個輸入層的源節點和一組隱藏節點輸出組成。輸入訊號透過網路逐層傳播。
神經網路結構由N個輸入N = [ N 1,N 2,…,N n ],一個隱藏層h和一個輸出向量S = [ S 1,S 2,…,S m ]組成。透過轉換向量S,評估每個S i二進位制訊號[0,1]。在反向訓練演算法的基礎上,有監督的訓練階段(即S型啟用)是根據權重和偏差在負梯度的方向上進行更新,然後在相反的方向上進行更新。隱藏層和輸出層的S啟用函式由以下公式確定。
輸入神經元的數量由每種模式中可用的描述符數量確定,輸出神經元的數量由每個資料庫中分類的物種數量決定。為了確定給定資料影象的最佳神經元數量,研究者已經探索了識別成功率與神經元數量之間的關係。顯然,需要大量的神經元和世代來處理每個集合中影象的資訊。隨著物種數量的增加,識別也變得更加困難。
神經網路使用了來自影象資料的分類物種。但是,大多數其它研究僅使用物種豐富度較低的資料庫,這些資料庫通常跨越許多不同的學科,並且由於形態特徵的巨大差異而易於分類。而神經網路以這些網路的工作為基礎,並且所需的操作員專業知識,成本和響應時間都很低。神經網路的物種識別準確性和可用性,可以有效識別魚類,植物,蝴蝶。
不過,物種之間的高表型相似性也會影響人工神經網路的識別能力,這是由於某些物種的表型差異較小,這些差異僅在細微的細節上有所變化,例如牙齒或鰭半徑,這會影響分類。不過總體上。系統的總體效能達到了高精度和高精確度。具有較低物種數的物種的鑑別成功率較高,這可能由形態特徵非常不同的物種而非實際物種的數量導致的。
演算法會根據分類關鍵字,區分物種的字元是形態結構,顏色圖案和大小。這些觀察是個體的分類學特徵。因此,某些分類學家可能會偏向任何給定特徵的值,因此,可以透過使用基於機器的分類來消除人的主觀性和時間限制。
特徵提取方法並不取決於人們觀察每個物種的個體標本的方式的變化,因此消除了人類的主觀性。但是,仍然需要人類分類學家來訓練定義物種的神經網路,並減少主觀性或不確定性。