2

我有一個與圖像識別相關的任務,任務是告訴哪個產品是基於爲各種產品拍攝的數千張照片。「圖像識別」功能太多

例如,我們針對10種不同的標籤產品拍攝了短片(1分鐘)。然後我們使用cv2.VideoCapture將它們轉換爲每個產品60s * 30fps〜1800幀。所以我們有10個產品的18K不同圖像全部貼上標籤。

我在考慮將圖像轉換爲像素,並使用標籤作爲結果,並將所有像素作爲收入來使用機器學習(神經網絡)將其轉化爲分類問題。但是,每個圖像都是1080 * 1920,這會給你200萬像素,讓顏色(RGB,..等)。

有沒有我應該使用的標準技術?我可以做邊緣檢測,輪廓將它們裁剪成更小的尺寸,但是所有的圖片都會以不同的尺寸結束,不是嗎?如果我把所有的尺寸都縮放成相同的尺寸,是不是都會改變尺度變化的圖像識別問題?

我擁有這些產品,所以我可以拍攝儘可能多的照片。對不起,這更像是一個最佳實踐或體系結構問題,而不是特定的編程問題。

這是縮小到更小的圖片,因此您可以瞭解我正在嘗試解決什麼問題。

enter image description here

+0

我會嘗試的第一件事就是把每個圖像作爲一個單獨的例子。所以你會認爲你每個班有1000個例子。 – maxymoo

+0

除此之外,它聽起來像你在正確的軌道上。你是什​​麼意思「規模變化的圖像識別問題」? – maxymoo

回答

3

我會強烈建議您使用Convolutional Neural Network(CNN)來解決這個10級的圖像分類的問題,因爲你可以得到很多圖片的「產品」。 該管道將非常類似於使用CNN的圖像分類問題,如handwritten digit recognition

對於你的問題,事實上,最好裁剪「產品」,然後調整它們的大小來調整CNN分類器的大小。在識別(或預測)階段,您還應裁剪產品並將其調整到該大小,以將其饋送到預先訓練的分類器中。此預處理程序的好處包括:

  • 大大降低識別難度和提高準確性。
  • 適當縮小的圖像尺寸需要較少的計算和內存消耗,而相應的分類器仍然可以具有競爭(或相同)的準確性。

對於「尺度變化的圖像識別」問題,事實上,如上所述,在識別階段,您還應該裁剪產品並將其尺寸調整爲與培訓CNN相同的尺寸,規模不會劇烈變化。另一方面,在訓練CNN之前,您可以執行data augmentationmore augmentation methods以改善CNN對尺度變化的魯棒性。下面是面部數據隆胸爲例,從左至右分別爲normalzoom outzoom inrotate seprately,你可以把它更多:

normalzoom outzoom inrotate

希望我的表達是明確的,會幫助你。