2017-01-02 135 views
5

我正在對圖像進行深度學習。我有不同的光照條件,圖像分辨率和視角的約4000張圖像。深度學習中的圖像預處理

我的問題是:什麼樣的圖像預處理將有助於改善物體檢測?(例如:對比度/顏色標準化,去噪等)

+2

沒有人可以回答這個問題,除非他們看看你的數據。一般用深度學習預處理是沒有必要的。如果您有足夠的數據,您的模型可以學習如何適應數據中的變化。 – Feras

+0

是的,我知道我的問題太籠統了,但您的回答對我有幫助。我真正的問題是深度學習對圖像質量有多敏感? – Norbert

+1

深度網絡或CNN有過濾器傾向於在您的數據集上學習。大量的數據和多樣性讓你的系統更健壯。當然,如果您的目標域名與您的培訓域名不同,它就會很敏感。 – Feras

回答

1

用於在將圖像送入神經網絡之前對圖像進行預處理。以數據零中心爲佳。然後嘗試規範化技術。它肯定會提高準確性,因爲數據的縮放範圍大於任意大的值或太小的值。

一個例子的圖像將是: -

enter image description here

這裏是它從斯坦福CS231n 2016和講座一個解釋。

*

規範化是指歸一化的數據的尺寸,使得它們的大致相同的尺度。對於圖像數據有兩種常見的方法來實現這種規範化。一種是將每個維度除以它的標準差,一旦它以零爲中心:
(X /= np.std(X, axis = 0))。此預處理的另一種形式將每個維度標準化,以使沿維度的最小值和最大值分別爲-1和1。如果你有理由相信不同的輸入特徵具有不同的尺度(或單位),那麼應用這種預處理纔有意義,但它們應該與學習算法大致同等重要。在圖像的情況下,像素的相對尺寸已經大致相等(並且範圍從0到255),因此不必嚴格執行此額外的預處理步驟。

*

鏈接,上面摘錄: - http://cs231n.github.io/neural-networks-2/

0

請仔細閱讀this,希望這會對您有所幫助。這個想法是將輸入圖像分成幾部分。這就是所謂的R-CNN(here就是一些例子)。這個過程有兩個階段,對象檢測和分割。對象檢測是通過觀察漸變中的變化來檢測前景中的某些對象的過程。分割是將對象放在具有高對比度的圖像中的過程。高級別圖像檢測器使用貝葉斯優化,可以使用本地優化點檢測接下來會發生什麼。

基本上,在回答你的問題時,你給出的所有預處理選項似乎都很好。由於對比度和顏色歸一化使得計算機識別不同的對象,並且去噪會使漸變更容易區分。

我希望所有這些信息對你有用!

+2

通常不建議使用僅鏈接回答。請將鏈接中的相關部分添加到您的aswer。鏈接隨着時間的推移可能會失效 – MeanGreen

+0

謝謝你的回答!其實我正在試驗機智py-faster-rcnn,所以我聽說過R-CNN。我的問題是我的數據集有不同質量的圖像,真正的問題是深度學習對圖像質量有多敏感? – Norbert

0

這無疑是爲這個職位遲到的答覆,但希望能幫助在這個帖子誰絆倒。

這裏是我在網上找到的一篇文章Image Data Pre-Processing for Neural Networks,雖然這當然是一篇很好的文章,應該如何訓練網絡。

製品的主要要點說

1)作爲數據(圖像)幾成NN應根據該NN旨在利用圖像尺寸,通常是正方形被縮放即100x100,250x250

2)考慮MEAN(左圖)和標準偏差(右圖)的特定圖像組的集合中的所有輸入圖像的價值

enter image description here

3)正常化圖像輸入通過減去每個像素的平均值,然後除以標準差,這使得收斂速度更快,同時訓練網絡。這將類似於在零 enter image description here

4)維數降低 RGB爲灰度圖像爲中心的高斯曲線,神經網絡性能被允許是不變的該維度,或使培訓問題更易處理 enter image description here