解决faster-rcnn中训练时assert(boxes[:,2]=boxes[:,0]).all()的问题
生活随笔
收集整理的這篇文章主要介紹了
解决faster-rcnn中训练时assert(boxes[:,2]=boxes[:,0]).all()的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、出現問題:訓練faster rcnn時出現如下報錯: File "/py-faster-rcnn/tools/../lib/datasets/imdb.py", line 108, in append_flipped_imagesassert (boxes[:, 2] >= boxes[:, 0]).all()
AssertionError 2、問題分析: 檢查自己數據發現,左上角坐標(x,y)可能為0,或標定區域溢出圖片
而faster rcnn會對Xmin,Ymin,Xmax,Ymax進行減一操作
如果Xmin為0,減一后變為65535 問題解決
1、修改lib/datasets/imdb.py,append_flipped_images()函數
數據整理,在一行代碼為 boxes[:, 2] = widths[i] - oldx1 - 1下加入代碼:
for b in range(len(boxes)):
if boxes[b][2]< boxes[b][0]:
boxes[b][0] = 0 2、修改lib/datasets/pascal_voc.py,_load_pascal_annotation(,)函數將對Xmin,Ymin,Xmax,Ymax減一去掉,變為: 3、(可選,如果1和2可以解決問題,就沒必要用3)修改lib/fast_rcnn/config.py,不使圖片實現翻轉,如下改為:# Use horizontally-flipped images during training? __C.TRAIN.USE_FLIPPED = False 問題解決
數據整理,在一行代碼為 boxes[:, 2] = widths[i] - oldx1 - 1下加入代碼:
for b in range(len(boxes)):
if boxes[b][2]< boxes[b][0]:
boxes[b][0] = 0 2、修改lib/datasets/pascal_voc.py,_load_pascal_annotation(,)函數將對Xmin,Ymin,Xmax,Ymax減一去掉,變為: 3、(可選,如果1和2可以解決問題,就沒必要用3)修改lib/fast_rcnn/config.py,不使圖片實現翻轉,如下改為:# Use horizontally-flipped images during training? __C.TRAIN.USE_FLIPPED = False 問題解決
總結
以上是生活随笔為你收集整理的解决faster-rcnn中训练时assert(boxes[:,2]=boxes[:,0]).all()的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [深度学习] RCNNs系列(1) Ub
- 下一篇: Faster-RCNN训练时遇到的问题