cascade-rcnn
https://github.com/zhaoweicai/cascade-rcnn
這是目標檢測非常不錯的一種方法,沒有過分強調主干網絡,而是采用層疊的方式提高IOU閾值來提純樣本,對不同的主干網絡都能取得2~4個點的提升。
下面對用自己的數據集進行訓練的時候出現的問題進行總結。
其實也很簡單,端到端的訓練,就是參數很多,要理解了才能很好的設置。
1. 作者的網絡配置文件是采用long_size和short_size的方式,這要求輸入圖像是矩形,但是對於正方形的輸入,long_size和short_size就不是很合適了。這時候,可以采用 resize_width 和 resize_height 進行設置
long_size: 800
short_size: 1312
修改為
resize_width: 640
resize_height: 640
這里我們一般希望長寬都是 32 的倍數關系,如果不希望拉伸,最好這里設置的長寬和圖片實際長寬一致。
2. 如果在訓練的時候出現 “F0930 05:55:49.924599 32355 decode_bbox_layer.cpp:110] Check failed: keep_num > 0 (0 vs. 0)”,這可能是proposal boxes 數量不足,或者是網路跑飛了,可以通過以下兩個地方修改:
a. 降低 “BoxGroupOutput” 層中的 fg_thr,增加proposal boxes 的數量。
b. 如果降低了還是出現類似的錯誤,那就降低 base_lr。