疫情期间佩戴口罩检测之训练检测口罩模型算法实现口罩检测步骤以及报错解决

简介: 疫情期间佩戴口罩检测之训练检测口罩模型算法实现口罩检测步骤以及报错解决

训练检测口罩模型

下载项目

https://github.com/Megvii-BaseDetection/YOLOX
在这里插入图片描述
打开项目
在这里插入图片描述

安装环境

在这里插入图片描述

pip install -r requirements.txt

在这里插入图片描述
如果报错

pip install -c esri pycocotools

第一步下载数据集

在datasets文件夹下新建VOCdevkit文件夹并将下载的data文件夹放进去,并改名为VOC2020。
在VOC2020文件夹下新建ImageSets文件夹,在建Main文件夹。

在这里插入图片描述
下载make_train_and_test.py文件并运行

import os
import random
 
train_percent = 0.8
test_percent = 0.2
xmlfilepath = 'VOCdevkit/VOC2020/Annotations'
txtsavepath = 'VOCdevkit/VOC2020/ImageSets'
total_xml = os.listdir(xmlfilepath)
 
num = len(total_xml)
list = range(num)
tr = int(num * train_percent)
te = int(num * test_percent)
train = random.sample(list, tr)
test = random.sample(list, te)
 
ftest = open('VOCdevkit/VOC2020/ImageSets/Main/test.txt', 'w')
ftrain = open('VOCdevkit/VOC2020/ImageSets/Main/train.txt', 'w')

for i in list:
    name = total_xml[i][:-4] + '\n'
    if i in train:
        ftrain.write(name)
    else:
        ftest.write(name)
 
ftrain.close()
ftest.close()

生成训练样本和测试样本的下标
在这里插入图片描述

第二步修改代码

在这里插入图片描述
yolox_voc_s.py相关代码改为

self.num_classes = 2

在这里插入图片描述
在这里插入图片描述
然后
在这里插入图片描述
voc_classea.pu改为

VOC_CLASSES = (
    "no_masked",
    "masked",
)

voc.py修改

在这里插入图片描述

训练模型

python tools/train.py -f ./exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 4 --fp 16 -o

会报错
Traceback (most recent call last):
File "./tools/train.py", line 13, in

from yolox.core import launch

ModuleNotFoundError: No module named 'yolox'

在这里插入图片描述
路径错误
在tools/train.py开头加上开头路径

import sys
sys.path.append(r"D:\PycharmProjects\YOLOX-main")

在这里插入图片描述

报错 DataLoader worker

在这里插入图片描述
yolox_voc_s.py添加

 self.data_num_workers = 0

在这里插入图片描述

报错OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

环境冲突
tools/train.py添加代码

import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'True'

在这里插入图片描述

报错 ERROR | yolox.core.launch:98 - An error has been caught in function 'launch', process 'MainProcess' (22360), thread 'MainThread' (18700):

在这里插入图片描述
修改
voc.py
在这里插入图片描述

目录
相关文章
|
2天前
|
算法 数据可视化 网络安全
清华等高校推出首个开源大模型水印工具包MarkLLM,支持近10种最新水印算法
【6月更文挑战第27天】清华大学等高校发布了开源工具MarkLLM,这是首个专注于大语言模型水印的工具包,支持近10种先进算法。该工具统一了水印实现,便于比较和使用,旨在促进水印技术在保障信息真实性和网络安全上的应用。MarkLLM提供直观界面、可视化及自动化评估,推动了大模型水印研究的进步。[论文链接:](https://arxiv.org/abs/2405.10051)**
10 5
|
1天前
|
机器学习/深度学习 算法
**反向传播算法**在多层神经网络训练中至关重要,它包括**前向传播**、**计算损失**、**反向传播误差**和**权重更新**。
【6月更文挑战第28天】**反向传播算法**在多层神经网络训练中至关重要,它包括**前向传播**、**计算损失**、**反向传播误差**和**权重更新**。数据从输入层流经隐藏层到输出层,计算预测值。接着,比较预测与真实值计算损失。然后,从输出层开始,利用链式法则反向计算误差和梯度,更新权重以减小损失。此过程迭代进行,直到损失收敛或达到训练次数,优化模型性能。反向传播实现了自动微分,使模型能适应训练数据并泛化到新数据。
8 2
|
4天前
|
分布式计算 算法 Java
阿里云ODPS PySpark任务使用mmlspark/synapseml运行LightGBM进行Boosting算法的高效训练与推理
阿里云ODPS PySpark任务使用mmlspark/synapseml运行LightGBM进行Boosting算法的高效训练与推理
|
3天前
|
算法 C++ 计算机视觉
详细解读Canny检测算法与实现
详细解读Canny检测算法与实现
|
3天前
|
算法 程序员 数据处理
【数据结构与算法】使用单链表实现队列:原理、步骤与应用
【数据结构与算法】使用单链表实现队列:原理、步骤与应用
|
3天前
|
存储 算法 编译器
【数据结构与算法】使用数组实现栈:原理、步骤与应用
【数据结构与算法】使用数组实现栈:原理、步骤与应用
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
AI大模型的核心成功因素通常可以归结为三大要素:大数据、大算力和强算法。
AI大模型的核心成功因素通常可以归结为三大要素:大数据、大算力和强算法。
23 0
|
8天前
|
机器学习/深度学习 算法 语音技术
基于语音信号MFCC特征提取和GRNN神经网络的人员身份检测算法matlab仿真
**语音识别算法概览** MATLAB2022a中实现,结合MFCC与GRNN技术进行说话人身份检测。MFCC利用人耳感知特性提取语音频谱特征,GRNN作为非线性映射工具,擅长序列学习,确保高效识别。预加重、分帧、加窗、FFT、滤波器组、IDCT构成MFCC步骤,GRNN以其快速学习与鲁棒性处理不稳定数据。适用于多种领域。
|
9天前
|
机器学习/深度学习 人工智能 算法
【机器学习】模型、算法与数据—机器学习三要素
【机器学习】模型、算法与数据—机器学习三要素
115 0
|
9天前
|
机器学习/深度学习 算法 计算机视觉
基于ADAS的车道线检测算法matlab仿真
**摘要:** 基于ADAS的车道线检测算法利用Hough变换和边缘检测在视频中识别车道线,判断车道弯曲情况,提供行驶方向信息,并高亮显示。在MATLAB2022a中实现,系统包括图像预处理(灰度化、滤波、边缘检测)、车道线特征提取(霍夫变换、曲线拟合)和车道线跟踪,确保在实时场景中的准确性和稳定性。预处理通过灰度转换减少光照影响,滤波去除噪声,Canny算法检测边缘。霍夫变换用于直线检测,曲线拟合适应弯道,跟踪则增强连续帧的车道线检测。