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

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)

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

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.

Categories

Asked:

on 12 Oct 2024

Commented:

on 12 Oct 2024

Community Treasure Hunt

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

Start Hunting!