cguindel / eval_kitti

Tools to evaluate object detection results using the KITTI dataset.
57 stars 23 forks source link

Evaluate 2D kitti object detection result #10

Open Jin-S-Kim opened 4 years ago

Jin-S-Kim commented 4 years ago

Thank you for good source code.

I have a question about evaluating 2D kitti object detection result according to the difficulty 'easy', 'moderate', 'hard'.

The label of raw kitti dataset is consist of type, truncation, occlusion, alpha, x1, y1, x2, y2(for 2D), h, w, l, t, ry(for 3D).

image

And I am using yolov3 so I convert the label of raw kitti dataset for yolo format as class number, x, y, w, h and train the model.

image

So my object detection result is follow as class number, confidence score, x, y, w, h so I can't evaluate my model as difficulty 'easy', 'moderate', 'hard'.

image

Because difficulty of kitti is determined by height of bounding box, occlusion and truncation.

I can calculate height of bounding box by x, y, w, h but there is no truncation and occlusion.

In the previous issue, you give the label of detection result '000001.txt' like this. Car -1 -1 1.57 389.24 181.31 421.83 200.77 -1 -1 -1 -1000 -1000 -1000 -10 -0.022013 Car -1 -1 -1.57 553.46 166.93 590.49 196.21 -1 -1 -1 -1000 -1000 -1000 -10 -0.053210 Car -1 -1 -1.57 570.69 165.74 600.41 192.49 -1 -1 -1 -1000 -1000 -1000 -10 -0.007330

How can you determine truncation and occlusion to -1?

cguindel commented 4 years ago

Hi @Jin-S-Kim,

Sorry for the (very) late reply; it's deadlines season. Of course, you can evaluate your method using only the coordinates of the 2D bounding boxes. The levels of difficulty (Easy, Moderate, Hard) are determined by the degree of truncation and occlusion of the ground-truth samples, not of the detection results; in fact, I do not know of any method able to estimate these values. The way to do it is, as you mentioned, using -1 to represent an undefined value.