Invalid bounding boxes problem while using faster rcnn

4 ビュー (過去 30 日間)
ahmad
ahmad 2023 年 11 月 25 日
編集済み: Kausthub 2023 年 12 月 26 日
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 件のコメント
ahmad
ahmad 2023 年 11 月 26 日
how can i fix this problem

サインインしてコメントする。

回答 (1 件)

Kausthub
Kausthub 2023 年 12 月 26 日
編集済み: Kausthub 2023 年 12 月 26 日
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!

Community Treasure Hunt

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

Start Hunting!

Translated by