Error while running Example of TrainAnSSDObjectDetector

8 views (last 30 days)
hello! please help me out to solve this
Invalid transform function defined on datastore.
data = read(ds);
exampleDataFromDatastore = iReadNonEmptyOneRow(ds);
nnet.internal.cnn.GeneralDatastoreDispatcher( ...
dispatcher = nnet.internal.cnn.DataDispatcherFactory.createDataDispatcherMIMO( ...
trainingDispatcher = iCreateTrainingDataDispatcher(ds, mapping, trainedNet,...
[network, info] = vision.internal.cnn.trainNetwork(...
Caused by:
Applying the function '@(varargin)iSelectTrainingSamples(params,varargin{:})' to the 1st row of A generated the following error:
The value of 'bboxB' is invalid. Expected input to be finite.

Accepted Answer

Divya Gaddipati
Divya Gaddipati on 16 Jun 2020
From the error "The value of 'bboxB' is invalid. Expected input to be finite.", it seems like one or more of the groundtruth bounding boxes have NaNs/Inf values. Make sure your groundtruths are valid and non-empty i.e., the values of the bounding boxes are finite, positive, non-fractional, non-NaN and should be within the image boundary with a positive height and width. You should either discard or fix the samples with invalid bounding boxes.
  1 Comment
David on 30 Nov 2022
Edited: David on 30 Nov 2022
This answer is insufficient. There are obvious reasons for wanting to train on images that have no target in them. My observation is you get a ton of false positives in areas of images that the detector has never seen examples of.
I understand Mathworks has acknowledged this deficiency and is working on a FIX, can you give a better workaround or a date when we can actually make use of the SSD detector. As it is it's useless.

Sign in to comment.

More Answers (0)


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!

Translated by