You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi @derronqi ,Thank you very much for opening up this project. During the reproduction process, I discovered a very interesting phenomenon, modify the return result format of the function def detect(model, img0) in the file test_widerface.py, The evaluation results will send significant changes
return boxes # 115
For example, I retrained yolov5s-face according to the readme tutorial
python3 train.py --data data/widerface.yaml --cfg models/yolov5s.yaml --weights weights/yolov5s.pt --device 0
...
...
Epoch gpu_mem box obj cls landmark total targets img_size
249/249 5.35G 0.03918 0.02193 0 0.007254 0.06837 18 800: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 801/801 [02:30<00:00, 5.33it/s]
Class Images Targets P R [email protected][email protected]:.95: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 202/202 [00:20<00:00, 9.67it/s]
all 3.22e+03 3.96e+04 0.585 0.722 0.715 0.341
Optimizer stripped from runs/train/exp/weights/last.pt, 14.4MB
At this point, the detection result format for a single image is as follows:
Then evaluated the performance of the WIDER_val dataset according to the tutorial
$ python3 evaluation.py -p widerface_txt -g ./ground_truth
evaluation.py:14: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
from bbox import bbox_overlaps
Reading Predictions : 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 61/61 [00:00<00:00, 277.39it/s]
Processing easy: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 61/61 [00:17<00:00, 3.44it/s]
Processing medium: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 61/61 [00:17<00:00, 3.51it/s]
Processing hard: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 61/61 [00:17<00:00, 3.43it/s]
==================== Results ====================
Easy Val AP: 0.9436869650197075
Medium Val AP: 0.9235817488778479
Hard Val AP: 0.8247729821066756
=================================================
The training results are consistent with the paper, but when I reversed the detection results based on confidence, the accuracy became very low.
$ python3 evaluation.py -p widerface_txt -g ./ground_truth
evaluation.py:14: DeprecationWarning: `np.float` is a deprecated aliasfor the builtin`float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20;for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
from bbox import bbox_overlaps
Reading Predictions : 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 61/61 [00:00<00:00, 292.96it/s]
Processing easy: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 61/61 [00:16<00:00, 3.77it/s]
Processing medium: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 61/61 [00:16<00:00, 3.79it/s]
Processing hard: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 61/61 [00:16<00:00, 3.79it/s]
==================== Results ====================
Easy Val AP: 0.3488423571451206
Medium Val AP: 0.4057972188864014
Hard Val AP: 0.40385116704238416
=================================================
I have tested many methods, including directly using pretrained models provided in the warehouse, or using the official YOLOv5 project for training and testing, and obtained the same results.
I believe this must be due to formatting issues in the subsequent calculation process. I just want to have a better understanding of WIDERFACE's evaluation calculation method, and I look forward to your reply.
The text was updated successfully, but these errors were encountered:
Hi @derronqi ,Thank you very much for opening up this project. During the reproduction process, I discovered a very interesting phenomenon, modify the return result format of the function
def detect(model, img0)
in the filetest_widerface.py
, The evaluation results will send significant changesFor example, I retrained yolov5s-face according to the readme tutorial
At this point, the detection result format for a single image is as follows:
Then evaluated the performance of the WIDER_val dataset according to the tutorial
The training results are consistent with the paper, but when I reversed the detection results based on
confidence
, the accuracy became very low.The current test results are as follows:
I have tested many methods, including directly using pretrained models provided in the warehouse, or using the official YOLOv5 project for training and testing, and obtained the same results.
I believe this must be due to formatting issues in the subsequent calculation process. I just want to have a better understanding of WIDERFACE's evaluation calculation method, and I look forward to your reply.
The text was updated successfully, but these errors were encountered: