闲来无事写的一个简单的安卓项目,将YOLOPv2和YOLOv8的模型用NCNN运行,用YOLOv8的目标检测替换了YOLOPv2中的目标检测部分,并写成了c++的多线程保证实时性(所以就不计算帧率了,没意义),骁龙8+手机模型计算耗时和效果图如下(来自手机录屏):
添加了几个可选功能: 1、可选择的三个任务的计算与绘制:目标检测、车道线识别、可行驶区域识别
2、一个Zoom放大工具条(由于手机摄像头广角太大,用初始画面实际上体现不出来实际距离,所以写的一个简单的放大图像功能,当然这也是为后续功能铺路)
3、CPU和GPU切换(建议首次运行后马上点开GPU,保证性能)
项目工程里面给了安卓实现
- 速度还行,但是不太稳定,测试工具为骁龙8+芯片的手机,yolopv2耗时在50-70ms左右、yolov8n的耗时在20-50不等,做过测试,发热不明显,耗电一般,后面考虑加上bytetrack(有空直接做个辅助驾驶软件吧)
- 安卓工程并没有做尺寸调整,固定yolopv2的输入为320,而yolov8为640
我也导出了APP,给大家下载玩玩: (建议首次运行后马上点开GPU,保证性能) 链接: https://pan.baidu.com/s/1R6TnjWUQuDW3sgJyeBZRjQ?pwd=ykfu 提取码: ykfu
https://github.com/FeiGeChuanShu/YOLOPv2-ncnn
https://github.com/FeiGeChuanShu/ncnn-android-yolov8