原因1:是标记的目标太小
#方法1:忽视结果
找到目录:…/models-master/research/object_detection/core/box_list_ops.py 这个文件,
修改第796行:
原代码:
max_assert = tf.Assert(tf.greater(max_val, 1.01), ['max value is lower than 1.01: ', max_val])
修改为:
因为的是1.704,所以设置为比1.704大的输
max_assert = tf.Assert(tf.greater(max_val, 1.8),
['max value is lower than 1.8: ', max_val])
参考链接:https://github.com/tensorflow/models/issues/1754
原因2:
box的最大宽和高大于图片本身的宽和高
例如上面图片,正常情况图像分辨率为:600300,红色box的大小为400250,但是由于xml文件中,图片中的宽和高弄反了,导致图像的分辨率为300*600了,box的大小由原来的400/600=0.66 (<1)变成了 400/300 = 1.33 (>1),box 的长度比图像的长度还大了,所以导致报错。
因此要好好检查自己的数据,图片大小有没有弄错。