在深度學習目標檢測中,由於小目標解析度低,模糊,資訊少,雜訊多所以是乙個實際且常見的困難問題
解決方法:使用不同解析度的影象金字塔,再對每層金字塔用固定輸入解析度的分類器在該層滑動來檢測目標,以求在金字塔底部檢測出小目標;或者只用乙個原圖,在原圖上,用不同解析度的分類器來檢測目標,以求在比較小的視窗分類器中檢測到小目標。
參考1
1.[將影象resize成不同的大小]
(2.data augmentation:對小目標進行資料增強
1>過取樣策略oversampling,改變取樣率
2>針對同一張裡面包含小目標數量少的問題,在內用例項分割的mask摳出小目標再使用複製貼上的方法(當然,也加上了一些旋轉和縮放,另外要注意不要遮擋到別的目標)
3.特徵金字塔網路fpn
淺層特徵圖感受野小適合小目標檢測,深層特徵圖感受野大適合大目標檢測
4.人臉檢測ssh、feature-fused ssd、deconvolutional network
5.合適的訓練方法『』模型預訓練的分布要盡可能地接近測試輸入的分布『』snip(an analysis of scale invariance in object detection)訓練時只訓練合適尺寸的目標樣本,只有真值的尺度和anchor的尺度接近時來用來訓練檢測器,太小太大的都不要,**時輸入影象多尺度,總有乙個尺寸的anchor是合適的,選擇那個最合適的尺度來**,sniper,san,r-fcn
6.更稠密的anchor取樣和匹配策略s3fd,faceboxes
1>faceboxes:inception3的anchors有三個scales(32,64,128),而32 scales是稀疏的,所以需要密集化4倍,而64 scales則需要密集化2倍
2>在s3fd人臉檢測方法中,則用了equal-proportion interval principle來保證不同大小的anchor在圖中的密度大致相等,
7.對小目標的anchor使用比較寬鬆的匹配策略(比如iou > 0.4),總之就是從anchor的密度,anchor的範圍,anchor的形狀數量來考慮,具體理解可參看2
8.gan方法:使用gan對小目標生成乙個和大目標很相似的super-resolved feature,然後把這個super-resolved feature疊加在原來的小目標的特徵圖上,以此增強對小目標特徵表達來提公升小目標的檢測效能。【perceptual gan】
9.利用context資訊的relation network和pyramidbox
比如檢測人臉時,中不會僅僅只有一張臉,會有肩膀胳膊等,可以利用這些上下文資訊,目標就變大了
10.roi pooling和context-aware roi pooling,roi align
11.回歸損失函式:不同大小的目標大小給不同的損失函式加權係數
12.增大小目標的gt,從而變相加大目標。增加檢測能力
參考3參考4
linux umount時目標忙的解決辦法
umount時目標忙的解決辦法 一 第一種情況是可能你當前所在路徑已經在掛載目錄下,需要切換到別的目錄才能umount成功。二 第二種情況是沒有在掛載目錄,但是umount時,始終無法umonut,可以通過fuser檢視裝置被哪個程序占用,之後殺死程序,就可以順利umount了。1 檢視umount...
小目標檢測
小目標在原圖中尺寸比較小,通用目標檢測模型中,一般的基礎骨幹神經網路 vgg系列和resnet系列 都有幾次下取樣處理,導致小目標在特徵圖的尺寸基本上只有個位數的畫素大小,導致設計的目標檢測分類器對小目標的分類效果差。1 data augmentation.簡單粗暴,比如將影象放大,利用 image...
小程式賦值聯動的解決辦法
data 將data中的flaglist賦給list,並對list得value進行賦空操作,最後輸出flaglist。onload function e console.log flaglist 上述 最後輸出會發現flaglist的value的值,也變為空 其中造成這種結果的原理不清楚,下面僅說下...