任務思路:
先使用xAnyLabeling標注一部分樣本,訓練出v1版本的yolov8-obb模型,然后加載yolov8-obb模型到xAnyLabeling中對其余樣本進行半自動化標注。節省工作量。
任務流程:
1.準備xAnyLabeling標注工具
下載代碼,配置環境,啟動服務等基礎操作不做贅述,可參考如下博客:
下載官方網址:?https://github.com/CVHub520/X-AnyLabeling
啟動服務:python?anylabeling/app.py
其他基礎操作參考博客:
????????X-Anylabeling: 一款多SOTA深度學習模型集成的新一代自動標注工具-CSDN博客
????????自動標注!!!x-anylabeling使用教程-CSDN博客
2.訓練好yolov8s-obb模型之后,轉為onnx文件
我的yolov8s-obb模型基于ultralytics項目訓練得到,因此export代碼如下:
from ultralytics import YOLO# build a new model from YAML
model = YOLO(r'E:\_cpz\0_project\2_703_defect_detect\code\xAiDefect-wuhu\task\yolo-obb\yolov8-obb.yaml')
# load a pretrained model (recommended for training)
model = YOLO(r'E:\_cpz\0_project\2_703_defect_detect\code\xAiDefect-wuhu\runs\obb\train-v1\weights\best.pt')# Export the model
success = model.export(format='onnx', dynamic=True)print(success)
?得到best.onnx后,放到xAnyLabeling項目下。
3.寫自己的配置文件yaml
在項目中找到anylabeling/configs/auto_labeling/yolov8s_obb.yaml文件,它是anylabeling已經適配好的yolov8-obb模型的配置文件。我們只需要仿照它的結構進行修改即可。我將它復制一份到best.onnx同目錄下,改名為yolov8s_obb_wuhu_v1.yaml。
打開yolov8s_obb_wuhu_v1.yaml,指定下面的一些參數,可以參考官網,自由發揮(我額外指定了圖像寬高):
best.onnx和yolov8s_obb_wuhu_v1.yaml這兩個文件就是定制化需要的文件,就準備好了。
4.在models.yaml中指定自己的定制文件
打開anylabeling/configs/auto_labeling/models.yaml這是xAnyLabeling配置可選模型的文件,然后在文件末尾增加私有化的model_name和config_file。
5.運行xAnyLabeling的app服務,加載自己的yolov8-obb模型
啟動項目代碼python?anylabeling/app.py,點擊AI圖標。
然后可以從下拉菜單中選中我們自己的模型名稱。提示模型已加載。
6.打開要標注的樣本文件夾,進行自動標注
快捷鍵i進行單圖標注。
點擊左下角按鈕批量標注。
然后可以選中標注結果,進行修改,也可以進行增刪等操作。