计算机设计大赛 深度学习YOLO图像视频足球和人体检测 - python opencv

文章目录

  • 0 前言
  • 1 课题背景
  • 2 实现效果
  • 3 卷积神经网络
  • 4 Yolov5算法
  • 5 数据集
  • 6 最后

0 前言

🔥 优质竞赛项目系列,今天要分享的是

🚩 深度学习YOLO图像视频足球和人体检测

该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:5分

🧿 更多资料, 项目分享:

https://gitee.com/dancheng-senior/postgraduate

1 课题背景

得益于深度学习技术的飞速发展,基于深度学习的目标检测算法研究成为近几年研究的热门方向。
本项目基于Yolov5算法实现图像视频足球和人检测。

2 实现效果

在这里插入图片描述
在这里插入图片描述

3 卷积神经网络

卷积神经网络(CNN)是一种包含卷积运算的深层前馈神经网络。传统的神经网络每个神经元权重连接上层的所有神经元,所以会出现大量权重值,增加整个网络的数据量和复杂程度。CNN则具有两个重要特征则是“局部感知”和“权值共享”,可有效提取数据的特征同时降低权值数量。完整的卷积网络通常包括卷积层、池化层、全连接层和输出层。
卷积神经网络的运行流程就是在卷积层进行特征提取,池化层进行进一步特征概括,最终通过全连接层进行分类的过程,流程见下图。根据数据的特征不同,卷积网络需要构建不同深度的网络结构,越复杂的数据越需要丰富的网络堆叠方式来提取数据的多层特征。

在这里插入图片描述

卷积层的提取数据特征的作用方式是通过卷积运算,使相同的卷积核根据固定的步长遍历数据。卷积核每遍历一个位置就和前一层中的神经元执行卷积运算,它是将矩阵中相同位置的元素直接相乘,然后求和的过程。在一维卷积神经网络中按照这个运算逻辑将卷积核矩阵根据步幅值继续向右滑动,直到覆盖整个输入矩阵,如图。

在这里插入图片描述

最后,得到卷积后的特征矩阵。在卷积层,输入由一组卷积核卷积得到新的特征映射经过激活函数处理传递至下一层。

池化层实现的功能则是对输入数据的降维和抽象,通过在空间范围内做维度约减,使模型可以抽取更广范围的特征,同时减少计算量和参数个数。池化采样主要分为两种方法:平均池化采样和最大池化采样。本文采用的是最大池化。池化过程如图。

https://img-blog.csdnimg.cn/228a5a0c5fbe4b56b54f06d5f66bb531.jpeg

最终卷积层和池化层提取的所有特征,在全连接层中以非线性地拟合输入数据用于分类。

4 Yolov5算法

简介
下图所示为 YOLOv5 的网络结构图,分为输入端,Backbone,Neck 和 Prediction 四个部分。其中,
输入端包括 Mosaic 数据增强、自适应图片缩放、自适应锚框计算,Backbone 包括 Focus 结构、CSP
结 构,Neck 包 括 FPN+PAN 结 构,Prediction 包 括GIOU_Loss 结构。
在这里插入图片描述
相关代码

class Yolo(object):def __init__(self, weights_file, verbose=True):self.verbose = verbose# detection paramsself.S = 7  # cell sizeself.B = 2  # boxes_per_cellself.classes = ["aeroplane", "bicycle", "bird", "boat", "bottle","bus", "car", "cat", "chair", "cow", "diningtable","dog", "horse", "motorbike", "person", "pottedplant","sheep", "sofa", "train","tvmonitor"]self.C = len(self.classes) # number of classes# offset for box center (top left point of each cell)self.x_offset = np.transpose(np.reshape(np.array([np.arange(self.S)]*self.S*self.B),[self.B, self.S, self.S]), [1, 2, 0])self.y_offset = np.transpose(self.x_offset, [1, 0, 2])self.threshold = 0.2  # confidence scores threholdself.iou_threshold = 0.4#  the maximum number of boxes to be selected by non max suppressionself.max_output_size = 10self.sess = tf.Session()self._build_net()self._build_detector()self._load_weights(weights_file)

5 数据集

数据集包含4000多张标注过的球员与足球
在这里插入图片描述

6 最后

🧿 更多资料, 项目分享:

https://gitee.com/dancheng-senior/postgraduate

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

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

相关文章

一览大模型长文本能力

前言 如今的大模型被应用在各个场景,其中有些场景则需要模型能够支持处理较长文本的能力(比如8k甚至更长),其中已经有很多开源或者闭源模型具备该能力比如GPT4、Baichuan2-192K等等。 那关于LLM的长文本能力,目前业界通常都是怎么做的&…

2024年腾讯云4核8G12M服务器性能测评,适合哪些使用场景?

腾讯云4核8G服务器适合做什么?搭建网站博客、企业官网、小程序、小游戏后端服务器、电商应用、云盘和图床等均可以,腾讯云4核8G服务器可以选择轻量应用服务器4核8G12M或云服务器CVM,轻量服务器和标准型CVM服务器性能是差不多的,轻…

阿里云BGP多线精品EIP香港CN2线路低时延,价格贵

阿里云香港等地域服务器的网络线路类型可以选择BGP(多线)和 BGP(多线)精品,普通的BGP多线和精品有什么区别?BGP(多线)适用于香港本地、香港和海外之间的互联网访问。使用BGP&#xf…

【实战】二、Jest难点进阶(一) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(五)

文章目录 一、Jest 前端自动化测试框架基础入门二、Jest难点进阶1.snapshot 快照测试 学习内容来源:Jest入门到TDD/BDD双实战_前端要学的测试课 相对原教程,我在学习开始时(2023.08)采用的是当前最新版本: 项版本babe…

jmeter遇到连接数据库的问题

jmeter连接mysql或者oracle简单,但是连接过inceptor吗? 上货 1、下载驱动inceptor 5.1.2.jar包 2、在添加驱动那里导入 3、在JBC request中的写法 PS:没什么可说的

【C++】类和对象(五)友元、内部类、匿名对象

前言:前面我们说到类和对象是一个十分漫长的荆棘地,今天我们将走到终点,也就是说我们对于C算是正式的入门了。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量C学习 &…

嵌入式中全面解析 SPI 通信协议方法

SPI 的英文全称为 Serial Peripheral Interface,顾名思义为串行外设接口。SPI 是一种同步串行通信接口规范,主要应用于嵌入式系统中的短距离通信。该接口由摩托罗拉在20世纪80年代中期开发,后发展成了行业规范。 SPI 是一种高速的、全双工的…

算法沉淀——优先级队列(堆)(leetcode真题剖析)

算法沉淀——优先级队列 01.最后一块石头的重量02.数据流中的第 K 大元素03.前K个高频单词04.数据流的中位数 优先队列(Priority Queue)是一种抽象数据类型,它类似于队列(Queue),但是每个元素都有一个关联的…

嵌入式Linux平台大文件生成以及处理方法

在日常工作中,为了验证某些场景下的功能,经常需要人为构造一些大文件进行测试,有时需要用大文件来测试下载速度,有时需要用大文件来覆盖磁盘空间;偶尔会看到一些网络博文会教大家如何构造大文件;但是当需要…

杨中科 ASP.NET DI综合案例

综合案例1 需求说明 1、目的:演示DI的能力; 2、有配置服务、日志服务,然后再开发一个邮件发送器服务。可以通过配置服务来从文件、环境变量、数据库等地方读取配置,可以通过日志服务来将程序运行过程中的日志信息写入文件、控制台、数据库等。 3、说明…

第三百四十九回

文章目录 1. 概念介绍2. 原理与方法2.1 知识对比2.2 使用方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"加密包crypto"相关的内容,本章回中将介绍characters包.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 在项目中会遇到获取字…

Django实战:部署项目 【资产管理系统】,Django完整项目学习研究(项目全解析,部署教程,非常详细)

导言 关于Django,我已经和大家分享了一些知识,考虑到一些伙伴需要在实际的项目中去理解。所以我上传了一套Django的项目学习源码,已经和本文章进行了绑定。大家可以自行下载学习,考虑到一些伙伴是初学者,几年前&#…

OpenAI又出王炸,Sora是否要开启视频AI新时代?

OpenAI又出王炸,Sora是否要开启视频AI新时代? 关注微信公众号 DeepGoAI 前几天我们还在讨论 如何让ChatGPT3.5变得更聪明 今天OpenAI就带着新王炸出现了 如同ChatGPT一般 在计算机领域掀起轩然大波 开启真正视频AI新时代 那就是 Sora 很多同学可…

结构体对齐规则及为什么会有结构体对齐

前言: 大家在学习结构体中,在计算结构体大小时想必会很疑惑,为什么结构体的大小不是按照常理像数组一样一个字节一个字节的挨在一起放?今天带大家一起深入探讨一下背后的规则和原因。 结构体对齐规则: 结构体对齐其实…

离散数学截图2

为什么G中阶大于2的元素,一定有偶数个 在有限群G中,阶大于2的元素个数一定是偶数的原因如下: 设 aaa 是群G中一个阶大于2的元素,那么根据群的定义和阶的概念(即某个元素的幂次使得其等于单位元的最小正整数&#xff…

【Linux】 Linux 小项目—— 进度条

进度条 基础知识1 \r && \n2 行缓冲区3 函数介绍 进度条实现版本 1代码实现运行效果 版本2 Thanks♪(・ω・)ノ谢谢阅读!!!下一篇文章见!!! 基础知识 1 \r &&a…

linux 安装docker

目录 环境 操作步骤 1 下载脚本 2 执行脚本 3 检查docker版本,证明安装成功 环境 阿里云 ubuntu 22.04 64位 操作步骤 参考linux系统安装docker-腾讯云开发者社区-腾讯云 (tencent.com) 1 下载脚本 curl -fsSL https://get.docker.com -o get-docker.sh …

牛客小白月赛87

说明 年后第一次写题,已经麻了,这次的题很简单但居然只写了两道题。有种本该发挥80分的水平,但是只做出了20分的水平的感觉。不过剩下几个题(除了G题),比完赛一小时内就AC了。欢迎大家交流学习。&#xff0…

OpenCV 笔记(22):图像的缩放——最近邻插值、双线性插值算法

1. 图像缩放 1.1 简介 图像缩放是指通过增加或减少像素来改变图像尺寸的过程,是图像处理中常见的操作。图像缩放会涉及效率和图像质量之间的权衡。 图像放大(也称为上采样或插值)的主要目的是放大原图像,以便在更高分辨率的显示设…

RK3568笔记十五:触摸屏测试

若该文为原创文章,转载请注明原文出处。 使用正点原子的ATK-RK3568板子,一直在测试屏幕和视频,突然想到触摸屏测试,一直没有用过,原子给的demo跑的是QT系统,触摸功能是正常的,测试一下&#xf…