duan8/dbnet
PeterH0323 12f7c1b8b1
Improve DBNet README.md (#467)
* Fix: syntax error in common.hpp , cuda & tensorrt not included in CMakeLists.txt

* Fix: layer warining while building in common.hpp and denet.cpp

* Fix: NOT droping mini boxes and low score boxes.

* Fix: The prediction boxes are NOT expanded by the specified proportion, which will lead to serious errors

* Improve DBNet README

* Improve DBNet README

* Improve DBNet README
2021-04-08 10:52:33 +08:00
..
clipper Optimize dbnet (#464) 2021-04-07 17:54:27 +08:00
CMakeLists.txt Optimize dbnet (#464) 2021-04-07 17:54:27 +08:00
common.hpp Optimize dbnet (#464) 2021-04-07 17:54:27 +08:00
dbnet.cpp Optimize dbnet (#464) 2021-04-07 17:54:27 +08:00
logging.h update readme 2020-11-06 22:54:15 +08:00
README.md Improve DBNet README.md (#467) 2021-04-08 10:52:33 +08:00
utils.h update readme 2020-11-06 22:54:15 +08:00

DBNet

The Pytorch implementation is DBNet.

How to Run

    1. generate .wts

    Download code and model from DBNet and config your environments.

    Go to filetools/predict.py, set --save_wts as True, then run, the DBNet.wts will be generated.

    Onnx can also be exported, just need to set --onnx as True.

    1. cmake and make
    mkdir build
    cd build
    cmake ..
    make
    cp /your_wts_path/DBNet.wts .
    sudo ./dbnet -s             // serialize model to plan file i.e. 'DBNet.engine'
    sudo ./dbnet -d  ./test_imgs // deserialize plan file and run inference, all images in test_imgs folder will be processed.
    

For windows

https://github.com/BaofengZan/DBNet-TensorRT

Todo

  • 1. In common.hpp, the following two functions can be merged.

    ILayer* convBnLeaky(INetworkDefinition *network, std::map<std::string, Weights>& weightMap, ITensor& input, int outch, int ksize, int s, int g, std::string lname, bool bias = true) 
    
    ILayer* convBnLeaky2(INetworkDefinition *network, std::map<std::string, Weights>& weightMap, ITensor& input, int outch, int ksize, int s, int g, std::string lname, bool bias = true)
    
  • 2. The postprocess method here should be optimized, which is a little different from pytorch side.

  • 3. The input image here is resized to 640 x 640 directly, while the pytorch side is using letterbox method.