/awesome-ncnn

😎 A Collection of Awesome NCNN-based Projects

Awesome-NCNN

Awesome

ncnn is a high-performance neural network inference framework optimized for the mobile platform. This repo lists some awesome ncnn-based projects. Welcome Star & Fork & Pull Requests!

ncnn 是一个为手机端极致优化的高性能神经网络前向计算框架。本仓库 收集了基于ncnn的很棒的项目。欢迎 Star & Fork & Pull Request 一键三连!

Contents

Application projects

Fancy Applications

  • ClothingTransfer-NCNN ClothingTransfer/Virtual-Try-On with ncnn. 基于ncnn的服装迁移/虚拟试穿

Detection

General object detection, face detection (and landmark) projects on Android platform.

Super Resolution

Video Frame Interpolation

  • flowframes Flowframes Windows GUI for video interpolation - Supports DAIN NCNN as well as RIFE Pytorch and NCNN implementations.

  • rife-ncnn-vulkan ncnn implementation of RIFE, Real-Time Intermediate Flow Estimation for Video Frame Interpolation.

  • cain-ncnn-vulkan ncnn implementation of CAIN, Channel Attention Is All You Need for Video Frame Interpolation.

  • dain-ncnn-vulkan ncnn implementation of DAIN, Depth-Aware Video Frame Interpolation.

  • rife-ncnn-vulkan-python A Python FFI of nihui/rife-ncnn-vulkan achieved with SWIG.

Pose Estimation

Segmentation

Wasm

Other

  • YOLOP-NCNN You Only Look Once for Panopitic Driving Perception, Android app by ncnn (车辆检测+路面分割+车道线分割 三合一的网络, Android Demo).

  • SID-NCNN Learning to See in the Dark running in Android by ncnn with Raw Camera (CVPR2018'Learning to See in the Dark, 暗光成像,用ncnn在安卓上进行简单的部署实现)

  • monodepth-NCNN Deploy wavelet-monodepth (CVPR 2021 Monocular depth estimation using wavelets for efficiency ) model on Android with ncnn (将wavelet-monodepth的模型搬运到NCNN上,工程里面给了安卓的工程以及以及生成好的app安装包).

  • PiDiNet-NCNN Deploy PiDINet(Pixel Difference Networks for Efficient Edge Detection) on Android with ncnn (使用NCNN在安卓上实现PiDiNet这个边缘检测网络)

  • OpenSitUp OpenSitUp是一个基于姿态估计的开源项目,基于 ncnn 搭建了一个在android手机上运行的仰卧起坐计数APP

  • SeqSeq ncnn The C++ version of SeqSeq with ncnn

  • ncnn_paddleocr convert paddleocr light model to ncnn,you can use it by ncnn.

  • ncnn-swift A project of using ncnn in Swift for modern iOS development, with image classification & object detection (yolov5) examples.

  • ncnn-picture-enhancement A simple demo to run dehaze / underwater model in Android (照片去雾和水下增强).

  • enet-as-linux 基于ncnn的android端的enet分割

  • mobile-lpr 一个面向移动端的准商业级车牌识别库

  • demo_deepsort deepsort tracking demo

  • chineseocr_lite Super lightweight OCR for Chinese characters, supporting horizontal recognition, support ncnn inference (超轻量级中文ocr,支持竖排文字识别, 支持ncnn推理)

  • ncnn-android-styletransfer ncnn style transfer android example

  • ncnn_example by MirrorYuChen A collection of ncnn examples: face/mask detection, tracking, recognition...

Tools

Model convert tools and wrapper/bindings of ncnn (模型转换工具、对ncnn封装等相关项目)

Wrappers

  • ros_ncnn ROS wrapper for NCNN neural inference framework

  • pyncnn python wrapper of ncnn with pybind11 (Note: now updated in ncnn official repo's python directory)

  • ncnn-lite NCNN lite without C++ support (Note: There is ncnn C API now)

  • NcnnDotNet ncnn .NET wrapper written in C++ and C# for Windows, MacOS and Linux

Optimization

Training

  • ncnnqat quantize aware training package for NCNN on pytorch.

Source Analysis