- 15.3.3 Road, Path Following Operators
- 126.96.36.199 Road Following, Depth, Stereo Based, Off-Road, Safe Path
- 188.8.131.52 Ground Plane Detection
- 184.108.40.206 Lane Detection, Lane Following, White Line Detection
- 220.127.116.11 Lane Changing, Lane-Change, Analysis, Control
- 18.104.22.168 Curb Detection, Street Boundaries
- 22.214.171.124 Indoor Navigation Issues, Lines, Walls, Doors, Flat Surfaces
- 126.96.36.199.1 Indoor Localization, Navigation Issues, Non-Image, Wi-Fi, Phone Positioning
- 188.8.131.52 CMU Road Followers, ALVINN YARF MANIAC
- 184.108.40.206 Obstacle Dectection, Objects on the Road
- 220.127.116.11.1 Other Vehicles
- 18.104.22.168.2 Collision Avoidance, Collision Detection, Vehicles, Objects on the Road
- 22.214.171.124.3 Obstacles, Objects on the Road Using Radar, Sonar, Active Vision
- 126.96.36.199 Airplane Obstacles, Collision Detection, Sense and Avoid
- 188.8.131.52.1 Aircraft Landings, Spacecraft Landing
- 184.108.40.206 Road Signs, Traffic Signs
- 220.127.116.11 Traffic Lights, Objects along the Road, Inspections
- 18.104.22.168 Railroads, Inspection, Obstacles
trainingOptions for a RCNN detector with AlexNet
6 views (last 30 days)
I would like to train an RCNN network to detect traffic signs. CNN's network (net) is AlexNet, which has already been trained and tested to recognize traffic signs (94% test accuracy).
Below are the options I used to train the RCNN network. During training I obtained an accuracy of 84%, but on the test side it does not find many signs (I have an accuracy of 25% if the score> 0.5).
I would like to have more signs detected and I suspect that the problem is with the options chosen for training. Can someone please help me with the training options?
options = trainingOptions('sgdm', ...
'MiniBatchSize', 128, ...
'InitialLearnRate', 1e-3, ...
'LearnRateSchedule', 'piecewise', ...
'LearnRateDropFactor', 0.1, ...
'LearnRateDropPeriod', 100, ...
'MaxEpochs', 30, ...
rcnn = trainRCNNObjectDetector(DataTrain, net, options, ...
'NegativeOverlapRange', [0 0.3], 'PositiveOverlapRange',[0.5 1]);
[bbox, score, label] = detect(rcnn, img, 'MiniBatchSize', 128);
Image Analyst on 25 Jun 2022
Why are you retraining it when you said it has already been trained to recognize stop signs? If that's true, just delete the first two lines of your code and just have the call to detect.
If the accuracy is not high enough, you can do transfer learning (re-train alexnet) for a "stop-sign-only detector" by supplying a ton of stop sign images. It will be better but it won't be able to detect anything else. Is that what you're thinking of doing? How many stop signs do you have? Do you know how many stops signs the original alexnet training had? You should have many, many more than that.
Also, see section 22.214.171.124: