:Objects365 大規(guī)模目標檢測數(shù)據(jù)集訓練、預訓練檢查點與 712GB 下載機制全解)
Ultralytics YOLO26 實戰(zhàn)Objects365 大規(guī)模目標檢測數(shù)據(jù)集訓練、預訓練檢查點與 712GB 下載機制全解【免費下載鏈接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking項目地址: https://gitcode.com/GitHub_Trending/ul/ultralyticsObjects365 是由 Megvii 研究團隊發(fā)布的大規(guī)模目標檢測數(shù)據(jù)集以約 174 萬張訓練圖和 365 個物體類別成為檢測模型預訓練的首選數(shù)據(jù)源之一。本篇基于 Ultralytics 倉庫中的 Objects365 數(shù)據(jù)集文檔 與配套配置、源碼講透三件事如何用Objects365.yaml一鍵自動下載并訓練 YOLO26 檢測器、如何免下載直接使用官方 Objects365 預訓練權重做預測與微調(diào)以及這套YAML 內(nèi)嵌 Python 下載腳本機制在 ultralytics/data/utils.py 中的真實執(zhí)行鏈路。數(shù)據(jù)集概覽與關鍵特性Objects365 是 ICCV 2019 論文Shao et al., Objects365: A Large-Scale, High-Quality Dataset for Object Detection發(fā)布的數(shù)據(jù)集聚焦真實世界場景中的多樣化物體覆蓋從人、車、椅子到瓶子、狗、路燈等 365 個類別。官方文檔給出的核心規(guī)格指標數(shù)值訓練圖像1,742,289 張驗證圖像80,000 張類別數(shù)365上游發(fā)布規(guī)模約 200 萬張圖像、3000 萬個邊界框從數(shù)據(jù)集特性看它適合目標檢測的原因有四365 類詞匯表 稠密框標注標注以邊界框形式給出天然適配檢測模型的訓練與評估真實場景多樣性圖像覆蓋各類 in-the-wild 場景構成有挑戰(zhàn)性的檢測基準預訓練價值高官方文檔引用 ICCV 2019 論文的實驗結論——以 Objects365 預訓練比以 ImageNet 預訓練在 COCO 基準上高 5.6 個點42.0 vs 36.4 mAP。這正是 Ultralytics 選擇它作為 YOLO26 預訓練數(shù)據(jù)源的原因典型應用場景檢測骨干預訓練后續(xù)在 COCO、VOC 等更小數(shù)據(jù)集上微調(diào)、零售貨架識別瓶、杯、運動鞋、手提包等日用類別、機器人與智能環(huán)境的無結構化場景識別、以及檢測模型泛化能力基準評測。數(shù)據(jù)集結構與 YAML 配置Ultralytics 在 ultralytics/cfg/datasets/Objects365.yaml 中維護該數(shù)據(jù)集的完整配置定義兩個數(shù)據(jù)劃分劃分圖像數(shù)用途Train1,742,289模型訓練Validation80,000評估與基準測試下載流程會拉取 train 與 val 兩個劃分合計 1,822,289 張圖像配置中的test:鍵刻意留空。YAML 的頭部注釋給出了路徑約定與磁盤占用預估# Objects365 dataset https://www.objects365.org/ by Megvii # Example usage: yolo train dataObjects365.yaml # parent # ├── ultralytics # └── datasets # └── Objects365 ← downloads here (712 GB 367G data 345G zips) path: Objects365 # dataset root dir train: images/train # train images (relative to path) 1742289 images val: images/val # val images (relative to path) 80000 images test: # test images (optional)names段按 0–364 索引完整定義了 365 個類別包括Person、Sneakers、Car、Street Lights、Bottle、Dog、Cat、Traffic Sign、Laptop、Refrigerator等完整 365 項見 Objects365.yaml。需要特別留意類別名中帶有斜杠的復合類別如Cabinet/shelf、Handbag/Satchel、Pen/Pencil、Bowl/Basin、Truck與Heavy Truck分屬不同類別等——在自定義下游數(shù)據(jù)集中若沿用其中部分類別需保持這種命名一致才能對齊權重中的類別索引。下載腳本的源碼級解析YAML 尾部Objects365.yaml 的download:塊內(nèi)嵌了一段 Python 腳本這是 Ultralytics 數(shù)據(jù)集即配置 設計的核心——把數(shù)據(jù)獲取邏輯與配置放在一起首次訓練時自動執(zhí)行。該腳本的工作流程安裝評估依賴調(diào)用check_requirements(faster-coco-eval)安裝faster-coco-eval包并從中導入COCO類用于解析原始 COCO 格式標注分片并行下載train 劃分下載 51 個補丁包patch0.tar.gz~patch50.tar.gz即代碼中的50 1外加標注文件zhiyuan_objv2_train.tar.gz使用 17 線程val 劃分下載 44 個補丁包43 1v1 補丁patch0–14與 v2 補丁patch16–43分兩組以 16 線程下載另有標注文件zhiyuan_objv2_val.json圖像歸位用ThreadPoolExecutor(max_workers16)把各補丁解壓出的*.jpg重命名平鋪到images/split/下標注格式轉換以類別為主循環(huán)遍歷 365 個類別對每張圖像調(diào)用COCO.getAnnIds/loadAnns取出標注框將 COCO 的像素級 xywh 經(jīng)xyxy2xywhn轉為歸一化 xywhn 五元組逐行追加寫入labels/split/image.txt{class_id} {x} {y} {w} {h}精度 5 位小數(shù)——這正是 YOLO 訓練所需的標準標簽格式。其中坐標轉換函數(shù)xyxy2xywhn定義在 ultralytics/utils/ops.pyclipTrue參數(shù)保證越界框被裁剪到圖像內(nèi)部避免出現(xiàn)歸一化坐標大于 1 的臟標簽。這套腳本如何被觸發(fā)入口在 ultralytics/data/utils.py 的check_det_dataset()它先做數(shù)據(jù)完整性校驗——train、val鍵必須存在names與nc必須二選一二者共存時長度必須一致Objects365 的 365 個names會被自動折算為nc: 365當 val 圖像目錄不存在且autodownload為真時檢查download鍵若以http開頭且以.zip結尾則按 URL 下載若以bash開頭則執(zhí)行 shell 命令否則直接把腳本當作 Python 代碼exec(s, {yaml: data})執(zhí)行ultralytics/data/utils.py。Objects365 走的正是最后這條分支腳本內(nèi)通過閉包變量yaml[path]拿到數(shù)據(jù)集根目錄下載目錄默認為DATASETS_DIR默認位于項目根目錄的datasets/可在 Ultralytics 設置文件中修改日志會提示 Note dataset download directory is ...。??磁盤與時間預算Objects365 首次使用自動下載共需約712GB 空閑磁盤——345GB 的 tar.gz 壓縮包 367GB 解壓后的數(shù)據(jù)集。下載腳本還會執(zhí)行標注轉換耗時取決于網(wǎng)絡帶寬與硬件。在評估訓練方案前官方文檔建議先到 檢測數(shù)據(jù)集總覽 對比體積更小的替代數(shù)據(jù)集如 COCO128、COCO8 等。Objects365 預訓練模型免下載直接可用Ultralytics 官方發(fā)布了在 Objects365v1 上預訓練的 YOLO26 檢測與分割模型均為 150 epochs、640 分辨率訓練無需下載 712GB 數(shù)據(jù)集即可檢測全部 365 類。檢測模型在 Objects365v1 驗證集上的單模型單尺度指標模型尺寸 (px)mAP val 50-95mAP val 50參數(shù)量 (M)FLOPs (B)YOLO26n64016.322.32.56.0YOLO26s64024.331.79.621.3YOLO26m64030.338.220.669.4YOLO26l64032.240.125.087.7YOLO26x64035.844.156.1195.7分割模型使用 Objects365v1 的掩碼生成同時報告框與掩碼精度模型尺寸 (px)mAP box 50-95mAP mask 50-95參數(shù)量 (M)FLOPs (B)YOLO26n-seg64015.713.22.89.7YOLO26s-seg64023.819.510.534.8YOLO26m-seg64029.523.823.8122.7YOLO26l-seg64031.725.328.2141.0YOLO26x-seg64035.427.963.1315.3注mAP val 為單模型單尺度、Objects365v1 驗證劃分上的結果Params 與 FLOPs 為model.fuse()融合后模型的數(shù)值。這些檢查點在源碼中的資產(chǎn)清單有明確定義ultralytics/utils/downloads.py 的GITHUB_ASSETS_NAMES包含yolo26{k}-objv1{suffix}.ptk ∈ nsmlxsuffix 為-150或-seg意味著yolo26n-objv1-150.pt、yolo26s-objv1-seg.pt等文件均可被框架識別為官方資產(chǎn)首次YOLO(...)加載時自動下載與常規(guī).pt權重行為一致。與 YOLO26 官方訓練流程的關系根據(jù) YOLO26 訓練配方文檔所有 YOLO26 基礎模型都是兩階段訓練——先在 Objects365v1 上預訓練 150 epochs再在 COCO 上微調(diào)全程 640×640、MuSGD 優(yōu)化器、batch 128。官方明確沒有任何 YOLO26 檢查點是從隨機權重直接訓練 COCO 得到的各尺寸 COCO 檢查點yolo26n.pt~yolo26x.pt的訓練配置中都記錄了對應的yolo26*-objv1-150.pt起始權重。換言之Objects365 預訓練是 YOLO26 性能的一部分來源而這些中間檢查點被官方一并發(fā)布供社區(qū)復用。使用預訓練檢查點預測與微調(diào)基于 Objects365 預訓練權重做預測365 類檢測或在其基礎上微調(diào)Python 與 CLI 兩種方式如下# Python from ultralytics import YOLO # 加載 Objects365 預訓練 YOLO26n 模型 model YOLO(yolo26n-objv1-150.pt) # 運行預測 results model.predict(sourceimage.jpg) # 從該預訓練檢查點開始訓練在你的數(shù)據(jù)集上 results model.train(datacoco8.yaml, epochs100, imgsz640)# CLI使用 Objects365 預訓練模型做預測 yolo detect predict sourceimage.jpg modelyolo26n-objv1-150.pt # CLI從 Objects365 預訓練檢查點開始訓練 yolo detect train datacoco8.yaml modelyolo26n-objv1-150.pt epochs100 imgsz640從源碼結構看加載這些權重與加載普通yolo26n.pt走的是同一條資產(chǎn)下載與檢查鏈路GITHUB_ASSETS_NAMES白名單校驗因此不需要任何額外配置即可復用。官方訓練配方文檔給出的建議是微調(diào)自己的數(shù)據(jù)集時直接從yolo26s-objv1-150.pt這類同尺寸 Objects365 權重出發(fā)而不是從 COCO 檢查點出發(fā)因為后者只面向 80 類完整訓練參數(shù)列表見 訓練模式文檔預測參數(shù)見 預測模式文檔。全量訓練在 Objects365 數(shù)據(jù)集上訓練 YOLO26n若要在整個 Objects365 數(shù)據(jù)集上從頭訓練例如復現(xiàn)預訓練階段或擴展數(shù)據(jù)以 100 epochs、640 圖像尺寸訓練 YOLO26n 為例# Python from ultralytics import YOLO # 加載模型推薦加載預訓練權重開始訓練 model YOLO(yolo26n.pt) # 開始訓練 results model.train(dataObjects365.yaml, epochs100, imgsz640)# CLI從預訓練 *.pt 模型開始訓練 yolo detect train dataObjects365.yaml modelyolo26n.pt epochs100 imgsz640執(zhí)行dataObjects365.yaml時的實際鏈路model.train()→ 數(shù)據(jù)校驗入口check_det_dataset(Objects365.yaml)→ 解析 YAML、發(fā)現(xiàn)images/val不存在且autodownload開啟 → 執(zhí)行 YAML 內(nèi)嵌下載腳本見上文解析→ 下載 712GB、轉換標注 → 繼續(xù)訓練。首次運行日志會提示數(shù)據(jù)集下載目錄位置。訓練過程中的可調(diào)參數(shù)epochs、imgsz、batch、patience早停等的完整列表在 訓練模式文檔 中。標注樣例Objects365 包含多樣化的高分辨率圖像365 類上標注稠密典型樣本呈現(xiàn)真實戶外/室內(nèi)場景中的多目標框標注——這種 in-the-wild 密集標注風格正是其作為預訓練源的說服力所在官方文檔配有樣例圖可在 Objects365 數(shù)據(jù)集文檔 中查看。引用與致謝若在你的研究或開發(fā)工作中使用 Objects365 數(shù)據(jù)集請引用原始論文InProceedings{Shao_2019_ICCV, author {Shao, Shuai and Li, Zeming and Zhang, Tianyuan and Peng, Chao and Yu, Gang and Zhang, Xiangyu and Li, Jing and Sun, Jian}, title {Objects365: A Large-Scale, High-Quality Dataset for Object Detection}, booktitle {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)}, month {October}, year {2019} }感謝創(chuàng)建并維護 Objects365 數(shù)據(jù)集的研究團隊該數(shù)據(jù)集是計算機視覺研究社區(qū)的重要資源。常見問題Objects365 用來做什么訓練與評估目標檢測模型尤其是大詞匯表預訓練 小數(shù)據(jù)集微調(diào)的范式先在 365 類、174 萬張圖上預訓練再在任務特定的小數(shù)據(jù)集上微調(diào)。數(shù)據(jù)規(guī)模到底多大Ultralytics 的Objects365.yaml覆蓋 365 類、1,742,289 張訓練圖 80,000 張驗證圖共 1,822,289 張無 test 劃分上游發(fā)布版本整體報告約 200 萬張圖像、3000 萬個邊界框。下載需要多少空間約 712GB345GB 壓縮包 367GB 解壓數(shù)據(jù)。首次以dataObjects365.yaml訓練時自動觸發(fā)下載腳本還會安裝faster-coco-eval并轉換標注耗時較長空間緊張時可先查看 檢測數(shù)據(jù)集總覽 中的小體積替代方案。為什么選 Objects365 而不是其他預訓練集365 類詞匯表 稠密框標注 真實場景多樣性。官方文檔引用 ICCV 2019 論文Objects365 預訓練相對 ImageNet 預訓練在 COCO 上提升 5.6 個 mAP 點42.0 vs 36.4且 Ultralytics 已用它為全部 YOLO26 尺寸模型完成預訓練階段訓練配方文檔。YAML 配置文件在哪倉庫內(nèi) ultralytics/cfg/datasets/Objects365.yaml包含數(shù)據(jù)路徑、365 類類別名與內(nèi)嵌下載腳本是搭建訓練環(huán)境的唯一入口配置。【免費下載鏈接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking項目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考