整个trick
數(shù)據(jù)輸入方面:1.image pyramid 圖像金字塔.目前代碼里是先選取一個(gè)scale,然后在每個(gè)GPU上按照scale讀圖片,相應(yīng)的gt也更改."scales":[440, 520, 600, 680, 760] 使用的是短邊的縮放到的尺寸,還用個(gè)maxsize限制了你的scale必須小于一個(gè)值
wk的代碼和原本的sensenet很大不一樣,重新看,好像加了很多trick
deformable convolution是同時(shí)訓(xùn)練多個(gè)scale,然后每個(gè)網(wǎng)絡(luò)訓(xùn)練出來的乘以一個(gè)權(quán)重
但這樣不同scale的網(wǎng)絡(luò)結(jié)構(gòu)不應(yīng)該不一樣不是嗎?
2.flip,老版的sensenet里面僅僅是使用flip之后的,cv::flip(img, img, 1);,即只使用了沿y軸翻轉(zhuǎn),且沒有用原圖.個(gè)人覺得這里翻轉(zhuǎn)的角度應(yīng)該還可以很多.據(jù)說還有只rotate20度,然后剪裁補(bǔ)0這種數(shù)據(jù)增強(qiáng),在分割中用的比較多.
3."pixel_means":[103.939, 116.779, 123.68],3個(gè)通道不同的mean值,然后圖像原始的每個(gè)值減去這些值
? 有什么作用?
4.anchor_scales,anchor_ratios
5.gaussian_noise 輸入圖片加高斯噪聲
6.FrcnnTrainData的參數(shù),自己的caffe目錄中總結(jié)了這些
distort_param {brightness_prob: 0.5brightness_delta: 32contrast_prob: 0.5contrast_lower: 0.5contrast_upper: 1.5hue_prob: 0.5hue_delta: 18saturation_prob: 0.5saturation_lower: 0.5saturation_upper: 1.5random_order_prob: 0.0}? 7.加高斯噪聲或者resize的時(shí)候換插值的方法,這兩個(gè)在v系列中都沒有使用
8.
?
?
多GPU訓(xùn)練,這個(gè)很重要,每個(gè)GPU一張圖
?
?
?
v9、v7:經(jīng)過4個(gè)降采樣,第一個(gè)是通過一個(gè)尺寸為3,stride為2,pad為1,后面是3個(gè)pool,并且pool層主要集中在前面那些沒有block堆積的層
9是有5個(gè)block,7有6個(gè)block,并且7的block的4個(gè)分支的channel比9的4個(gè)分支的channel多(當(dāng)然是第一個(gè)block對應(yīng)第一個(gè)block)。并且兩者都是的 ? ? block越往后面每個(gè)分支對應(yīng)的channel數(shù)增加。block內(nèi)部的分支是通過concat連接的channel層。
其實(shí)D2就是把v7每個(gè)分支的channel然后把層增加了。(就用這個(gè)講)
rfcn相對于faster:用了全卷積替代fc,增加了平移不變性
轉(zhuǎn)載于:https://www.cnblogs.com/ymjyqsx/p/9164252.html
總結(jié)
- 上一篇: 关于线性代数的理解
- 下一篇: 个人做的一些小工具分享