Error while running Example of TrainAnSSDObjectDetector

1 次查看(过去 30 天)
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.

采纳的回答

Divya Gaddipati
Divya Gaddipati 2020-6-16
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 个评论
David
David 2022-11-30
编辑:David 2022-11-30
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.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by