엔터프라이즈급 보안: ISO 27001 및 SOC 2 Type I 규정을 준수합니다.

Link to this sectionObjects365 데이터셋#

Objects365 데이터셋은 1,742,289개의 학습 이미지와 80,000개의 검증 이미지로 구성된 대규모 객체 탐지 벤치마크로, 사람, 자동차, 의자부터 병, 개, 가로등까지 365개의 객체 클래스를 포함합니다. Megvii 연구원들이 제작하여 ICCV 2019에서 발표한 이 데이터셋은 실제 환경의 다양한 객체에 초점을 맞추고 있으며, ImageNet 사전 학습 모델보다 더 뛰어난 일반화 성능을 보이는 컴퓨터 비전 모델을 사전 학습하는 데 널리 사용됩니다.



Watch: How to Train Ultralytics YOLO on the Objects365 Dataset

Link to this section주요 특징#

  • Objects365는 365개의 객체 클래스를 정의하며, 업스트림 릴리스에 따르면 총 3,000만 개의 BBox와 약 200만 개의 이미지가 포함되어 있습니다.
  • 이 데이터셋에는 다양한 실제 시나리오 속 객체들이 포함되어 있어, 객체 탐지 작업을 위한 풍부하고 도전적인 벤치마크를 제공합니다.
  • 주석에는 객체에 대한 BBox가 포함되어 있어 객체 탐지 모델을 학습하고 평가하는 데 적합합니다.
  • ICCV 2019 논문에 따르면, Objects365 사전 학습은 COCO 벤치마크에서 ImageNet 사전 학습보다 5.6 포인트(42.0 vs 36.4 mAP) 더 우수한 성능을 보입니다.

Link to this section데이터셋 구조#

Ultralytics Objects365.yaml 구성 파일은 두 가지 분할을 정의합니다:

Split이미지설명
학습(Train)1,742,289모델 학습용 라벨링된 이미지
검증80,000평가 및 벤치마킹을 위한 보류(held-out) 이미지

다운로드를 수행하면 학습 및 검증 분할(총 1,822,289개의 이미지)이 가져와지며, 구성 파일의 test: 키는 비워져 있습니다.

Link to this section응용 분야#

Objects365 데이터셋은 객체 탐지 분야의 광범위한 딥러닝 애플리케이션을 지원합니다:

  • 탐지 백본 사전 학습: 365개의 클래스와 밀집된 BBox 주석을 통해, Objects365 사전 학습은 COCOVOC와 같은 더 작은 데이터셋에서의 하위 미세 조정 성능을 향상시킵니다.
  • 소매 및 재고 인식: 병, 컵, 운동화, 핸드백 등 수백 가지 일상 카테고리를 활용하여 선반 모니터링 및 자동 결제 시스템을 지원합니다.
  • 로봇 공학 및 스마트 환경: 광범위한 가정용 및 거리 객체 커버리지는 로봇과 스마트 카메라가 비정형 환경 속 객체를 인식하는 데 도움을 줍니다.
  • 탐지기 벤치마킹: 방대한 클래스 목록과 실제 이미지 데이터는 탐지 모델의 일반화 성능을 평가하기 위한 까다로운 벤치마크가 됩니다.

자신의 이미지를 라벨링하고 브라우저에서 대규모 데이터셋을 학습 및 관리하려면 Ultralytics Platform을 통해 전체 워크플로를 실행하십시오.

Link to this section데이터셋 YAML#

Objects365.yaml 파일은 데이터셋 경로, 클래스 이름 및 기타 메타데이터를 포함한 데이터셋 구성을 정의합니다. 이 파일은 Ultralytics 리포지토리(https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Objects365.yaml)에서 유지 관리됩니다.

ultralytics/cfg/datasets/Objects365.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/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: 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: Dining 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: Hami melon
  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: Meatball
  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 concurrent.futures import ThreadPoolExecutor
  from pathlib import Path

  import numpy as np

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

  check_requirements("faster-coco-eval")
  from faster_coco_eval import COCO

  # Train, Val Splits
  dir = Path(yaml["path"])
  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
      images.mkdir(parents=True, exist_ok=True)
      labels.mkdir(parents=True, exist_ok=True)

      # 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, threads=17)  # 51 patches / 17 threads = 3
      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, threads=16)
          download([f"{url}images/v2/patch{i}.tar.gz" for i in range(16, patches)], dir=images, threads=16)

      # Move
      files = list(images.rglob("*.jpg"))
      with ThreadPoolExecutor(max_workers=16) as executor:
          list(TQDM(executor.map(lambda f: f.rename(images / f.name), files), total=len(files), desc=f"Moving {split} images"))

      # 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)

          def process_annotation(im):
              """Process and write annotations for a single image."""
              try:
                  width, height = im["width"], im["height"]
                  path = Path(im["file_name"])
                  with open(labels / path.with_suffix(".txt").name, "a", encoding="utf-8") 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)

          images_list = coco.loadImgs(imgIds)
          with ThreadPoolExecutor(max_workers=16) as executor:
              list(TQDM(executor.map(process_annotation, images_list), total=len(images_list), desc=f"Class {cid + 1}/{len(names)} {cat}"))

Link to this section사용법#

712 GB 다운로드

Objects365는 처음 사용할 때 자동으로 다운로드되며, 약 712 GB의 여유 디스크 공간이 필요합니다(다운로드된 zip 아카이브 345 GB + 추출된 데이터셋 367 GB). 다운로드 스크립트는 faster-coco-eval 패키지를 설치하고 주석을 YOLO 형식으로 변환하는데, 네트워크 연결 상태와 하드웨어 성능에 따라 오랜 시간이 걸릴 수 있습니다.

이미지 크기 640으로 100 epochs 동안 Objects365 데이터셋에서 YOLO26n 모델을 학습하려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 인수의 전체 목록은 모델 Training 페이지를 참조하십시오.

훈련 예제
from ultralytics import YOLO

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

# Train the model
results = model.train(data="Objects365.yaml", epochs=100, imgsz=640)

Link to this section샘플 이미지 및 주석#

Objects365 데이터셋은 365개 클래스 전반에 걸쳐 밀집된 BBox 주석이 포함된 다양하고 고해상도인 이미지들을 담고 있습니다. 아래 샘플은 이 데이터셋의 특징인 실제 환경의 장면과 다중 객체 주석을 보여줍니다:

다양한 객체 주석이 포함된 Objects365 데이터셋 샘플

Link to this section인용 및 감사의 글#

연구 또는 개발 작업에 Objects365 데이터셋을 사용하는 경우 다음 논문을 인용해 주십시오:

인용
@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}
}

컴퓨터 비전 연구 커뮤니티를 위한 귀중한 자원으로서 Objects365 데이터셋을 제작하고 유지 관리하는 연구팀에 감사를 표합니다. Objects365 데이터셋과 제작자에 대한 자세한 내용은 Objects365 데이터셋 웹사이트를 방문하십시오.

Link to this sectionFAQ#

Link to this sectionObjects365 데이터셋은 어떤 용도로 사용됩니까?#

Objects365 데이터셋머신러닝 및 컴퓨터 비전 분야에서 객체 탐지 모델을 학습하고 평가하는 데 사용됩니다. 이 데이터셋은 365개 객체 클래스에 걸쳐 1,742,289개의 학습 이미지와 80,000개의 검증 이미지를 제공하며, 이후 더 작은 작업별 데이터셋에서 미세 조정될 탐지기를 사전 학습하는 데 특히 인기가 높습니다.

Link to this sectionObjects365 데이터셋에는 얼마나 많은 이미지와 클래스가 포함되어 있습니까?#

Ultralytics Objects365.yaml 구성은 365개의 객체 클래스를 1,742,289개의 학습 이미지와 80,000개의 검증 이미지(총 1,822,289개)로 분할하며, 테스트 분할은 없습니다. 업스트림 릴리스에 따르면 전체적으로 약 200만 개의 이미지와 3,000만 개의 BBox가 보고되었습니다.

Link to this sectionObjects365 데이터셋 다운로드 용량은 어느 정도입니까?#

Objects365는 약 712 GB의 디스크 공간이 필요합니다. data="Objects365.yaml"로 처음 학습할 때 자동으로 다운로드되는 약 345 GB의 zip 아카이브와, 추출 후 367 GB의 공간이 필요합니다. 다운로드 스크립트는 faster-coco-eval 패키지를 설치하고 주석을 YOLO 형식으로 변환합니다. 탐지 데이터셋 개요에서 더 작은 대안들을 찾아볼 수 있습니다.

Link to this sectionObjects365 데이터셋에서 YOLO26 모델을 학습하려면 어떻게 해야 합니까?#

이미지 크기 640으로 100 epochs 동안 Objects365 데이터셋을 사용하여 YOLO26n 모델을 학습하려면 다음 지침을 따르십시오:

훈련 예제
from ultralytics import YOLO

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

# Train the model
results = model.train(data="Objects365.yaml", epochs=100, imgsz=640)

사용 가능한 인수의 전체 목록은 Training 페이지를 참조하십시오.

Link to this section객체 탐지 프로젝트에 Objects365 데이터셋을 사용해야 하는 이유는 무엇입니까?#

Objects365의 365개 클래스 어휘와 밀집된 주석은 이를 객체 탐지를 위한 가장 강력한 사전 학습 데이터셋 중 하나로 만듭니다. ICCV 2019 논문에서는 COCO에서 ImageNet 사전 학습 대비 5.6 포인트(42.0 vs 36.4 mAP)의 성능 향상을 보고했습니다. 데이터셋 이미지들은 다양한 실제 시나리오를 포괄하며, 이는 모델이 하위 탐지 작업에 잘 일반화되도록 돕습니다.

Link to this sectionObjects365 데이터셋의 YAML 구성 파일은 어디서 찾을 수 있습니까?#

Objects365 데이터셋의 YAML 구성 파일은 Objects365.yaml에서 확인할 수 있습니다. 이 파일에는 학습 환경을 설정하는 데 필수적인 데이터셋 경로 및 클래스 라벨과 같은 중요한 정보가 포함되어 있습니다.

댓글