我想使用MATLAB来检测交通标志。我知道有一个名为’trainCascadeObjectDetector’的函数可以用来训练检测器。但示例仅展示了如何检测单一类别的停车标志。我想尝试检测超过70种交通标志。所以我在想,我能否将所有这些类型的交通标志作为正样本,并训练检测器来检测所有这些类型的交通标志?
我尝试将所有这些类型的交通标志作为正样本来训练检测器,设置了7个阶段,误报率为0.2,交通标志的数量大约为2000,但检测器产生了许多误报。
也许设置有误,问题在于,我不知道将所有这些交通标志作为正样本并尝试训练一个检测器来检测所有交通标志是否正确。或者我应该为每种交通标志训练一个检测器?我更倾向于前者。
回答:
我怀疑这行不通。交通标志是一个非常广泛的类别,其外观差异很大。停车标志与“单行道”标志的外观非常不同。我认为你能做的最好的事情是尝试按外观对标志进行分组。例如,你可能能够为停车标志和“禁止进入”标志训练一个单一的检测器。