open-mmlab / mmdetection

OpenMMLab Detection Toolbox and Benchmark
https://mmdetection.readthedocs.io
Apache License 2.0
29.53k stars 9.46k forks source link

[YOLOv4] Discussion #3419

Closed ElectronicElephant closed 3 years ago

ElectronicElephant commented 4 years ago

Hi @hellock and @xvjiarui ,

As the YOLOv3 implementation is going to an end (finally 😄), @WenqiangX and I are planning to work on YOLOv4.

However, compared with YOLOv3, YOLOv4 is notorious for its bags of tricks, many of which are not implemented in mm-detection yet. So, we open this issue in the hope of discussing some implementation details with mm-lab.

First, let us summarize the tricks used in YOLOv4.

Already in mmdetection

  1. CIoU-Loss https://github.com/open-mmlab/mmdetection/pull/3151

  2. Label Smoothing Included in YOLOv3

  3. CosineAnnealingScheduler https://github.com/open-mmlab/mmdetection/issues/3227

  4. Random training shapes Included in Dataloader

Waiting for merge

  1. Mosaic Data Aug https://github.com/open-mmlab/mmdetection/pull/3389 Note that augmentation for mask and segmentation and blur augmentation are not implemented.

  2. Efficient-Det YOLOv4 may rely on the neck of EfficientDet.

Not implemented yet

Our concern

  1. Dependency.

If there is an ETA of EfficientDet and https://github.com/open-mmlab/mmdetection/pull/3389 ?

  1. C++ or PyTorch for some tricks, including DIoU-NMS.

Should it be adopted in C++ code in mmcv, or we can use PyTorch code instead (which might be slower)?

  1. Customized activation functions.

If we stick to use ConvModule of mmcv, how to use Mish-activation in an elegant manner?


Since the implementation of YOLOv4 is still at an early stage, the concern might grow, and we are glad to hear the voice from mm-lab. Cheers.

hellock commented 4 years ago
hiyyg commented 4 years ago

Hi @ElectronicElephant, I am also interested in having yolov4 in mmdetection. How is it going now?

WenqiangX commented 4 years ago

Hi @hiyyg we will pull a request soon (maybe at the end of Sep.), most of the functionality has been implemented.

GreenTeaHua commented 4 years ago

great, mark.

WenqiangX commented 3 years ago

Due to the computational resources limitation, we are not going to PR the YOLOv4 as planned. But we notice that an official implemention is merged in https://github.com/open-mmlab/mmdetection/pull/3824. @GreenTeaHua