i am facing invalid bounding boxes while training faster rcnn on multiclasses
2 views (last 30 days)
Show older comments
hi every on. i am facing invalid bounding boxes problem while training faster rcnn how can i remove this error. my code is a attached with file . This is my error Invalid transform function defined on datastore.
The cause of the error was:
Error using vision.internal.cnn.validation.checkTrainingBoxes Training data from a read of the input datastore contains invalid bounding boxes. Bounding boxes must be non-empty, fully contained within their associated image and must have positive width and height. Use datastore transform method and remove invalid bounding boxes.
Error in vision.internal.cnn.fastrcnn.validateImagesAndBoxesTransform (line 20) boxes = vision.internal.cnn.validation.checkTrainingBoxes(images, boxes);
Error in trainFasterRCNNObjectDetector>@(data)vision.internal.cnn.fastrcnn.validateImagesAndBoxesTransform(data,params.ColorPreprocessing) (line 1754) transformFcn = @(data)vision.internal.cnn.fastrcnn.validateImagesAndBoxesTransform(data,params.ColorPreprocessing);
Error in matlab.io.datastore.TransformedDatastore/applyTransforms (line 723) data = ds.Transforms{ii}(data);
Error in matlab.io.datastore.TransformedDatastore/read (line 235) [data, info] = ds.applyTransforms(data, info);
Error in vision.internal.cnn.rcnnDatasetStatistics>readThroughAndGetInformation (line 72) batch = read(datastore);
Error in vision.internal.cnn.rcnnDatasetStatistics (line 29) out = readThroughAndGetInformation(datastore, params, layerGraph);
Error in trainFasterRCNNObjectDetector>iCollectImageInfo (line 1761) imageInfo = vision.internal.cnn.rcnnDatasetStatistics(trainingData, rpnLayerGraph, imageInfoParams);
Error in trainFasterRCNNObjectDetector (line 459) [imageInfo,trainingData,options] = iCollectImageInfo(trainingData, fastRCNN, iRPNParamsEndToEnd(params), params, options);
Error in FASTERRCNN (line 73) [detector , info ]= trainFasterRCNNObjectDetector(trainingDataForEstimation, lgraph, options);
0 Comments
Answers (1)
Walter Roberson
on 1 Dec 2023
As already discussed at https://www.mathworks.com/matlabcentral/answers/2052067-invalid-bounding-boxes-problem-while-using-faster-rcnn#comment_2975842 you can use helperSanitizeBoxes to remove bad boxes.
3 Comments
Walter Roberson
on 1 Dec 2023
Sanitize after resizing the boxes. When the target size is smaller than the original size, a box can get resized from acceptable to not acceptable.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!