python基于轻量级YOLOv5的生猪检测+状态识别分析系统

news/2024/5/4 13:37:27/文章来源:https://blog.csdn.net/Together_CZ/article/details/130389193

在我之前的一篇文章中有过生猪检测盒状态识别相关的项目实践,如下:

《Python基于yolov4实现生猪检测及状态识》

感兴趣的话可以自行移步阅读,这里主要是基于同样的技术思想,将原始体积较大的yolov4模型做无缝替换,使用当下比较优秀的轻量级yolov5s模型来实现目标检测,后续基于状态识别模型实现生猪状态的识别,首先看下效果图,如下所示:

 简单看下数据集:

 YOLO格式标注文件如下所示:

 实例标注内容如下所示:

0 0.062744 0.558594 0.046387 0.16276
0 0.077637 0.701497 0.0625 0.126953
0 0.107422 0.805664 0.053711 0.087891
0 0.129883 0.798503 0.063477 0.138672
0 0.151367 0.811198 0.073242 0.123698
0 0.22876 0.842773 0.085449 0.115234
0 0.283936 0.794922 0.066895 0.227865
0 0.333496 0.773438 0.06543 0.197917
0 0.362793 0.812826 0.078125 0.166016
0 0.394043 0.848958 0.108398 0.167969
0 0.468994 0.878255 0.131348 0.105469
0 0.720459 0.733398 0.068848 0.19987
0 0.86499 0.628255 0.096191 0.091146
0 0.922607 0.434245 0.040527 0.164062
0 0.87915 0.301107 0.046387 0.146484
0 0.907715 0.297852 0.035156 0.120443
0 0.870117 0.166992 0.047852 0.108724
0 0.829102 0.145182 0.058594 0.097656
0 0.79126 0.264974 0.112793 0.135417
0 0.684326 0.127279 0.104004 0.078776
0 0.668213 0.068685 0.10498 0.064453
0 0.616699 0.142578 0.104492 0.174479
0 0.49292 0.151042 0.162598 0.098958
0 0.437256 0.417643 0.202637 0.212891
0 0.387207 0.329753 0.104492 0.210286
0 0.300049 0.403971 0.069824 0.222005
0 0.195312 0.514974 0.12207 0.227865
0 0.222168 0.451497 0.092773 0.133464

VOC格式标注文件如下所示:

 实例标注数据如下所示:

<annotation><folder>DATASET</folder><filename>images/20190621141536.jpg</filename><source><database>The DATASET Database</database><annotation>DATASET</annotation><image>DATASET</image></source><owner><name>YMGZS</name></owner>    <size><width>2048</width><height>1536</height><depth>3</depth></size><segmented>0</segmented><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>775</xmin><ymin>1268</ymin><xmax>1072</xmax><ymax>1406</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>507</xmin><ymin>1279</ymin><xmax>785</xmax><ymax>1434</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>464</xmin><ymin>1130</ymin><xmax>728</xmax><ymax>1333</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>361</xmin><ymin>1197</ymin><xmax>507</xmax><ymax>1366</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>226</xmin><ymin>1164</ymin><xmax>399</xmax><ymax>1302</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>161</xmin><ymin>1171</ymin><xmax>321</xmax><ymax>1311</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>168</xmin><ymin>1025</ymin><xmax>314</xmax><ymax>1175</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>104</xmin><ymin>973</ymin><xmax>185</xmax><ymax>1161</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>87</xmin><ymin>754</ymin><xmax>166</xmax><ymax>987</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>68</xmin><ymin>641</ymin><xmax>178</xmax><ymax>736</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>70</xmin><ymin>580</ymin><xmax>179</xmax><ymax>656</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>71</xmin><ymin>425</ymin><xmax>218</xmax><ymax>592</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>266</xmin><ymin>335</ymin><xmax>487</xmax><ymax>440</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>464</xmin><ymin>321</ymin><xmax>673</xmax><ymax>454</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>530</xmin><ymin>508</ymin><xmax>768</xmax><ymax>717</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>709</xmin><ymin>521</ymin><xmax>909</xmax><ymax>847</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>787</xmin><ymin>209</ymin><xmax>1011</xmax><ymax>549</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>949</xmin><ymin>64</ymin><xmax>1261</xmax><ymax>233</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>1045</xmin><ymin>237</ymin><xmax>1387</xmax><ymax>387</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>1254</xmin><ymin>66</ymin><xmax>1476</xmax><ymax>218</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>1295</xmin><ymin>135</ymin><xmax>1495</xmax><ymax>235</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>1480</xmin><ymin>104</ymin><xmax>1661</xmax><ymax>197</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>1649</xmin><ymin>142</ymin><xmax>1740</xmax><ymax>264</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>1772</xmin><ymin>341</ymin><xmax>1891</xmax><ymax>560</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>1828</xmin><ymin>553</ymin><xmax>1933</xmax><ymax>772</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>1810</xmin><ymin>782</ymin><xmax>1939</xmax><ymax>977</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>1364</xmin><ymin>902</ymin><xmax>1576</xmax><ymax>1216</ymax></bndbox></object><object>        <name>pig</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>1342</xmin><ymin>1016</ymin><xmax>1514</xmax><ymax>1247</ymax></bndbox></object></annotation>

默认使用轻量级的yolov5s模型来进行模型的开发,默认训练100次epoch,结果详情如下所示:

【F1值曲线】

 【PR曲线】

 【Precision和Recall曲线】

 数据可视化:

 Batch计算实例:

 可视化界面推理实例如下:

 目标检测+状态识别在界面中做了集成实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_103949.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据之入门开发流程介绍

目录&#xff1a; 1、大数据的开发大致流程2、技术导图 1、大数据的开发大致流程 1.1 数据收集 大数据处理的第一步是数据的收集。现在的中大型项目通常采用微服务架构进行分布式部署&#xff0c;所以数据的采集需要在多台服务器上进行&#xff0c;且采集过程不能影响正常业务的…

Tpflow V7.0.2 PHP 工作流引擎新版发布

欢迎使用 Tpflow V7.0.1 工作流引擎 TpFlow 工作流引擎是一套规范化的流程管理系统&#xff0c;基于业务而驱动系统生命力的一套引擎。彻底释放整个信息管理系统的的活力&#xff0c;让系统更具可用性&#xff0c;智能应用型&#xff0c;便捷设计性。Tpflow 团队致力于打造中国…

ArcGIS Pro、R、INVEST等多技术融合下生态系统服务权衡与协同动态分析

第一章、生态系统服务讲解 1.生态系统服务概念和基本理论 ​ 2.生态系统服务评估方法与模型讲解 ​ ​ 3.生态系统服务权衡与协同研究方法与意义 ​ 4.文献可视化分析 ​ ​ 第二章、平台基础 一、ArcGIS Pro介绍1. ArcGIS Pro简介2. ArcGIS Pro基础3. ArcGIS Pro数据预处理4…

kafka_2.13-2.8.1环境搭建

本次kafka环境主要针对kafka2.x版本&#xff0c;运行kafka服务之前&#xff0c;需要先搭建zookeeper服务&#xff0c;因为kafka服务依赖zookeeper&#xff0c;kafka3.x版本后可以不需要手动搭建zookeeper了。 本文主要是介绍怎样搭建kafka2.8.1&#xff0c;关于kafka的操作&am…

每天一道算法练习题--Day13 第一章 --算法专题 --- ----------动态规划(重置版)

动态规划是一个从其他行业借鉴过来的词语。 它的大概意思先将一件事情分成若干阶段&#xff0c;然后通过阶段之间的转移达到目标。由于转移的方向通常是多个&#xff0c;因此这个时候就需要决策选择具体哪一个转移方向。 动态规划所要解决的事情通常是完成一个具体的目标&…

问卷中多选题如何分析?

一、案例与问卷 本研究选取大学生作为研究对象&#xff0c;旨在通过理财认知、理财现状、理财偏好三个方面&#xff0c;对大学生理财产品了解情况、使用需求进行调查。本次问卷共分为四个部分&#xff1a;第一部分共5道题&#xff0c;为基本信息题&#xff1b;第二部分共3道题…

dubbogo如何实现远程配置管理 -- 阅读官方文档

dubbo-go 中如何实现远程配置管理&#xff1f; 之前在 Apache/dubbo-go&#xff08;以下简称 dubbo-go &#xff09;社区中&#xff0c;有同学希望配置文件不仅可以放于本地&#xff0c;还可以放于配置管理中心里。那么&#xff0c;放在本地和配置管理中心究竟有哪些不一样呢&…

【browserify】一步步教你学会browserify

https://www.cnblogs.com/fsg6/p/13139627.html Browserify browserify的官网是http://browserify.org/&#xff0c;他的用途是将前端用到的众多资源&#xff08;css,img,js,…) 打包成一个js文件的技术。 比如在html中引用外部资源的时候&#xff0c;原来我们可能这样写 &l…

从0搭建Vue3组件库(九):VitePress 搭建部署组件库文档

VitePress 搭建组件库文档 当我们组件库完成的时候,一个详细的使用文档是必不可少的。本篇文章将介绍如何使用 VitePress 快速搭建一个组件库文档站点并部署到GitHub上 安装 首先新建 site 文件夹,并执行pnpm init,然后安装vitepress和vue pnpm install -D vitepress vue安…

年轻不乏野心,想做年薪40万+的软件测试工程师?写给长途漫漫中的你...

本人从事自动化测试10年多&#xff0c;之前在猪场工作&#xff0c;年薪突破40W&#xff0c;算是一个生活过得去的码农。&#xff08;仅代表本人&#xff09; 目前从事自动化测试的薪资待遇还是很不错的&#xff0c;所以如果朋友们真的对自动化感兴趣的话可以坚持学下去&#xf…

一种视频算法插件流水线执行架构

目的 将视频接入进来以后&#xff0c;使用算法对图像进行处理并且输出 1 各种接入 2 解码 3 解码后图像算法 如矫正算法 4 共享输出 方式 使用动态库的方式进行扫描底层&#xff0c;每个动态库为一个插件&#xff0c;每个插件包含特定的函数&#xff0c;通过扫描的方式加载所…

基于springboot的大学生租房系统源码论文数据库

3.1系统功能 现在无论是在PC上还是在手机上&#xff0c;相信全国所有地方都在进行大学生租房管理。随着经济的不断发展&#xff0c;系统管理也在不断增多&#xff0c;大学生租房系统就是其中一种&#xff0c;很多人会登录到相关的租房系统查看租房信息&#xff0c;还能查看房屋…

11.java程序员必知必会类库之word处理库

前言 正常业务中&#xff0c;可能涉及到和合作方签约电子合同&#xff0c;此时&#xff0c;我们需要先设计合同模板&#xff0c;维护固定内容&#xff0c;将可变的内容通过占位符替代&#xff0c;等签章的时候&#xff0c;生成pdf,然后可以根据设计的合同章的坐标&#xff0c;…

Linux基础命令和程序部署

Linux基础命令 ls 可以查看当前目录内容ls 后面跟上一个具体路径可以查看指定目录内容ls -l 可以以列表的形式查看&#xff0c;缩写llpwd 查看当前目录的绝对路径cd 切换目录&#xff08;就是window界面的鼠标双击目录进入动作&#xff09;&#xff0c;cd在切换目录时后面可以…

Android 9.0 系统设置显示主菜单添加屏幕旋转菜单实现旋转屏幕功能

1.前言 在android9.0的系统rom定制化开发中,在对系统设置进行定制开发中,有产品需求要求增加旋转屏幕功能的菜单,就是在点击旋转屏幕菜单后弹窗显示旋转0度,旋转 90度,旋转180度,旋转270度针对不同分辨率的无重力感应的大屏设备的屏幕旋转功能的实现,接下来就来分析实现…

详解子网划分练习题(32道)

目录 1 子网划分概念&#xff1a; 2 划分方法&#xff1a; 子网划分方法&#xff1a;段&#xff0c;块&#xff0c;数的计算三步。 段就是确定ip地址段中既有网络地址&#xff0c;又有主机地址的那一段是四段中的那一段&#xff1f; 块就确定上一步中确定的那一段中的主机…

FreeRTOS(三)——应用开发(一)

文章目录 0x01 FreeRTOS文件夹FreeRTOSConfig.h文件内容上面定义的宏决定FreeRTOS.h文件中的定义0x02 创建任务创建静态任务过程configSUPPORT_STATIC_ALLOCATION创建动态任务过程configSUPPORT_DYNAMIC_ALLOCATION 0x03 FreeRTOS启动流程启动流程概述 0x04 任务管理任务调度器…

CASAIM自动化精密尺寸测量设备全尺寸检测铸件自动化检测铸件

铸造作为现代装备制造工业的基础共性技术之一&#xff0c;铸件产品既是工业制造产品&#xff0c;也是大型机械的重要组成部分&#xff0c;被广泛运用在航空航天、工业船舶、机械电子和交通运输等行业。 铸件形状复杂&#xff0c;一般的三坐标或者卡尺圆规等工具难以获取多特征…

FPGA入门系列5--运算符号

文章简介 本系列文章主要针对FPGA初学者编写&#xff0c;包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解&#xff0c;旨在更快速的提升初学者在FPGA开发方面的能力&#xff0c;每一个章节中都有针对性的代码…

【剧前爆米花--爪哇岛寻宝】网络互连,网络通信和网络分层

作者&#xff1a;困了电视剧 专栏&#xff1a;《JavaEE初阶》 文章分布&#xff1a;这是一篇关于网络初识的文章&#xff0c;在这篇文章中讲解了局域网广域网&#xff0c;IP地址&#xff0c;端口以及网络分层等相关内容&#xff0c;希望对你有所帮助&#xff01; 目录 网络互连…