Tài liệu tham khảo cho ultralytics/data/utils.py
Ghi
Tệp này có sẵn tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/dữ liệu/utils.py. Nếu bạn phát hiện ra một vấn đề, vui lòng giúp khắc phục nó bằng cách đóng góp Yêu cầu 🛠️ kéo. Cảm ơn bạn 🙏 !
ultralytics.data.utils.HUBDatasetStats
Một lớp để tạo tập dữ liệu HUB JSON và -hub
thư mục tập dữ liệu.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
path |
str
|
Đường dẫn đến data.yaml hoặc data.zip (với data.yaml bên trong data.zip). Mặc định là 'coco8.yaml'. |
'coco8.yaml'
|
task |
str
|
Tác vụ tập dữ liệu. Các tùy chọn là 'phát hiện', 'phân đoạn', 'tạo dáng', 'phân loại'. Mặc định là 'phát hiện'. |
'detect'
|
autodownload |
bool
|
Cố gắng tải xuống tập dữ liệu nếu không tìm thấy cục bộ. Mặc định là False. |
False
|
Ví dụ
Tải xuống *.zip tệp từ https://github.com/ultralytics/hub/tree/main/example_datasets tức là https://github.com/ultralytics/hub/raw/main/example_datasets/coco8.zip cho coco8.zip.
from ultralytics.data.utils import HUBDatasetStats
stats = HUBDatasetStats('path/to/coco8.zip', task='detect') # detect dataset
stats = HUBDatasetStats('path/to/coco8-seg.zip', task='segment') # segment dataset
stats = HUBDatasetStats('path/to/coco8-pose.zip', task='pose') # pose dataset
stats = HUBDatasetStats('path/to/dota8.zip', task='obb') # OBB dataset
stats = HUBDatasetStats('path/to/imagenet10.zip', task='classify') # classification dataset
stats.get_json(save=True)
stats.process_images()
Mã nguồn trong ultralytics/data/utils.py
426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 |
|
__init__(path='coco8.yaml', task='detect', autodownload=False)
Khởi tạo lớp.
Mã nguồn trong ultralytics/data/utils.py
get_json(save=False, verbose=False)
Trả về tập dữ liệu JSON cho Ultralytics Trung tâm.
Mã nguồn trong ultralytics/data/utils.py
process_images()
Nén hình ảnh cho Ultralytics Trung tâm.
Mã nguồn trong ultralytics/data/utils.py
ultralytics.data.utils.img2label_paths(img_paths)
Xác định đường dẫn nhãn là một hàm của đường dẫn hình ảnh.
Mã nguồn trong ultralytics/data/utils.py
ultralytics.data.utils.get_hash(paths)
Trả về một giá trị băm duy nhất của một danh sách đường dẫn (tệp hoặc dirs).
Mã nguồn trong ultralytics/data/utils.py
ultralytics.data.utils.exif_size(img)
Trả về kích thước PIL đã sửa exif.
Mã nguồn trong ultralytics/data/utils.py
ultralytics.data.utils.verify_image(args)
Xác minh một hình ảnh.
Mã nguồn trong ultralytics/data/utils.py
ultralytics.data.utils.verify_image_label(args)
Xác minh một cặp nhãn hình ảnh.
Mã nguồn trong ultralytics/data/utils.py
ultralytics.data.utils.polygon2mask(imgsz, polygons, color=1, downsample_ratio=1)
Chuyển đổi danh sách đa giác thành mặt nạ nhị phân có kích thước hình ảnh được chỉ định.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
imgsz |
tuple
|
Kích thước của hình ảnh là (chiều cao, chiều rộng). |
bắt buộc |
polygons |
list[ndarray]
|
Danh sách các đa giác. Mỗi đa giác là một mảng có hình dạng [N, M], trong đó N là số đa giác và M là số điểm sao cho M % 2 = 0. |
bắt buộc |
color |
int
|
Giá trị màu để điền vào các đa giác trên mặt nạ. Mặc định là 1. |
1
|
downsample_ratio |
int
|
Yếu tố để downsample mặt nạ. Mặc định là 1. |
1
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
ndarray
|
Một mặt nạ nhị phân có kích thước hình ảnh được chỉ định với các đa giác được điền vào. |
Mã nguồn trong ultralytics/data/utils.py
ultralytics.data.utils.polygons2masks(imgsz, polygons, color, downsample_ratio=1)
Chuyển đổi danh sách đa giác thành một tập hợp các mặt nạ nhị phân có kích thước hình ảnh được chỉ định.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
imgsz |
tuple
|
Kích thước của hình ảnh là (chiều cao, chiều rộng). |
bắt buộc |
polygons |
list[ndarray]
|
Danh sách các đa giác. Mỗi đa giác là một mảng có hình dạng [N, M], trong đó N là số đa giác và M là số điểm sao cho M % 2 = 0. |
bắt buộc |
color |
int
|
Giá trị màu để điền vào các đa giác trên mặt nạ. |
bắt buộc |
downsample_ratio |
int
|
Yếu tố để downsample mỗi mặt nạ. Mặc định là 1. |
1
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
ndarray
|
Một bộ mặt nạ nhị phân có kích thước hình ảnh được chỉ định với các đa giác được điền vào. |
Mã nguồn trong ultralytics/data/utils.py
ultralytics.data.utils.polygons2masks_overlap(imgsz, segments, downsample_ratio=1)
Trả lại mặt nạ chồng chéo (640, 640).
Mã nguồn trong ultralytics/data/utils.py
ultralytics.data.utils.find_dataset_yaml(path)
Tìm và trả về tệp YAML được liên kết với tập dữ liệu Phát hiện, Phân đoạn hoặc Tư thế.
Hàm này tìm kiếm tệp YAML ở cấp gốc của thư mục được cung cấp trước tiên và nếu không tìm thấy, nó thực hiện tìm kiếm đệ quy. Nó thích các tệp YAML có cùng gốc với đường dẫn được cung cấp. Một AssertionError được nâng lên nếu không tìm thấy tệp YAML hoặc nếu tìm thấy nhiều tệp YAML.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
path |
Path
|
Đường dẫn thư mục để tìm kiếm tệp YAML. |
bắt buộc |
Trở lại:
Kiểu | Sự miêu tả |
---|---|
Path
|
Đường dẫn của tệp YAML được tìm thấy. |
Mã nguồn trong ultralytics/data/utils.py
ultralytics.data.utils.check_det_dataset(dataset, autodownload=True)
Tải xuống, xác minh và / hoặc giải nén tập dữ liệu nếu không tìm thấy cục bộ.
Chức năng này kiểm tra tính khả dụng của một tập dữ liệu được chỉ định và nếu không tìm thấy, nó có tùy chọn tải xuống và Giải nén tập dữ liệu. Sau đó, nó đọc và phân tích dữ liệu YAML đi kèm, đảm bảo các yêu cầu chính được đáp ứng và cũng có thể Giải quyết các đường dẫn liên quan đến tập dữ liệu.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
dataset |
str
|
Đường dẫn đến tập dữ liệu hoặc bộ mô tả tập dữ liệu (như tệp YAML). |
bắt buộc |
autodownload |
bool
|
Có tự động tải xuống tập dữ liệu nếu không tìm thấy hay không. Mặc định là True. |
True
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
dict
|
Thông tin tập dữ liệu phân tích cú pháp và đường dẫn. |
Mã nguồn trong ultralytics/data/utils.py
253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 |
|
ultralytics.data.utils.check_cls_dataset(dataset, split='')
Kiểm tra tập dữ liệu phân loại như Imagenet.
Hàm này chấp nhận một dataset
đặt tên và cố gắng truy xuất thông tin tập dữ liệu tương ứng.
Nếu tập dữ liệu không được tìm thấy cục bộ, nó sẽ cố gắng tải xuống tập dữ liệu từ internet và lưu cục bộ.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
dataset |
str | Path
|
Tên của tập dữ liệu. |
bắt buộc |
split |
str
|
Sự phân chia của tập dữ liệu. Hoặc là 'val', 'test' hoặc ''. Mặc định là ''. |
''
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
dict
|
Từ điển chứa các khóa sau: - 'train' (Đường dẫn): Đường dẫn thư mục chứa tập hợp đào tạo của tập dữ liệu. - 'val' (Đường dẫn): Đường dẫn thư mục chứa tập hợp xác thực của tập dữ liệu. - 'test' (Đường dẫn): Đường dẫn thư mục chứa tập thử nghiệm của tập dữ liệu. - 'nc' (int): Số lớp trong tập dữ liệu. - 'names' (dict): Từ điển tên lớp trong tập dữ liệu. |
Mã nguồn trong ultralytics/data/utils.py
347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 |
|
ultralytics.data.utils.compress_one_image(f, f_new=None, max_dim=1920, quality=50)
Nén một tệp hình ảnh duy nhất để giảm kích thước trong khi vẫn giữ nguyên tỷ lệ khung hình và chất lượng của nó bằng cách sử dụng Python Thư viện hình ảnh (PIL) hoặc thư viện OpenCV. Nếu hình ảnh đầu vào nhỏ hơn kích thước tối đa, nó sẽ không thay đổi kích thước.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
f |
str
|
Đường dẫn đến tệp hình ảnh đầu vào. |
bắt buộc |
f_new |
str
|
Đường dẫn đến tệp hình ảnh đầu ra. Nếu không được chỉ định, tệp đầu vào sẽ bị ghi đè. |
None
|
max_dim |
int
|
Kích thước tối đa (chiều rộng hoặc chiều cao) của hình ảnh đầu ra. Mặc định là 1920 pixel. |
1920
|
quality |
int
|
Chất lượng nén hình ảnh theo tỷ lệ phần trăm. Mặc định là 50%. |
50
|
Ví dụ
Mã nguồn trong ultralytics/data/utils.py
ultralytics.data.utils.autosplit(path=DATASETS_DIR / 'coco8/images', weights=(0.9, 0.1, 0.0), annotated_only=False)
Tự động chia tập dữ liệu thành các phần tách đào tạo / val / thử nghiệm và lưu các phần tách kết quả thành các tệp autosplit_ * .txt.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
path |
Path
|
Đường dẫn đến thư mục hình ảnh. Mặc định là DATASETS_DIR / 'coco8/images'. |
DATASETS_DIR / 'coco8/images'
|
weights |
list | tuple
|
Đào tạo, xác nhận và kiểm tra phân số phân tách. Mặc định là (0,9, 0,1, 0,0). |
(0.9, 0.1, 0.0)
|
annotated_only |
bool
|
Nếu True, chỉ những hình ảnh có tệp txt được liên kết mới được sử dụng. Mặc định là False. |
False
|
Mã nguồn trong ultralytics/data/utils.py
ultralytics.data.utils.load_dataset_cache_file(path)
Tải một Ultralytics *.cache từ điển từ đường dẫn.
Mã nguồn trong ultralytics/data/utils.py
ultralytics.data.utils.save_dataset_cache_file(prefix, path, x, version)
Lưu một Ultralytics tập dữ liệu *.cache dictionary x to path.