簡體   English   中英

使用Python對信號圖像進行分類

[英]Classify Signal Images using Python

我有以下要根據形狀分類的信號圖像。 哪種算法適合這樣做? 我已附上每班2-2張圖片。 在此處輸入圖片說明在此處輸入圖片說明在此處輸入圖片說明在此處輸入圖片說明在此處輸入圖片說明在此處輸入圖片說明

您可能需要使用sklearn 假設要基於圖像而不是根據生成圖像的數據對這些模式進行分類,則可以使用簡單的k最近鄰(KNN)分類器。

KNN分類是一種可以對許多不同類型的數據進行分類的方法。 首先,使用標記數據(在您的情況下,圖像似乎屬於不同頻率的類)訓練算法。 然后,該算法分析未標記的數據,即您要分類的數據。 “最近鄰居”部分意味着算法看到的每個新數據都是根據您用來訓練算法的k最近數據進行分類的。 這個想法是某個類別的新數據在數值上將類似於另一個類別。 這是算法工作原理的高級工作流程:

train_set = [(img1, 'low freq'), (img2, 'hi freq'), (img3, 'low freq'), (img4, 'med freq'), (img5, 'med freq')]

img_classifier = algorithm(train_set)

然后,您可以對新數據調用經過訓練的算法,以識別未標記的圖像。

test = [img6, img7]

for i in test:
    img_classifier(test)

不過,您可能要使用超過五個訓練圖像。 您選擇的k的值也很重要。 假設您為每個課程訓練了相同數量的圖像(比如說n ),對於總共訓練了3n張圖像,要使用的一個好kk=n/2 太高了,您可能會誤分類,因為您考慮了太多的訓練數據,太低了而您可能考慮的太少了。

這里有一個很棒的教程 ,如果您決定使用sklearn,則一定要檢查一下。

您的圖像似乎是非常離散的類。 如果您不想使用sklearn,則可以根據曲線覆蓋的圖像區域對圖像進行分類。 如果只有這三個類別,則可以嘗試其中的一些類別,看看它們是否為您提供了良好的圖像分類閾值:

  • 計算圖像中藍色(亮+暗)的面積-不同的頻率可能會覆蓋不同的區域。
  • 檢查淺藍色與深藍色的比率,可能有所不同。
  • 從圖像中心(x軸)計算深藍色的最大y位移。 這樣可以輕松地將高頻圖像與中低頻圖像分開,然后您可以使用第一種方法中的面積計算來區分低頻和中頻,因為它們清楚地覆蓋了不同區域。

如果您決定使用第二種方法,請一定要查看Python Imaging Library 如果我沒記錯的話,它實際上是在sklearn中使用的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM