Splitting Ground Thruth Data
显示 更早的评论
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
回答(1 个)
Sai Bhargav Avula
2019-10-31
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 个评论
Hamza Yerlikaya
2019-10-31
Sai Bhargav Avula
2019-11-1
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
2021-2-4
Thank you for sharing your code. it helps me to split my dataset as well.
类别
在 帮助中心 和 File Exchange 中查找有关 Ground Truth Labeling 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!