无题
封面封二声明摘要关键词目录正文1 绪论1.1 课题研究背景及意义1.2 国内外研究现状1.3 本文主要研究内容及组织架构2 相关理论知识2.1 深度学习基础2.2 基于深度学习的目标检测算法介绍2.2.1 两阶段目标检测算法2.2.2 单阶段目标检测算法2.3 YOLOv82.3.1 YOLOv8概述2.3.2 YOLOv8网络结构介绍2.3.2.1 C2f模块2.3.2.2 Neck结构2.3.3.3 Head结构2.4 本章小结3 数据集构建与预处理3.1 数据来源3.2 数据处理3.3 数据增强3.3.1 几何变换3.3.2 添加噪声3.4 本章小结4 实验结果分析4.1 实验环境4.2目标检测算法评价指标4.3 训练结果与分析4.3.1 混淆矩阵5 模型部署与系统实现5.1 深度学习模型部署知识5.1.1 深度学习推理框架5.1.2 ONNX深度学习模型交换格式5.1.3 NCNN框架介绍5.2 模型格式转换5.3 开发环境5.46 总结与展望[21] Niepceron B, Grassia F, Moh A N S. Brain tumor detection using ...
将yolov8部署到安卓——开发
将yolov8部署到安卓——开发QT安卓环境搭建基本流程起初打算选择5.14版本的QT进行开发,但是实际安装后发现问题多多,主要是安卓的SDK和NDK环境难搞,因为谷歌似乎不再提供单独的SDK供开发者下载,而是集成到了Android Studio中。索性就选择QT6(6.5.3)好了,关于QT安装的教程,网上到处都是,这里就不赘述了(主要是记不清了,而且懒…),记得安装时选择套件时要勾选上安卓。这里重点讲一下,安装好QT后,配置安卓的环境。这里建议先连接上手机(如果打算用虚拟环境而不是真机调试,那就当我没说),本人设备参数如下:
打开QT后先进入到左上角的“工具”,
选择外部->配置
进入设备->Android,先配置JDK,这个还算容易,网上也很多,注意版本就行,这里就不说了。然后找一个空文件夹,作为Android SDK的路径,选择设置SDK,然后根据提示一路选择,NDK和下面的OpenSSL设置也就设置好了(比起QT5真是方便了太多),记得点应用和确定。
然后再重启一下QT Creator,记得确保手机是连上的。接着创建一个项目
在构建套件里应该是有安卓的选项 ...
将yolov8部署到安卓——测试
将yolov8部署到安卓——测试更换OpenCV版本需要在VS2019中测试ncnn推理yolo的效果,虽然在上一篇博客中我们安装OpenCV-Mobile,但是由于OpenCV-Mobile阉割了一些功能,所以为了方便测试,我们还是先换回Window的OpenCV,好在配置起来也不算麻烦,我下载的是4.8.0版本。下载后解压,配置环境变量,再在VS2019中类似上一篇博客配置即可,因为时间间隔有些久,具体步骤我记不太清楚了,所以这一部分还请参考其他博客
opencv modules included
module
comment
opencv_core
Mat, matrix operations, etc
opencv_imgproc
resize, cvtColor, warpAffine, etc
opencv_highgui
imread, imwrite
opencv_features2d
keypoint feature and matcher, etc (not included in opencv 2.x package)
opencv_ph ...
将yolov8部署到安卓——安装
将yolov8部署到安卓——安装 上一篇文章我们介绍了模型部署部署的概念,接下来我们尝试安装ncnn并且让它跑起来。由于我们目前只是安装看看效果,所以我们选择编译安装Window的版本,等到开发时再编译Android版本,至于为什么需要编译,下面是GPT给出的回答:
NCNN的源代码需要编译,主要是因为它是一个跨平台的C++框架,而编译是将源代码转换为可执行代码或库文件的过程。下面是几个原因:
平台适配:NCNN需要在不同的操作系统和硬件平台上运行,例如Android、iOS、Windows、Linux等。编译过程中,编译器会根据目标平台的不同进行适配和优化,以确保NCNN能够在目标平台上正确地运行。
代码优化:编译过程中,编译器会对源代码进行优化,以提高程序的性能和效率。优化后的代码通常比未优化的代码更快、更稳定。
依赖解析:NCNN可能依赖于其他库或工具,例如OpenMP、Eigen等。编译过程中,编译器会解析这些依赖关系,并确保所有必要的依赖项都被正确地链接和包含在最终的二进制文件中。
生成可执行文件或库文件:编译过程将源代码转换为可执行文件或库文件,这样用户就可以直接使用 ...
将yolov8部署到安卓——前言
将yolov8部署到安卓——前言 笔者之前接触到的各种深度学习网络(其实好像只有yolo)都是一整个python的项目文件。而怎么把yolo之类的算法部署到各种平台上一无所知。首先,不管是yolo还是其他深度学习算法,它们首先是算法,而不是python文件,也就是说他们本质上是一种神经网络,是一种输入一个东西(视频或者图片或者文本),然后用输入的数据进行一系列的运算,最后得到一组输出的数字的东西。至于其他像是检测框还有前端页面都是建立在这个网络的基础之上的。而我们所要做的就是用各种编程语言,把这些数学运算过程表示出来,所以理论上任何的编程语言都可以实现神经网络,而深度学习框架就是用各种语言实现的,能够更好的辅助完成这些计算的东西,类似一个个小型的计算器。而Python非常擅长实现这些运算,所以现在的深度学习框架大多与Python相关。
如上所述,神经网络就是执行一系列特殊运算的东西,而神经网络的各个层结构则是为了方便描述而人为定义出来的,所以只要我们能够用数据把神经网络的结构和参数给记录下来,那么我们就拥有了一个神经网络,只需要用这些数据就可以构建出神经网络了。但是我们所熟知的各 ...
yolov8环境配置
YoloV8环境配置Conda新建环境并且安装Ultralytic包Ultralytics把yolov8打包成了一个环境(里面包含了pytorch) 可以直接通过pip安装
这里插一嘴pip和conda的关系 pip是python官方提供的包下载器 conda是环境管理工具 如果你创建了python的conda环境 会自带pip下载器 所以比起直接在系统里调用pip安装ultralytics包到一些奇奇怪怪的地方 还是新建一个conda环境更方便
1conda create -n [环境的名字] python=3.10
用Python调用Yolo既然Yolov8已经打包好 那使用python调用也就调用别的包区别不大 直接新建一个Python项目
用python脚本调用吧
12345678910111213141516171819202122232425262728293031323334353637import cv2from ultralytics import YOLOfrom cv2 import getTickCount, getTickFrequency# 加载 YO ...
Git的使用
Git的使用先在Github上创建一个新仓库
在本地仓库克隆下来
创建完项目后再push