我试图在dlib库中运行train_object_detector.cpp对其进行训练以进行行人检测。我正在使用INRIA数据集,当我尝试使用它时,出现了一个异常(exception):

exception thrown!
Error! An impossible set of object boxes was given for training. All
the boxes
need to have a similar aspect ratio and also not be smaller than about
1600
pixels in area. The following images contain invalid boxes:
crop001002.png
crop001027.png
crop001038.png
crop001160.png
crop001612.png
crop001709.png
Try the -h option for more information.

当我删除这些照片时,它确实运行并加载了所有照片,但随后引发了另一个异常
exception thrown!
An impossible set of object labels was detected. This is happening
because none
of the object locations checked by the supplied image scanner is a
close enough
match to one of the truth boxes. To resolve this you need to either
lower the
match_eps or adjust the settings of the image scanner so that it hits
this truth box. Or you could adjust the offending truth rectangle so
it can be matched by the current image scanner. Also, if you are using
the scan_image_pyramid object then you could try using a finer image
pyramid or adding more detection templates. E.g. if one of your
existing detection templates has a matching width/height ratio and
smaller area than the offending rectangle then a finer image pyramid
would probably help.

请帮我解决这个问题。

最佳答案

您是否使用ImgLab标记了图像?

使用此工具标记图像时,请记住,边界框必须具有相似的宽高比,并且这些边界框必须小于滑动窗口。
通常,您正在运行的示例应根据提供的框动态计算滑动窗口的大小。

我建议您稍微修改一下源代码,以进一步跟踪错误源,如果这些都不起作用。

关于c++ - train_object_detector.cpp dlib中的错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43748984/

10-12 19:29