|
unzip vehicleDatasetImages.zip |
|
data = load("vehicleDatasetGroundTruth.mat"); |
|
vehicleDataset = data.vehicleDataset; |
|
|
|
rng(0) |
|
shuffledIndices = randperm(height(vehicleDataset)); |
|
idx = floor(0.6 * height(vehicleDataset)); |
|
|
|
trainingIdx = 1:idx; |
|
trainingDataTbl = vehicleDataset(shuffledIndices(trainingIdx),:); |
|
|
|
validationIdx = idx+1 : idx + 1 + floor(0.1 * length(shuffledIndices) ); |
|
validationDataTbl = vehicleDataset(shuffledIndices(validationIdx),:); |
|
|
|
testIdx = validationIdx(end)+1 : length(shuffledIndices); |
|
testDataTbl = vehicleDataset(shuffleIndices(testIdx),:); |
|
|
|
imdsTrain = imageDatastore(trainingDatatbl{:,"imageFilename"}); |
|
bldsTrain = boxLabelDatastore(trainingDataTbl(:,"vehicle")); |
|
|
|
imdsValidation = imageDatastore(validationDataTbl{:,"imageFilename"}); |
|
bldsValidation = boxLabelDataStore(validationDatatbl(:,"vehicle")); |
|
|
|
imdsTest = imageDatastore(testDataTbl{:"imageFilename"}); |
|
bldsTest = boxLabelDatastore(testDataTbl(:,"vehicle")); |
|
|
|
|
|
|
|
trainData = combine(imdsTrain,bldsTrain); |
|
validationData = combine(imdsValidation,bldsValidation); |
|
testData = combine(imdsTest,bldsTest); |
|
|
|
|
|
|
|
data = read(trainingData); |
|
I = data{1}; |
|
bbox = data{2}; |
|
annotatedImage = insertShape(I"rectangle",bbox); |
|
annotatedImage = imresize(annotatedImage,2); |
|
figure |
|
imshow(annotatedImage) |