Nâng cao Tập dữ liệu của bạn để Huấn luyện YOLO26 Bằng Albumentations
Khi bạn xây dựng các mô hình thị giác máy tính, chất lượng và sự đa dạng của dữ liệu huấn luyện có thể đóng vai trò lớn trong hiệu suất của mô hình. Albumentations cung cấp một cách nhanh chóng, linh hoạt và hiệu quả để áp dụng nhiều phép biến đổi hình ảnh có thể cải thiện khả năng thích ứng của mô hình với các tình huống thực tế. Nó dễ dàng tích hợp với Ultralytics YOLO26 và có thể giúp bạn tạo ra các tập dữ liệu mạnh mẽ cho các tác vụ object detection, segmentation và classification.
Bằng cách sử dụng Albumentations, bạn có thể tăng cường dữ liệu huấn luyện YOLO26 của mình bằng các kỹ thuật như biến đổi hình học và điều chỉnh màu sắc. Trong bài viết này, chúng ta sẽ xem Albumentations có thể cải thiện quy trình data augmentation của bạn và làm cho các dự án YOLO26 của bạn trở nên hiệu quả hơn như thế nào. Hãy bắt đầu!
Albumentations để Tăng cường Ảnh
Albumentations là một thư viện tăng cường hình ảnh mã nguồn mở được tạo ra vào tháng 6 năm 2018. Nó được thiết kế để đơn giản hóa và tăng tốc quá trình tăng cường hình ảnh trong thị giác máy tính. Được tạo ra với hiệu suất và tính linh hoạt, nó hỗ trợ nhiều kỹ thuật tăng cường đa dạng, từ các phép biến đổi đơn giản như xoay và lật đến các điều chỉnh phức tạp hơn như thay đổi độ sáng và độ tương phản. Albumentations giúp các nhà phát triển tạo ra các bộ dữ liệu phong phú, đa dạng cho các tác vụ như phân loại hình ảnh, phát hiện đối tượng và phân đoạn.
Bạn có thể sử dụng Albumentations để dễ dàng áp dụng các phương pháp tăng cường cho hình ảnh, mặt nạ phân đoạn, hộp giới hạn và các điểm chính, đồng thời đảm bảo rằng tất cả các thành phần của bộ dữ liệu của bạn được chuyển đổi cùng nhau. Nó hoạt động liền mạch với các framework deep learning phổ biến như PyTorch và TensorFlow, giúp nó có thể truy cập được cho nhiều loại dự án.
Ngoài ra, Albumentations là một lựa chọn tuyệt vời để tăng cường dữ liệu, cho dù bạn đang xử lý các tập dữ liệu nhỏ hay các tác vụ thị giác máy tính quy mô lớn. Nó đảm bảo xử lý nhanh chóng và hiệu quả, giảm thời gian chuẩn bị dữ liệu. Đồng thời, nó giúp cải thiện hiệu suất mô hình, làm cho mô hình của bạn hiệu quả hơn trong các ứng dụng thực tế.
Các Tính năng Chính của Albumentations
Albumentations cung cấp nhiều tính năng hữu ích giúp đơn giản hóa việc tăng cường ảnh phức tạp cho nhiều loại ứng dụng thị giác máy tính. Dưới đây là một số tính năng chính:
- Nhiều phép biến đổi: Albumentations cung cấp hơn 70 phép biến đổi khác nhau, bao gồm các thay đổi hình học (ví dụ: xoay, lật), điều chỉnh màu sắc (ví dụ: độ sáng, độ tương phản) và thêm nhiễu (ví dụ: nhiễu Gaussian). Việc có nhiều tùy chọn cho phép tạo ra các tập dữ liệu huấn luyện đa dạng và mạnh mẽ.

Tối ưu hóa hiệu suất cao: Được xây dựng trên OpenCV và NumPy, Albumentations sử dụng các kỹ thuật tối ưu hóa tiên tiến như SIMD (Single Instruction, Multiple Data), giúp xử lý nhiều điểm dữ liệu cùng lúc để tăng tốc độ xử lý. Nó xử lý nhanh chóng các tập dữ liệu lớn, khiến nó trở thành một trong những lựa chọn nhanh nhất hiện có để tăng cường dữ liệu hình ảnh.
Ba cấp độ tăng cường dữ liệu: Albumentations hỗ trợ ba cấp độ tăng cường dữ liệu: biến đổi cấp độ pixel, biến đổi cấp độ không gian và biến đổi cấp độ trộn. Biến đổi cấp độ pixel chỉ ảnh hưởng đến hình ảnh đầu vào mà không làm thay đổi mặt nạ, bounding box hoặc điểm khóa. Trong khi đó, cả hình ảnh và các yếu tố của nó, như mặt nạ và bounding box, đều được biến đổi bằng cách sử dụng các biến đổi cấp độ không gian. Hơn nữa, các biến đổi cấp độ trộn là một cách độc đáo để tăng cường dữ liệu vì chúng kết hợp nhiều hình ảnh thành một.

- Kết quả điểm chuẩn: Khi nói đến điểm chuẩn, Albumentations luôn vượt trội so với các thư viện khác, đặc biệt là với các tập dữ liệu lớn.
Tại sao Bạn Nên Sử Dụng Albumentations cho Các Dự Án AI Thị Giác của Mình?
Đối với việc tăng cường ảnh, Albumentations nổi bật như một công cụ đáng tin cậy cho các tác vụ thị giác máy tính. Dưới đây là một vài lý do chính tại sao bạn nên cân nhắc sử dụng nó cho các dự án Vision AI của mình:
API dễ sử dụng: Albumentations cung cấp một API duy nhất, đơn giản để áp dụng nhiều loại phép tăng cường cho hình ảnh, mặt nạ, hộp giới hạn và các điểm chính. Nó được thiết kế để dễ dàng thích ứng với các tập dữ liệu khác nhau, giúp cho việc chuẩn bị dữ liệu trở nên đơn giản và hiệu quả hơn.
Kiểm tra lỗi nghiêm ngặt: Lỗi trong quy trình tăng cường có thể âm thầm làm hỏng dữ liệu đầu vào, thường không được chú ý nhưng cuối cùng làm giảm hiệu suất của mô hình. Albumentations giải quyết vấn đề này bằng một bộ kiểm tra kỹ lưỡng giúp phát hiện lỗi sớm trong quá trình phát triển.
Khả năng mở rộng: Albumentations có thể được sử dụng để dễ dàng thêm các phép tăng cường mới và sử dụng chúng trong các quy trình thị giác máy tính thông qua một giao diện duy nhất cùng với các phép biến đổi tích hợp.
Cách sử dụng Albumentations để Augment Dữ liệu cho Huấn luyện YOLO26
Sau khi đã tìm hiểu về Albumentations là gì và những gì nó có thể làm, hãy cùng xem cách sử dụng nó để tăng cường dữ liệu cho quá trình huấn luyện mô hình YOLO26. Việc thiết lập rất dễ dàng vì nó tích hợp trực tiếp vào chế độ huấn luyện của Ultralytics và tự động áp dụng nếu bạn đã cài đặt gói Albumentations.
Cài đặt
Để sử dụng Albumentations với YOLO26, trước tiên hãy đảm bảo rằng bạn đã cài đặt các gói cần thiết. Nếu Albumentations không được cài đặt, các phép tăng cường sẽ không được áp dụng trong quá trình huấn luyện. Sau khi thiết lập, bạn sẽ sẵn sàng tạo một tập dữ liệu đã được tăng cường để huấn luyện, với Albumentations được tích hợp để tự động cải thiện mô hình của bạn.
Cài đặt
# Install the required packages
pip install albumentations ultralytics
Để biết hướng dẫn chi tiết và các phương pháp hay nhất liên quan đến quá trình cài đặt, hãy kiểm tra hướng dẫn cài đặt Ultralytics của chúng tôi. Trong quá trình cài đặt các gói cần thiết cho YOLO26, nếu bạn gặp bất kỳ khó khăn nào, hãy tham khảo hướng dẫn Các Vấn đề Thường Gặp của chúng tôi để tìm giải pháp và mẹo.
Cách sử dụng
Sau khi cài đặt các gói cần thiết, bạn đã sẵn sàng bắt đầu sử dụng Albumentations với YOLO26. Khi bạn huấn luyện YOLO26, một tập hợp các phép tăng cường sẽ tự động được áp dụng thông qua việc tích hợp với Albumentations, giúp dễ dàng nâng cao hiệu suất mô hình của bạn.
Cách sử dụng
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n.pt")
# Train the model with default augmentations
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
import albumentations as A
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n.pt")
# Define custom Albumentations transforms
custom_transforms = [
A.Blur(blur_limit=7, p=0.5),
A.GaussNoise(var_limit=(10.0, 50.0), p=0.3),
A.CLAHE(clip_limit=4.0, p=0.5),
A.RandomBrightnessContrast(brightness_limit=0.2, contrast_limit=0.2, p=0.5),
]
# Train the model with custom Albumentations transforms
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
augmentations=custom_transforms, # Pass custom transforms
)
Tiếp theo, hãy cùng tìm hiểu kỹ hơn về các phép tăng cường dữ liệu cụ thể được áp dụng trong quá trình huấn luyện.
Làm mờ
Phép biến đổi Blur trong Albumentations áp dụng hiệu ứng làm mờ đơn giản cho hình ảnh bằng cách tính trung bình các giá trị pixel trong một vùng vuông nhỏ, hay còn gọi là kernel. Điều này được thực hiện bằng cách sử dụng OpenCV cv2.blur function, giúp giảm nhiễu trong ảnh, mặc dù nó cũng làm giảm nhẹ các chi tiết của ảnh.
Dưới đây là các tham số và giá trị được sử dụng trong tích hợp này:
blur_limit: Điều này kiểm soát phạm vi kích thước của hiệu ứng làm mờ. Phạm vi mặc định là (3, 7), có nghĩa là kích thước kernel cho độ mờ có thể thay đổi từ 3 đến 7 pixel, chỉ các số lẻ được phép để giữ cho độ mờ được căn giữa.
p: Xác suất áp dụng độ mờ. Trong tích hợp, p=0.01, vì vậy có 1% cơ hội độ mờ này sẽ được áp dụng cho mỗi ảnh. Xác suất thấp cho phép các hiệu ứng mờ thỉnh thoảng, giới thiệu một chút biến thể để giúp mô hình tổng quát hóa mà không làm mờ ảnh quá mức.

Làm mờ trung vị
Phép biến đổi MedianBlur trong Albumentations áp dụng hiệu ứng làm mờ trung vị cho ảnh, đặc biệt hữu ích để giảm nhiễu trong khi vẫn giữ được các cạnh. Không giống như các phương pháp làm mờ điển hình, MedianBlur sử dụng bộ lọc trung vị, đặc biệt hiệu quả trong việc loại bỏ nhiễu hạt tiêu trong khi vẫn duy trì độ sắc nét xung quanh các cạnh.
Dưới đây là các tham số và giá trị được sử dụng trong tích hợp này:
blur_limit: Tham số này kiểm soát kích thước tối đa của kernel làm mờ. Trong tích hợp này, nó mặc định là một phạm vi (3, 7), có nghĩa là kích thước kernel cho độ mờ được chọn ngẫu nhiên giữa 3 và 7 pixel, chỉ các giá trị lẻ được phép để đảm bảo căn chỉnh thích hợp.
p: Đặt xác suất áp dụng độ mờ trung vị. Ở đây, p=0.01, vì vậy phép biến đổi có 1% cơ hội được áp dụng cho mỗi ảnh. Xác suất thấp này đảm bảo rằng độ mờ trung vị được sử dụng một cách tiết kiệm, giúp mô hình tổng quát hóa bằng cách thỉnh thoảng nhìn thấy các ảnh có độ nhiễu giảm và các cạnh được bảo toàn.
Hình ảnh bên dưới cho thấy một ví dụ về phép tăng cường này được áp dụng cho một hình ảnh.

Thang độ xám
Phép biến đổi ToGray trong Albumentations chuyển đổi một hình ảnh thành thang độ xám, giảm nó thành định dạng một kênh và tùy chọn sao chép kênh này để khớp với một số lượng kênh đầu ra được chỉ định. Các phương pháp khác nhau có thể được sử dụng để điều chỉnh cách tính độ sáng thang độ xám, từ tính trung bình đơn giản đến các kỹ thuật tiên tiến hơn để nhận biết thực tế về độ tương phản và độ sáng.
Dưới đây là các tham số và giá trị được sử dụng trong tích hợp này:
num_output_channels: Đặt số lượng kênh trong ảnh đầu ra. Nếu giá trị này lớn hơn 1, kênh thang độ xám đơn sẽ được sao chép để tạo ra một ảnh thang độ xám đa kênh. Theo mặc định, nó được đặt thành 3, tạo ra một ảnh thang độ xám với ba kênh giống hệt nhau.
method: Xác định phương pháp chuyển đổi thang độ xám. Phương pháp mặc định, "weighted_average", áp dụng một công thức (0.299R + 0.587G + 0.114B) phù hợp chặt chẽ với nhận thức của con người, cung cấp hiệu ứng thang độ xám trông tự nhiên. Các tùy chọn khác, như "from_lab", "desaturation", "average", "max" và "pca", cung cấp các cách thay thế để tạo hình ảnh thang độ xám dựa trên các nhu cầu khác nhau về tốc độ, nhấn mạnh độ sáng hoặc bảo toàn chi tiết.
p: Kiểm soát tần suất áp dụng phép biến đổi thang độ xám. Với p=0.01, có 1% cơ hội chuyển đổi mỗi ảnh thành thang độ xám, giúp có thể có một hỗn hợp các ảnh màu và thang độ xám để giúp mô hình tổng quát hóa tốt hơn.
Hình ảnh bên dưới cho thấy một ví dụ về phép biến đổi thang độ xám này được áp dụng.

Cân bằng biểu đồ (Contrast Limited Adaptive Histogram Equalization - CLAHE)
Phép biến đổi CLAHE trong Albumentations áp dụng Cân bằng hóa biểu đồ thích ứng giới hạn độ tương phản (CLAHE), một kỹ thuật tăng cường độ tương phản của hình ảnh bằng cách cân bằng hóa biểu đồ trong các vùng cục bộ (ô) thay vì trên toàn bộ hình ảnh. CLAHE tạo ra hiệu ứng tăng cường cân bằng, tránh độ tương phản được khuếch đại quá mức có thể là kết quả của việc cân bằng hóa biểu đồ tiêu chuẩn, đặc biệt là ở những vùng có độ tương phản ban đầu thấp.
Dưới đây là các tham số và giá trị được sử dụng trong tích hợp này:
clip_limit: Kiểm soát phạm vi tăng cường độ tương phản. Được đặt ở phạm vi mặc định là (1, 4), nó xác định độ tương phản tối đa được phép trong mỗi ô. Giá trị càng cao được sử dụng cho độ tương phản lớn hơn nhưng cũng có thể gây ra nhiễu.
tile_grid_size: Xác định kích thước của lưới ô, thường là (hàng, cột). Giá trị mặc định là (8, 8), nghĩa là hình ảnh được chia thành lưới 8x8. Kích thước ô nhỏ hơn cung cấp các điều chỉnh cục bộ hơn, trong khi kích thước lớn hơn tạo ra các hiệu ứng gần với cân bằng toàn cục.
p: Xác suất áp dụng CLAHE. Ở đây, p=0.01 chỉ giới thiệu hiệu ứng tăng cường 1% thời gian, đảm bảo rằng các điều chỉnh độ tương phản được áp dụng một cách tiết kiệm để thay đổi ngẫu nhiên trong hình ảnh huấn luyện.
Hình ảnh bên dưới hiển thị một ví dụ về phép biến đổi CLAHE đã được áp dụng.

Sử dụng các phép biến đổi Albumentations tùy chỉnh
Mặc dù tích hợp Albumentations mặc định cung cấp một tập hợp các phép tăng cường mạnh mẽ, bạn có thể muốn tùy chỉnh các phép biến đổi cho trường hợp sử dụng cụ thể của mình. Với Ultralytics YOLO26, bạn có thể dễ dàng truyền các phép biến đổi Albumentations tùy chỉnh thông qua API python bằng cách sử dụng augmentations tham số.
Cách định nghĩa các phép biến đổi tùy chỉnh
Bạn có thể định nghĩa danh sách các phép biến đổi Albumentations của riêng mình và truyền chúng vào hàm huấn luyện. Điều này sẽ thay thế các phép biến đổi Albumentations mặc định trong khi vẫn giữ lại tất cả các phép tăng cường dữ liệu YOLO khác (như hsv_h, degrees, mosaic, v.v.) đang hoạt động.
Dưới đây là một ví dụ với các phép biến đổi nâng cao hơn:
import albumentations as A
from ultralytics import YOLO
# Load model
model = YOLO("yolo26n.pt")
# Define custom transforms with various augmentation techniques
custom_transforms = [
# Blur variations
A.OneOf(
[
A.MotionBlur(blur_limit=7, p=1.0),
A.MedianBlur(blur_limit=7, p=1.0),
A.GaussianBlur(blur_limit=7, p=1.0),
],
p=0.3,
),
# Noise variations
A.OneOf(
[
A.GaussNoise(var_limit=(10.0, 50.0), p=1.0),
A.ISONoise(color_shift=(0.01, 0.05), intensity=(0.1, 0.5), p=1.0),
],
p=0.2,
),
# Color and contrast adjustments
A.CLAHE(clip_limit=4.0, tile_grid_size=(8, 8), p=0.5),
A.RandomBrightnessContrast(brightness_limit=0.3, contrast_limit=0.3, p=0.5),
A.HueSaturationValue(hue_shift_limit=20, sat_shift_limit=30, val_shift_limit=20, p=0.5),
# Simulate occlusions
A.CoarseDropout(
max_holes=8, max_height=32, max_width=32, min_holes=1, min_height=8, min_width=8, fill_value=0, p=0.2
),
]
# Train with custom transforms
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
augmentations=custom_transforms,
)
Những cân nhắc quan trọng
Khi sử dụng các phép biến đổi Albumentations tùy chỉnh, hãy ghi nhớ những điểm sau:
- Chỉ API Python: Các phép biến đổi tùy chỉnh chỉ có thể được truyền qua API Python, chứ không phải qua CLI hoặc các tệp cấu hình yaml.
- Thay thế mặc định: Các phép biến đổi tùy chỉnh của bạn sẽ thay thế hoàn toàn các phép biến đổi Albumentations mặc định. Các phép tăng cường dữ liệu YOLO khác vẫn hoạt động.
- Xử lý Bounding Box: Ultralytics tự động xử lý điều chỉnh bounding box cho hầu hết các phép biến đổi, nhưng các phép biến đổi không gian phức tạp có thể yêu cầu kiểm tra bổ sung.
- Hiệu suất: Một số phép biến đổi tốn nhiều tài nguyên tính toán. Theo dõi tốc độ huấn luyện và điều chỉnh cho phù hợp.
- Khả năng tương thích tác vụ: Các phép biến đổi Albumentations tùy chỉnh hoạt động với các tác vụ detect và segment nhưng không hoạt động với phân loại (sử dụng một pipeline tăng cường dữ liệu khác).
Các trường hợp sử dụng cho phép biến đổi tùy chỉnh
Các ứng dụng khác nhau hưởng lợi từ các chiến lược tăng cường dữ liệu khác nhau:
- Hình ảnh Y tế: Sử dụng biến dạng đàn hồi, méo lưới và các mẫu nhiễu chuyên biệt
- Ảnh trên không/Vệ tinh: Áp dụng các phép biến đổi mô phỏng các cao độ, điều kiện thời tiết và góc chiếu sáng khác nhau
- Kịch bản ánh sáng yếu: Nhấn mạnh việc thêm nhiễu và điều chỉnh độ sáng để huấn luyện các mô hình mạnh mẽ cho điều kiện ánh sáng khó khăn
- Kiểm tra Công nghiệp: Thêm các biến thể kết cấu và lỗi mô phỏng cho các ứng dụng kiểm soát chất lượng
Để có danh sách đầy đủ các phép biến đổi có sẵn và các tham số của chúng, hãy truy cập tài liệu Albumentations.
Để biết thêm các ví dụ chi tiết và thực tiễn tốt nhất về việc sử dụng các phép biến đổi Albumentations tùy chỉnh với YOLO26, hãy tham khảo hướng dẫn Tăng cường dữ liệu YOLO.
Tiếp tục Tìm hiểu về Albumentations
Nếu bạn muốn tìm hiểu thêm về Albumentations, hãy xem các tài nguyên sau để biết thêm hướng dẫn và ví dụ chi tiết:
Tài liệu Albumentations: Tài liệu chính thức cung cấp đầy đủ các phép biến đổi được hỗ trợ và các kỹ thuật sử dụng nâng cao.
Hướng dẫn Albumentations của Ultralytics: Xem xét kỹ hơn các chi tiết của hàm tạo điều kiện thuận lợi cho tích hợp này.
Kho lưu trữ Albumentations trên GitHub: Kho lưu trữ bao gồm các ví dụ, điểm chuẩn và thảo luận để giúp bạn bắt đầu tùy chỉnh các phép tăng cường.
Những Điểm Chính
Trong hướng dẫn này, chúng tôi đã khám phá các khía cạnh chính của Albumentations, một thư viện python tuyệt vời để tăng cường hình ảnh. Chúng tôi đã thảo luận về phạm vi rộng lớn của các phép biến đổi, hiệu suất được tối ưu hóa và cách bạn có thể sử dụng nó trong dự án YOLO26 tiếp theo của mình.
Ngoài ra, nếu bạn muốn tìm hiểu thêm về các tích hợp Ultralytics YOLO26 khác, hãy truy cập trang hướng dẫn tích hợp của chúng tôi. Bạn sẽ tìm thấy các tài nguyên và thông tin chi tiết có giá trị tại đó.
Câu hỏi thường gặp
Làm thế nào tôi có thể tích hợp Albumentations với YOLO26 để cải thiện data augmentation?
Albumentations tích hợp liền mạch với YOLO26 và tự động áp dụng trong quá trình huấn luyện nếu bạn đã cài đặt gói này. Dưới đây là cách để bắt đầu:
# Install required packages
# !pip install albumentations ultralytics
from ultralytics import YOLO
# Load and train model with automatic augmentations
model = YOLO("yolo26n.pt")
model.train(data="coco8.yaml", epochs=100)
Tích hợp bao gồm các phép tăng cường được tối ưu hóa như làm mờ, làm mờ trung bình, chuyển đổi thang độ xám và CLAHE với các xác suất được điều chỉnh cẩn thận để nâng cao hiệu suất mô hình.
Những lợi ích chính của việc sử dụng Albumentations so với các thư viện tăng cường khác là gì?
Albumentations nổi bật vì một số lý do:
- Hiệu suất: Được xây dựng trên OpenCV và NumPy với tối ưu hóa SIMD để đạt tốc độ vượt trội
- Tính linh hoạt: Hỗ trợ hơn 70 phép biến đổi trên các mức pixel, mức không gian và mức trộn
- Khả năng tương thích: Hoạt động liền mạch với các framework phổ biến như PyTorch và TensorFlow
- Độ tin cậy: Bộ kiểm tra mở rộng ngăn chặn hỏng dữ liệu âm thầm
- Dễ sử dụng: API thống nhất duy nhất cho tất cả các loại tăng cường
Những loại tác vụ thị giác máy tính nào có thể hưởng lợi từ việc tăng cường Albumentations?
Albumentations tăng cường các tác vụ thị giác máy tính khác nhau bao gồm:
- Phát hiện đối tượng: Cải thiện độ mạnh mẽ của mô hình đối với các biến thể về ánh sáng, tỷ lệ và hướng
- Phân đoạn thể hiện: Nâng cao độ chính xác dự đoán mặt nạ thông qua các phép biến đổi đa dạng
- Phân loại: Tăng khả năng tổng quát hóa của mô hình với các phép tăng cường hình học và màu sắc
- Ước tính tư thế: Giúp mô hình thích ứng với các điểm nhìn và điều kiện ánh sáng khác nhau
Các tùy chọn tăng cường đa dạng của thư viện làm cho nó có giá trị cho bất kỳ tác vụ thị giác nào đòi hỏi hiệu suất mô hình mạnh mẽ.