YonghaoHe / LFFD-A-Light-and-Fast-Face-Detector-for-Edge-Devices

A light and fast one class detection framework for edge devices. We provide face detector, head detector, pedestrian detector, vehicle detector......
MIT License
1.31k stars 330 forks source link

Difference on accuracy between your results and my reproduction #109

Open on-your-way opened 3 years ago

on-your-way commented 3 years ago

Hi, I have tried to reproduce your results of LFFD v1 on the WIDER_FACE_val dataset. The training data I used is produced by your method:

  1. Input the WIDER FACE train dataset (downloaded from the official website);
  2. Generate the train_list.txt file by reformat_WIDERFACE.py;
  3. Generate the .pkl file by pickle_provider.py And then, run configuration_10_560_25L_8scales_v1.py (specify the .pkl file generated just now). The only parameter I have modified is the param_num_thread_train_dataiter at the line 56 (change it from 4 to 10). After 1,400,000 iterations, I evaluated it on the WIDER_FACE_val dataset using standard tools released by the WIDER FACE benchmark. However, my results of accuracy are quite lower than yours, which are obtained by face_detection/saved_model/configuration_10_560_25L_8scales_v1/train_10_560_25L_8scales_v1_iter_1400000.params you provided in the project. Here are details:

         easy      medium   hard

    mine 0.885 0.853 0.681 yours 0.896 0.861 0.710 diff -1.2% -0.9% -4.1%

    I can not figure it out really. May you give me some help? thanks

antoniojmabreu commented 3 years ago

Sorry, I know my questio is offtopic, but can you help me run LFD on windows? I get an error using libturbojpeg.

(env) PS G:\OneDrive - Universidade da Beira Interior\EI\Mestrado\1 ano\2 semestre\IC\Projeto\LFD-A-Light-and-Fast-Detector-master\WIDERFACE_train> python.exe .\predict.py Traceback (most recent call last): File ".\predict.py", line 4, in from lfd.data_pipeline.augmentation import File "G:\OneDrive - Universidade da Beira Interior\EI\Mestrado\1 ano\2 semestre\IC\Projeto\LFD-A-Light-and-Fast-Detector-master\WIDERFACE_train\lfd\data_pipeline__init__.py", line 4, in from .data_loader import File "G:\OneDrive - Universidade da Beira Interior\EI\Mestrado\1 ano\2 semestre\IC\Projeto\LFD-A-Light-and-Fast-Detector-master\WIDERFACE_train\lfd\data_pipeline\data_loader__init.py", line 3, in from .data_loader import DataLoader File "G:\OneDrive - Universidade da Beira Interior\EI\Mestrado\1 ano\2 semestre\IC\Projeto\LFD-A-Light-and-Fast-Detector-master\WIDERFACE_train\lfd\data_pipeline\data_loader\data_loader.py", line 8, in from ..dataset import turbojpeg, reserved_keys File "G:\OneDrive - Universidade da Beira Interior\EI\Mestrado\1 ano\2 semestre\IC\Projeto\LFD-A-Light-and-Fast-Detector-master\WIDERFACE_train\lfd\data_pipeline\dataset__init.py", line 7, in from .utils import * File "G:\OneDrive - Universidade da Beira Interior\EI\Mestrado\1 ano\2 semestre\IC\Projeto\LFD-A-Light-and-Fast-Detector-master\WIDERFACE_train\lfd\data_pipeline\dataset\utils\init__.py", line 3, in from .turbojpeg import turbojpeg File "G:\OneDrive - Universidade da Beira Interior\EI\Mestrado\1 ano\2 semestre\IC\Projeto\LFD-A-Light-and-Fast-Detector-master\WIDERFACE_train\lfd\data_pipeline\dataset\utils\turbojpeg.py", line 456, in turbojpeg = TurboJPEG(lib_path=target_libturbojpeg_path) File "G:\OneDrive - Universidade da Beira Interior\EI\Mestrado\1 ano\2 semestre\IC\Projeto\LFD-A-Light-and-Fast-Detector-master\WIDERFACE_train\lfd\data_pipeline\dataset\utils\turbojpeg.py", line 153, in init self.find_turbojpeg() if lib_path is None else lib_path) File "C:\Users\anton\AppData\Local\Programs\Python\Python37\lib\ctypes__init__.py", line 442, in LoadLibrary return self._dlltype(name) File "C:\Users\anton\AppData\Local\Programs\Python\Python37\lib\ctypes__init.py", line 364, in init__ self._handle = _dlopen(self._name, mode) OSError: [WinError 193] %1 is not a valid Win32 application

I did build it using Visual Studio 16, but it isn't working.

Thanks in advance.

on-your-way commented 3 years ago

@antoniojmabreu I have encountered many errors on Windows just like you, so I turn to Linux, and then everything works well.

antoniojmabreu commented 3 years ago

Thank you!

I will switch to Linux then.

gkrisp98 commented 1 year ago

I believe this drop in accuracy is normal