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

训练检测口罩模型

下载项目

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
疫情期间佩戴口罩检测之训练检测口罩模型算法实现口罩检测步骤以及报错解决

Original: https://blog.csdn.net/qq_46556714/article/details/125291925
Author: 南蓬幽
Title: 疫情期间佩戴口罩检测之训练检测口罩模型算法实现口罩检测步骤以及报错解决

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/681540/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球