點擊上方「新機器視覺」,選擇加"星標"或「置頂」
重磅乾貨,第一時間送達
分類
分類是對一組類別中單個實例對象劃分的技術術語。對象,還有現有的類別,是用特定的特徵來描述的,例如像素的顏色或者區域的形狀。為了定義類別,特徵必須被指定,例如通過已知對象的類別。在訓練之後,分類器將對象的特徵與有關類別的特徵做比較,並返回最大匹配的類別。根據所選的分類器,類別的可能性或者分類的可行度等可能額外的信息將被給出。
一般來說,可以區分兩種對圖像數據的分類方法。一種方法是基於單純的像素分類,並且基於顏色或者紋理去分割圖像。另一種方法則更廣泛,分類任意特徵,例如你可以基於區域特徵去分類區域,如形狀,大小,或者顏色。對於這裡介紹的編程方法,找重點放在第一種方法上。需要注意的是,實際上HALCON提供的OCR及時一種廣義的分類方法,其具有特定的算子。
HALCON提供了不同的分類器,最重要的分類器識神經網絡(多層感知機或者MLP)分類器,支持向量機(SVM)分類器,高斯混合模型(GMM)分類器,和K最近鄰(KNN)分類器。另外,盒分類器也是可行的,但是由於GMM分類會引起可比性的結果且也更穩定,這裡僅僅去描述GMM分類器。再者,更「簡單」的分類器也能用於圖像的分割,這些分類器中包含了2維像素分類class_2dim_sup或者class_ndim_norm,其可以被用來僅僅歐式分類,但這些方法的不靈活的,所以重點還是放在MLP,SVM,GMM,和k-NN分類器。如果你想用「簡單」分類器之一,請查看對應的例子即可。
對於特定任務,決定使用哪個分類器,且對於所選分類選擇合適的參數則更具有挑戰性,因為每個分類任務是不同的,因而需要不同的處理。HALCON提供了一些算子用於分類,在許多情況下,對於特定的任務和特定的訓練數據,你必須嘗試使用不同的分類器。除了所選用的方法,在幾乎任何情況下,你必須去結合參數去得到一個滿意的結果。允許額外的時間去測試,如果第一次測試沒有立刻得到滿意的結果,請不要灰心,分類是複雜的。
基本概念
分兩類由下面幾個基本步驟組成:
獲取圖像
當分類圖像的實收,對於訓練數據的產生和分類圖像,必須被獲取。
創建分類器
分類的第一步就是去創建一個新的分類器。這裡,你必須決定哪個分類器應用於你特定的分類任務。4個分類器(假設參數有一個最優的調整)的主要優勢和劣勢如下:
多層感知機:MLP分類器會有一個好的識別率且分類速度更快。作為交換,其訓練沒有SVM分類快,尤其對於巨大量的訓練集。如果分類是時間關鍵的,但訓練可以連線應用的話,MLP方法是一個好的選擇。一個拒絕類被返回,但是相比於GMM分類器,它可能會被利群點所影響,因而,推薦對拒絕類有一個額外精確的訓練。除此之外,如果你想額外的訓練樣本,你不應該追加再一個訓練,而是用老的和新的訓練樣本重複訓練。支持向量機:相比於MLP分類器,SVM分類會取得稍微更好的識別率和更快的訓練,尤其對於巨大量的訓練集。另外,新的訓練樣本的訓練可以被簡單的添加到先前的訓練。作為交換,其分類沒有MLP方法快,且並不能自動的獲取一個拒絕類。高斯混合模型:GMM分類的優勢是,由參數設置來控制,不匹配訓練類的特徵向量將被分配到一個拒絕類。另外,你可以在第一次訓練上應用第二次訓練,例如為了添加新的訓練樣本。GMM分類器的缺點是識別率沒有MLP或者SVM方法的好。還有,長度為15的特徵向量是被建議的,然而對於MLP和SVM分類器,500維的特徵向量也是可以的。K最近鄰:k-NN分類器的優勢之一是它具有很少且直觀的參數,同時,k-NN分類器可以用很少的訓練數據工作。原則上,每一類僅一個樣本就足夠得到合理的結果。K-NN分類器的訓練時所有分類器中最快的,其讓k-NN分類器對於自動特徵選擇和快速評估成為了首要選擇。缺點就是分類是相對較慢的,且分類結果沒有SVM和MLP分類器的好。根據所選的分類方法,你可用ceate_class_mlp,create_class_svm,create_class_gmm或者create_class_knn來創建分類器。
當創建了分類器,正確的參數設置對於後續分類的成功是至關重要的,對於不同的方法這些設置是很明確的。
訓練分類器
訓練由兩個重要的步驟組成,首先,用算子add_sample_class_mlp,add_sample_class_svm,add_sample_class_gmm,或者add_sample_class_knn將有代表性的訓練樣本,如每一類的一組特徵向量,添加到分類器中。如果你想用像素分類,如你想分割圖像為不同顏色或者紋理的區域,你可以用算子add_samples_image_class_mlp,add_samples_image_class_svm,add_samples_image_class_gmm,或者add_samples_image_class_knn。然後,你可以立馬插入一個單獨的多通道圖像,而不是許多特徵向量(每個像素一個)。在第二步,分類器可以用train_class_mlp,train_class_svm,train_class_gmm,或者train_class_knn訓練。需要注意的是在訓練階段複雜的計算被執行,因此,根據訓練樣本的數量和一些特定方法的影響,例如用於MLP分類的MLP大小,訓練可能花費數秒到幾個小時不等。
銷毀分類器
當你不再需要分類器的時候,依據所用的分類器,你可以用算子clear_class_mlp,clear_class_svm,clear_class_gmm,或者clear_class_knn去銷毀它。
來源:百家號 作者:老白說圖像
End
聲明:部分內容來源於網絡,僅供讀者學習、交流之目的。文章版權歸原作者所有。如有不妥,請聯繫刪除。