神經網路影象預處理?

時間 2021-06-03 00:55:51

1樓:TchaikovskyBear

1 預處理時為什麼需要將影象的畫素值減去乙個固定的值?

原答案有誤,這裡的確是有減去乙個固定值,你可以把這個固定值理解為127,為什麼每個通道不同是因為不同顏色的實際使用範圍是不太一樣的,比如R在平時的主要顯示範圍會偏暗一些,所以他的均值就偏小,為123,而B通道的日常顯示範圍則更小一些,均值則在104,這些都是為了歸一化。因此雖然和原答案有出入,但是的確這一步並不是必須執行的,你可以直接減127然後除128歸一化,演算法依然可以正常執行.

2 為什麼畫素值的儲存用的是浮點型,而不是int型?

同樣原答案有誤,這裡tensorflow用的是float32或64,這個是官方指定的資料型別,具體原因我也不清楚,但是可以知道的是,用float本身是為了讓你輸入歸一化(-1~1)的資料,元不是原始的畫素資料。UINT8則是cv2等python下的影象包讀取進來時資料的儲存格式,這裡的原答案嚴重錯誤,我現在修正了。

使用卷積神經網路處理影象時,使用資料增強和不使用(最終影象數量一樣),理論上哪個效果會更好?

Alex Sun 其他回答的答主都自己跑過實驗嗎?笑死我了 Data Augmentation在絕大多數情況下帶來的在test set上的提公升是顯著的。一般來說,在classification,detection,segmentation等task上。樓主可以嘗試運用 Mirror Flip,Ra...

卷積神經網路和BP神經網路的關係?

乙個維度的BP神經網路就相當於CNN中的全連線了,無非是多幾個全連線,CNN是二維,二維如果搞成全連線就導致運算量巨大,所以有了權重共享,大大減少了運算量,CNN卷積的思想肯定也源於BP神經網路就,在影象上做二維卷積的CNN發出炫目的光芒下,BP神經網路就已經快被人們遺忘了,但是不管CNN再怎麼發展...

卷積神經網路訓練影象的時候,畫素值都是大於0的,那麼啟用函式relu還有什麼作用呢?

小布丁 大家的問答真的寫的挺好的,讓人看了很清晰 總結如下 雖然畫素點的值全為正,但是要經過卷積,卷積核的值可能有負的,最終卷積得到乙個小於0的結果 卷積之後的值要經過BatchNorm層,這個層在歸一化的選擇上也可能會導致出現負值 所以需要做ReLu的線性變換。 Woolsey Relu是 啟用函...