CU-ICAR course
Target:
RC vehicle with two cameras, one is for lane keeping ,another for road signs dection with CNN. You can use two computers to dispose the image and use WIFI to communicate with each other.
Road signs:
1cascade object detector,
the cascade classifier consists of stages, where each stage is an ensemble of weak learners.
Each stage of classifier labels the region.
2Feature for classifcation: HOG, LBP, Harr
HOG(histograms of oriented gradients):for common objects, people, cars.., capturing the overall shape of an object.
LBP, Harr: dection for faces, representing fine -scale textures.
3Process and properties:
cascade object detector: detect object doesn't vary significantly. Object whose aspect ration remains fixed.
for project: move the vehilce to caputre all the angle of the stop sign to collect the dataset.
Positive and negative images to train the model.
Manually labeling the stop sign.
One cascade classifier can only detect one type of object.
Image Labeler in matlab to label the dataset.
(1) Manually select region of the interest (ROI) in the tools for each image.
(2) export the gTruth variable. Make sure that you don't change the name and path of the dataset.
(3) train the cascade classifier in CNN.
Methods 1:
trainCascadeObjectDetector(outputXMLFilename,positiveInstances,negativeImages)
see:
https://www.mathworks.com/help/vision/ref/traincascadeobjectdetector.html
load('yourfile.mat')
negativeFolder='your file'
TrainCascadeObjectDetector('signName.xml',gTruth,negativefolder,'FalseAlarmRate',0.3,NumCascadeStages',10);
Some hints for training.
train function:HOG
Negative image include school sign.
People blames that deep learning people are not doing research.
Two detectors: one for stop sign, one for shool zone sign.
Methods 2:
CNN
define the CNN,
you can refer to
https://www.mathworks.com/help/deeplearning/ref/nnet.cnn.layer.convolution2dlayer.html?s_tid=doc_ta
Methods 3:
Transfer learning, such as R-CNN.(in AV project)
Pretrained R-CNN, CIFAR10Net.
Do stop sign.
Collector data as previous, Matlab Image Labler.
40 stop signs and 40 school signs are enough to train the model.
trainingData = objectDetectorTrainingData(gTruth)
https://www.mathworks.com/help/vision/ref/objectdetectortrainingdata.html?s_tid=doc_ta
options = trainingOptions('sgdm', ...
'LearnRateSchedule','piecewise', ...
'LearnRateDropFactor',0.1, ...
'InitalLearningRate',1e-3,...
'LearnRateDropPeriod',5, ...
'MaxEpochs',20, ...
'MiniBatchSize',128, ...
'Verbose',true)
rcnn = trainRCNNObjectDetector(stopSigns, cifar10Net, options, 'NegativeOverlapRange', [0 0.3],'PositiveOverlapRange',[0.5 1]);
Push vehicle and take images around the test track, then create the trainning data.
bounding box:x,y, know how far away from the traffic sign. from the calibration parameters of camera.
Tests:
time for running out the lane
grading
50% for result, 40% codes, 10% teammates assement
one time to try without penalty, other lose 10% each.
after test
upload presentation(pictures, videos), achivements
design and reulsts on lane tracking/control, recognition, achivements and challenges in the project.
groups:12minutes
grade by group not by person
presentation: slides 40%, presentation 50%, time 10%
report:individual
1)problem statement;2) track control ;3) recognition:techinical approach;4) discussion in achivement and challenges.