calculate the area of Estimate Anchor Boxes

2 次查看(过去 30 天)
Hello, I was recently programmed in MATLAB to detect certain parts by yoloV4 ..and I reached the training stage to calculate the area of anchor boxes, at the beginning of the code for calculating it. it begin appear error, I don't know why
the code, the error in [anchors,meanIoU]
trainingDataForEstimation = transform(trainingData,@(data)preprocessData(data,inputSize));
numAnchors = 9;
[anchors,meanIoU] = estimateAnchorBoxes(trainingDataForEstimation, numAnchors);
the message error :-
92 [anchors,meanIoU] = estimateAnchorBoxes(trainingDataForEstimation, numAnchors);
Invalid transform function defined on datastore.
The cause of the error was:
Unable to perform assignment because the size of the left side is 1-by-3 and the size of the right side is 1-by-2.
Error in recognitionThree>preprocessData (line 220)
data(ii,2:4) = {I, Wboxes}
Error in recognitionThree>@(data)preprocessData(data,inputSize) (line 90)
trainingDataForEstimation = transform(trainingData,@(data)preprocessData(data,inputSize));
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 matlab.io.datastore.TransformedDatastore/readall (line 300)
data{end+1} = read(copyds); %#ok<AGROW>
Error in estimateAnchorBoxes>iReadallBoxes (line 270)
boxes = readall(ds);
Error in estimateAnchorBoxes>iCheckBoxesFromDatastore (line 215)
boxes = iReadallBoxes(ds);
Error in estimateAnchorBoxes>iParseInputs (line 168)
boxes = iCheckBoxesFromDatastore(datastore);
Error in estimateAnchorBoxes (line 136)
[boxes, numAnchors, params] = iParseInputs(datastore, numAnchors, varargin{:});
Error in recognitionThree (line 92)
[anchors,meanIoU] = estimateAnchorBoxes(trainingDataForEstimation, numAnchors);

回答(1 个)

Walter Roberson
Walter Roberson 2023-2-11
编辑:Walter Roberson 2023-2-11
recognitionThree appears to be code you wrote. The code
data(ii,2:4) = {I, Wboxes}
appears to be your code. You are trying to assign a cell array of length 2 into an array that expects 3 elements.
If WBoxes is already a cell of length 2, then use
data(ii,2:4) = [I, Wboxes(:).'];

类别

Help CenterFile Exchange 中查找有关 Recognition, Object Detection, and Semantic Segmentation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by