Splitting Ground Thruth Data

7 Ansichten (letzte 30 Tage)
Hamza Yerlikaya
Hamza Yerlikaya am 30 Okt. 2019
Kommentiert: Nada Selim am 4 Feb. 2021
I am training a object detector by following along the following tutorial from MathWorks [1]. Instead of detecting from a video I am using a set of images. Images are labeled using ImageLabeller app. My question is how do i split the images in to train/test datasets. `objectDetectorTrainingData` has sampling factor but I believe thats for sampling from video according to docs sampling factor is 1 for images which loads the whole dataset for training. Once the ground truth data is loaded from the mat file generated from ImageLabeller how do i partion it say 80/20?
[1] https://www.mathworks.com/matlabcentral/fileexchange/69180-using-ground-truth-for-object-detection

Antworten (1)

Sai Bhargav Avula
Sai Bhargav Avula am 31 Okt. 2019
Hi,
You can split the data from the mat file generated using Image Labeler by using the imageDatastore function.
The code structure would look like this
DatasetPath = fullfile(matlabroot,'your path');
imds = imageDatastore(DatasetPath,'IncludeSubfolders',true,'FileExtensions','.mat','LabelSource','foldernames','ReadFcn',@loadmydata);
[imdsTrain,imdsTest] = splitEachLabel(imds,0.8,'randomize');
function data = loadmydata(filename)
S = load(filename);
data = S.data;
end
Hope this helps !
  3 Kommentare
Sai Bhargav Avula
Sai Bhargav Avula am 1 Nov. 2019
Yes, cvpartition is one way. One thing you need to look is the NumTestSets. I think you might have already looked into this. But just attaching the link as reference.
Nada Selim
Nada Selim am 4 Feb. 2021
Thank you for sharing your code. it helps me to split my dataset as well.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by