写这篇主要是写了代码不想浪费
用的是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 = '/media/syy/D/repo/tf-faster-rcnn/data/VOCdevkit2007/VOC2007/JPEGImages'
for roo

在使用github上的tf-faster-rcnn项目时,遇到assert(boxes[:,2]>=boxes[:,0]).all()错误。该错误通常由数据集问题或缓存导致。解决方案包括检查数据集是否遵循PASCAL VOC格式,坐标是否从1开始,以及确保没有Xmin大于Xmax的情况。此外,清理Annotations目录下的cache文件也可以解决问题。提供的代码用于检查数据集中的边界条件,如图片损坏、坐标越界等。"
123776868,12670975,SpringBoot @Cacheable 缓存详解,"['Java', 'Spring', 'SpringBoot', '缓存管理']
2万+

被折叠的 条评论
为什么被折叠?



