Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Real-time Shape Identification

Dear all,

I'm embarking on a project which requires detection of landmarks through 2D logos (shapes).

For example, a wall may have such a blue-coloured shape on it (http://www.clker.com/cliparts/r/q/q/j/k/q/blue-cross-hi.png)

I'd need to first detect the shape via a live video stream through a camera and report it as it is.

I have tried to train a HAAR-cascade for it but have gotten lots of false positives.

This is my method of training the cascade:
1) Get one positive picture of the desired object (as above).
2) Get 3000 negatives.
3) Use opencv_createsamples to create 3000 positive samples using the positive picture and negatives.
4) Use 1000 of the positive samples to create my .vec
5) Use 1000 negatives and the positive vector to train the cascade.
I usually only get 3 to 4 features per stage and at around stage 6 or 7 the false alarm rate would be reached - although I read that usually 30~60 features per stage and full completion is the norm.

Any suggestion on possible reasons for the above would be appreciated.

I'd like to also seek opinions on alternative methods to go about achieving my goal, i.e. are there other alternatives to HAAR for real-time shape recognition & tracking?

Thank you very much.

Real-time Shape Identification

Dear all,

I'm embarking on a project which requires detection of landmarks through 2D logos (shapes).

I'm working on OpenCV 3.2.0 with Python and ROS.

For example, a wall may have such a blue-coloured shape on it (http://www.clker.com/cliparts/r/q/q/j/k/q/blue-cross-hi.png)

I'd need to first detect the shape via a live video stream through a camera and report it as it is.

I have tried to train a HAAR-cascade for it but have gotten lots of false positives.

This is my method of training the cascade:
1) Get one positive picture of the desired object (as above).
2) Get 3000 negatives.
3) Use opencv_createsamples to create 3000 positive samples using the positive picture and negatives.
4) Use 1000 of the positive samples to create my .vec
5) Use 1000 negatives and the positive vector to train the cascade.
I usually only get 3 to 4 features per stage and at around stage 6 or 7 the false alarm rate would be reached - although I read that usually 30~60 features per stage and full completion is the norm.

Any suggestion on possible reasons for the above would be appreciated.

I'd like to also seek opinions on alternative methods to go about achieving my goal, i.e. are there other alternatives to HAAR for real-time shape recognition & tracking?

Thank you very much.

Real-time Shape Identification

Dear all,

I'm embarking on a project which requires detection of landmarks through 2D logos (shapes).

I'm working on OpenCV 3.2.0 with Python and ROS.

For example, a wall may have such a blue-coloured shape on it (http://www.clker.com/cliparts/r/q/q/j/k/q/blue-cross-hi.png)

I'd need to first detect the shape via a live video stream through a camera and report it as it is.

I have tried to train a HAAR-cascade for it but have gotten lots of false positives.

This is my method of training the cascade:
1) Get one positive picture of the desired object (as above).
2) Get 3000 negatives.
3) Use opencv_createsamples to create 3000 positive samples using the positive picture and negatives.
4) Use 1000 of the positive samples to create my .vec
5) Use 1000 negatives and the positive vector to train the cascade.
I usually only get 3 to 4 features per stage and at around stage 6 or 7 the false alarm rate would be reached - although I read that usually 30~60 features per stage and full completion is the norm.

Any suggestion on possible reasons for the above would be appreciated.

I'd like to also seek opinions on alternative methods to go about achieving my goal, i.e. are there other alternatives to HAAR for real-time shape recognition & tracking?tracking? I have tried OpenCV's template matching but it is scale/skew/rotation sensitive and hence limited in functionality.

Thank you very much.