工人工装穿戴检测算法首先需要检测到人体,可以采用 yolov5实现,然后对人体采用 svm分类,或自研算法分类,或者采用其它开源算法框架都可行,当然每个分类样本量(不同环境)要达到4000张样本左右,才能达到商用级别。
YOLOv5是一种单阶段目标检测算法,该算法在YOLOv4的基础上添加了一些新的改进思路,使得其速度与精度都得到了极大的性能提升,具体包括:输入端的Mosaic数据增强、自适应锚框计算、自适应图片缩放操作;基准端的Focus结构与CSP结构;Neck端的SPP与FPN+PAN结构
Yolov5的Neck和Yolov4中一样,都采用FPN+PAN的结构。FPN是自顶向下,将高层的强语义特征传递下来,对整个金字塔进行增强,不过只增强了语义信息,对定位信息没有传递。FPN+PAN借鉴的是CVPR的PANet,当时主要应用于图像分割领域,但Alexey将其拆分应用到Yolov4中,进一步提高特征提取的能力。
import os
from torch.utils.data import Dataset
from utils import *
from torchvision import transforms
transform = pose([
transforms.ToTensor()
])
class MyDataset(Dataset):
def __init__(self, path):
self.path = path
self.name = os.listdir(os.path.join(path, 'notedata'))
def __len__(self):
return len(self.name)
def __getitem__(self, index):
segment_name = self.name[index] #XX.png
segment_path = os.path.join(self.path, 'notedata', segment_name)