Skip to content

Deep learning-based mobile model deployment(Object Tracking). Lightweight Object Tracking, NCNN,

License

Notifications You must be signed in to change notification settings

Sanshi6/NanoTrack

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NanoTrack

network

  • NanoTrack is a lightweight and high speed tracking network which mainly referring to SiamBAN and LightTrack. It is suitable for deployment on embedded or mobile devices. In fact, it can run at >120FPS on Apple M1 CPU. macs

  • Experiments show that NanoTrack algorithm has good performance on tracking datasets.

    Trackers Backbone ModeSize VOT2018 EAO VOT2019 EAO GOT-10k-Val AO GOT-10k-Val SR DTB70 Success DTB70 Precision
    NanoTrack MobileNetV3 2.2MB 0.311 0.247 0.604 0.724 0.532 0.727
    CVPR2021 LightTrack MobileNetV3 7.7MB 0.418 0.328 0.75 0.877 0.591 0.766
    WACV2022 SiamTPN ShuffleNetV2 62.2MB 0.191 0.209 0.728 0.865 0.572 0.728
    ICRA2021 SiamAPN AlexNet 118.7MB 0.248 0.235 0.622 0.708 0.585 0.786
    IROS2021 SiamAPN++ AlexNet 187MB 0.268 0.234 0.635 0.73 0.594 0.791
  • We provide Android demo and MacOS demo based on ncnn inference framework.

  • We also provide PyTorch code. It is friendly for training with much lower GPU memory cost than other models. NanoTrack only uses GOT-10k dataset to train, which only takes two hours on GPU3090.

Mac

PC demo

    1. Modify your own CMakeList.txt
    1. Build (Apple M1 CPU)
    $ sh make_macos_arm64.sh 
    

Android

Android demo

    1. Modify your own CMakeList.txt
    1. Download(password: 6cdd) OpenCV and NCNN libraries for Android

Reference

https://github.com/Tencent/ncnn

https://github.com/Z-Xiong/LightTrack-ncnn

https://github.com/FeiGeChuanShu/ncnn_Android_LightTrack

About

Deep learning-based mobile model deployment(Object Tracking). Lightweight Object Tracking, NCNN,

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 85.9%
  • C 9.8%
  • Java 3.5%
  • Other 0.8%