Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Data Augmentation

Tăng cường dữ liệu huấn luyện model bằng các bản sao hiện có của ảnh được biến đổi ngẫu nhiên, chẳng hạn như lật, cắt và đổi màu, giúp model khái quát hóa tốt hơn.

Tăng cường dữ liệu làm đa dạng dataset huấn luyện bằng cách áp dụng các phép biến đổi ngẫu nhiên, chẳng hạn lật, cắt, đổi tỷ lệ, dịch chuyển màu và trộn hình ảnh, lên các mẫu đã có. Mỗi bản sao sau biến đổi giữ nguyên nhãn ban đầu, giúp model học rằng một đối tượng vẫn là chính đối tượng đó dù góc nhìn, ánh sáng và vị trí thay đổi. Việc thu thập và gán nhãn hình ảnh mới chậm và tốn kém, khiến tăng cường dữ liệu trở thành biện pháp ít tốn kém nhất để chống overfitting; hầu hết model thị giác máy tính hiện đại đều được huấn luyện bằng phương pháp này.

Cách tăng cường dữ liệu hoạt động#

Hầu hết pipeline huấn luyện tăng cường dữ liệu trực tuyến: data loader biến đổi từng hình ảnh khi tạo batch, lấy các tham số ngẫu nhiên mới mỗi lần, để mỗi epoch thấy một phiên bản khác nhau của từng hình ảnh. Ngược lại, tăng cường ngoại tuyến ghi một số lượng cố định các bản sao đã biến đổi ra đĩa trước khi huấn luyện, làm tăng dung lượng lưu trữ và khiến model có ít biến thể riêng biệt hơn nhiều.

Hai quy tắc giúp tăng cường dữ liệu không làm sai lệch nhãn. Thứ nhất, nhãn phải biến đổi cùng pixel: trong phát hiện đối tượng, phân đoạn instance và ước lượng pose, phép biến đổi hình học phải cập nhật mọi hộp giới hạn, mask và keypoint; phép lật ngang cũng hoán đổi keypoint trái và phải. Thứ hai, phép biến đổi phải có thể xảy ra trong thế giới thực: lật dọc phù hợp với ảnh chụp từ trên không và ảnh kính hiển vi, nhưng với cảnh đường phố, phép này tạo ra ô tô lộn ngược vốn không xuất hiện khi inference. Phép biến đổi của Torchvision tự động xử lý quy tắc thứ nhất khi truyền hộp cùng với ảnh:

from urllib.request import urlopen

from PIL import Image
from torchvision import tv_tensors
from torchvision.transforms import v2

image = Image.open(urlopen("https://ultralytics.com/images/bus.jpg"))  # 810 x 1080 pixels
boxes = tv_tensors.BoundingBoxes([[50, 400, 250, 900]], format="XYXY", canvas_size=(1080, 810))

# Flip every time (p=1.0) and shift colors; the box must move with the pixels
augment = v2.Compose([v2.RandomHorizontalFlip(p=1.0), v2.ColorJitter(brightness=0.4, saturation=0.7)])
new_image, new_boxes = augment(image, boxes)

print(f"Original box: {boxes.tolist()}")
print(f"Flipped box:  {new_boxes.tolist()}")

Bounding box quanh người đàn ông ở bên trái hình ảnh dịch chuyển từ [50, 400, 250, 900] sang [560, 400, 760, 900], đối xứng qua chiều rộng 810 pixel; trong khi đó, color jitter thay đổi pixel mà không tác động đến bounding box.

Các kỹ thuật phổ biến#

  • Phép biến đổi hình học: Lật, xoay, đổi tỷ lệ, dịch chuyển, cắt, xiên và biến dạng phối cảnh mô phỏng các vị trí camera và kích thước đối tượng khác nhau.
  • Phép biến đổi trắc quang: Thay đổi độ sáng, độ tương phản, độ bão hòa và sắc độ, cùng với làm mờ và thêm nhiễu, mô phỏng các điều kiện chiếu sáng, cảm biến và chất lượng hình ảnh khác nhau.
  • Che khuất: Xóa ngẫu nhiên và cutout làm trống các hình chữ nhật để model không thể phụ thuộc vào bất kỳ phần đơn lẻ nào của đối tượng.
  • Trộn hình ảnh: MixUp trộn hai hình ảnh và nhãn của chúng; CutMix dán một vùng từ hình ảnh này vào hình ảnh khác; mosaic ghép bốn hình ảnh thành một mẫu huấn luyện; còn copy-paste chuyển các đối tượng đã phân đoạn lên nền mới.
  • Chính sách tự động: RandAugment áp dụng một chuỗi phép biến đổi ngẫu nhiên chỉ được điều khiển bằng hai thiết lập: số lượng phép biến đổi và cường độ của chúng. Cách này loại bỏ bước tìm kiếm tốn kém cần có trong các chính sách được học trước đây.

Pipeline tăng cường dữ liệu cho phát hiện đối tượng#

Pipeline phát hiện nối tiếp nhiều phép biến đổi, mỗi phép có xác suất áp dụng riêng, vì vậy mỗi hình ảnh huấn luyện nhận một tổ hợp ngẫu nhiên khác nhau.

Quá trình huấn luyện Ultralytics YOLO chạy pipeline này theo mặc định, áp dụng mosaic cho mọi hình ảnh (mosaic=1.0), xác suất lật ngang 50% (fliplr=0.5), đổi tỷ lệ tối đa ±50% và dịch chuyển màu HSV; mosaic được tắt trong 10 epoch cuối (close_mosaic=10) để model kết thúc huấn luyện trên các hình ảnh hoàn chỉnh, trông tự nhiên.

from ultralytics import YOLO

# Tải model YOLO26n đã tiền huấn luyện
model = YOLO("yolo26n.pt")

# fliplr: xác suất lật ngang; scale: phạm vi phóng to/thu nhỏ (+/- 70%); degrees: phạm vi xoay (+/- 5)
results = model.train(data="coco8.yaml", epochs=10, fliplr=0.5, scale=0.7, degrees=5.0)

Trong lần chạy này, trainer YOLO26 lưu ba batch tăng cường đầu tiên dưới dạng train_batch0.jpg, train_batch1.jpg và train_batch2.jpg, có vẽ bounding box, để có thể kiểm tra tác động của từng thiết lập trước khi bắt đầu một lần chạy dài.

  • Dữ liệu tổng hợp: Được tạo từ đầu bằng engine render, trình mô phỏng hoặc model khuếch tán. Tăng cường dữ liệu biến đổi những hình ảnh thực đã có.
  • Tiền xử lý dữ liệu: Các bước xác định trước như đổi kích thước và chuẩn hóa, được áp dụng giống hệt cho mọi hình ảnh trong quá trình huấn luyện và inference. Tăng cường dữ liệu mang tính ngẫu nhiên và chỉ chạy khi huấn luyện.
  • Tăng cường tại thời điểm kiểm thử (TTA): Chạy inference trên một số phiên bản đã tăng cường của cùng đầu vào, chẳng hạn các bản sao được lật và đổi tỷ lệ, rồi kết hợp dự đoán; phương pháp này đánh đổi thêm chi phí tính toán để đạt mức tăng độ chính xác nhỏ.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning