我正在使用HaarCascade开发自己的对象检测器。顺便说一句,我被困在某个地方,我将在下面解释。
情况是这样的: -我收集了100张物体的图像(比如说苹果) -我收集了大约 1500张底片图像 -我创建了 negatives.txt ,该文件包含底片图像的路径 -我创建了 positives.txt ,该文件包含我的正像的路径,对象数,坐标和尺寸
现在,这就是问题所在。
使用opencv_createsamples.exe
扩展我的数据/图像,我看到如果我对每个对象图像执行相同参数的输出,则输出将或多或少为1000个正图像(负背景+对象)以及.lst file
包含负像内的路径和对象坐标。
这些坐标不会改变(因为我在执行opencv_createsamples.exe
时进行了设置)。
问题是:更改createsamples
我的每个对象图像所需的参数,然后将它们全部合并,这是一个好主意吗?
我现在正在做什么的示例:
我愿意做的事的例子:
我真的希望我能解释一切。
我怀疑这样做的效率:通过在不同位置使用不同对象(同一类)进行训练,或者仅使用一个对象就可以达到相同的精度?
词汇表:
谢谢
更新
在HaarCascade上观看Sentdex视频后,Training Haar cascade object detection - OpenCV with Python for Image and Video Analysis 20
答案 0 :(得分:0)
我认为在每个(正)图像中使用多个对象训练模型时,您会获得更好的结果。它还取决于您要实现的目标。 1.尝试在问题中提到的两种方法,并使用相同的图像对其进行测试。 2.比较有效性(检测的准确性)和效率(例如,速度是否存在明显差异?)