Quick way to distinguish similar objects from each by distinct features on one object
Asked Answered
D

1

6

I've made a classifier (based on HoG features) that can recognize big vehicles (buses and trucks). But I want to be able to distinguish between buses and trucks, too. This causes problems since both vehicles are big and long. Here's a an example from my training data:

enter image description here

enter image description here

As you can see, that's one truck and one bus, viewed from the same perspective, but the classifier doesn't see them as different.

Given that I've already built my classifier, is there an easy way (without rebuilding the existing classifier) that I could perhaps add as a second stage to distinguish between the truck and bus?

I was thinking along the lines of SIFT feature matching somehow... to capture that jutting out truck head in front. But I haven't used it before and wasn't sure if it would be applicable here.

Driftwood answered 31/3, 2015 at 16:27 Comment(2)
How many images of each category do you have (i.e. how many trucks / cars / etc.)?Brawley
Did you try image augmentation? Why do not use convolution neural network (CNN)? Such problems are easy to solve for them (specially with different type of data augmentation)Benia
K
0

I understand that your current detectors tries to differ busses and trucks from other objects. Assuming that it differs the other objects well and has problems differing between busses and trucks you can add a specialized classifier upon it.

The goal of the second classifier should be to differ between buses and truck, given the first classifier. Hence you should train it on entities that the first classifier consider to be a truck or a bus (ignore busses and truck not identified by the first classifier). Given the samples use their true classification as the concept (not the prediction of the first classifier). By doing so, you force the second classifier to focus on the boundaries between busses and trucks. In this boundaries features like size become irrelevant since both busses and truck are large and therefor the classifier will be forced to find other relevant features.

After that you'll compose the classifier and if the first classifier will output either a bus or a truck you should return the result of the second classifier.

This technique is actually a special case of boosting, close in spirit to the Schapire algorithm from The Strength of Weak Learnability

Krauss answered 24/4, 2017 at 7:54 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.