最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

開發(fā)者實戰(zhàn) | 一個工具搞定標注數(shù)據(jù)格式轉換

2023-06-02 09:39 作者:oneAPI技術匯  | 我要投稿

前言

?

通常情況下,新模型發(fā)布后,其對應的 github 倉庫中都會有提供自定數(shù)據(jù)集訓練的任務腳本,開發(fā)者可以基于自己的數(shù)據(jù)集,快速實現(xiàn)對該模型結構的訓練與驗證。但往往這些訓練腳本僅支持部分的數(shù)據(jù)集格式,例如 YOLOv8 的官方倉庫,就是需要開發(fā)者的數(shù)據(jù)集格式滿足 Ultralytics 標準,或是手動編寫腳本進行,將原本的數(shù)據(jù)集格式轉化為 Ultralytics 格式,但這部分工作其實并不影響模型訓練后的部署效果,因此如果有一個工具幫助我們非常便捷地進行訓練數(shù)據(jù)的管理與格式轉換,將大大提升模型訓練的生產(chǎn)效率。

?

Datumaro 套件介紹

項目地址:https://github.com/openvinotoolkit/datumaro

Datumaro 是一個支持 Python 和命令行調(diào)用兩種調(diào)用方式的標注數(shù)據(jù)管理工具。它可以支持以下功能:

· 標注數(shù)據(jù)格式雙向轉換

可以適用于分類,分割,檢測,關鍵點檢測,文本定位,文本識別、重識別以及點云任務的數(shù)據(jù)處理,支持以下標注數(shù)據(jù)格式的互相轉換:

- CIFAR-10/100?(classification)

https://www.cs.toronto.edu/~kriz/cifar.html

- Cityscapes

https://www.cityscapes-dataset.com/

- COCO?

(image_info,?instances,?person_keypoints,?captions,?labels,?panoptic,?stuff)?

https://cocodataset.org/#format-data

- CVAT

https://openvinotoolkit.github.io/cvat/docs/manual/advanced/xml_format

- ImageNet?

https://image-net.org/

- Kitti?(segmentation,?detection,?3D raw?/?velodyne points)

https://www.cvlibs.net/datasets/kitti/index.php

-? LabelMe

http://labelme.csail.mit.edu/Release3.0/

-? LFW?(classification,?person re-identification,?landmarks)

http://vis-www.cs.umass.edu/lfw/

- MNIST?(classification)

https://yann.lecun.com/exdb/mnist/

- Open Images

https://storage.googleapis.com/openimages/web/download.html

- PASCAL?VOC?

(classification,?detection,?segmentation,?action_classification,?person_layout)

http://host.robots.ox.ac.uk/pascal/VOC/voc2012/htmldoc/index.html

-?TF Detection API?(bboxes,?masks)

https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/using_your_own_dataset.md

- YOLO?(bboxes)

https://github.com/AlexeyAB/darknet#how-to-train-pascal-voc-data

·? 構建并修改數(shù)據(jù)集

- 多個數(shù)據(jù)集合并

- 數(shù)據(jù)集標簽過濾,例如刪除特定標簽的圖片

- 修改數(shù)據(jù)集標簽

- 數(shù)據(jù)集分割,例如訓練集、驗證集與測試集

- 數(shù)據(jù)集采樣,例如基于 Entropy 的方法篩選合適的訓練集樣本

?

?

Datumaro 套件實踐

Datumaro 是支持命令行調(diào)用的模式,因此我們可以非常方便地使用 1 行命令完成 2 種不同格式數(shù)據(jù)的轉換,下面我將基于命令行模式,演示一下 Datumaro 處理標注數(shù)據(jù)格式轉化時的基本方法。

· Datumaro 安裝與基本使用方法

Datumaro 支持基于 PyPI 的安裝方式,如果想在第一時間體驗最新的功能也可以基于 github 倉庫直接安裝

?

Datumaro 的命令行調(diào)用方法非常簡單,如果你已經(jīng)有了一組標準格式的數(shù)據(jù)集,只需要在命令行中定于原始數(shù)據(jù)格式和路徑,以及轉換后的數(shù)據(jù)格式及路徑即可:

?

·? YOLOv8 目標檢測數(shù)據(jù)集實戰(zhàn)

正好最近在準備表計識別的項目,這里借用一下飛槳提供的表計檢測數(shù)據(jù)集,目標是使用 YOLOv8 模型構建表盤目標檢測任務。

數(shù)據(jù)集下載地址:

https://bj.bcebos.com/paddlex/examples/meter_reader/datasets/meter_det.tar.gz

下載數(shù)據(jù)集后可以看到文件目錄結構如下:

?

其實中 train 和 test 目錄下分別保存了圖片格式的訓練數(shù)據(jù)和驗證數(shù)據(jù):

我們可以隨機打開一張圖片驗證:

圖:圖片數(shù)據(jù)示例


?

第一步我們可先先使用 datum 命令自動識別一下該數(shù)據(jù)集的格式:

?

可以看到由于該數(shù)據(jù)集并沒有符合某類標準的格式規(guī)范,因此 Datumaro 將其判斷為普通的圖片文件夾。這里我可以手動查詢幾種數(shù)據(jù)集的標準格式,找到和原始數(shù)據(jù)集最相似的一種,然后進行手動修改。通過對于 Datumaro 支持的幾種數(shù)據(jù)格式標準進行查詢https://openvinotoolkit.github.io/datumaro/latest/docs/data-formats/supported_formats.html,我們發(fā)現(xiàn)原始數(shù)據(jù)的格式和COCO最為類似:

?

所以我們手動對原始目錄進行略微改造,增加一個images目錄用于單獨存放圖片數(shù)據(jù),改造結果如下:

?

這里有個容易被忽略的點,因為 ?Datumaro 會根據(jù) .json 標簽文件的文件名來判斷該數(shù)據(jù)集的用途,例如檢測或者分割,所以我們一定要將示例中 部分的名字改為 “instances”,接下來我們再使用 detect 方法檢測下修改后的數(shù)據(jù)集類型:

可以看到 Datumaro 已經(jīng)將其識別為標準的 COCO 格式類型。最后我們就可以調(diào)用之前提到的命令一鍵完成對數(shù)據(jù)集從 COCO 到 Ultralytics 標準的轉換:

P.S: --save-media 自動將圖片文件復制到新的數(shù)據(jù)集目錄下

轉換后的數(shù)據(jù)集目錄如下:


有了這樣一個 Ultralytics 標準數(shù)據(jù)集后,我們就可以直接將其對應的路徑放到 YOLOv8 倉庫中的配置文件中,然后開啟訓練腳本進行模型創(chuàng)建。

?

總結

Datumaro 是一個非常強大的標注數(shù)據(jù)管理工具,幫助開發(fā)者在各種數(shù)據(jù)標準間輕松實現(xiàn)格式的互相轉換,并實現(xiàn)對這些數(shù)據(jù)集的有效管理和改造,大大提升了既有數(shù)據(jù)集的復用性,完成對新模型效果進行快速驗證。


開發(fā)者實戰(zhàn) | 一個工具搞定標注數(shù)據(jù)格式轉換的評論 (共 條)

分享到微博請遵守國家法律
会昌县| 许昌县| 铅山县| 万州区| 财经| 永新县| 新密市| 古浪县| 连平县| 吉林省| 高淳县| 集贤县| 万年县| 黎川县| 霍山县| 德化县| 周至县| 上栗县| 宣威市| 田东县| 天门市| 开化县| 神木县| 平果县| 房山区| 长沙市| 汉阴县| 同仁县| 枝江市| 宁明县| 玉山县| 新晃| 浮梁县| 哈巴河县| 洛浦县| 屏山县| 公主岭市| 卓尼县| 济阳县| 藁城市| 平湖市|