Megvii-BaseDetection / cvpods

All-in-one Toolbox for Computer Vision Research.
https://cvpods.readthedocs.io
Apache License 2.0
645 stars 80 forks source link

What is difference between cvpods and detectron2? #37

Closed DuinoDu closed 3 years ago

DuinoDu commented 3 years ago

rt

poodarchu commented 3 years ago

Thanks for your attention. cvpods aims at efficient experiment management and diverse task support to facilitate researchers. It reuses many efficient build blocks and design choices, e.g. networks, layers, trainers, of detectron2. But cvpods is also very different from detectron2 in the following aspects:

  1. cvpods features our unique philosophy of experiment management. We design a novel configuration system that is clean, elegant, and flexible.
  2. cvpods supports many tasks than detectron2, as well as any other popular vision codebases, e.g., detection, segmentation, key-points, classification, self-supervised learning, 3d classification/segmentation/detection, etc. It enables researchers to switch tasks smoothly, saving a lot of effort on getting familiar with a new codebase.
  3. cvpods is faster than detectron2. We found that when we need to support new datasets or add other custom features, it is limited by some of its APIs, which makes it very inconvenient to add. Thus we do not use d2's data loading module and use our own version, which is faster and cleaner.
  4. cvpods has many useful features that facilitates researchers' daily work, e.g., automatic evaluation benchmark writers.

In a nutshell, as for now, cvpods not only supports all datasets/models of detectron2, but reimplements up to 50+ popular methods in the community. It runs faster, supports more tasks, and users can implement their requirements very easily. Last but not the least, cvpods has its unique philosophy of experiments management.

DuinoDu commented 3 years ago

Thanks for your reply!