相机- yolo训练集 环境搭建

news2024/11/26 10:36:10

一、环境准备

运行cmd执行python --version 检查是否安装成功
在这里插入图片描述
安装pip,打开运行指令 python -m ensurepip --upgrade
打开官网,下载get_pip.py
在这里插入图片描述
运行cmd 运行指令python get-pip.py
运行cmd 运行指令 pip --version
在这里插入图片描述
显示pip版本即安装成功

根据上面获取的相机序号,在python中通过cv2操作相机设备,参考如下脚本

import cv2
def videocapture():
    #调用摄像头‘0’一般是打开电脑自带摄像头,‘1’是打开外部摄像头(只有一个摄像头的情况)
    cap = cv2.VideoCapture(1)
if False == cap.isOpened():
        print('Error: 无法打开相机,请检查相机是否已连接?')
        return

 #设置图像宽高,必须与相机分辨率一致,否则无法显示

    cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1440)
    cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)
    # 设置帧率
    cap.set(cv2.CAP_PROP_FPS , 15)
    # 显示图像
    while True:
        ret, frame = cap.read()
        frame_1 = cv2.resize(frame , (640 , 512))
        cv2.imshow("frame", frame_1)
     
        input = cv2.waitKey(1)
        if input == ord('q'):
            break
     
    cap.release()  # 释放摄像头
    cv2.destroyAllWindows()  # 销毁窗口
  
if __name__ == '__main__' :
    videocapture()

二、YOLOX 安装

1、yolox源码下载

git clone https://github.com/Megvii-BaseDetection/YOLOX.git
pip3 install -v -e .  # or  python3 setup.py develop

2、安装 python 依赖包

 安装 vcpkg (windows)
git clone https://github.com/microsoft/vcpkg
 .\vcpkg\bootstrap-vcpkg.bat
安装protoc、protobuf
#1 使用vcpkg 安装 protobuf
vcpkg install protobuf
#1 安装 protobuf
pip3 install protobuf==3.20.1
 安装yolox依赖

cd 到 yolox 目录下,注释掉 requirements.txt 中的torch、torchvision、onnx相关行如下
在这里插入图片描述

pip3 install -r requirements.txt

1. 安装 cuda

cuda是Nvidia显卡配套的软件,只支持Nvidia显卡。
带Nvidia独显的电脑一般已经安装好cuda,可通过执行命令 nvidia-smi 检查
在这里插入图片描述
执行nvidia输出类似上述的界面,则表明已自带cuda,不需再安装cuda。

如果未自带cuda,可参考如下链接安装:

https://blog.csdn.net/m0_45447650/article/details/123704930

三、模型训练

1. 基于预训练模型训练

# 命令格式: 
#        python -m tools.train -n 模型 -d 显卡数量 -b batch_size --fp16 \
#                           -o -c 预训练模型路径
# 模型可选 yolox-m、yolox-l、yolox-x等
# 显卡数量 不能大于实际数量
python -m tools.train -n yolox-s -d 1 -b 16 --fp16 -o -c /home/common/standard_retrained_models/yolox_s.pth

2. 不基于预训练模型训练

# 命令格式: 
#        python -m tools.train -n 模型 -d 显卡数量 -b batch_size --fp16
# 模型可选 yolox-m、yolox-l、yolox-x等
# 显卡数量 不能大于实际数量
python -m tools.train -n  yolox-s -d 1 -b 8 --fp16

3. 分布式训练

以2台机器使用预训练模型为例

3.1 master 机器

# 命令格式: 

#        python -m tools.train -n 模型 -d 显卡数量 -b batch_size --fp16
#                --dist-url tcp://mater_ip:端口 --dist-backend 后端 \
#                --num_machines 机器数量 --machine_rank 机器序号
# 模型可选 yolox-m、yolox-l、yolox-x等
# 显卡数量 不能大于实际数量
# 机器序号(0代表master)
# --dist-backend 后端 \
python -m tools.train -n yolox-s -d 1 -b 16 --fp16 \
    -o -c ./pretrained_models/yolox_s.pth \
    --dist-backend gloo --dist-url tcp://10.0.84.234:12315 \
    --num_machines 2 --machine_rank 0

3.2 slave 机器

# 命令格式: 
#        python -m tools.train -n 模型 -d 显卡数量 -b batch_size --fp16
#                --dist-url tcp://mater_ip:端口 --dist-backend 后端 \
#                --num_machines 机器数量 --machine_rank 机器序号
# 模型可选 yolox-m、yolox-l、yolox-x等
# 显卡数量 不能大于实际数量
# 机器序号(0代表master,非0值代表slave,要与实际的机器数量一致,如3台机器,0代表master,则slave是1或2)
# mater_ip:端口 要与 master保持一致
python -m tools.train -n yolox-s -d 1 -b 16 --fp16 \
    -o -c ./pretrained_models/yolox_s.pth \
    --dist-backend gloo --dist-url tcp://10.0.84.234:12315 \
    --num_machines 2 --machine_rank 1

四、模型使用

1、图片识别

python tools/demo.py image -n yolox-s -c /path/to/your/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu]

2、视频

python tools/demo.py video -n yolox-s -c /path/to/your/yolox_s.pth --path /path/to/your/video --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu]

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

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

相关文章

Lucene介绍与入门使用

https://github.com/apache/lucene Lucene简介 Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎…

宁波阿里云代理商:阿里巴巴CEO张勇:阿里云是一家云计算产品公司

4月26日,在2023阿里云合作伙伴大会上,阿里巴巴董事会主席兼CEO、阿里云智能CEO张勇表示,阿里云的核心定位是一家云计算产品公司,生态是阿里云的根基。 张勇表示,当前我们正站在智能化的起点,这是让“被集成…

基于Python的二维码识别系统设计与实现

博主介绍:擅长Java、微信小程序、Python、Android等,专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 Java项目精品实战案例…

基于单片机智能加湿器 水位防干烧加湿器的设计与实现

功能介绍 以51/STM32单片机作为主控系统;LCD1602液晶显示当前温湿度,当前模式,湿度下限;按键设置湿度下限,当湿度低于下限时开启加湿器;水位传感器检查加湿器是否有水,如果没有水到话加湿器不进行工作,蜂鸣…

Spring Security OAuth2.0(2):基于session的认证方式

文章目录 认证流程创建工程1 创建maven工程2. 实现认证功能3. 会话功能4. 授权功能 认证流程 \qquad 基于session的认证方式如下 \qquad 它的交互流程是,用户认证成功后,在服务端生成用户相关的数据保存在session(当前会话)中,发给客户端的s…

银河麒麟服务器v10 sp1 部署.Net6.0 http https

上一篇:银河麒麟服务器V10 SP1 .Net6.0 开机自动启动_csdn_aspnet的博客-CSDN博客 参考微软官网:ASP.NET Core 中的 Kestrel Web 服务器 | Microsoft Learn 为 ASP.NET Core Kestrel Web 服务器配置终结点 | Microsoft Learn 注意:使用此…

【云效】使用流水线进行应用部署

目录 前言一、部署应用步骤1、创建流水线2、编辑流水线源3、编辑java构建上传4、编辑主机部署 前言 「流水线」,又名「Flow」,是阿里云「云效」产品矩阵中的一款企业级自动化研发交付工具。 它提供了灵活易用的持续集成、持续验证和持续发布功能&#…

基于springboot+mybatis-plus+mysql+vue实现物流信息管理系统(课设)

基于springbootmybatis-plusmysqlvue实现物流信息管理系统(课设) 一、系统介绍1、系统主要功能:2、环境配置 二、功能展示1.登陆2.用户管理3.个人信息4.物流管理 三、其它系统四、获取源码 一、系统介绍 1、系统主要功能: 用户&…

ElasticSearch 快速上手教程 (二) —— 基本概念术语

上一部分,我们讲解了 ES 的一些基本概念和应用场景,以及如何在本机搭建一个 ELK 测试环境。现在这篇文章带你了解 ES 当中一些基本术语以及相关的工作原理。 基本的概念术语 node(节点) ES 的一个运行实例,存储了部分文档数据,属…

文件包含基础

实验目的 通过本实验,理解文件包含的基本方法及文件包含需要注意的问题,为熟练掌握文件包含方法及防御奠定基础。 实验环境 操作机:kali 靶机:Windows 实验地址:http://靶机ip/exp/include/include1.php 用户名&…

ABC 195 C

不知道该怎么解释这道题&#xff0c;反正我不太会&#xff0c;感觉很帅 题意&#xff1a; Code&#xff1a; #include <bits/stdc.h>#define int long longusing namespace std;const int mxn2e310; const int mxe2e510; const int mod1e97; const int Inf1e18;int N;v…

基于FreeRTOS的嵌入式设备管理关键技术研究及实现(学习四)

硬件平台 终端设备的硬件选型主要由STM32芯片作为处理器&#xff0c;板载时钟电路和电源电路以及对外通信串口&#xff0c;并挂载AM2302温湿度传感器来实时收集环境相关信息&#xff0c;将收集到的信息通过NB-IoT通信模组上传到云端&#xff0c;从而实现整个环境监测功能。 主…

【重拾计划】模板 | N进制加法

N进制加法模板 基本原理 n进制转十进制&#xff0c;利用字符串处理&#xff0c;由于位数不同&#xff0c;采用倒序处理字符串。 代码实现 #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> usin…

phpoffice/phpspreadsheet读取excel表格中的图片并保存到本地

我们开发导入excel表格功能时&#xff0c;会遇到表格中带有图片的情况&#xff0c;怎样获取到表格的图片并且把图片保存到本地&#xff0c;这样就可以展示你导入的数据和图片&#xff0c;实现此功能。 这里介绍一下分别使用phpspreadsheet和PHPExcel扩展库来实现读取Excel内图片…

win10multiple editions意思详细介绍

multiple editions是win10系统的一个版本号&#xff0c;很多的小伙伴都不知道这个英文是什么意思&#xff0c;今天就给你们带来了win10multiple editions意思详细介绍&#xff0c;还不清楚的就快来看看吧。 multiple editions是什么意思&#xff1a; 1、multiple editions是多…

C++笔记之内置基本类型的默认构造函数

C笔记之内置基本类型的默认构造函数 code review! 文章目录 C笔记之内置基本类型的默认构造函数1.C中基本内置类型的默认构造函数2.C有没有一个“内置构造函数”这样一个名词&#xff1f;3.基本内置类型按照前面提到的规则进行初始化是C11才开始的新特性吗&#xff1f; 1.C中…

【NX】NXOpen::BlockStyler::Tree的个人使用类分享

网上关于NXOpen::BlockStyler::Tree的例子不是太多&#xff0c;控件默认id名称为tree_control01&#xff0c;因为例子不多很多功能得自己写&#xff0c;虽然NXOpen::BlockStyler::Tree的封装已经不错了&#xff0c;但是实际使用起来也不是很方便&#xff0c;比如像获取所有节点…

基于PyQt5的桌面图像调试仿真平台开发(8)锐化

系列文章目录 基于PyQt5的桌面图像调试仿真平台开发(1)环境搭建 基于PyQt5的桌面图像调试仿真平台开发(2)UI设计和控件绑定 基于PyQt5的桌面图像调试仿真平台开发(3)黑电平处理 基于PyQt5的桌面图像调试仿真平台开发(4)白平衡处理 基于PyQt5的桌面图像调试仿真平台开发(5)…

机器学习基础之《特征工程(2)—特征工程介绍》

一、什么是特征工程 机器学习领域的大神Andrew Ng(吴恩达)老师说“Coming up with features is difficult, time-consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering. ” 注&#xff1a;业界广泛流传&#xff1a;数据和特…

论文阅读-DF-Platter: Multi-Face Heterogeneous Deepfake Dataset(多人脸异构深度伪造数据集)

一、论文信息 文章名称&#xff1a;DF-Platter: Multi-Face Heterogeneous Deepfake Dataset 作者团队&#xff1a; 会议&#xff1a;cvpr2023 数据集地址&#xff1a;http://iab-rubric.org/df-platter-database 二、动机与创新 动机 目前大多数研究工作都集中在个人外表…