| 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) |