通过esp32cam拍摄图片上传至PC并通过YOLO进行目标检测

news/2024/7/10 3:01:16 标签: YOLO, 目标检测, 目标跟踪, 物联网

通过esp32cam拍摄图片上传至PC并通过YOLO进行目标检测

  • 一.通过esp32cam拍摄照片并上传至PC
  • 二.训练自己的数据集
  • 三.AutoDL AI算力云的使用
    • 1.账号注册
    • 2.GPU选取
    • 3.GPU使用
    • 4.开机训练
  • 四.数据集的使用

一.通过esp32cam拍摄照片并上传至PC

文章链接: https://blog.csdn.net/qq_62975494/article/details/131559263?spm=1001.2014.3001.5501

使用python作为服务端来接收传输的照片

二.训练自己的数据集

yolo训练自己的数据集: https://blog.csdn.net/qq_62975494/article/details/129786717?spm=1001.2014.3001.5501

三.AutoDL AI算力云的使用

由于自己计算机的算力不足我们可以使用云gpu来进行数据集的训练

1.账号注册

AutoDL官网: https://www.gpuhub.com/home
在这里插入图片描述

2.GPU选取

在这里插入图片描述

一般只有北京剩余机器较多新用户注册会赠送十元抵用券足够进行简单的训练

3.GPU使用

在这里插入图片描述

选择社区镜像搜索yolo选择自己需要的版本最后使用抵用券

4.开机训练

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

然后根据  二.训练自己的数据集中的内容进行配置和标注即可训练
上传数据集时需要将文件压缩后上传

四.数据集的使用


import torch
import bluetooth



# 加载本地模型
device = torch.device("cuda")
model = torch.hub.load('D:/AI/yolov7-main', 'custom',
                       'D:\AI\yolov7-main\weights\last2.pt',
                       source='local', force_reload=False)


while 1:

    if 1:
        # 使用模型
        model = model.to(device)
        # 开始推理
        results = model('./eyes.jpg')
        # 过滤模型
        xmins = results.pandas().xyxy[0]['xmin']
        ymins = results.pandas().xyxy[0]['ymin']
        xmaxs = results.pandas().xyxy[0]['xmax']
        ymaxs = results.pandas().xyxy[0]['ymax']
        class_list = results.pandas().xyxy[0]['class']
        confidences = results.pandas().xyxy[0]['confidence']
        newlist = []
        for xmin, ymin, xmax, ymax, classitem, conf in zip(xmins, ymins, xmaxs, ymaxs, class_list, confidences):
            if classitem == 0 and conf > 0.5:
                newlist.append([int(xmin), int(ymin), int(xmax), int(ymax), conf])
        print(newlist)
得到的newlist就是图片中检测到的目标的坐标和置信度

在这里插入图片描述

model = torch.hub.load('D:/AI/yolov7-main', 'custom',
                       '权重文件路径',
                       source='local', force_reload=False)

使用时将权重路径和模型路径改为自己本地路径


http://www.niftyadmin.cn/n/5422666.html

相关文章

安卓bp文件详解

概念 Android.bp文件是安卓构建系统(Android Build System)中使用的构建描述文件,它用于定义Android项目中的模块、库、应用等构建规则,该文件使用 Blueprint 语言,是 Soong 构建系统的一部分。 Soong则是专为Android…

数据结构 之 链表LinkedList

目录 1. ArrayList的缺陷: 2. 链表: 2.1 链表的概念及结构: 3. 链表的使用和模拟实现: 3.1 构造方法: 3.2 模拟实现: 4. 源码分享: 在我学习顺序表之后,我就立马开始了链表的学…

LeetCode每日一题 搜索插入位置(二分查找)

题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输…

目标检测:Anchor-free算法模型

Anchor-free概念 Anchor-free方法不依赖于预定义的锚框。它通过在图像或特征图上直接预测目标的位置和形状,而不是相对于锚框的偏移量。这意味着模型不需要提前定义锚框,可以更灵活地处理不同大小和形状的目标。Anchor-free模型简化了检测流程&#xff0…

MySQL技能树学习

体系结构 存储引擎 数据类型 数值类型 DECIMAL类型 在MySQL内部是以字符串的形式进行存储的,它的精度比浮点数更加精确,适合存储表示金额等需要高精度的数据 Mysql中两个整数相除,默认得到的类型是decimal类型,因为两个整数相除…

【io.net】问题汇总

【io.net】问题汇总 大家最近挖挖的如火如荼,可是不论是社区活动积分和参与挖矿积分,大家遇到了很多类似问题,重复解决。 因此我这里整理了一下常见的相关问题,大家可以一站式找到解决方案。解决方案主要分为运营和挖矿两个两面…

【鸿蒙 HarmonyOS 4.0】Web组件

一、介绍 页面加载是Web组件的基本功能。根据页面加载数据来源可以分为三种常用场景,包括加载网络页面、加载本地页面、加载HTML格式的富文本数据。 二、加载网页 2.1、加载在线网页 Web组件的使用非常简单,只需要在Page目录下的ArkTS文件中创建一个…

pg数据库和mysql区别

区别一 PostgreSQL (通常称为 PG) 和 MySQL 都是广泛使用的关系型数据库管理系统 (RDBMS)。虽然它们都是用于存储和管理数据的关系数据库,但它们在一些方面有很大的区别,如下所述: 数据类型:PostgreSQL 支持更多的数据类型&#…