Output of .forward() in dnn module in c++

so, you trained it on a single class ?

that’s normal. rows() & cols() are -1 for a multi(>2) dimensional Mat. use

cout << blob.size << endl;

(w/o braces !) to inspect

then, this is likely wrong:

use a simple:

Mat detections = net.forward();           // 3d output !
detections = detections.reshape(1,25200); // 2d, [25200x6]
....
    Mat row = detections.row(i);          // [1x6]

also note, that for a single class, ind will always be 0, you can drop the minmaxloc, and just:

 float box_confidence = row.at<float>(4);
 float cls_confidence = row.at<float>(5);
 if (box_confidence > 0.5 && cls_confidence > 0.5)
      // collect box proposal

after that, you still need to NMS filter the boxes !

then, i’m curious, how you (re-) trained that… on images / labels of a single class ?