Ultralytics-中文文档-六-

Ultralytics 中文文档(六)

全球小麦穗数据集

原文:docs.ultralytics.com/datasets/detect/globalwheat2020/

全球小麦穗数据集是一个图像集合,旨在支持精确的小麦穗检测模型开发,用于小麦表型和作物管理应用。小麦穗,也称为穗,是小麦植物的结实部分。准确估计小麦穗密度和大小对于评估作物健康、成熟度和产量潜力至关重要。该数据集由来自七个国家的九个研究机构合作创建,覆盖多个生长地区,以确保模型在不同环境中泛化良好。

主要特点

  • 数据集包含来自欧洲(法国、英国、瑞士)和北美(加拿大)的超过 3,000 张训练图像。

  • 它包括来自澳大利亚、日本和中国的大约 1,000 张测试图像。

  • 图像为户外田间图像,捕捉小麦穗外观的自然变异。

  • 注释包括小麦穗边界框,支持物体检测任务。

数据集结构

全球小麦穗数据集分为两个主要子集:

  1. 训练集:该子集包含来自欧洲和北美的超过 3,000 张图像。这些图像标有小麦穗边界框,为训练物体检测模型提供了真实数据。

  2. 测试集:该子集包含来自澳大利亚、日本和中国的大约 1,000 张图像。这些图像用于评估训练模型在未见基因型、环境和观测条件下的表现。

应用

全球小麦穗数据集广泛用于训练和评估小麦穗检测任务中的深度学习模型。数据集中多样的图像集合,捕捉了广泛的外观、环境和条件变化,使其成为植物表型和作物管理领域的研究人员和从业者的宝贵资源。

数据集 YAML

一个 YAML(另一种标记语言)文件用于定义数据集的配置。它包含关于数据集路径、类别和其他相关信息的信息。对于全球小麦穗数据集,GlobalWheat2020.yaml 文件位于 github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/GlobalWheat2020.yaml

ultralytics/cfg/datasets/GlobalWheat2020.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# Global Wheat 2020 dataset https://www.global-wheat.com/ by University of Saskatchewan
# Documentation: https://docs.ultralytics.com/datasets/detect/globalwheat2020/
# Example usage: yolo train data=GlobalWheat2020.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── GlobalWheat2020  ← downloads here (7.0 GB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path:  ../datasets/GlobalWheat2020  # dataset root dir
train:  # train images (relative to 'path') 3422 images
  -  images/arvalis_1
  -  images/arvalis_2
  -  images/arvalis_3
  -  images/ethz_1
  -  images/rres_1
  -  images/inrae_1
  -  images/usask_1
val:  # val images (relative to 'path') 748 images (WARNING: train set contains ethz_1)
  -  images/ethz_1
test:  # test images (optional) 1276 images
  -  images/utokyo_1
  -  images/utokyo_2
  -  images/nau_1
  -  images/uq_1

# Classes
names:
  0:  wheat_head

# Download script/URL (optional) ---------------------------------------------------------------------------------------
download:  |
  from ultralytics.utils.downloads import download
  from pathlib import Path

  # Download
  dir = Path(yaml['path'])  # dataset root dir
  urls = ['https://zenodo.org/record/4298502/files/global-wheat-codalab-official.zip',
  'https://github.com/ultralytics/assets/releases/download/v0.0.0/GlobalWheat2020_labels.zip']
  download(urls, dir=dir)

  # Make Directories
  for p in 'annotations', 'images', 'labels':
  (dir / p).mkdir(parents=True, exist_ok=True)

  # Move
  for p in 'arvalis_1', 'arvalis_2', 'arvalis_3', 'ethz_1', 'rres_1', 'inrae_1', 'usask_1', \
  'utokyo_1', 'utokyo_2', 'nau_1', 'uq_1':
  (dir / 'global-wheat-codalab-official' / p).rename(dir / 'images' / p)  # move to /images
  f = (dir / 'global-wheat-codalab-official' / p).with_suffix('.json')  # json file
  if f.exists():
  f.rename((dir / 'annotations' / p).with_suffix('.json'))  # move to /annotations 

使用方法

要在全球小麦穗数据集上使用图像大小为 640 的 YOLOv8n 模型进行 100 个时期的训练,您可以使用以下代码片段。有关可用参数的全面列表,请参考模型训练页面。

训练示例

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="GlobalWheat2020.yaml", epochs=100, imgsz=640) 
# Start training from a pretrained *.pt model
yolo  detect  train  data=GlobalWheat2020.yaml  model=yolov8n.pt  epochs=100  imgsz=640 

样本数据和注释

全球小麦穗数据集包含多样的户外田野图像,捕捉了小麦穗外观、环境和条件的自然变异。以下是数据集中一些数据的示例,以及它们对应的注释:

数据集示例图像

  • 小麦穗检测:本图展示了小麦穗检测的示例,其中小麦穗用边界框标注。该数据集提供了多种图像,以促进为此任务开发模型。

这个示例展示了全球小麦穗数据集中数据的多样性和复杂性,并突显了对小麦表型和作物管理应用中精确检测小麦穗的重要性。

引用和致谢

如果您在研究或开发工作中使用全球小麦穗数据集,请引用以下论文:

@article{david2020global,
  title={Global Wheat Head Detection (GWHD) Dataset: A Large and Diverse Dataset of High-Resolution RGB-Labelled Images to Develop and Benchmark Wheat Head Detection Methods},
  author={David, Etienne and Madec, Simon and Sadeghi-Tehran, Pouria and Aasen, Helge and Zheng, Bangyou and Liu, Shouyang and Kirchgessner, Norbert and Ishikawa, Goro and Nagasawa, Koichi and Badhon, Minhajul and others},
  journal={arXiv preprint arXiv:2005.02162},
  year={2020}
} 

我们要感谢那些为全球小麦穗数据集的创建和维护做出贡献的研究人员和机构,这是植物表型和作物管理研究社区的宝贵资源。有关数据集及其创建者的更多信息,请访问全球小麦穗数据集网站

常见问题解答

全球小麦穗数据集用于什么?

全球小麦穗数据集主要用于开发和训练旨在检测小麦穗的深度学习模型。这对于小麦表型和作物管理应用至关重要,能够更准确地估计小麦穗的密度、大小和整体产量潜力。准确的检测方法有助于评估作物的健康状况和成熟度,对于高效的作物管理至关重要。

如何在全球小麦穗数据集上训练 YOLOv8n 模型?

要在全球小麦穗数据集上训练 YOLOv8n 模型,您可以使用以下代码片段。确保您有指定数据集路径和类别的GlobalWheat2020.yaml配置文件:

训练示例

from ultralytics import YOLO

# Load a pre-trained model (recommended for training)
model = YOLO("yolov8n.pt")

# Train the model
results = model.train(data="GlobalWheat2020.yaml", epochs=100, imgsz=640) 
# Start training from a pretrained *.pt model
yolo  detect  train  data=GlobalWheat2020.yaml  model=yolov8n.pt  epochs=100  imgsz=640 

要获取所有可用参数的详细列表,请参阅模型训练页面。

全球小麦穗数据集的关键特点是什么?

全球小麦穗数据集的关键特点包括:

  • 来自欧洲(法国、英国、瑞士)和北美(加拿大)的 3,000 多张训练图像。

  • 来自澳大利亚、日本和中国的约 1,000 张测试图像。

  • 由于不同的生长环境,小麦穗外观存在高度变异性。

  • 带有小麦穗边界框的详细注释,有助于物体检测模型。

这些特点有助于开发能够在多个地区通用的强健模型。

我在哪里可以找到全球小麦穗数据集的配置 YAML 文件?

全球小麦穗数据集的配置 YAML 文件名为 GlobalWheat2020.yaml,可以在 GitHub 上获取。您可以访问这个 链接。这个文件包含关于数据集路径、类别和其他配置细节的必要信息,用于在 Ultralytics YOLO 中进行模型训练。

小麦穗检测在农作物管理中为何如此重要?

小麦穗检测在农作物管理中至关重要,因为它能够准确估计小麦穗的密度和大小,这对评估农作物的健康、成熟度和产量潜力至关重要。通过利用在全球小麦穗数据集等数据集上训练的深度学习模型,农民和研究人员可以更好地监测和管理农作物,从而提高生产力并优化农业实践中的资源利用。这种技术进步支持可持续农业和粮食安全倡议。

欲了解更多关于人工智能在农业中应用的信息,请访问 人工智能在农业中的应用

Objects365 数据集

原文:docs.ultralytics.com/datasets/detect/objects365/

Objects365 数据集是一个大规模、高质量的数据集,旨在促进对野外多样物体进行目标检测的研究。由Megvii研究人员团队创建,该数据集提供了广泛的高分辨率图像,并包含了覆盖 365 个物体类别的全面注释边界框。

主要特点

  • Objects365 包含 365 个物体类别,200 万张图像和超过 3000 万个边界框。

  • 该数据集包含各种场景中的多样化物体,为目标检测任务提供了丰富且具有挑战性的基准。

  • 注释包括物体的边界框,适合用于目标检测模型的训练和评估。

  • Objects365 预训练模型在各种任务上明显优于 ImageNet 预训练模型,提高了泛化性能。

数据集结构

Objects365 数据集被组织为一组图像及其对应的注释:

  • 图像:该数据集包含了 200 万张高分辨率图像,每张图像涵盖了 365 个类别中的多种物体。

  • 注释:图像标注了超过 3000 万个边界框,为目标检测任务提供了全面的真实信息。

应用

Objects365 数据集广泛用于深度学习模型在目标检测任务中的训练和评估。数据集中多样的物体类别和高质量的注释使其成为计算机视觉领域研究人员和从业者的宝贵资源。

数据集 YAML

用于定义数据集配置的 YAML(Yet Another Markup Language)文件包含了关于数据集路径、类别及其他相关信息的内容。对于 Objects365 数据集,Objects365.yaml 文件位于github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Objects365.yaml

ultralytics/cfg/datasets/Objects365.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# Objects365 dataset https://www.objects365.org/ by Megvii
# Documentation: https://docs.ultralytics.com/datasets/detect/objects365/
# Example usage: yolo train data=Objects365.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── Objects365  ← downloads here (712 GB = 367G data + 345G zips)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path:  ../datasets/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)

# Classes
names:
  0:  Person
  1:  Sneakers
  2:  Chair
  3:  Other Shoes
  4:  Hat
  5:  Car
  6:  Lamp
  7:  Glasses
  8:  Bottle
  9:  Desk
  10:  Cup
  11:  Street Lights
  12:  Cabinet/shelf
  13:  Handbag/Satchel
  14:  Bracelet
  15:  Plate
  16:  Picture/Frame
  17:  Helmet
  18:  Book
  19:  Gloves
  20:  Storage box
  21:  Boat
  22:  Leather Shoes
  23:  Flower
  24:  Bench
  25:  Potted Plant
  26:  Bowl/Basin
  27:  Flag
  28:  Pillow
  29:  Boots
  30:  Vase
  31:  Microphone
  32:  Necklace
  33:  Ring
  34:  SUV
  35:  Wine Glass
  36:  Belt
  37:  Monitor/TV
  38:  Backpack
  39:  Umbrella
  40:  Traffic Light
  41:  Speaker
  42:  Watch
  43:  Tie
  44:  Trash bin Can
  45:  Slippers
  46:  Bicycle
  47:  Stool
  48:  Barrel/bucket
  49:  Van
  50:  Couch
  51:  Sandals
  52:  Basket
  53:  Drum
  54:  Pen/Pencil
  55:  Bus
  56:  Wild Bird
  57:  High Heels
  58:  Motorcycle
  59:  Guitar
  60:  Carpet
  61:  Cell Phone
  62:  Bread
  63:  Camera
  64:  Canned
  65:  Truck
  66:  Traffic cone
  67:  Cymbal
  68:  Lifesaver
  69:  Towel
  70:  Stuffed Toy
  71:  Candle
  72:  Sailboat
  73:  Laptop
  74:  Awning
  75:  Bed
  76:  Faucet
  77:  Tent
  78:  Horse
  79:  Mirror
  80:  Power outlet
  81:  Sink
  82:  Apple
  83:  Air Conditioner
  84:  Knife
  85:  Hockey Stick
  86:  Paddle
  87:  Pickup Truck
  88:  Fork
  89:  Traffic Sign
  90:  Balloon
  91:  Tripod
  92:  Dog
  93:  Spoon
  94:  Clock
  95:  Pot
  96:  Cow
  97:  Cake
  98:  Dinning Table
  99:  Sheep
  100:  Hanger
  101:  Blackboard/Whiteboard
  102:  Napkin
  103:  Other Fish
  104:  Orange/Tangerine
  105:  Toiletry
  106:  Keyboard
  107:  Tomato
  108:  Lantern
  109:  Machinery Vehicle
  110:  Fan
  111:  Green Vegetables
  112:  Banana
  113:  Baseball Glove
  114:  Airplane
  115:  Mouse
  116:  Train
  117:  Pumpkin
  118:  Soccer
  119:  Skiboard
  120:  Luggage
  121:  Nightstand
  122:  Tea pot
  123:  Telephone
  124:  Trolley
  125:  Head Phone
  126:  Sports Car
  127:  Stop Sign
  128:  Dessert
  129:  Scooter
  130:  Stroller
  131:  Crane
  132:  Remote
  133:  Refrigerator
  134:  Oven
  135:  Lemon
  136:  Duck
  137:  Baseball Bat
  138:  Surveillance Camera
  139:  Cat
  140:  Jug
  141:  Broccoli
  142:  Piano
  143:  Pizza
  144:  Elephant
  145:  Skateboard
  146:  Surfboard
  147:  Gun
  148:  Skating and Skiing shoes
  149:  Gas stove
  150:  Donut
  151:  Bow Tie
  152:  Carrot
  153:  Toilet
  154:  Kite
  155:  Strawberry
  156:  Other Balls
  157:  Shovel
  158:  Pepper
  159:  Computer Box
  160:  Toilet Paper
  161:  Cleaning Products
  162:  Chopsticks
  163:  Microwave
  164:  Pigeon
  165:  Baseball
  166:  Cutting/chopping Board
  167:  Coffee Table
  168:  Side Table
  169:  Scissors
  170:  Marker
  171:  Pie
  172:  Ladder
  173:  Snowboard
  174:  Cookies
  175:  Radiator
  176:  Fire Hydrant
  177:  Basketball
  178:  Zebra
  179:  Grape
  180:  Giraffe
  181:  Potato
  182:  Sausage
  183:  Tricycle
  184:  Violin
  185:  Egg
  186:  Fire Extinguisher
  187:  Candy
  188:  Fire Truck
  189:  Billiards
  190:  Converter
  191:  Bathtub
  192:  Wheelchair
  193:  Golf Club
  194:  Briefcase
  195:  Cucumber
  196:  Cigar/Cigarette
  197:  Paint Brush
  198:  Pear
  199:  Heavy Truck
  200:  Hamburger
  201:  Extractor
  202:  Extension Cord
  203:  Tong
  204:  Tennis Racket
  205:  Folder
  206:  American Football
  207:  earphone
  208:  Mask
  209:  Kettle
  210:  Tennis
  211:  Ship
  212:  Swing
  213:  Coffee Machine
  214:  Slide
  215:  Carriage
  216:  Onion
  217:  Green beans
  218:  Projector
  219:  Frisbee
  220:  Washing Machine/Drying Machine
  221:  Chicken
  222:  Printer
  223:  Watermelon
  224:  Saxophone
  225:  Tissue
  226:  Toothbrush
  227:  Ice cream
  228:  Hot-air balloon
  229:  Cello
  230:  French Fries
  231:  Scale
  232:  Trophy
  233:  Cabbage
  234:  Hot dog
  235:  Blender
  236:  Peach
  237:  Rice
  238:  Wallet/Purse
  239:  Volleyball
  240:  Deer
  241:  Goose
  242:  Tape
  243:  Tablet
  244:  Cosmetics
  245:  Trumpet
  246:  Pineapple
  247:  Golf Ball
  248:  Ambulance
  249:  Parking meter
  250:  Mango
  251:  Key
  252:  Hurdle
  253:  Fishing Rod
  254:  Medal
  255:  Flute
  256:  Brush
  257:  Penguin
  258:  Megaphone
  259:  Corn
  260:  Lettuce
  261:  Garlic
  262:  Swan
  263:  Helicopter
  264:  Green Onion
  265:  Sandwich
  266:  Nuts
  267:  Speed Limit Sign
  268:  Induction Cooker
  269:  Broom
  270:  Trombone
  271:  Plum
  272:  Rickshaw
  273:  Goldfish
  274:  Kiwi fruit
  275:  Router/modem
  276:  Poker Card
  277:  Toaster
  278:  Shrimp
  279:  Sushi
  280:  Cheese
  281:  Notepaper
  282:  Cherry
  283:  Pliers
  284:  CD
  285:  Pasta
  286:  Hammer
  287:  Cue
  288:  Avocado
  289:  Hamimelon
  290:  Flask
  291:  Mushroom
  292:  Screwdriver
  293:  Soap
  294:  Recorder
  295:  Bear
  296:  Eggplant
  297:  Board Eraser
  298:  Coconut
  299:  Tape Measure/Ruler
  300:  Pig
  301:  Showerhead
  302:  Globe
  303:  Chips
  304:  Steak
  305:  Crosswalk Sign
  306:  Stapler
  307:  Camel
  308:  Formula 1
  309:  Pomegranate
  310:  Dishwasher
  311:  Crab
  312:  Hoverboard
  313:  Meat ball
  314:  Rice Cooker
  315:  Tuba
  316:  Calculator
  317:  Papaya
  318:  Antelope
  319:  Parrot
  320:  Seal
  321:  Butterfly
  322:  Dumbbell
  323:  Donkey
  324:  Lion
  325:  Urinal
  326:  Dolphin
  327:  Electric Drill
  328:  Hair Dryer
  329:  Egg tart
  330:  Jellyfish
  331:  Treadmill
  332:  Lighter
  333:  Grapefruit
  334:  Game board
  335:  Mop
  336:  Radish
  337:  Baozi
  338:  Target
  339:  French
  340:  Spring Rolls
  341:  Monkey
  342:  Rabbit
  343:  Pencil Case
  344:  Yak
  345:  Red Cabbage
  346:  Binoculars
  347:  Asparagus
  348:  Barbell
  349:  Scallop
  350:  Noddles
  351:  Comb
  352:  Dumpling
  353:  Oyster
  354:  Table Tennis paddle
  355:  Cosmetics Brush/Eyeliner Pencil
  356:  Chainsaw
  357:  Eraser
  358:  Lobster
  359:  Durian
  360:  Okra
  361:  Lipstick
  362:  Cosmetics Mirror
  363:  Curling
  364:  Table Tennis

# Download script/URL (optional) ---------------------------------------------------------------------------------------
download:  |
  from tqdm import tqdm

  from ultralytics.utils.checks import check_requirements
  from ultralytics.utils.downloads import download
  from ultralytics.utils.ops import xyxy2xywhn

  import numpy as np
  from pathlib import Path

  check_requirements(('pycocotools>=2.0',))
  from pycocotools.coco import COCO

  # Make Directories
  dir = Path(yaml['path'])  # dataset root dir
  for p in 'images', 'labels':
  (dir / p).mkdir(parents=True, exist_ok=True)
  for q in 'train', 'val':
  (dir / p / q).mkdir(parents=True, exist_ok=True)

  # Train, Val Splits
  for split, patches in [('train', 50 + 1), ('val', 43 + 1)]:
  print(f"Processing {split} in {patches} patches ...")
  images, labels = dir / 'images' / split, dir / 'labels' / split

  # Download
  url = f"https://dorc.ks3-cn-beijing.ksyun.com/data-set/2020Objects365%E6%95%B0%E6%8D%AE%E9%9B%86/{split}/"
  if split == 'train':
  download([f'{url}zhiyuan_objv2_{split}.tar.gz'], dir=dir)  # annotations json
  download([f'{url}patch{i}.tar.gz' for i in range(patches)], dir=images, curl=True, threads=8)
  elif split == 'val':
  download([f'{url}zhiyuan_objv2_{split}.json'], dir=dir)  # annotations json
  download([f'{url}images/v1/patch{i}.tar.gz' for i in range(15 + 1)], dir=images, curl=True, threads=8)
  download([f'{url}images/v2/patch{i}.tar.gz' for i in range(16, patches)], dir=images, curl=True, threads=8)

  # Move
  for f in tqdm(images.rglob('*.jpg'), desc=f'Moving {split} images'):
  f.rename(images / f.name)  # move to /images/{split}

  # Labels
  coco = COCO(dir / f'zhiyuan_objv2_{split}.json')
  names = [x["name"] for x in coco.loadCats(coco.getCatIds())]
  for cid, cat in enumerate(names):
  catIds = coco.getCatIds(catNms=[cat])
  imgIds = coco.getImgIds(catIds=catIds)
  for im in tqdm(coco.loadImgs(imgIds), desc=f'Class {cid + 1}/{len(names)} {cat}'):
  width, height = im["width"], im["height"]
  path = Path(im["file_name"])  # image filename
  try:
  with open(labels / path.with_suffix('.txt').name, 'a') as file:
  annIds = coco.getAnnIds(imgIds=im["id"], catIds=catIds, iscrowd=None)
  for a in coco.loadAnns(annIds):
  x, y, w, h = a['bbox']  # bounding box in xywh (xy top-left corner)
  xyxy = np.array([x, y, x + w, y + h])[None]  # pixels(1,4)
  x, y, w, h = xyxy2xywhn(xyxy, w=width, h=height, clip=True)[0]  # normalized and clipped
  file.write(f"{cid} {x:.5f} {y:.5f} {w:.5f} {h:.5f}\n")
  except Exception as e:
  print(e) 

使用

若要在 Objects365 数据集上使用图像大小为 640、进行 100 个 epochs 的 YOLOv8n 模型训练,可以使用以下代码片段。有关可用参数的全面列表,请参阅模型训练页面。

训练示例

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="Objects365.yaml", epochs=100, imgsz=640) 
# Start training from a pretrained *.pt model
yolo  detect  train  data=Objects365.yaml  model=yolov8n.pt  epochs=100  imgsz=640 

样本数据和注释

Objects365 数据集包含了一系列高分辨率图像,展示了来自 365 个类别的各种物体,为目标检测任务提供了丰富的上下文信息。以下是数据集中的一些示例图像:

数据集示例图像

  • Objects365:这幅图展示了一个目标检测的示例,其中物体用边界框标注。该数据集提供了各种图像,以便开发针对此任务的模型。

该示例展示了 Objects365 数据集中数据的多样性和复杂性,并突显了准确目标检测在计算机视觉应用中的重要性。

引用和致谢

如果您在研究或开发工作中使用 Objects365 数据集,请引用以下论文:

@inproceedings{shao2019objects365,
  title={Objects365: A Large-scale, High-quality Dataset for Object Detection},
  author={Shao, Shuai and Li, Zeming and Zhang, Tianyuan and Peng, Chao and Yu, Gang and Li, Jing and Zhang, Xiangyu and Sun, Jian},
  booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
  pages={8425--8434},
  year={2019}
} 

我们要感谢创建和维护 Objects365 数据集的研究团队,作为计算机视觉研究社区的宝贵资源。有关 Objects365 数据集及其创建者的更多信息,请访问 Objects365 数据集网站

常见问题解答

Objects365 数据集用于什么?

Objects365 数据集 是为机器学习和计算机视觉中的目标检测任务设计的。它提供了一个大规模高质量的数据集,包含 200 万张标注图像和 3000 万个边界框,覆盖了 365 个类别。利用这样一个多样化的数据集有助于提高目标检测模型的性能和泛化能力,对于该领域的研究和开发至关重要。

如何在 Objects365 数据集上训练 YOLOv8 模型?

要使用 Objects365 数据集训练一个 YOLOv8n 模型,进行 100 个 epoch,并设置图像尺寸为 640,请按照以下说明操作:

训练示例

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="Objects365.yaml", epochs=100, imgsz=640) 
# Start training from a pretrained *.pt model
yolo  detect  train  data=Objects365.yaml  model=yolov8n.pt  epochs=100  imgsz=640 

请参考培训页面以获取可用参数的全面列表。

为什么应该在我的目标检测项目中使用 Objects365 数据集?

Objects365 数据集在目标检测任务中具有几个优势:

您可以在哪里找到 Objects365 数据集的 YAML 配置文件?

Objects365 数据集的 YAML 配置文件可在 Objects365.yaml 找到。该文件包含诸如数据集路径和类别标签等关键信息,对于设置您的训练环境至关重要。

Objects365 数据集的数据集结构如何增强目标检测建模?

Objects365 数据集 组织结构清晰,包含 200 万张高分辨率图像和超过 3000 万个边界框的详细标注。这种结构确保了一个强大的数据集,用于训练深度学习模型进行目标检测,提供了丰富的对象和场景。这种多样性和数量有助于开发更准确并能良好泛化到实际应用的模型。有关数据集结构的更多详细信息,请参考数据集 YAML 部分。

Open Images V7 数据集

原文:docs.ultralytics.com/datasets/detect/open-images-v7/

Open Images V7 是由 Google 领导的多功能且广阔的数据集。旨在推动计算机视觉领域的研究,它拥有大量图像,并用多种数据进行了注释,包括图像级标签、物体边界框、物体分割蒙版、视觉关系和本地化叙述。

www.youtube.com/embed/u3pLlgzUeV8

观看: 使用 OpenImagesV7 预训练模型进行物体检测

Open Images V7 预训练模型

| 模型 | 大小 ^((像素)) | mAP ^(val 50-95) | 速度 ^(CPU ONNX

(毫秒)) | 速度 ^(A100 TensorRT

(毫秒)) | 参数 ^((M)) | FLOPs ^((B)) |

--- --- --- --- --- --- ---
YOLOv8n 640 18.4 142.4 1.21 3.5 10.5
YOLOv8s 640 27.7 183.1 1.40 11.4 29.7
YOLOv8m 640 33.6 408.5 2.26 26.2 80.6
YOLOv8l 640 34.9 596.9 2.43 44.1 167.4
YOLOv8x 640 36.3 860.6 3.56 68.7 260.6

Open Images V7 类别可视化

主要特征

  • 涵盖了以多种方式注释的约 900 万张图像,以适应多种计算机视觉任务。

  • 在 190 万张图像中,共有 1600 万个边界框跨越 600 个物体类别。这些框主要由专家手绘,确保高精度。

  • 提供了 330 万个可视关系注释,详细说明了 1466 个独特的关系三元组、物体属性和人类活动。

  • V5 引入了对 350 个类别中 2.8M 个物体的分割蒙版。

  • V6 引入了 67.5 万个本地化叙述,融合了语音、文本和鼠标轨迹,突出描述的物体。

  • V7 引入了在 140 万张图像上的 6640 万个点级标签,涵盖了 5827 个类别。

  • 涵盖了 20638 个类别中共 6140 万个图像级标签。

  • 提供了一个统一的平台,用于图像分类、物体检测、关系检测、实例分割和多模态图像描述。

数据集结构

Open Images V7 是一个由多个组件组成的结构,旨在满足多样化的计算机视觉挑战:

  • 图像:约 900 万张图像,通常展示复杂场景,平均每张图像有 8.3 个物体。

  • 边界框:超过 1600 万个框,标示了跨越 600 个类别的物体。

  • 分割蒙版:详细描述了 350 个类别中 2.8M 个物体的确切边界。

  • 视觉关系:3.3M 注释,指示对象关系、属性和动作。

  • 本地化叙述:675k 描述,结合语音、文本和鼠标轨迹。

  • 点级标签:66.4M 标签跨越 1.4M 图像,适用于零/少次语义分割。

应用

Open Images V7 是在各种计算机视觉任务中训练和评估最先进模型的基石。数据集的广泛范围和高质量的标注使其对专注于计算机视觉的研究人员和开发者不可或缺。

数据集 YAML

通常,数据集配备一个 YAML(Yet Another Markup Language)文件,该文件详细说明了数据集的配置。对于 Open Images V7 来说,可能存在一个假设的 OpenImagesV7.yaml。为了准确的路径和配置,应参考数据集的官方存储库或文档。

OpenImagesV7.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# Open Images v7 dataset https://storage.googleapis.com/openimages/web/index.html by Google
# Documentation: https://docs.ultralytics.com/datasets/detect/open-images-v7/
# Example usage: yolo train data=open-images-v7.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── open-images-v7  ← downloads here (561 GB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path:  ../datasets/open-images-v7  # dataset root dir
train:  images/train  # train images (relative to 'path') 1743042 images
val:  images/val  # val images (relative to 'path') 41620 images
test:  # test images (optional)

# Classes
names:
  0:  Accordion
  1:  Adhesive tape
  2:  Aircraft
  3:  Airplane
  4:  Alarm clock
  5:  Alpaca
  6:  Ambulance
  7:  Animal
  8:  Ant
  9:  Antelope
  10:  Apple
  11:  Armadillo
  12:  Artichoke
  13:  Auto part
  14:  Axe
  15:  Backpack
  16:  Bagel
  17:  Baked goods
  18:  Balance beam
  19:  Ball
  20:  Balloon
  21:  Banana
  22:  Band-aid
  23:  Banjo
  24:  Barge
  25:  Barrel
  26:  Baseball bat
  27:  Baseball glove
  28:  Bat (Animal)
  29:  Bathroom accessory
  30:  Bathroom cabinet
  31:  Bathtub
  32:  Beaker
  33:  Bear
  34:  Bed
  35:  Bee
  36:  Beehive
  37:  Beer
  38:  Beetle
  39:  Bell pepper
  40:  Belt
  41:  Bench
  42:  Bicycle
  43:  Bicycle helmet
  44:  Bicycle wheel
  45:  Bidet
  46:  Billboard
  47:  Billiard table
  48:  Binoculars
  49:  Bird
  50:  Blender
  51:  Blue jay
  52:  Boat
  53:  Bomb
  54:  Book
  55:  Bookcase
  56:  Boot
  57:  Bottle
  58:  Bottle opener
  59:  Bow and arrow
  60:  Bowl
  61:  Bowling equipment
  62:  Box
  63:  Boy
  64:  Brassiere
  65:  Bread
  66:  Briefcase
  67:  Broccoli
  68:  Bronze sculpture
  69:  Brown bear
  70:  Building
  71:  Bull
  72:  Burrito
  73:  Bus
  74:  Bust
  75:  Butterfly
  76:  Cabbage
  77:  Cabinetry
  78:  Cake
  79:  Cake stand
  80:  Calculator
  81:  Camel
  82:  Camera
  83:  Can opener
  84:  Canary
  85:  Candle
  86:  Candy
  87:  Cannon
  88:  Canoe
  89:  Cantaloupe
  90:  Car
  91:  Carnivore
  92:  Carrot
  93:  Cart
  94:  Cassette deck
  95:  Castle
  96:  Cat
  97:  Cat furniture
  98:  Caterpillar
  99:  Cattle
  100:  Ceiling fan
  101:  Cello
  102:  Centipede
  103:  Chainsaw
  104:  Chair
  105:  Cheese
  106:  Cheetah
  107:  Chest of drawers
  108:  Chicken
  109:  Chime
  110:  Chisel
  111:  Chopsticks
  112:  Christmas tree
  113:  Clock
  114:  Closet
  115:  Clothing
  116:  Coat
  117:  Cocktail
  118:  Cocktail shaker
  119:  Coconut
  120:  Coffee
  121:  Coffee cup
  122:  Coffee table
  123:  Coffeemaker
  124:  Coin
  125:  Common fig
  126:  Common sunflower
  127:  Computer keyboard
  128:  Computer monitor
  129:  Computer mouse
  130:  Container
  131:  Convenience store
  132:  Cookie
  133:  Cooking spray
  134:  Corded phone
  135:  Cosmetics
  136:  Couch
  137:  Countertop
  138:  Cowboy hat
  139:  Crab
  140:  Cream
  141:  Cricket ball
  142:  Crocodile
  143:  Croissant
  144:  Crown
  145:  Crutch
  146:  Cucumber
  147:  Cupboard
  148:  Curtain
  149:  Cutting board
  150:  Dagger
  151:  Dairy Product
  152:  Deer
  153:  Desk
  154:  Dessert
  155:  Diaper
  156:  Dice
  157:  Digital clock
  158:  Dinosaur
  159:  Dishwasher
  160:  Dog
  161:  Dog bed
  162:  Doll
  163:  Dolphin
  164:  Door
  165:  Door handle
  166:  Doughnut
  167:  Dragonfly
  168:  Drawer
  169:  Dress
  170:  Drill (Tool)
  171:  Drink
  172:  Drinking straw
  173:  Drum
  174:  Duck
  175:  Dumbbell
  176:  Eagle
  177:  Earrings
  178:  Egg (Food)
  179:  Elephant
  180:  Envelope
  181:  Eraser
  182:  Face powder
  183:  Facial tissue holder
  184:  Falcon
  185:  Fashion accessory
  186:  Fast food
  187:  Fax
  188:  Fedora
  189:  Filing cabinet
  190:  Fire hydrant
  191:  Fireplace
  192:  Fish
  193:  Flag
  194:  Flashlight
  195:  Flower
  196:  Flowerpot
  197:  Flute
  198:  Flying disc
  199:  Food
  200:  Food processor
  201:  Football
  202:  Football helmet
  203:  Footwear
  204:  Fork
  205:  Fountain
  206:  Fox
  207:  French fries
  208:  French horn
  209:  Frog
  210:  Fruit
  211:  Frying pan
  212:  Furniture
  213:  Garden Asparagus
  214:  Gas stove
  215:  Giraffe
  216:  Girl
  217:  Glasses
  218:  Glove
  219:  Goat
  220:  Goggles
  221:  Goldfish
  222:  Golf ball
  223:  Golf cart
  224:  Gondola
  225:  Goose
  226:  Grape
  227:  Grapefruit
  228:  Grinder
  229:  Guacamole
  230:  Guitar
  231:  Hair dryer
  232:  Hair spray
  233:  Hamburger
  234:  Hammer
  235:  Hamster
  236:  Hand dryer
  237:  Handbag
  238:  Handgun
  239:  Harbor seal
  240:  Harmonica
  241:  Harp
  242:  Harpsichord
  243:  Hat
  244:  Headphones
  245:  Heater
  246:  Hedgehog
  247:  Helicopter
  248:  Helmet
  249:  High heels
  250:  Hiking equipment
  251:  Hippopotamus
  252:  Home appliance
  253:  Honeycomb
  254:  Horizontal bar
  255:  Horse
  256:  Hot dog
  257:  House
  258:  Houseplant
  259:  Human arm
  260:  Human beard
  261:  Human body
  262:  Human ear
  263:  Human eye
  264:  Human face
  265:  Human foot
  266:  Human hair
  267:  Human hand
  268:  Human head
  269:  Human leg
  270:  Human mouth
  271:  Human nose
  272:  Humidifier
  273:  Ice cream
  274:  Indoor rower
  275:  Infant bed
  276:  Insect
  277:  Invertebrate
  278:  Ipod
  279:  Isopod
  280:  Jacket
  281:  Jacuzzi
  282:  Jaguar (Animal)
  283:  Jeans
  284:  Jellyfish
  285:  Jet ski
  286:  Jug
  287:  Juice
  288:  Kangaroo
  289:  Kettle
  290:  Kitchen & dining room table
  291:  Kitchen appliance
  292:  Kitchen knife
  293:  Kitchen utensil
  294:  Kitchenware
  295:  Kite
  296:  Knife
  297:  Koala
  298:  Ladder
  299:  Ladle
  300:  Ladybug
  301:  Lamp
  302:  Land vehicle
  303:  Lantern
  304:  Laptop
  305:  Lavender (Plant)
  306:  Lemon
  307:  Leopard
  308:  Light bulb
  309:  Light switch
  310:  Lighthouse
  311:  Lily
  312:  Limousine
  313:  Lion
  314:  Lipstick
  315:  Lizard
  316:  Lobster
  317:  Loveseat
  318:  Luggage and bags
  319:  Lynx
  320:  Magpie
  321:  Mammal
  322:  Man
  323:  Mango
  324:  Maple
  325:  Maracas
  326:  Marine invertebrates
  327:  Marine mammal
  328:  Measuring cup
  329:  Mechanical fan
  330:  Medical equipment
  331:  Microphone
  332:  Microwave oven
  333:  Milk
  334:  Miniskirt
  335:  Mirror
  336:  Missile
  337:  Mixer
  338:  Mixing bowl
  339:  Mobile phone
  340:  Monkey
  341:  Moths and butterflies
  342:  Motorcycle
  343:  Mouse
  344:  Muffin
  345:  Mug
  346:  Mule
  347:  Mushroom
  348:  Musical instrument
  349:  Musical keyboard
  350:  Nail (Construction)
  351:  Necklace
  352:  Nightstand
  353:  Oboe
  354:  Office building
  355:  Office supplies
  356:  Orange
  357:  Organ (Musical Instrument)
  358:  Ostrich
  359:  Otter
  360:  Oven
  361:  Owl
  362:  Oyster
  363:  Paddle
  364:  Palm tree
  365:  Pancake
  366:  Panda
  367:  Paper cutter
  368:  Paper towel
  369:  Parachute
  370:  Parking meter
  371:  Parrot
  372:  Pasta
  373:  Pastry
  374:  Peach
  375:  Pear
  376:  Pen
  377:  Pencil case
  378:  Pencil sharpener
  379:  Penguin
  380:  Perfume
  381:  Person
  382:  Personal care
  383:  Personal flotation device
  384:  Piano
  385:  Picnic basket
  386:  Picture frame
  387:  Pig
  388:  Pillow
  389:  Pineapple
  390:  Pitcher (Container)
  391:  Pizza
  392:  Pizza cutter
  393:  Plant
  394:  Plastic bag
  395:  Plate
  396:  Platter
  397:  Plumbing fixture
  398:  Polar bear
  399:  Pomegranate
  400:  Popcorn
  401:  Porch
  402:  Porcupine
  403:  Poster
  404:  Potato
  405:  Power plugs and sockets
  406:  Pressure cooker
  407:  Pretzel
  408:  Printer
  409:  Pumpkin
  410:  Punching bag
  411:  Rabbit
  412:  Raccoon
  413:  Racket
  414:  Radish
  415:  Ratchet (Device)
  416:  Raven
  417:  Rays and skates
  418:  Red panda
  419:  Refrigerator
  420:  Remote control
  421:  Reptile
  422:  Rhinoceros
  423:  Rifle
  424:  Ring binder
  425:  Rocket
  426:  Roller skates
  427:  Rose
  428:  Rugby ball
  429:  Ruler
  430:  Salad
  431:  Salt and pepper shakers
  432:  Sandal
  433:  Sandwich
  434:  Saucer
  435:  Saxophone
  436:  Scale
  437:  Scarf
  438:  Scissors
  439:  Scoreboard
  440:  Scorpion
  441:  Screwdriver
  442:  Sculpture
  443:  Sea lion
  444:  Sea turtle
  445:  Seafood
  446:  Seahorse
  447:  Seat belt
  448:  Segway
  449:  Serving tray
  450:  Sewing machine
  451:  Shark
  452:  Sheep
  453:  Shelf
  454:  Shellfish
  455:  Shirt
  456:  Shorts
  457:  Shotgun
  458:  Shower
  459:  Shrimp
  460:  Sink
  461:  Skateboard
  462:  Ski
  463:  Skirt
  464:  Skull
  465:  Skunk
  466:  Skyscraper
  467:  Slow cooker
  468:  Snack
  469:  Snail
  470:  Snake
  471:  Snowboard
  472:  Snowman
  473:  Snowmobile
  474:  Snowplow
  475:  Soap dispenser
  476:  Sock
  477:  Sofa bed
  478:  Sombrero
  479:  Sparrow
  480:  Spatula
  481:  Spice rack
  482:  Spider
  483:  Spoon
  484:  Sports equipment
  485:  Sports uniform
  486:  Squash (Plant)
  487:  Squid
  488:  Squirrel
  489:  Stairs
  490:  Stapler
  491:  Starfish
  492:  Stationary bicycle
  493:  Stethoscope
  494:  Stool
  495:  Stop sign
  496:  Strawberry
  497:  Street light
  498:  Stretcher
  499:  Studio couch
  500:  Submarine
  501:  Submarine sandwich
  502:  Suit
  503:  Suitcase
  504:  Sun hat
  505:  Sunglasses
  506:  Surfboard
  507:  Sushi
  508:  Swan
  509:  Swim cap
  510:  Swimming pool
  511:  Swimwear
  512:  Sword
  513:  Syringe
  514:  Table
  515:  Table tennis racket
  516:  Tablet computer
  517:  Tableware
  518:  Taco
  519:  Tank
  520:  Tap
  521:  Tart
  522:  Taxi
  523:  Tea
  524:  Teapot
  525:  Teddy bear
  526:  Telephone
  527:  Television
  528:  Tennis ball
  529:  Tennis racket
  530:  Tent
  531:  Tiara
  532:  Tick
  533:  Tie
  534:  Tiger
  535:  Tin can
  536:  Tire
  537:  Toaster
  538:  Toilet
  539:  Toilet paper
  540:  Tomato
  541:  Tool
  542:  Toothbrush
  543:  Torch
  544:  Tortoise
  545:  Towel
  546:  Tower
  547:  Toy
  548:  Traffic light
  549:  Traffic sign
  550:  Train
  551:  Training bench
  552:  Treadmill
  553:  Tree
  554:  Tree house
  555:  Tripod
  556:  Trombone
  557:  Trousers
  558:  Truck
  559:  Trumpet
  560:  Turkey
  561:  Turtle
  562:  Umbrella
  563:  Unicycle
  564:  Van
  565:  Vase
  566:  Vegetable
  567:  Vehicle
  568:  Vehicle registration plate
  569:  Violin
  570:  Volleyball (Ball)
  571:  Waffle
  572:  Waffle iron
  573:  Wall clock
  574:  Wardrobe
  575:  Washing machine
  576:  Waste container
  577:  Watch
  578:  Watercraft
  579:  Watermelon
  580:  Weapon
  581:  Whale
  582:  Wheel
  583:  Wheelchair
  584:  Whisk
  585:  Whiteboard
  586:  Willow
  587:  Window
  588:  Window blind
  589:  Wine
  590:  Wine glass
  591:  Wine rack
  592:  Winter melon
  593:  Wok
  594:  Woman
  595:  Wood-burning stove
  596:  Woodpecker
  597:  Worm
  598:  Wrench
  599:  Zebra
  600:  Zucchini

# Download script/URL (optional) ---------------------------------------------------------------------------------------
download:  |
  from ultralytics.utils import LOGGER, SETTINGS, Path, is_ubuntu, get_ubuntu_version
  from ultralytics.utils.checks import check_requirements, check_version

  check_requirements('fiftyone')
  if is_ubuntu() and check_version(get_ubuntu_version(), '>=22.04'):
  # Ubuntu>=22.04 patch https://github.com/voxel51/fiftyone/issues/2961#issuecomment-1666519347
  check_requirements('fiftyone-db-ubuntu2204')

  import fiftyone as fo
  import fiftyone.zoo as foz
  import warnings

  name = 'open-images-v7'
  fraction = 1.0  # fraction of full dataset to use
  LOGGER.warning('WARNING ⚠️ Open Images V7 dataset requires at least **561 GB of free space. Starting download...')
  for split in 'train', 'validation':  # 1743042 train, 41620 val images
  train = split == 'train'

  # Load Open Images dataset
  dataset = foz.load_zoo_dataset(name,
  split=split,
  label_types=['detections'],
  dataset_dir=Path(SETTINGS['datasets_dir']) / 'fiftyone' / name,
  max_samples=round((1743042 if train else 41620) * fraction))

  # Define classes
  if train:
  classes = dataset.default_classes  # all classes
  # classes = dataset.distinct('ground_truth.detections.label')  # only observed classes

  # Export to YOLO format
  with warnings.catch_warnings():
  warnings.filterwarnings("ignore", category=UserWarning, module="fiftyone.utils.yolo")
  dataset.export(export_dir=str(Path(SETTINGS['datasets_dir']) / name),
  dataset_type=fo.types.YOLOv5Dataset,
  label_field='ground_truth',
  split='val' if split == 'validation' else split,
  classes=classes,
  overwrite=train) 

使用

要在 Open Images V7 数据集上用 YOLOv8n 模型进行 100 个 epoch 的训练,并且图像大小为 640,您可以使用以下代码片段。有关可用参数的详细列表,请参考模型训练页面。

警告

完整的 Open Images V7 数据集包括 1,743,042 张训练图像和 41,620 张验证图像,下载后需要约 561 GB 的存储空间

执行以下提供的命令将自动下载完整数据集(如果本地尚未存在)。在运行以下示例之前,关键是:

  • 确保您的设备有足够的存储空间。

  • 确保稳定且高速的互联网连接。

训练示例

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Train the model on the Open Images V7 dataset
results = model.train(data="open-images-v7.yaml", epochs=100, imgsz=640) 
# Train a COCO-pretrained YOLOv8n model on the Open Images V7 dataset
yolo  detect  train  data=open-images-v7.yaml  model=yolov8n.pt  epochs=100  imgsz=640 

样本数据和注释

数据集的示例图可以帮助深入了解其丰富性:

数据集示例图

  • Open Images V7:这幅图展示了可用的注释深度和细节,包括边界框、关系和分割掩模。

研究人员可以从数据集解决的一系列计算机视觉挑战中获得宝贵的见解,从基本的物体检测到复杂的关系识别。

引用和致谢

对于那些在工作中使用 Open Images V7 的人,引用相关论文并承认创建者是明智之举:

@article{OpenImages,
  author  =  {Alina Kuznetsova and Hassan Rom and Neil Alldrin and Jasper Uijlings and Ivan Krasin and Jordi Pont-Tuset and Shahab Kamali and Stefan Popov and Matteo Malloci and Alexander Kolesnikov and Tom Duerig and Vittorio Ferrari},
  title  =  {The Open Images Dataset V4: Unified image classification, object detection, and visual relationship detection at scale},
  year  =  {2020},
  journal  =  {IJCV}
} 

由衷感谢谷歌 AI 团队创建和维护 Open Images V7 数据集。要深入了解数据集及其提供的内容,请访问官方 Open Images V7 网站

常见问题

Open Images V7 数据集是什么?

Open Images V7 是由谷歌创建的广泛而多功能的数据集,旨在推动计算机视觉研究。它包括图像级标签、物体边界框、物体分割掩模、视觉关系和本地化叙述,非常适合各种计算机视觉任务,如物体检测、分割和关系检测。

我如何在 Open Images V7 数据集上训练 YOLOv8 模型?

在 Open Images V7 数据集上训练 YOLOv8 模型,您可以使用 Python 和 CLI 命令。以下是使用图像尺寸为 640 训练 YOLOv8n 模型 100 个 epochs 的示例:

训练示例

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Train the model on the Open Images V7 dataset
results = model.train(data="open-images-v7.yaml", epochs=100, imgsz=640) 
# Train a COCO-pretrained YOLOv8n model on the Open Images V7 dataset
yolo  detect  train  data=open-images-v7.yaml  model=yolov8n.pt  epochs=100  imgsz=640 

关于参数和设置的更多详细信息,请参阅训练页面。

Open Images V7 数据集的一些关键特性是什么?

Open Images V7 数据集包括大约 900 万张图像,具有各种注释:- 边界框:跨越 600 个对象类别的 1600 万个边界框。- 分割蒙版:涵盖 350 个类别的 280 万个对象的蒙版。- 视觉关系:表示关系、属性和动作的 330 万个注释。- 本地化叙述:结合语音、文本和鼠标轨迹的 67.5 万个描述。- 点级标签:跨 140 万个图像的 6640 万个标签。- 图像级标签:跨 20,638 个类别的 6140 万个标签。

Open Images V7 数据集有哪些预训练模型可用?

Ultralytics 为 Open Images V7 数据集提供了几个预训练的 YOLOv8 模型,每个模型具有不同的尺寸和性能指标:

| 模型 | 尺寸 ^((像素)) | mAP^(val 50-95) | 速度 ^(CPU ONNX

(ms)) | 速度 ^(A100 TensorRT

(ms)) | 参数 ^((M)) | FLOPs ^((B)) |

--- --- --- --- --- --- ---
YOLOv8n 640 18.4 142.4 1.21 3.5 10.5
YOLOv8s 640 27.7 183.1 1.40 11.4 29.7
YOLOv8m 640 33.6 408.5 2.26 26.2 80.6
YOLOv8l 640 34.9 596.9 2.43 44.1 167.4
YOLOv8x 640 36.3 860.6 3.56 68.7 260.6

Open Images V7 数据集可以用于哪些应用?

Open Images V7 数据集支持多种计算机视觉任务,包括:- 图像分类 - 目标检测 - 实例分割 - 视觉关系检测 - 多模态图像描述

其详尽的标注和广泛的范围使其适用于训练和评估先进的机器学习模型,如在我们的应用程序部分详细说明的实际用例中所强调的。

SKU-110k 数据集

原文:docs.ultralytics.com/datasets/detect/sku-110k/

SKU-110k数据集是一组密集包装的零售货架图像,旨在支持对象检测任务的研究。由 Eran Goldman 等人开发,数据集包含超过 110,000 个独特的店内存货单位(SKU)类别,其中密集包装的物体通常外观相似甚至相同,放置在紧密的位置。

www.youtube.com/embed/_gRqR-miFPE

观看:如何使用 Ultralytics 在 SKU-110k 数据集上训练 YOLOv10 | 零售数据集

数据集示例图像

主要特点

  • SKU-110k 包含来自世界各地商店货架的图像,其中密集包装的物体对最先进的目标检测器构成挑战。

  • 数据集包括超过 110,000 个独特的 SKU 类别,提供多样化的物体外观。

  • 注释包括物体的边界框和 SKU 类别标签。

数据集结构

SKU-110k 数据集分为三个主要子集:

  1. 训练集:这个子集包含用于训练目标检测模型的图像和注释。

  2. 验证集:这个子集包含用于训练期间模型验证的图像和注释。

  3. 测试集:这个子集旨在对训练好的目标检测模型进行最终评估。

应用

SKU-110k 数据集被广泛用于训练和评估对象检测任务中的深度学习模型,特别是在零售货架展示等密集包装场景中。数据集丰富的 SKU 类别和密集包装的物体排列使其成为计算机视觉领域研究人员和实践者的宝贵资源。

数据集 YAML

使用 YAML(另一种标记语言)文件定义数据集配置。它包含有关数据集路径、类别和其他相关信息的信息。对于 SKU-110K 数据集,SKU-110K.yaml文件位于github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/SKU-110K.yaml

ultralytics/cfg/datasets/SKU-110K.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# SKU-110K retail items dataset https://github.com/eg4000/SKU110K_CVPR19 by Trax Retail
# Documentation: https://docs.ultralytics.com/datasets/detect/sku-110k/
# Example usage: yolo train data=SKU-110K.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── SKU-110K  ← downloads here (13.6 GB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path:  ../datasets/SKU-110K  # dataset root dir
train:  train.txt  # train images (relative to 'path')  8219 images
val:  val.txt  # val images (relative to 'path')  588 images
test:  test.txt  # test images (optional)  2936 images

# Classes
names:
  0:  object

# Download script/URL (optional) ---------------------------------------------------------------------------------------
download:  |
  import shutil
  from pathlib import Path

  import numpy as np
  import pandas as pd
  from tqdm import tqdm

  from ultralytics.utils.downloads import download
  from ultralytics.utils.ops import xyxy2xywh

  # Download
  dir = Path(yaml['path'])  # dataset root dir
  parent = Path(dir.parent)  # download dir
  urls = ['http://trax-geometry.s3.amazonaws.com/cvpr_challenge/SKU110K_fixed.tar.gz']
  download(urls, dir=parent)

  # Rename directories
  if dir.exists():
  shutil.rmtree(dir)
  (parent / 'SKU110K_fixed').rename(dir)  # rename dir
  (dir / 'labels').mkdir(parents=True, exist_ok=True)  # create labels dir

  # Convert labels
  names = 'image', 'x1', 'y1', 'x2', 'y2', 'class', 'image_width', 'image_height'  # column names
  for d in 'annotations_train.csv', 'annotations_val.csv', 'annotations_test.csv':
  x = pd.read_csv(dir / 'annotations' / d, names=names).values  # annotations
  images, unique_images = x[:, 0], np.unique(x[:, 0])
  with open((dir / d).with_suffix('.txt').__str__().replace('annotations_', ''), 'w') as f:
  f.writelines(f'./images/{s}\n' for s in unique_images)
  for im in tqdm(unique_images, desc=f'Converting {dir / d}'):
  cls = 0  # single-class dataset
  with open((dir / 'labels' / im).with_suffix('.txt'), 'a') as f:
  for r in x[images == im]:
  w, h = r[6], r[7]  # image width, height
  xywh = xyxy2xywh(np.array([[r[1] / w, r[2] / h, r[3] / w, r[4] / h]]))[0]  # instance
  f.write(f"{cls} {xywh[0]:.5f} {xywh[1]:.5f} {xywh[2]:.5f} {xywh[3]:.5f}\n")  # write label 

使用

要在 SKU-110K 数据集上训练一个 YOLOv8n 模型,使用 640 的图像大小进行 100 个 epochs,可以使用以下代码片段。要获取可用参数的全面列表,请参阅模型训练页面。

训练示例

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="SKU-110K.yaml", epochs=100, imgsz=640) 
# Start training from a pretrained *.pt model
yolo  detect  train  data=SKU-110K.yaml  model=yolov8n.pt  epochs=100  imgsz=640 

示例数据和注释

SKU-110k 数据集包含丰富的零售货架图像,其中物体密集包装,为对象检测任务提供丰富的上下文。以下是数据集中的一些示例数据及其相应的注释:

数据集示例图像

  • 密集包装的零售货架图像:此图展示了零售货架设置中密集包装物体的示例。物体带有边界框和 SKU 类别标签的注释。

这个示例展示了 SKU-110k 数据集中数据的多样性和复杂性,并突显了高质量数据对目标检测任务的重要性。

引用和致谢

如果您在研究或开发工作中使用 SKU-110k 数据集,请引用以下论文:

@inproceedings{goldman2019dense,
  author  =  {Eran Goldman and Roei Herzig and Aviv Eisenschtat and Jacob Goldberger and Tal Hassner},
  title  =  {Precise Detection in Densely Packed Scenes},
  booktitle  =  {Proc. Conf. Comput. Vision Pattern Recognition (CVPR)},
  year  =  {2019}
} 

我们要感谢 Eran Goldman 等人为创建和维护 SKU-110k 数据集作为计算机视觉研究社区的宝贵资源。有关 SKU-110k 数据集及其创建者的更多信息,请访问 SKU-110k 数据集 GitHub 仓库

常见问题解答

SKU-110k 数据集是什么以及对目标检测的重要性?

SKU-110k 数据集由 Eran Goldman 等人开发,包括超过 110,000 个独特的 SKU 类别的密集包装零售货架图像,旨在帮助目标检测研究。其重要性在于其挑战最先进的目标检测器处理多样化物体外观和近距离的能力,使其成为计算机视觉研究和实践者的宝贵资源。在我们的 SKU-110k 数据集部分了解更多关于数据集结构和应用的信息。

我如何使用 SKU-110k 数据集训练 YOLOv8 模型?

在 SKU-110k 数据集上训练 YOLOv8 模型非常简单。以下是一个训练 YOLOv8n 模型的示例,使用 640 的图像尺寸进行 100 个 epochs:

训练示例

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="SKU-110K.yaml", epochs=100, imgsz=640) 
# Start training from a pretrained *.pt model
yolo  detect  train  data=SKU-110K.yaml  model=yolov8n.pt  epochs=100  imgsz=640 

欲获得可用参数的详细列表,请参阅模型训练页面。

SKU-110k 数据集的主要子集是什么?

SKU-110k 数据集分为三个主要子集:

  1. 训练集:包含用于训练目标检测模型的图像和注释。

  2. 验证集:包含用于模型训练过程中验证的图像和注释。

  3. 测试集:用于最终评估已训练的目标检测模型。

有关更多详细信息,请参阅数据集结构部分。

我如何配置 SKU-110k 数据集进行训练?

SKU-110k 数据集的配置在一个 YAML 文件中定义,其中包括关于数据集路径、类别和其他相关信息的细节。SKU-110K.yaml 文件维护在 SKU-110K.yaml。例如,您可以根据我们的使用示例使用此配置来训练模型。

SKU-110k 数据集在深度学习背景下的关键特征是什么?

SKU-110k 数据集包含来自世界各地的商店货架图像,展示了密集包装的物体,对目标检测器提出了重大挑战:

  • 超过 110,000 个独特的 SKU 类别

  • 多样化物体外观

  • 注释包括边界框和 SKU 类别标签

这些特点使得 SKU-110k 数据集在目标检测任务中特别有价值,用于训练和评估深度学习模型。更多详细信息,请参阅关键特点部分。

我如何在我的研究中引用 SKU-110k 数据集?

如果您在研究或开发工作中使用 SKU-110k 数据集,请引用以下论文:

@inproceedings{goldman2019dense,
  author  =  {Eran Goldman and Roei Herzig and Aviv Eisenschtat and Jacob Goldberger and Tal Hassner},
  title  =  {Precise Detection in Densely Packed Scenes},
  booktitle  =  {Proc. Conf. Comput. Vision Pattern Recognition (CVPR)},
  year  =  {2019}
} 

数据集的更多信息可以在引用和致谢部分找到。

VisDrone 数据集

原文:docs.ultralytics.com/datasets/detect/visdrone/

VisDrone 数据集是由中国天津大学机器学习与数据挖掘实验室的 AISKYEYE 团队创建的大规模基准数据集。它包含针对与无人机图像和视频分析相关的各种计算机视觉任务的精心注释的真实数据。

VisDrone 由 288 个视频片段、261,908 帧和 10,209 张静态图像组成,这些图像由各种无人机搭载的相机捕获。该数据集涵盖了广泛的方面,包括位置(中国的 14 个不同城市)、环境(城市和乡村)、物体(行人、车辆、自行车等)和密度(稀疏和拥挤场景)。该数据集是在不同场景、天气和光照条件下使用各种无人机平台收集的。这些帧手动标注了超过 260 万个目标的边界框,如行人、汽车、自行车和三轮车。还提供了场景可见性、物体类别和遮挡等属性,以便更好地利用数据。

数据集结构

VisDrone 数据集分为五个主要子集,每个子集专注于特定任务:

  1. 任务 1:图像中的物体检测

  2. 任务 2:视频中的物体检测

  3. 任务 3:单目标跟踪

  4. 任务 4:多目标跟踪

  5. 任务 5:人群计数

应用程序

VisDrone 数据集广泛用于训练和评估深度学习模型在基于无人机的计算机视觉任务中的表现,如物体检测、物体跟踪和人群计数。该数据集多样的传感器数据、物体注释和属性使其成为无人机计算机视觉领域研究人员和从业者的宝贵资源。

数据集 YAML

YAML(Yet Another Markup Language)文件用于定义数据集配置。它包含有关数据集路径、类别和其他相关信息。在 VisDrone 数据集的情况下,VisDrone.yaml 文件维护在 github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/VisDrone.yaml

ultralytics/cfg/datasets/VisDrone.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# VisDrone2019-DET dataset https://github.com/VisDrone/VisDrone-Dataset by Tianjin University
# Documentation: https://docs.ultralytics.com/datasets/detect/visdrone/
# Example usage: yolo train data=VisDrone.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── VisDrone  ← downloads here (2.3 GB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path:  ../datasets/VisDrone  # dataset root dir
train:  VisDrone2019-DET-train/images  # train images (relative to 'path')  6471 images
val:  VisDrone2019-DET-val/images  # val images (relative to 'path')  548 images
test:  VisDrone2019-DET-test-dev/images  # test images (optional)  1610 images

# Classes
names:
  0:  pedestrian
  1:  people
  2:  bicycle
  3:  car
  4:  van
  5:  truck
  6:  tricycle
  7:  awning-tricycle
  8:  bus
  9:  motor

# Download script/URL (optional) ---------------------------------------------------------------------------------------
download:  |
  import os
  from pathlib import Path

  from ultralytics.utils.downloads import download

  def visdrone2yolo(dir):
  from PIL import Image
  from tqdm import tqdm

  def convert_box(size, box):
  # Convert VisDrone box to YOLO xywh box
  dw = 1\. / size[0]
  dh = 1\. / size[1]
  return (box[0] + box[2] / 2) * dw, (box[1] + box[3] / 2) * dh, box[2] * dw, box[3] * dh

  (dir / 'labels').mkdir(parents=True, exist_ok=True)  # make labels directory
  pbar = tqdm((dir / 'annotations').glob('*.txt'), desc=f'Converting {dir}')
  for f in pbar:
  img_size = Image.open((dir / 'images' / f.name).with_suffix('.jpg')).size
  lines = []
  with open(f, 'r') as file:  # read annotation.txt
  for row in [x.split(',') for x in file.read().strip().splitlines()]:
  if row[4] == '0':  # VisDrone 'ignored regions' class 0
  continue
  cls = int(row[5]) - 1
  box = convert_box(img_size, tuple(map(int, row[:4])))
  lines.append(f"{cls} {' '.join(f'{x:.6f}' for x in box)}\n")
  with open(str(f).replace(f'{os.sep}annotations{os.sep}', f'{os.sep}labels{os.sep}'), 'w') as fl:
  fl.writelines(lines)  # write label.txt

  # Download
  dir = Path(yaml['path'])  # dataset root dir
  urls = ['https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-train.zip',
  'https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-val.zip',
  'https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-dev.zip',
  'https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-challenge.zip']
  download(urls, dir=dir, curl=True, threads=4)

  # Convert
  for d in 'VisDrone2019-DET-train', 'VisDrone2019-DET-val', 'VisDrone2019-DET-test-dev':
  visdrone2yolo(dir / d)  # convert VisDrone annotations to YOLO labels 

用法

要在 VisDrone 数据集上训练 YOLOv8n 模型 100 个周期,图像大小为 640,可以使用以下代码片段。有关可用参数的完整列表,请参阅模型训练页面。

训练示例

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="VisDrone.yaml", epochs=100, imgsz=640) 
# Start training from a pretrained *.pt model
yolo  detect  train  data=VisDrone.yaml  model=yolov8n.pt  epochs=100  imgsz=640 

示例数据和注释

VisDrone 数据集包含由无人机搭载的相机捕获的多样化图像和视频。以下是数据集中一些数据的示例及其相应的注释:

数据集示例图像

  • 任务 1:图像中的物体检测 - 本图展示了图像中的物体检测示例,其中物体用边界框注释。数据集提供了来自不同位置、环境和密度的各种图像,以促进模型开发。

该示例展示了 VisDrone 数据集中数据的多样性和复杂性,并突出了对于基于无人机的计算机视觉任务而言高质量传感器数据的重要性。

引用和致谢

如果您在研究或开发工作中使用 VisDrone 数据集,请引用以下论文:

@ARTICLE{9573394,
  author={Zhu, Pengfei and Wen, Longyin and Du, Dawei and Bian, Xiao and Fan, Heng and Hu, Qinghua and Ling, Haibin},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  title={Detection and Tracking Meet Drones Challenge},
  year={2021},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TPAMI.2021.3119563}} 

我们要感谢中国天津大学机器学习与数据挖掘实验室的 AISKYEYE 团队创建和维护 VisDrone 数据集,作为无人机计算机视觉研究社区的宝贵资源。有关 VisDrone 数据集及其创建者的更多信息,请访问VisDrone 数据集 GitHub 仓库

常见问题解答

什么是 VisDrone 数据集,其主要特点是什么?

VisDrone 数据集是中国天津大学 AISKYEYE 团队创建的大规模基准,旨在处理与无人机图像和视频分析相关的各种计算机视觉任务。其主要特点包括:- 组成:288 个视频剪辑,261,908 帧和 10,209 张静态图像。- 注释:超过 260 万个边界框,用于行人、汽车、自行车和三轮车等对象。- 多样性:收集于 14 个城市,包括城市和农村设置,不同的天气和光照条件。- 任务:分为五个主要任务 - 图像和视频中的物体检测,单个和多个物体跟踪,以及人群计数。

我如何使用 VisDrone 数据集训练 YOLOv8 模型与 Ultralytics?

要在 VisDrone 数据集上使用 YOLOv8 模型进行 100 个 epochs 的训练,图像大小为 640,您可以按照以下步骤操作:

训练示例

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolov8n.pt")

# Train the model
results = model.train(data="VisDrone.yaml", epochs=100, imgsz=640) 
# Start training from a pretrained *.pt model
yolo  detect  train  data=VisDrone.yaml  model=yolov8n.pt  epochs=100  imgsz=640 

对于额外的配置选项,请参考模型训练页面。

VisDrone 数据集的主要子集及其应用是什么?

VisDrone 数据集分为五个主要子集,每个子集都针对特定的计算机视觉任务:1. 任务 1:图像中的物体检测。2. 任务 2:视频中的物体检测。3. 任务 3:单个物体跟踪。4. 任务 4:多个物体跟踪。5. 任务 5:人群计数。

这些子集广泛用于训练和评估基于无人机的应用中深度学习模型,如监视、交通监控和公共安全。

我在 Ultralytics 中如何找到 VisDrone 数据集的配置文件?

VisDrone 数据集的配置文件,VisDrone.yaml,可以在 Ultralytics 仓库的以下链接找到:VisDrone.yaml

如果我在研究中使用 VisDrone 数据集,如何引用它?

如果您在研究或开发工作中使用 VisDrone 数据集,请引用以下论文:

BibTeX

@ARTICLE{9573394,
  author={Zhu, Pengfei and Wen, Longyin and Du, Dawei and Bian, Xiao and Fan, Heng and Hu, Qinghua and Ling, Haibin},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  title={Detection and Tracking Meet Drones Challenge},
  year={2021},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TPAMI.2021.3119563}} 
posted @ 2024-08-08 13:58  绝不原创的飞龙  阅读(6)  评论(0编辑  收藏  举报