Traffic Sign Detection with CNN

Hi,

im really new to neural networks and I try to start with a simple task: traffix sign detection (no classification). I really hope you can help me with this because in the internet I just find some classification solutions.
I use the dataset GTSDB (http://benchmark.ini.rub.de/?section=gtsdb&subsection=dataset). I don’t know if I get something wrong, but isn’t it possible to just get a boundary box of a interesting object without the information what object it is?

Also do I need to first train with the single traffic signs or can I train with the full sized images of a traffic scene?

At the moment my network look like this, but I changed it many times:

class TraffixSignDetection(Module):
    def __init__(self, input_shape, n_classes):
        super(TraffixSignDetection, self).__init__()
        
        self.layer1 = Sequential(
            Conv2d(3, 6, kernel_size=5, stride=1, padding=2),
            BatchNorm2d(6),
            ReLU(),
            MaxPool2d(kernel_size=2, stride=2))
        self.layer2 = Sequential(
            Conv2d(6, 12, kernel_size=5, stride=1, padding=2),
            BatchNorm2d(12),
            ReLU(),
            MaxPool2d(kernel_size=2, stride=2))
        
        self.activation = ReLU()
        self.fc1 = Linear(400, 120)
        # self.fc2 = Linear(120, n_classes)
    
    def forward(self, x):
        out = self.layer1(x)
        out = self.layer2(out)
        out = out.reshape(out.size(0), -1)
        out = self.fc1(out)
        out = self.activation(out)
        
        self.features = out

Since I’m new to this problems, I don’t know what information you need from me. But if you need something just ask. Thank you very much!

I would recommend to start with classification and then progress to detection.
This is both for learning (classification with CNN is the “hello world” of deep learning for a reason) and implementation (many detection algorithms use feature extractors trained on classification).

Best regards

Thomas

So for classification the network don’t detect it first and then classify it? I thought this is the way and I could move on with my detect solution to then classify the found traffic signs.

But if I want to finish this project first, could you help me with that a little bit?