Lidar Object Detection Using Complex-YOLO v4 Network Example error when retraining

9 views (last 30 days)
When it is modified the Region of Interest it crashes
in transformPCtoBev.m change
% labelsBEV(:,1) = int32(floor(labelsBEV(:,1)/gridParams{1,3}{1})) + 1;
labelsBEV(:,1) = int32(floor(labelsBEV(:,1)/gridParams{1,3}{1})+gridParams{1,2}{1}/2) + 1;
% loc(:,2) = int32(floor(loc(:,2)/gridW)) + 1;
loc(:,2) = int32(floor(loc(:,2)/gridW)+bevWidth/2) + 1;

Answers (1)

Cris LaPierre
Cris LaPierre on 12 Oct 2024
Edited: Cris LaPierre on 12 Oct 2024
The change is causing the code to fail the iCheckBoxes test inside validateInputDataComplexYOLOv4.m. This function checks that the bounding box position falls within the image size. The changes you are wanting to make position some of the bboxes outside the image.
Specifically, these tests:
classes = {'numeric'};
attrs = {'nonempty', 'nonnan', 'finite', 'positive', 'nonzero', 'nonsparse', '2d', 'ncols', 4};
attrsYaw = {'nonempty', 'nonnan', 'finite', 'nonsparse'};
validateattributes(boxes(:,1)+boxes(:,3)-1, classes, {'<=', imageSize(2)});
validateattributes(boxes(:,2)+boxes(:,4)-1, classes, {'<=', imageSize(1)});
imageSize is [608,608,3]
For comparison, here is what the same array looks like in the original code.
  1 Comment
Rogelio
Rogelio on 12 Oct 2024
Hi, thank you for your reply. Definitely I missed something.
When I changed yMin to a value lower than 0, the tutorial raised an error. With these changes I was able to train it but I will need to check what I missed.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!