ultralytics / yolov5

YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
https://docs.ultralytics.com
GNU Affero General Public License v3.0
50.74k stars 16.34k forks source link

could you update the good way of D2Dnet in yolo? #1014

Closed sankexin closed 4 years ago

sankexin commented 4 years ago

❔Question

could update the good way of D2Dnet in yolo?

Additional context

D2Det: https://github.com/JialeCao001/D2Det 2 1

github-actions[bot] commented 4 years ago

Hello @sankexin, thank you for your interest in our work! Please visit our Custom Training Tutorial to get started, and see our Jupyter Notebook Open In Colab, Docker Image, and Google Cloud Quickstart Guide for example environments.

If this is a bug report, please provide screenshots and minimum viable code to reproduce your issue, otherwise we can not help you.

If this is a custom model or data training question, please note Ultralytics does not provide free personal support. As a leader in vision ML and AI, we do offer professional consulting, from simple expert advice up to delivery of fully customized, end-to-end production solutions for our clients, such as:

For more information please visit https://www.ultralytics.com.

sankexin commented 4 years ago

Hello @sankexin, thank you for your interest in our work! Please visit our Custom Training Tutorial to get started, and see our Jupyter Notebook Open In Colab, Docker Image, and Google Cloud Quickstart Guide for example environments.

If this is a bug report, please provide screenshots and minimum viable code to reproduce your issue, otherwise we can not help you.

If this is a custom model or data training question, please note Ultralytics does not provide free personal support. As a leader in vision ML and AI, we do offer professional consulting, from simple expert advice up to delivery of fully customized, end-to-end production solutions for our clients, such as:

  • Cloud-based AI systems operating on hundreds of HD video streams in realtime.
  • Edge AI integrated into custom iOS and Android apps for realtime 30 FPS video inference.
  • Custom data training, hyperparameter evolution, and model exportation to any destination.

For more information please visit https://www.ultralytics.com.

yolov5 is as good as yolov4, maybe this way will make it much more better than yolov4, so I wish it is a good idea.

glenn-jocher commented 4 years ago

@sankexin I briefly reviewed the repo. It seems D2D is a two-stage method, which is naturally not aligned with the single-stage detection premise behind all versions of YOLO. Are there specific parts of the D2D implementation that you think might be adoptable here?

sankexin commented 4 years ago

@sankexin I briefly reviewed the repo. It seems D2D is a two-stage method, which is naturally not aligned with the single-stage detection premise behind all versions of YOLO. Are there specific parts of the D2D implementation that you think might be adoptable here?

No need to consider the tools of the first stage. Yolo can take advantage of the tools of the second stage of this paper after RPN,such as, box location for increasing AP 、binary overlap prediction for Reducing background false positives 、adaptive weighting to obtain discriminative features for Reducing false positives of the other class.

glenn-jocher commented 4 years ago

@sankexin ah I see. Yes, definitely selecting the best elements from various sources for integration is a good recipe for success. I don't have much free time to investigate these myself, but if find any positive results in your own research please let us know.

Reducing FPs is useful for real life scenarios, though this will often also result in mAP reductions on validations sets. We have an option in NMS that requires detection redundancy to reduce FPs, though this requires computation of IoUs outside of the pytorch NMS function, slowing NMS. https://github.com/ultralytics/yolov5/blob/7220cee1d1dc1f14003dbf8d633bbb76c547000c/utils/general.py#L660-L661

sankexin commented 4 years ago

@sankexin ah I see. Yes, definitely selecting the best elements from various sources for integration is a good recipe for success. I don't have much free time to investigate these myself, but if find any positive results in your own research please let us know.

Reducing FPs is useful for real life scenarios, though this will often also result in mAP reductions on validations sets. We have an option in NMS that requires detection redundancy to reduce FPs, though this requires computation of IoUs outside of the pytorch NMS function, slowing NMS. https://github.com/ultralytics/yolov5/blob/7220cee1d1dc1f14003dbf8d633bbb76c547000c/utils/general.py#L660-L661

Thanks for your reply. I'll try your method. I have tried NMS、 focalloss、GHM and aploss on Yolov3 before, but the effect of reducing FPs is very little. The method of this paper has given me new hope, but there are some code that I con't realize at the moment.

github-actions[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

wzj5133329 commented 3 years ago

@sankexin hi, have you used d2det on Yolo? especially dense local regression...