計算機視覺格式
15 種計算機視覺匯入格式,其中 11 種可雙向往返。包括帶 RLE 與人群區域的 COCO、YOLO、Pascal VOC、CVAT、雙向的 Darwin、KITTI、MOT、DAVIS、Cityscapes 等。
Potato 可讀取 15 種計算機視覺格式,其中 11 種可雙向往返:既能讀入,也能按同一格式寫回。 如果你正在權衡是否遷移一份資料集,真正的問題通常不是標籤能不能進來,而是能不能再出去。
匯入
potato import --format coco path/to/annotations.json
potato import path/to/dataset/ # 依據特徵檔案自動識別potato import 接受目錄與壓縮包,並依據特徵檔案識別格式,無需你指明。
匯入格式:COCO(多邊形、RLE、人群區域、全景、關鍵點)、YOLO、Pascal VOC、CVAT XML、Darwin(V7)、LabelMe、KITTI、MOT、DAVIS、Cityscapes、Labelbox、Open Images、VIA、WebDataset、HuggingFace。
自 Potato 2.9 起,同一條命令還能讀取 brat、doccano、Prodigy、CoNLL 與 REFI-QDA。參見匯入項目。
COCO 是按原樣匯入的,包含多邊形與 RLE 分割以及 iscrowd 人群區域,無需任何預處理步驟。已有的標註與模型輸出可以直接修正,而不必重做。
遷移這個問題
只支援匯入的路徑,讓團隊能夠離開某個平臺一次,卻永遠無法把成果交回去。在你把工具定下來之前,這種不對稱值得先查清楚。
在 Potato 中 Darwin 是雙向的,因此一份 V7 資料集可以進來、被加工、再回去。這是關於這一部分能力最值得一說的一點。
這張矩陣是生成的,也是被測試的
格式矩陣由登錄檔生成,並由一項測試固定:它斷言表中列出的每種格式確實已註冊、已註冊的格式沒有一個從表中遺漏,並且單向路徑在兩個方向上都被標註為單向。
一張可能與程式碼脫節的矩陣,比沒有矩陣更糟:它會告訴人們某次遷移可行而實際不可行;而低報了實際可行的部分,則會把人們從一次本可成功的遷移前面勸退。
各格式能承載什麼
不同格式所能保留的幾何資訊各不相同,而損失並不總是顯而易見:
- Pascal VOC 與 KITTI 只承載框。匯出到其中任何一種時,多邊形都會退化為它的外接框。
- YOLO 承載框與多邊形,不承載掩碼。
- DAVIS 只承載逐實例掩碼,別的都不承載。
- Cityscapes 承載多邊形,不承載框。
- KITTI 3D 只承載單個偏航角,因此俯仰與滾轉會被捨棄——並且匯出時會報告捨棄了多少朝向資訊。參見點雲。
經由有損格式往返,自然會以顯而易見的方式產生損失;Potato 會說明哪個方向會損失什麼,而不是留給你自己去發現。