1、项目开发背景
编译环境:基于python语言,openvino,pytorch
硬件环境:处理器 Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz 2.50 GHz
机带 RAM 8.00 GB (7.87 GB 可用)
系统类型 Windows10 64位操作系统
GPU 1050Ti(4GB)
数据集素材:小样本计数数据集
2、项目开发设计思路
数据集准备
由于提供的格式为VM格式,无法直接用于yolo,故选择用labelme进行标注,其中20p作为训练集,5p作为验证集,通过代码文件Data-enhancement-main\Data-enhancement\DataAugForObjectSegmentation\DataAugmentforLabelMe.py将数据集扩充10倍,采用yolov5-seg-master\json2txt.py文件将json格式转换为yolo格式后进行训练。(为了提高对剩余17类图片的识别率,于网上收集相似照片1000多张扩充后放入训练集一起训练),代码文件列表如下图所示。

3、项目运行流程
环境安装:
创建虚拟环境
conda create -n openvino python==3.9
激活环境
conda activate openvino
安装pytorch
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116 -i https://pypi.tuna.tsinghua.edu.cn/simple
安装 Cuda11.6
安装依赖库
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
激活环境:conda activate openvino
模型训练:修改yolov5-seg-master\data\custom.yaml文件设置,修改为自己数据集路径和种类

之后 python train.py
在yolov5-seg-master\runs\train-seg\weights文件夹生成训练好的模型
检测:predict.py --weights (训练生成的模型路径).best.pt --device cpu(未加速)
在yolov5-seg-master\runs\predict-seg文件下生成检测后的图片与labels
YOLOV5转换成openvino
pip install openvino-dev==2024.0.0
pip install openvino==2024.0.0
转换模型:python export.py --weights yolov5n-seg-best.pt(需要转换的权重路径) --include openvino
(这里可能无法直接转换成功,可能需要安装高版本的onnx)
在yolov5-seg-master\yolov5n-seg-best_openvino_model文件夹下生成openvino格式文件
运行:python openvino_seg_detect.py(openvino加速)
在yolov5-seg-master\output文件夹下生成检测文件与labels
注:生成的label文件为yolo格式,需要经过yolov5-seg-master文件夹下的三个程序处理才能生成性能评测文件需要的格式;程序1将yolo的相对坐标转换为绝对坐标,程序2将txt文件里的内容转换为比赛要求格式,程序3将所有txt文件内容合成一个。

配置好openvino环境后,将yolov5n-seg.best转换为openvino格式,运行yolov5-seg-master/openvino_seg_detect.py文件
