YOLOv8是基于目標檢測算法YOLOv5的改進版,它在YOLOv5的基礎上進行了優化和改進,加入了一些新的特性和技術,如切片注意力機制、骨干網絡的選擇等。
本文以yolov8-seg為基準,主要整理分割訓練流程及使用v8分割模型進行半自動標注的過程。
一、v8-seg訓練
1.1 環境配置
github下載項目:https://github.com/ultralytics/ultralytics
anaconda新建虛擬環境(python3.8及以上)后,進入項目根目錄,
執行pip install -r requirements.txt,另外需要安裝cuda版的torch和torchvision,本人安裝版本:torch-1.8.1+cu101, torchvision-0.9.1+cu101
1.2 數據集準備
labelme標注的json數據,需要轉換為yolo的txt格式,以及劃分訓練、驗證、測試數據集
1.2.1 分割數據的json轉txt
json2txt.py如下所示:
# -*- coding: utf-8 -*-
import json
import os
import argparse
from tqdm