吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個工具搞定標(biāo)注數(shù)據(jù)格式轉(zhuǎn)換

英特爾物聯(lián)網(wǎng) ? 來源:英特爾物聯(lián)網(wǎng) ? 2023-05-26 10:28 ? 次閱讀

作者:楊亦誠

前言

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

Datumaro 套件介紹

項目地址:

https://github.com/openvinotoolkit/datumaro

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

1. 標(biāo)注數(shù)據(jù)格式雙向轉(zhuǎn)換

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

CIFAR-10/100(classification)

Cityscapes

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

CVAT

ImageNet

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

LabelMe

LFW(classification,person re-identification,landmarks)

MNIST(classification)

Open Images

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

TF Detection API(bboxes,masks)

YOLO(bboxes)

2. 構(gòu)建并修改數(shù)據(jù)集

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

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

修改數(shù)據(jù)集標(biāo)簽

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

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

Datumaro 套件實踐

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

1Datumaro 安裝與基本使用方法

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

 # From PyPI:
$ pip install datumaro[default] 
$ pip install 'git+https://github.com/openvinotoolkit/datumaro[default]' 

向右滑動查看完整代碼

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

 $ datum convert -if voc -i -f coco -o

向右滑動查看完整代碼

2YOLOv8 目標(biāo)檢測數(shù)據(jù)集實戰(zhàn)

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

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

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

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

├── meter_det
│  ├── annotations
│      ├── instance_train.json
│      └── instance_test.json
│  ├── test
│  └── train

向右滑動查看完整代碼

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

├── test
│  ├── 20190822_105.jpg
│  ├── 20190822_110.jpg
│  ├── 20190822_123.jpg
│  ├── 20190822_124.jpg
│  ├── 20190822_127.jpg
│  ├── …

向右滑動查看完整代碼

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

$ datum detect './meter_det'  
輸出:Detected format: image_dir

向右滑動查看完整代碼

可以看到由于該數(shù)據(jù)集并沒有符合某類標(biāo)準(zhǔn)的格式規(guī)范,因此 Datumaro 將其判斷為普通的圖片文件夾。這里我可以手動查詢幾種數(shù)據(jù)集的標(biāo)準(zhǔn)格式,找到和原始數(shù)據(jù)集最相似的一種,然后進(jìn)行手動修改。通過對于 Datumaro 支持的幾種數(shù)據(jù)格式標(biāo)準(zhǔn)進(jìn)行查詢:

https://openvinotoolkit.github.io/datumaro/latest/docs/data-formats/supported_formats.html

我們發(fā)現(xiàn)原始數(shù)據(jù)的格式和COCO最為類似:

└─ Dataset/
  ├── dataset_meta.json # a list of custom labels (optional)
  ├── images/
  │  ├── train/
  │  │  ├──
  │  │  ├──
  │  │  └── ...
  │  └── val/
  │    ├──
  │    ├──
  │    └── ...
  └── annotations/
    ├── _.json
    └── ...

向右滑動查看完整代碼

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

├── meter_det_coco
│  ├── annotations
│      ├── instances_train.json
│      └── instances_val.json
│  └── images
  ├── train
└── val

向右滑動查看完整代碼

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

$ datum detect './meter_det_coco' 
輸出:Detected format: coco

向右滑動查看完整代碼

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

$ datum convert -if coco -i '/home/ethan/intel/data/meter_det_coco' -f yolo_ultralytics -o '/home/ethan/intel/data/meter_det_yolo' -- --save-media

向右滑動查看完整代碼

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

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

├── meter_det_yolo
│  ├── data.yaml
│  ├── images
│  │  ├── train
│  │  └── val
│  ├── labels
│  │  ├── train
│  │  └── val
│  ├── train.txt
│  └── val.txt
└── table.jpg

向右滑動查看完整代碼

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

model.train(data=' data.yaml ', epochs=100, imgsz=640)

向右滑動查看完整代碼

總結(jié)

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

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 英特爾
    +關(guān)注

    關(guān)注

    61

    文章

    10007

    瀏覽量

    172326
  • 數(shù)據(jù)格式
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    8918
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3305

    瀏覽量

    49217
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    391

    瀏覽量

    14938
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    473

    瀏覽量

    16564

原文標(biāo)題:一個工具搞定標(biāo)注數(shù)據(jù)格式轉(zhuǎn)換 | 開發(fā)者實戰(zhàn)

文章出處:【微信號:英特爾物聯(lián)網(wǎng),微信公眾號:英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    請問TLV320AIC3268的ADC轉(zhuǎn)換后的數(shù)據(jù)格式是什么樣的?

    我在使用TLV320AIC3268,但是不知道ADC轉(zhuǎn)換后的數(shù)據(jù)格式是什么樣的?比如是二進(jìn)制補碼嗎?轉(zhuǎn)后的數(shù)據(jù)與輸入的模擬信號的電壓值有什么關(guān)系?
    發(fā)表于 10-14 07:48

    ADC3561轉(zhuǎn)換成什么數(shù)據(jù)格式便于高速實時通過WIFI發(fā)送?

    5MHz的16位采樣率,LVDS格式數(shù)據(jù)輸出,使用串口轉(zhuǎn)WIFI模塊受限于串口波特率無法實現(xiàn)實時發(fā)送,請問轉(zhuǎn)換成什么數(shù)據(jù)格式便于高速實時通過WIFI發(fā)送
    發(fā)表于 11-18 08:06

    【中級】labview每日教【11.21】TDMS數(shù)據(jù)格式

    1.各種數(shù)據(jù)格式之間華山論劍2.深入淺出帶你了解TDMS數(shù)據(jù)格式的用法[hide] [/hide]
    發(fā)表于 11-21 09:38

    數(shù)據(jù)格式如何修改

    向大神求助,想問下單片機(jī)和計算機(jī)通信,數(shù)據(jù)格式怎么改,是在上位機(jī)部分改嗎?想實現(xiàn)用單片機(jī)按鍵控制計數(shù)器,將數(shù)值發(fā)給計算機(jī),然后上位機(jī)編寫的窗口上能顯示十進(jìn)制數(shù)現(xiàn)在能夠?qū)崿F(xiàn)的是,發(fā)送數(shù)據(jù)0x01,接收顯示的是81,發(fā)送
    發(fā)表于 12-24 22:58

    標(biāo)準(zhǔn)測試數(shù)據(jù)格式STDF你了解多少

    STDF (標(biāo)準(zhǔn)測試數(shù)據(jù)格式) 是我們半導(dǎo)體測試行業(yè)的最主要的數(shù)據(jù)格式,包含了summary信息和所有測試項的測試結(jié)果。泰瑞達(dá)的Image測試機(jī)上都自帶了很多stdf工具,讓你可以讀取和分析stdf
    發(fā)表于 06-18 10:41

    JSON 數(shù)據(jù)格式

    JavaScript 中處理 JSON 數(shù)據(jù)不需要任何特殊的 API 或工具包。將 JSON 數(shù)據(jù)賦值給變量例如,可以創(chuàng)建新的 Jav
    發(fā)表于 03-30 14:48

    數(shù)據(jù)格式不同,如何在轉(zhuǎn)換求均值

    在圖1中,可讀取wav格式的文件,亦可播放,在后續(xù)的求均值中便會出錯,是否因為數(shù)據(jù)格式不對?或者是wav格式的文件用不用先用MATLAB轉(zhuǎn)成txt的數(shù)據(jù)然后再求,如果是那樣的話還能播放
    發(fā)表于 03-10 10:19

    串口的數(shù)據(jù)格式

    文章目錄.前言二.串口數(shù)據(jù)的發(fā)送與接收三.串口波特率四.串口的數(shù)據(jù)格式(1)起始位(2)數(shù)據(jù)位(1)奇偶檢驗位(1)停止位五.物理接口的形式六.TTL、RS232、RS485電平標(biāo)準(zhǔn)
    發(fā)表于 08-06 07:28

    海洋環(huán)境信息數(shù)據(jù)格式分析研究

    海洋環(huán)境信息是海洋科學(xué)研究與信息交流的重要基礎(chǔ),其數(shù)據(jù)格式的標(biāo)準(zhǔn)化不僅影響數(shù)據(jù)的交互性,也是影響海洋環(huán)境信息共享的關(guān)鍵所在。目前,國內(nèi)外海洋環(huán)境信息數(shù)據(jù)格式多種
    發(fā)表于 02-22 16:05 ?7次下載

    數(shù)據(jù)格式,計算機(jī)中數(shù)據(jù)格式詳細(xì)介紹

    數(shù)據(jù)格式,計算機(jī)中數(shù)據(jù)格式詳細(xì)介紹    計算機(jī)中常用的數(shù)據(jù)表示格式有兩種,是定點格式,二是浮
    發(fā)表于 04-13 11:36 ?3721次閱讀

    新型數(shù)據(jù)格式轉(zhuǎn)換的FPGA實現(xiàn)

    提出了一種數(shù)據(jù)格式轉(zhuǎn)換方法。使用VHDL語言,采用流水線處理方式將ASCII碼所表示的定范圍內(nèi)的實數(shù)轉(zhuǎn)換為單精度浮點數(shù)。
    發(fā)表于 11-18 15:39 ?865次閱讀
    新型<b class='flag-5'>數(shù)據(jù)格式</b><b class='flag-5'>轉(zhuǎn)換</b>的FPGA實現(xiàn)

    gps數(shù)據(jù)格式含義說明

    本內(nèi)容介紹了gps數(shù)據(jù)格式的含義,給出了GPS輸出的是NMEA-0183的數(shù)據(jù)格式,GPS固定數(shù)據(jù)輸出語句($GPGGA)
    發(fā)表于 12-19 14:57 ?1.3w次閱讀

    MDB-RS232適配器數(shù)據(jù)格式分析

    MDB-RS232適配器數(shù)據(jù)格式分析。讓用戶能夠很容易理解發(fā)送和接收的數(shù)據(jù)格式。快速實現(xiàn)MDB接口的紙幣器,硬幣器和非現(xiàn)金支付刷卡器的數(shù)據(jù)解析。
    發(fā)表于 04-27 15:50 ?7次下載

    串口通訊的基本概念、數(shù)據(jù)格式

    本文介紹了串口通訊的基本概念、數(shù)據(jù)格式、通訊方式、典型的串口通訊標(biāo)準(zhǔn)等內(nèi)容。
    的頭像 發(fā)表于 04-23 11:13 ?5805次閱讀
    串口通訊的基本概念、<b class='flag-5'>數(shù)據(jù)格式</b>

    工具搞定標(biāo)注數(shù)據(jù)格式轉(zhuǎn)換

    Datumaro 是支持命令行調(diào)用的模式,因此我們可以非常方便地使用 1 行命令完成 2 種不同格式數(shù)據(jù)轉(zhuǎn)換,下面我將基于命令行模式,演示下 Datumaro 處理
    的頭像 發(fā)表于 06-13 17:00 ?1074次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>工具</b><b class='flag-5'>搞定標(biāo)注</b><b class='flag-5'>數(shù)據(jù)格式</b><b class='flag-5'>轉(zhuǎn)換</b>
    百家乐官网新注册送彩金| 大发888网页版体育| 百家乐官网平台信誉排名| 网上玩百家乐犯法| 太子娱乐城开户| 百家乐赢足球博彩皇冠| 豪杰百家乐官网游戏| 百家乐游戏开发软件| 甘泉县| 线上百家乐网站| 百家乐官网真钱牌九| 百家乐必胜法技巧| 网上百家乐官网赌法| 大发888官方指定| 百家乐官网高手论| 澳门玩大小| 百家乐赌博平台| 百家乐官网娱乐城提款| 百家乐园蒙特卡罗| 百家乐官网旺门打法| 百家乐技巧开户| 百家乐官网一年诈骗多少钱| 汕尾市| 怎么玩百家乐的玩法技巧和规则 | 威尼斯人娱乐平台反水| 澳门百家乐官网然后赢| 爱博彩论坛| 百家乐多少钱| 百家乐官网娱乐城备用网址| 大发888怎么了| 网络百家乐| 澳门百家乐官网规律星期娱乐城博彩| 大发888备用网址大全| 博彩百家乐软件| 百家乐官网棋牌辅助| 最好的棋牌游戏| 百盛百家乐软件| 网上赌百家乐官网的玩法技巧和规则| 网上现金百家乐| 威尼斯人娱乐城官网地址| 百家乐官网扑克多少张|