解决assert(boxes[:,2]>=boxes[:,0]).all()报错

写这篇主要是写了代码不想浪费

用的是github上的tf-faster-rcnn(自己搜下)

python3.6.2版本

错误:assert(boxes[:,2]>=boxes[:,0]).all():

boxes是标注的bounding box,检查Xmax是否大于Xmin,只要有一个不符合就报错

======================

问题原因:1.数据集有问题2.数据集改过来以后没删除缓存

2问题看https://blog.csdn.net/10km/article/details/64641322,他用的是github上的py-faster-rcnn如果你用的跟我一样,是github上的tf-faster-rcnn的话,清除Annotations里的cache里的pkl..

也评价下https://blog.csdn.net/xzzppp/article/details/52036794里解决方案

如果报错原因是数据集标注起点为(0,0),不想改数据集的话,对Xmin,Ymin,Xmax,Ymax减一去掉可以,但是fipped操作不知道会不会还会有问题,第一条解决方案就还是别用了。。第三个解决方案,如果数据集已经改成是(1,1)为起点的话,还有这个问题就估计是部分标注Xmin和Xmax反过来了

========================

解决1问题:数据集有问题,

可能数据集没符合PASCAL VOC格式,,pascal voc的标注起始应该是1-based而不是以0开始的 

 首先坐标起始点都得为1,坐标不能越界

以下是检查数据集的代码:

1.检查是否图片损坏

2.检查坐标七点是否都不为0

3.检查xmax是否大于xmin,会引起

这个代码作用是检查数据集,检查是否有图片损坏(可能引起loss=NAN),检查是否数据集开始坐标(0,0)

#改一下curDir为数据集里图片的地址和path地址

#1check if there are corrputed images in JPEG
#2check if there are '0' cordinate in xml file
#3chechk if xmin coordinates have 0 value,todo:checkif max is greater than width

#111111111111111111111111
import numpy as np
from PIL import Image 
import  xml.dom.minidom
import os
if __name__ == '__main__': 
    badFilesList = [] 
    curDir = &#
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值