Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Traffic Sign Recognition Concept

Hi,

I am working on a traffic sign recognition project and have tried several different approaches with no luck.

Goals

  • detect _all_ traffic signs in the frame (all refers to all classes not to statistics)
  • discriminate round speed limit signs from other signs
  • recognize speed limits

Basic approach

My approach is classical 2 phase: CascadeClassification is done on the entire frame for the detection of potential sign ROIs followed by a second recognition phase only on the ROIs.

Status quo: I have trained a CascadeClassifier which detects signs quite well. It is trained for all traffic signs and delivers a certain (but tolerable) amount of false detection which I want to rule out in the recognition phase. ROIs are square, ranging between 20-45 pixels, color. I decided to do all processing on gray images only due to CPU limitations and the requirement to work at night as well.

image description image description image description

Problem

My problem is the recognition phase. I describe what I tried so far:

a) "Multi Cascade Classifier": I trained several Cascade Classifiers, each on a particular speed limit class, e.g. one for the 50s, on the 60s and so on. This worked somehow but performance was bad. Main problems:

  • 30 and 80 signs (and others as well) got confused.
  • I am not able to tell if my ROI shows is a speed limit at all, because this approach delivers always a result even when I did not feed in a speed limit sign.

b) "Features2D": I tried feature based classifiers, "ORB followed by Knn brute-force-hamming" and "SIFT followed by Knn brute force". I used the Lowe criterion but the discrimination was again not good enough:

  • signs still got confused
  • no possibility to reject "non speed limit" signs

c) "Neuronal net": I trained a Convolutional Neuronal Net with 2 convolution layers and 2 FC layers based on the 9 speed limit sign classes. It somehow worked but again with the same problems a the other approaches. In addition a huge computational burden comes with this. So I would exclude solution (c) for the future.

Question

  • What concept would you recommend to solve the problem ?
  • Is there benefit from including color into the game ?
  • Do you think from your expertise that a) or b) should do the job, if so which one ?
  • Any suggestions on completely different approaches ?

Remark: I have read nearly everything that deals with that problem on the net...

Thanks and regards Chris

Traffic Sign Recognition Concept

Hi,

I am working on a traffic sign recognition project and have tried several different approaches with no luck.

Goals

  • detect _all_ traffic signs in the frame (all refers to all classes not to statistics)
  • discriminate round speed limit signs from other signs
  • recognize speed limits

Basic approach

My approach is classical 2 phase: CascadeClassification is done on the entire frame for the detection of potential sign ROIs followed by a second recognition phase only on the ROIs.

Status quo: I have trained a CascadeClassifier which detects signs quite well. It is trained for all traffic signs and delivers a certain (but tolerable) amount of false detection which I want to rule out in the recognition phase. ROIs are square, ranging between 20-45 40-90 pixels, color. I decided to do all processing on gray images only due to CPU limitations and the requirement to work at night as well.

image description image description image description

Problem

My problem is the recognition phase. I describe what I tried so far:

a) "Multi Cascade Classifier": I trained several Cascade Classifiers, each on a particular speed limit class, e.g. one for the 50s, on the 60s and so on. This worked somehow but performance was bad. Main problems:

  • 30 and 80 signs (and others as well) got confused.
  • I am not able to tell if my ROI shows is a speed limit at all, because this approach delivers always a result even when I did not feed in a speed limit sign.

b) "Features2D": I tried feature based classifiers, "ORB followed by Knn brute-force-hamming" and "SIFT followed by Knn brute force". I used the Lowe criterion but the discrimination was again not good enough:

  • signs still got confused
  • no possibility to reject "non speed limit" signs

c) "Neuronal net": I trained a Convolutional Neuronal Net with 2 convolution layers and 2 FC layers based on the 9 speed limit sign classes. It somehow worked but again with the same problems a the other approaches. In addition a huge computational burden comes with this. So I would exclude solution (c) for the future.

Question

  • What concept would you recommend to solve the problem ?
  • Is there benefit from including color into the game ?
  • Do you think from your expertise that a) or b) should do the job, if so which one ?
  • Any suggestions on completely different approaches ?

Remark: I have read nearly everything that deals with that problem on the net...

Thanks and regards Chris