天天看點

LabVIEW目标對象分類識别(理論篇—5)

目錄

1、訓練過程(建立分類器)

1.1、目标對象資料樣本

1.2、目标對象分類器配置

1.3、目标對象分類器訓練

1.4、目标對象分類器輸出和評估

2、分類與識别

目标對象分類是指将未知樣品的形狀、顔色、紋理等顯著特征組成的向量與代表某一類樣本的特征向量(Feature Vector)進行比較,根據其比對程度識别未知樣品類别歸屬的過程。

目标對象分類是機器視覺領域非常活躍的研究方向,在工業領域有極其廣泛的應用,例如對生産線上的零件按形狀、顔色等特征分揀,統計具有某種特征的零件,或通過辨識目标的類别進行品質檢測等。

LabVIEW目标對象分類識别(理論篇—5)

目标分類通常包括訓練(Training,也稱為學習)和分類(Classification)兩個過程。

訓練過程用于建立分類器(Classifier),包括樣本收集、分類器配置(确定特征向量和設定控制參數)、樣本訓練、分類器評測和儲存等步驟,它既可以基于已有樣本集合(Sample Set)一次性完成,也可以通過不斷向樣本集添加樣本來漸進完成。訓練過程完成後會得到包含各樣本特征向量值及其類别歸屬資訊的分類器。一般來說,樣本集中屬于同一類别的樣本應具有相似的特征向量值,而類間距則應足夠大。

分類過程包括圖像預處理、特征提取、特征計算、特征分類及分類結果評測等步驟。分類結束後,未知類别的樣本被設定某一類别标記。

LabVIEW目标對象分類識别(理論篇—5)

下圖分别顯示了訓練和分類兩個階段的流程圖:

LabVIEW目标對象分類識别(理論篇—5)

訓練是目标分類的兩個過程之一,它主要用于生成包含各個樣本特征向量值及其類别歸屬資訊的分類器。分類器基于事先收集的訓練樣本集來建立,其中每個樣本的類别歸屬已知。樣本集确定後,就要對分類器進行配置,以确定訓練過程所依據的特征向量并設定控制參數。

訓練時,系統會計算和記錄每個樣本的特征向量值,并對樣本進行分類,同時記錄樣本的類别資訊。訓練階段結束後,分類器可輸出各類中樣本的數量、類标記、類内分離度以及類間距等資訊。若要得知分類器的優劣,可通過計算分類器的可預測性(Predictability)、準确性(Accuracy)和交叉驗證的穩定性(CrossValidation Stability)名額對分類器進行定量評價。

下圖對分類器的建立和操作相關的關鍵資訊進行了彙總:

LabVIEW目标對象分類識别(理論篇—5)

用于訓練的樣本集合中的樣本可以一次性收集完成,也可以漸進增減的方式來收集。

LabVIEW目标對象分類識别(理論篇—5)

若收集的樣本類别歸屬已知,就可直接為樣本設定類标簽(Class Label)。否則,則要通過聚類(Clustering)過程對樣本進行歸類。

若所有參與訓練的樣本都有類标簽,則稱訓練為有監督(Supervised)訓練;若樣本均無類标簽,則稱訓練為無監督(Unsupervised)訓練;

若樣本和其歸屬的類别資訊并不完全,則訓練過程稱為半監督(Semi-Supervised)訓練,例如隻有部分樣本有明确的類标簽,或僅已知樣本可能得歸屬的幾種類資訊,但尚未确定每個樣本的類别歸屬等。

樣本集合的優劣可以通過類内分離度(Intraclass Deviation)和類間距(Interclass Distance)兩個名額來衡量。由于樣本集合中屬于同一類别的樣本一般具有相似的特征向量值,是以同一類内的樣本分離度應較小,而類與類之間的距離應足夠大。

确定了訓練的樣本資料集後,就需要對分類器進行配置,以确定訓練過程對樣本進行分類時所依據的特征向量,設定特征提取過程的參數,以及訓練過程是否要對樣本的尺度、旋轉和鏡像保持不變性等。

由于訓練過程和分類過程需要使用相同的特征向量,是以确定訓練樣本集特征向量的過程實際上就是為整個訓練和分類過程指定特征向量的過程。

對機器視覺分類系統來說,樣本特征向量通常由二值化後的顆粒特征、目标的顔色、紋理或其他自定義的特征構成,以顔色和紋理建構特征向量的分類器配置較為直接。

基于自定義特征向量的分類器需要事先從圖像中提取特征,建構自定義的特征向量。基于顆粒特征向量的分類器則根據預定義的特征向量,在保持尺度、旋轉和鏡像不變的情況下,根據目标形狀對其進行分類。

以下以基于顆粒特征向量的分類器為例,介紹分類器的配置。

一般來說,基于顆粒特征向量的分類器能對滿足以下3個條件的樣本進行準确分類:

機器視覺光源為背光照射方式;

圖像中樣本各部分互相連通;

圖像中樣本各部分為實心填充,不含其他灰階特征。

下圖給出了基于顆粒特征向量進行分類的系統中理想樣本和非理想樣本的執行個體。

LabVIEW目标對象分類識别(理論篇—5)

Nl Vision使用8個顆粒分析的特征來建構顆粒特征向量,以實作對樣本或被測目标按其形狀的訓練和分類。也就是說,Nl Vision基于顆粒特征向量的函數,内置了對目标按形狀進行分類的特征向量。

用于建構特征向量的8個顆粒特征如下表所示:

LabVIEW目标對象分類識别(理論篇—5)

Nl Vision将基于顆粒特征建立的特征向量稱為形狀描述符(Shape Descriptor)。根據訓練和分類過程對目标尺度不變性(Scale lnvariant)、旋轉不變性(RotationInvariant)或鏡像對稱不變性(Mirror Symmetry lnvariant)的要求,形狀描述符可以由上表中8個特征中的一個或多個構成。

Nl Vision基于形狀描述符進行樣本訓練或目标分類時,支援旋轉、尺度和鏡像對稱不變性。也就是說,訓練或分類過程僅根據與形狀相關的特征進行,即使目标已被旋轉、縮放或鏡像對稱,隻要其形狀特征未發生變化,都能被正确訓練和分類。

下圖給出了一個基于形狀描述符的訓練或分類過程,支援尺度、旋轉和鏡像對稱不變性的示例。

LabVIEW目标對象分類識别(理論篇—5)

完成分類器的配置後,就可以對樣本集合中的各個樣本進行訓練。

訓練過程實際是計算各個樣本特征向量的值并按照分類方法對該值進行歸類的過程。

常用的分類方法包括最鄰近法(Nearest Neighbor)、K-鄰近法(K-Nearest Neighbor,KNN)、最小平均距離(Minimum Mean Distance)和支援向量機 (Support Vector Machine,SVM)4種。

LabVIEW目标對象分類識别(理論篇—5)

根據以上幾節論述,在對分類器的訓練過程結束後,應确定下列與分類器和樣本相關的資訊:

樣本集中的樣本被訓練為哪幾類;

每類中樣本的數量;

每個類中樣本的分離度;

類與類的間距;

分類器所使用分類方法(引擎)的相關資訊等。

是以,正常情況下這些資訊都應在分類器訓練過程結束後作為分類器的輸出資訊提供給其他程式代碼使用。在程式運作過程中,這些資訊可由程式代碼引用分類器會話獲得。若要離線使用這些資訊,則需要将它們儲存在分類器檔案中,以備後續讀取通路。

可以基于對樣本的分類訓練結果來計算分類器對某一類的預測準度(Classifier Predictability)和分類準确性(Classifier Accuracy),并進而評價分類器的品質。分類器的預測準度是指将樣本分類到某一指定類别時樣本屬于該指定類的機率。

LabVIEW目标對象分類識别(理論篇—5)

假定分類器使用的樣本集含有30個樣本,其中屬于A、B、C 3個類的樣本各占10個。若某一分類器對樣本集進行訓練分類後的分布如下表所示,則依據樣本分類分布表可計算分類器預測準度和分類準确性。

LabVIEW目标對象分類識别(理論篇—5)

例如第一列中,分類至A類的14個樣本中有10個來自A類的正确分類樣本和4個來自C類的錯誤樣本,由此可知,分類器對A類的預測準度為71%。表中的各行表示屬于每類的樣本被分類器分至不同類的情況。例如表中第二行,10個屬于B類的樣本有8個被正确分類,2個被錯誤地分至C類,是以分類器對B類的分類準确性為80%。

基于樣本資料集完成訓練過程後,即可得到包含樣本數量、類别、特征以及分類方法等資訊的分類器。而使用該分類器,就能将未知類别的目标與分類器中的樣本進行比較,以實作目标的分類、統計或品質檢測等應用。

LabVIEW目标對象分類識别(理論篇—5)

目标的歸類、分揀或統計的應用實作思路較為直接,一般使用訓練得到的顔色、形狀、紋理或自定義特征分類器對目标直接進行分類,并根據結果控制執行機構動作。例如,基于目标分類的品質檢測應用則不僅需要使用訓練得到的分類器對被測件進行分類識别,還要按照分類結果的可信度(ClassificationConfidence)和識别結果的可信度(ldentification Confidence)的大小來判斷被測件的合格性。

繼續閱讀