
这一期的文章干货满满来自博主本人的真实经历和经验肯定是看着无聊但是也希望对大家有所帮助又是新的一学期快毕业的大学生们已经开始困惑两件事毕设和工作。在这里我将提供一下我个人使用树莓派4B制作毕业设计的思路希望对大家有所帮助。1、选题博主本人是物联网工程专业所使用的架构为感知层——网络层——应用层。大家看着感觉很高大上其实用通俗易懂的解释就是硬件部署获取数据环境数据采集等——算法部署数据处理、分析等——制作软件上云等。大家不用把毕设想的很难一步一步分析着来很简单很轻松一个星期就能做出来。相对于选题对于本科的毕业设计而言我们只要复刻一个已经现有的设计就好并且要注意两点1、贴合实际不要假大空大棚小麦就是一个活生生的例子2、贴合应用场景不要随意创作在教室里检测动物活动这种是肯定不行的。大家还是要根据老师给出的几个题目做好调研和数据查询一定要贴合实际不要假大空。2、硬件选型系统选择相对于我们做毕业设计而言无外乎就是用树莓派4B连接硬件采集数据在电脑上展示出来软件或者WEB页面软件和WEB页面里面有我们所采集的数据就好有能力的小伙伴可以考虑使用SQL对我们所采集到的数据进行实时保存可以用来后期分析。2.1 硬件选型我们使用的是树莓派这个刚需相对于树莓派我个人推荐使用4B以上的型号这样有助于我们下一步部署系统这关系到系统部署完成后我们是否感觉卡顿等情况。因为树莓派是可以在本机上部署算法的它的芯片可以进行数据处理我们不需要专门去买一个外接设备专门去部署算法但是树莓派的算力毕竟一般不能使用CPU来进行加速训练我们可以在本机上训练完成后将ONNX文件传输到树莓上进行使用这样也就节省了我们的训练时间。我将会在算法部署环节专门介绍。如果在做毕业设计是需要实时检测那使用树莓派还有一个好处我们可以架设摄像头个人还是推荐使用USB摄像头。相比约CSI摄像头USB摄像头有着伸缩数据线并且分辨率更高。再就是传感器选型我用使用的传感器起码要用到3个最多5个这样方便我们后期编撰论文增加论文篇幅。我们可以根据传感器的型号、性能、使用条件、价格等方面考虑。其次我们使用的排线和面包板我个人不推荐使用。第一对于我们毕业生而言这显得不够专业第二看着乱并且扩展过少我们确实可以使用杜邦线扩接这样会让我们使用的杜邦线数量增加并且看着很乱很杂。我个人是用了一个扩展板直接接在树莓派的40P接口上使用母母类的杜邦线连接传感器很方便也很简洁。2.2 系统选择我们购买的树莓派自带的镜像大多为2021年版本的并且是32位系统。我个人推荐大家可以更换烧录的系统镜像换成最新的64位系统镜像这里有两个原因1、相比于32位系统64位系统的各种Python库更齐全更新而32位系统的Python库有部分已停止更新我们使用的时候会很难受我们本来就是学习新知识的不是来走老路的及时更新语言用法对我们后期也是有帮助的。2、64位系统能将我们树莓派的算力更大的释放出来这样能让我们在进行数据分析和图像识别时可以有着更好的反馈。在部署的时候需要注意几个问题1、我们使用的镜像直接在树莓派的官网上找就行一定要选择64位的系统镜像烧录工具直接用树莓派官方烧录工具因为要配置WIFI热点热点名字用纯英文字少点这样方便树莓派WIFI模块读取和连接。2、我们使用最新版本的树莓派64位镜像我们使用的putty也一定要更新到最新版本要不然是连接不上树莓派的。连接步骤和我们平常是一样的无需更改操作。官网链接PuTTY landing page3、在打开putty后最新版的镜像系统没有打开摄像头的选项那是因为最新版的系统是默认打开摄像头端口的我们无需操作。4、在系统设置完成后系统是全英文的我们需要更改语言和文字类型并且下载输入法方便我们后续的操作。可以借鉴B站上的博主rcdrone5、在新系统我们要下载资源库时我们不能直接下载因为这是新系统设置的问题也是变相的对系统的一种保护我们需要创建虚拟环境来下载库这样不仅不改变系统本来的设置还能创建多个环境供我们使用我们也方便切换。可以借鉴B站上的博主rcdrone由此操作是用来部署算法的大家可以了解一下以上仅是我个人部署的时候发现的问题和注意事项要是大家还有什么问题可以留言再评论区我会看到后会及时回复。3 算法设计软件设计相比于硬件设计我们需要识别和展示也是或不可少的算法训练后我们可以得出属于自己的模型用摄像头进行识别最后通过我们制作的APP或者WEB网页将我们采集到的数据和想要的结果展示出来就行。3.1 算法设计对于算法而言我研究的不深我使用的是YOLO v5算法算法易部署并且完全符合和实用部署方式和方法可以参考一个博主YOLOV5的训练与部署_yolov5部署-CSDN博客文章浏览阅读3.6k次点赞28次收藏71次。本文简述使用自己电脑本地训练YOLOV5模型并部署在树莓派上。_yolov5部署https://blog.csdn.net/2403_87255456/article/details/145601428?ops_request_miscrequest_idbiz_id102utm_term%E5%9C%A8%E6%A0%91%E8%8E%93%E6%B4%BE%E4%B8%8A%E9%83%A8%E7%BD%B2%E5%AE%8Cyolov5%E7%AE%97%E6%B3%95%E5%90%8E%EF%BC%8C%E6%80%8E%E4%B9%88%E8%AE%AD%E7%BB%83%E6%A8%A1%E5%9E%8Butm_mediumdistribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-145601428.142^v102^pc_search_result_base4spm1018.2226.3001.4187这位博主部署的是GPU版本部署的时候我们要一步一步部署要是CUDA没有配置好我们训练的时候是用不到GPU的。单纯的使用CPU去训练模型我设置的是100轮训练很慢一天都训练不出来当使用GPU训练三个小时训练完成。因为博主本人的笔记本电脑是游戏本是有4060独显的大家在训练的时候一定要了解清楚自己的电脑是游戏本还是轻薄本然后再进行部署。在这里我说一下我自己在部署算法和使用算法时遇到的问题一定要注意第4点1、在树莓派上我们是可以部署算法的但是部署完成后还是要进行训练训练速度比用电脑CPU训练还慢个人建议还是将算法部署在电脑本机上并且构建虚拟环境这样可以保证自己电脑本环境不被破坏也有助于我们继续训练别的模型。要是想将YOLO v5算法部署在树莓派上我们可以参考博主5分钟极速YOLOv5部署Windows Linux 树莓派-CSDN博客文章浏览阅读2.6k次点赞36次收藏50次。5分钟极速部署YOLOv5让你早点休息_yolov5部署https://blog.csdn.net/m0_62095187/article/details/140497462?spm1001.2014.3001.55062、在跟着博主部署时查看好自己的python版本和电脑适配的CUDA版本号适配的版本事半功倍。3、如果要部署YOLO v8算法的朋友可以参照B站博主rcdrone4、在训练完成后我们将ONNX文件传入树莓派运行时大多数人估计是没有检测框的这一点在那个教学博主的评论区可以看到我自己也遇到了这种情况博主说是YOLO v5 7.0的export.pt文件有时候会这样可以更换较低的版本进行onnx转化我将YOLO v5所有版本进行尝试和部署其余的版本性能过低完全不适配并且这个问题没有解决我个人用AI将代码修复后检测框就出来了。这个问题应该是YOLO官方给出的代码有所冲突这些我们不用深究。因为我也没有搞懂这个检测框是在export.pt文件里训练后生成在ONNX文件里的还是在后续的run_YOLOV5.py里编辑的我是将产品设计好后发现没有检测框换了算法也没用直接用的TRAE这个编程软件它里面是有人工智能的而且还可以边AI边编译很方便官网TRAE - The Real AI Engineer TraeCode - 你的 AI 开发工程师5、在编程的过程中要是有一次成功了一定要将这个代码保存好专门做个备份要是以后升级迭代后出现了问题我们还可以用最初始的版本做个保险手段。3.2 软件设计相对于软件设计这个并不是我的强项我的没有做成一个软件是在终端输入指令直接生成页面用于显示我的数据信息。最后在树莓派上打开一个端口可用于外部网络接入生成了一个WEB页面用于展示我的数据和识别图像等信息。以上是我做毕业设计时使用树莓派部署算法发现的问题也希望对大家有所帮助。有什么要问的都可以打在评论区我会持续的更新我所掌握的知识。