Invalid bounding boxes problem while using faster rcnn

11 views (last 30 days)
Hi everyone I am facing this problem while using faster rcnn : 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,'NegativeOverl
  3 Comments

Sign in to comment.

Answers (1)

Kausthub
Kausthub on 26 Dec 2023
Edited: Kausthub on 26 Dec 2023
Hi Ahmad,
I understand that you are facing an “Invalid bounding boxes" error while using Faster RCNN. As pointed out in the error message the probable reasons for the error are:
  • Bounding boxes are empty.
  • The bounding box is not fully contained within the associated image.
  • The height or width is negative.
To overcome the error, you should check for whether the bounding boxes are empty or overextending or with negative dimensions and remove the invalid bounding boxes before training the model.
An example of this check is provided in the documentation for “fasterRCNNObjectDetector” where they call a supporting function “helperSanitizeBoxes” which checks for invalid bounding boxes:
As suggested by @Walter Roberson you could refer to a closely related MATLAB Answer which address more details regarding the “helperSanitizeBoxes” function:
Hope it helps!

Categories

Find more on Image Processing and Computer Vision in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!