Android(Termux)部署 NCNN + YOLOv8 完整教程

Android(Termux)部署 NCNN + YOLOv8 完整教程

目标:

  • Android 手机
  • 手机安装Termux 环境
  • 编译 NCNN
  • 下载 YOLOv8 NCNN 模型
  • 本地图片目标检测
  • 输出识别结果图片

最终效果:

bash 复制代码
./yolov8 ~/images/bus.jpg

输出:

bash 复制代码
5 = 0.87811 at ...
0 = 0.86568 at ...
0 = 0.85022 at ...

并生成:

bash 复制代码
image.png

一、安装并更新 Termux 环境

先准备一个不用的安卓手机,比如作者用的是2019年的vivo手机,参考《 手机安装Termux 环境》教程安卓Termux。

更新软件包:

bash 复制代码
pkg update -y
pkg upgrade -y

安装基础依赖:

bash 复制代码
pkg install -y \
python \
git \
wget \
curl \
clang \
cmake \
make \
ffmpeg \
tur-repo

检查 Python:

bash 复制代码
python --version

输出类似:

Python 3.12.x


二、开启手机存储权限

执行:

bash 复制代码
termux-setup-storage

手机会弹出:

text 复制代码
允许 Termux 访问文件

点击:

text 复制代码
允许

检查是否成功:

bash 复制代码
ls ~/storage

正常会出现:

downloads

dcim

shared

movies

pictures


三、创建工作目录

进入共享目录:

bash 复制代码
cd ~/storage/shared

创建目录:

bash 复制代码
mkdir -p AI/models
mkdir -p AI/images
mkdir -p AI/output

进入:

bash 复制代码
cd AI

目录结构:

text 复制代码
AI
├── models
├── images
└── output

四、安装 Python 基础依赖

安装常用库:

bash 复制代码
pkg install -y \
python-numpy \
python-pillow

验证:

进入 Python:

bash 复制代码
python

输入:

python 复制代码
import numpy
from PIL import Image

print("OK")

输出:

OK

退出:

python 复制代码
exit()

说明:

本教程使用 NCNN 的 C++ 示例程序:

  • 不需要 OpenCV
  • 不需要 onnxruntime
  • 不需要 PyTorch

五、下载 NCNN

进入工作目录:

bash 复制代码
cd ~/storage/shared/AI

下载源码:

bash 复制代码
git clone --depth=1 https://github.com/Tencent/ncnn.git

进入目录:

bash 复制代码
cd ncnn

创建编译目录:

bash 复制代码
mkdir build
cd build

六、编译 NCNN

执行:

bash 复制代码
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DNCNN_BUILD_TOOLS=ON \
-DNCNN_BUILD_EXAMPLES=ON \
-DNCNN_SIMPLEOCV=ON \
-DNCNN_VULKAN=OFF

编译:

bash 复制代码
make -j4

如果只编译 YOLO 示例:

bash 复制代码
make yolov8 -j4

说明:

参数解释:

参数 作用
Release 发布模式
BUILD_TOOLS 编译工具
BUILD_EXAMPLES 编译示例
SIMPLEOCV 启用简化图像处理
VULKAN=OFF 关闭 GPU(手机更稳定)

编译时间:

5~15分钟

成功后:

bash 复制代码
build/examples/yolov8

七、整理目录

移动 NCNN:

bash 复制代码
cd ~

mv ~/storage/shared/AI/ncnn ~/

进入:

bash 复制代码
cd ~/ncnn/build/examples

增加执行权限:

bash 复制代码
chmod +x yolov8

八、下载 YOLOv8 NCNN 模型

创建模型目录:

bash 复制代码
mkdir -p ~/models

cd ~/models

下载:

bash 复制代码
curl -L \
https://github.com/nihui/ncnn-assets/raw/master/models/yolov8n.ncnn.param \
-o yolov8n.ncnn.param
bash 复制代码
curl -L \
https://github.com/nihui/ncnn-assets/raw/master/models/yolov8n.ncnn.bin \
-o yolov8n.ncnn.bin

复制模型:

bash 复制代码
cp ~/models/yolov8n.ncnn.* \
~/ncnn/build/examples/

检查:

bash 复制代码
ls

应看到:

bash 复制代码
yolov8n.ncnn.param
yolov8n.ncnn.bin

九、下载测试图片

创建目录:

bash 复制代码
mkdir -p ~/images

进入:

bash 复制代码
cd ~/images

下载:

bash 复制代码
wget \
https://github.com/ultralytics/assets/releases/download/v0.0.0/bus.jpg

检查:

bash 复制代码
ls

输出:

bash 复制代码
bus.jpg

十、运行 YOLOv8 检测

进入:

bash 复制代码
cd ~/ncnn/build/examples

执行:

bash 复制代码
./yolov8 ~/images/bus.jpg

输出示例:

bash 复制代码
5 = 0.87811 at 21.91 231.54 783.44 x 525.12

0 = 0.86568 at 48.45 398.48 196.56 x 504.25

0 = 0.85022 at 669.94 391.97 139.06 x ...

格式:

text 复制代码
类别ID = 置信度 at x y w h

说明:

ID 类别
0 person
2 car
5 bus
7 truck

十一、查看检测结果

当前目录会自动生成:

bash 复制代码
image.png

查看:

bash 复制代码
ls -lh image.png

复制到手机相册:

bash 复制代码
cp image.png ~/storage/shared/AI/output/

然后打开:

text 复制代码
文件管理
→ Internal Storage
→ AI
→ output

即可查看结果图。


十二、常见问题

1)提示:

bash 复制代码
Permission denied

执行:

bash 复制代码
chmod +x yolov8

2)提示:

bash 复制代码
cannot find xxx.ncnn.param

检查:

bash 复制代码
ls

确认:

bash 复制代码
yolov8n.ncnn.param
yolov8n.ncnn.bin

存在。


3)编译失败:

降低并行线程:

bash 复制代码
make -j2

甚至:

bash 复制代码
make -j1

手机内存不足容易出现此问题。


4)检测速度太慢

默认:

text 复制代码
CPU推理

可开启 Vulkan:

修改:

bash 复制代码
-DNCNN_VULKAN=ON

重新编译:

bash 复制代码
make -j4

注意:

部分手机 GPU 驱动兼容性较差。


十三、后续可扩展

可进一步增加:

  • 摄像头实时识别
  • 视频流检测
  • CCTV RTSP 接入
  • YOLO11
  • YOLO-Seg
  • YOLO-Pose
  • OCR
  • RK3588边缘部署
  • NCNN + Vulkan GPU加速
  • OpenClaw Agent 接入
  • 多路视频检测

推荐下一步:

text 复制代码
手机摄像头 → YOLO实时检测 → WebSocket → SpringBoot告警系统

架构:

text 复制代码
Camera
   ↓
YOLO(NCNN)
   ↓
事件JSON
   ↓
WebSocket/MQTT
   ↓
SpringBoot
   ↓
告警中心

适合后续做边缘 AI 实战。

相关推荐
YOLO数据集集合1 天前
Deepseek融合yolo的行人车辆多目标检测系统 |行人检测 车辆检测 多目标检测 YOLO DeepSeek9165期
人工智能·yolo·目标检测·计算机视觉·车辆检测·行人检测
YOLO数据集集合1 天前
YOLO 目标检测模型与 DeepSeek/Qwen 大语言模型融合的跌倒检测系统 | 跌倒检测 YOLO DeepSeek Qwen 行为识别 目标检测
yolo·目标检测·语言模型
YOLO数据集集合1 天前
道路与桥梁灾后损伤检测数据集 | 道路损伤 桥梁损坏 灾后评估 无人机巡检 目标检测 YOLO格式 深度学习数据集 计算机视觉10551期
yolo·目标检测·计算机视觉·无人机·桥梁损害·灾后评估
答案是你2 天前
YOLOE 开放词汇检测 + ONNX / TensorRT 推理,开源了!
python·深度学习·yolo·目标检测·计算机视觉·视觉检测
Tingmanyi2 天前
YOLOv13改进策略【卷积层篇】| RFAConv 感受野注意力卷积,每个位置都值得被单独加权
深度学习·算法·yolo·目标检测·计算机视觉
AOI小白新手上路3 天前
AOI 缺陷检测复现实操指南:Anomalib + MVTec AD(glass)与 YOLOv8 + NEU-DET 两条路线
人工智能·深度学习·yolo
YOLO数据集集合3 天前
江西九江地区洪涝无人机高分辨率影像数据集 | 洪涝监测 语义分割 无人机遥感 淹没识别 灾害评估9157期
人工智能·yolo·目标检测·无人机·洪涝·洪水灾害
听风吹等浪起3 天前
第22章:YOLOv5船舶目标检测+注意力模块改进对比,卫星遥感船舶识别实战
人工智能·yolo·目标检测
hhzz4 天前
【YOLO 入门到精通 04】理解任务与模型家族:7 大 CV 任务与 YOLO26 选型指南
人工智能·python·深度学习·yolo·计算机视觉
YOLO数据集集合4 天前
无人机视角工程机械目标检测数据集 | 工程机械检测 无人机航拍 智慧工地9152期
人工智能·yolo·目标检测·计算机视觉·语言模型·无人机·工程车