Complex-YOLOv3
Complex-YOLOv3 copied to clipboard
Accuracy and Performance
@ghimiredhikura its an amazing work you have done here , i had few queries
- What is the mAP of ur model
- since yolov3 is preferred for faster inference than yolov2 how much is the gain in performance
How do you calculate the loss about re and im? For the prediction, do you need to make the range of re and im from -1 to 1, because the range of re and im from the label is -1 to 1?
I see that you have a boundary on the angle from -pi/2 to pi/2, so whether you make re and im from the label and prediction in the same range?
Hi @zbs881314,
Yes im and re are in range -1 to 1 and I am using the same range. You can check here and track the code where im and re are used:
https://github.com/ghimiredhikura/Complex-YOLOv3/blob/master/config/complex_tiny_yolov3.cfg#L151
Hi @abhigoku10,
Thanks for your kind word.
- I am not evaluating the program using kitti official evaluation code. Using custom evaluation code in custom evaluation split from training dataset the average mAP is above 90%. You can check this table: https://github.com/ghimiredhikura/Complex-YOLOv3#evaluation.
- I didn't checked with yolov2 network but with subjective evaluation I think with yolov3 small objects are detected well and could be little slower than yolov2.
If you use the -1 to 1, how do you get this model to converge? Because the range of re and im from the label is -1 to 1, however the range of re and im from your model is 0 to 1 when the re and im reach to zero, it can not decrease more.
The activation function of the last layer is linear, so is it a relu?
@zbs881314, yes, last layer is linear. last convolution layer is linear and in yolo layer also im and re are used as they are without passing via any activation function. so im re from yolo network are not restricted in range 0 to 1. I hope I understand correctly.
https://github.com/ghimiredhikura/Complex-YOLOv3/blob/master/models.py#L148
when I make the evaluation, Do you know why the easy less than medium less than hard, the theory should be easy more than medium more than hard.
@zbs881314 @abhigoku10 ,can you pls tell me how @ghimiredhikura has used anchor sizes to get good accuracy. Kindly help
Hi @sankhanrsss,
I was only interested to detect car, pedestrian, and cyclist, therefore I took average size of each class from training set as anchor size. Thanks.
Just want one more confirmation. These anchors shapes are obtained by taking average size of each class from in BEV coordinate system?or in original LIDAR coordinate. Pls confirm
BEV Coordinates system.
Hi @ghimiredhikura I had multi-classes. Now my classes are greater than 3 and iam using 6 classes. In that case the number of anchors=3*6=18. I s that correct? But i YOLOV3 only 9 anchors are used. Kindly suggest and pls help
even if your classes are 6, the same anchor design will work. or you can use clustering as in yolo for calculating anchor sizes. as I designed with three different anchor sizes, regardless of number of class just cluster into three clusters.
@ghimiredhikura I was working on Argoverse dataset and it has multiple classes but i restricted to only 3 classes with the same anchors i retained that you have used for KITTI dataset. I was getting not more than 0.45mAP accuracy.
Iam trying now with the way you have suggested and will update you
How do you calcuate the mAP, conuld you send me the code?
@ghimiredhikura its an amazing work you have done here , i had few queries
1. What is the mAP of ur model 2. since yolov3 is preferred for faster inference than yolov2 how much is the gain in performance
I can't download the Author's pretrained weights, can you send a Author's pretrained weights for me? Thank you very much. My E-mail is : [email protected]
@chowkamlee81 hwo did u generate the anchor boxes ? can you share the code