介绍:
- NCNN:ncnn 是一个为手机端极致优化的高性能神经网络前向计算框架。 ncnn 从设计之初深刻考虑手机端的部署和使用。 无第三方依赖,跨平台,手机端 cpu 的速度快于目前所有已知的开源框架。 基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行, 开发出人工智能 APP,将 AI 带到你的指尖。 ncnn 目前已在腾讯多款应用中使用,如:QQ,Qzone,微信,天天 P 图等。
- Nanodet:NanoDet 是一种 FCOS 风格的单级无锚目标检测模型,它使用广义焦点损失作为分类和回归损失。
搭建NCNN框架:
- 所需要的依赖项包括:git/g++ cmake/protocol buffer (protobuf) headers files and protobuf compiler/vulkan header files and loader library/glslang/opengcv(可选)
- 命令:
sudo apt install build-essential git cmake libprotobuf-dev protobuf-compiler libvulkan-dev vulkan-utils libopencv-dev
要使用 Vulkan 后端,请安装 Vulkan 头文件、vulkan 驱动程序加载程序、GLSL 到 SPIR-V 编译器和 vulkaninfo 工具。最好来自您的分发存储库。或者从 LunarXchange 下载并安装完整的 Vulkan SDK(大小约为 200MB;它包含所有头文件、文档和预构建的加载程序,以及一些额外的工具和所有内容的源代码)
命令:
wget https://sdk.lunarg.com/sdk/download/1.2.189.0/linux/vulkansdk-linux-x86_64-1.2.189.0.tar.gz?Human=true -O vulkansdk-linux-x86_64-1.2.189.0.tar.gz tar -xf vulkansdk-linux-x86_64-1.2.189.0.tar.gz export VULKAN_SDK=$(pwd)/1.2.189.0/x86_64
下载源码:git clone https://github.com/Tencent/ncnn
安装:
cd ncnn
mkdir build
cd build
cmake ..
make –j12
make install
使用NCNN运行nanodet
- 拉取nanodet源文件:
git clone https://github.com/RangiLyu/nanodet.git
- 添加环境变量:
export ncnn_DIR=YOUR_NCNN_PATH/build/install/lib/cmake/ncnn
- 下载NaniDet ncnn模型:https://drive.google.com/file/d/1cuVBJiFKwyq1-l3AwHoP2boTesUQP-6K/view?usp=sharing
- 将下载的文件解压缩,重命名为:nanodet.param和nanodet.bin并复制到demo_ncnn/build目录下,编译:
cmake .. make
测试:
-
./nanodet_demo 1 ./1.jpg
效果:
-