Bỏ để qua phần nội dung

Nâng cao Bộ dữ liệu của bạn để Đào tạo YOLO11 bằng cách sử dụng Albumentations

Khi bạn đang xây dựng các mô hình thị giác máy tính , chất lượng và tính đa dạng của dữ liệu đào tạo có thể đóng vai trò lớn trong việc mô hình của bạn hoạt động tốt như thế nào. Albumentations cung cấp một cách nhanh chóng, linh hoạt và hiệu quả để áp dụng nhiều loại chuyể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 YOLO11 và có thể giúp bạn tạo các tập dữ liệu mạnh mẽ cho các tác vụ phát hiện , phân đoạnphân loại đối tượng.

Bằng cách sử dụng Albumentations, bạn có thể tăng cường dữ liệu đào tạo YOLO11 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 tăng cường dữ liệu của bạn như thế nào và làm cho các dự án YOLO11 của bạn có tác động hơn nữa. Hãy bắt đầu nào!

Albumentations để tăng cường hình ảnh

Albumentations là một thư viện tăng cường hình ảnh 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 tập 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ượngphân đoạn .

Bạn có thể sử dụng Albumentations để dễ dàng áp dụng các phép tăng cường cho hình ảnh, mặt nạ phân đoạn , hộp giới hạncác điểm chính , và đảm bảo rằng tất cả các thành phần của tập 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 khuôn khổ học sâu phổ biến như PyTorchTensorFlow , giúp nó có thể truy cập được cho nhiều dự án.

Ngoài ra, Albumentations là một lựa chọn tuyệt vời để tăng cường 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ả, cắt giảm thời gian dành cho việc chuẩn bị dữ liệu. Đồng thời, nó giúp cải thiện hiệu suất mô hình , giúp các mô hình của bạn hiệu quả hơn trong các ứng dụng thực tế.

Các đặc điểm 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 hình ảnh phức tạp cho nhiều ứng dụng thị giác máy tính . Sau đây là một số tính năng chính:

  • Phạm vi chuyển đổi rộng : Albumentations cung cấp hơn 70 chuyể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 Gauss). Có nhiều tùy chọn cho phép tạo ra các tập dữ liệu đào tạo đa dạng và mạnh mẽ.

Ví dụ về Tăng cường hình ảnh

  • 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), xử lý nhiều điểm dữ liệu cùng lúc để tăng tốc quá trình xử lý. Nó xử lý các tập dữ liệu lớn một cách nhanh chóng, khiến nó trở thành một trong những tùy chọn nhanh nhất hiện có để tăng cường hình ảnh.

  • Ba cấp độ tăng cường : Albumentations hỗ trợ ba cấp độ tăng cường: chuyển đổi cấp độ pixel, chuyển đổi cấp độ không gian và chuyển đổi cấp độ trộn. Chuyể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ạ, hộp giới hạn hoặc điểm chính. Trong khi đó, cả hình ảnh và các thành phần của nó, như mặt nạ và hộp giới hạn, đều được chuyển đổi bằng cách sử dụng chuyển đổi cấp độ không gian. Hơn nữa, chuyển đổi cấp độ trộn là một cách độc đáo để tăng cường dữ liệu vì nó kết hợp nhiều hình ảnh thành một.

Tổng quan về các cấp độ tăng cường khác nhau

  • Kết quả đánh giá chuẩn : Khi nói đến đánh giá chuẩn, Albumentations luôn vượt trội hơn 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 Vision AI của mình?

Về mặt tăng cường hình ảnh, Albumentations nổi bật là một công cụ đáng tin cậy cho các tác vụ thị giác máy tính. Sau đây là một số 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 đơn giản, trực quan để áp dụng nhiều loại tăng cường cho hình ảnh, mặt nạ, hộp giới hạn và đ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 việc chuẩn bị dữ liệu đơn giản và hiệu quả hơn.

  • Kiểm tra lỗi nghiêm ngặt : Lỗi trong đường ống 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 bộ kiểm tra toàn diện giúp phát hiện lỗi sớm trong quá trình phát triển.

  • Khả năng mở rộng : Albumentation có thể được sử dụng để dễ dàng thêm các phần 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 chuyển đổi tích hợp.

Cách sử dụng Albumentations để tăng cường dữ liệu cho đào tạo YOLO11

Bây giờ chúng ta đã tìm hiểu Albumentations là gì và nó có thể làm gì, hãy cùng xem cách sử dụng nó để tăng cường dữ liệu của bạn cho việc đào tạo mô hình YOLO11. Nó dễ thiết lập vì nó tích hợp trực tiếp vào chế độ đào tạo 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 YOLOv11, hãy bắt đầu bằng cách đảm bảo 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 đào tạo. Sau khi thiết lập, bạn sẽ sẵn sàng tạo một tập dữ liệu tăng cường để đào tạo, với Albumentations được tích hợp để tự động nâng cao 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 biện pháp thực hành tốt nhất liên quan đến quy trình cài đặt, hãy xem hướng dẫn Cài đặt Ultralytics của chúng tôi. Trong khi cài đặt các gói cần thiết cho YOLO11, 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 để biết các giải pháp và mẹo.

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 YOLO11. Khi bạn đào tạo YOLOv11, một bộ tăng cường sẽ tự động được áp dụng thông qua tích hợp với Albumentations, giúp bạn dễ dàng nâng cao hiệu suất của mô hình.

Sử dụng

from ultralytics import YOLO

# Load a pre-trained model
model = YOLO("yolo11n.pt")

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

Tiếp theo, chúng ta hãy xem xét kỹ hơn các phần tăng cường cụ thể được áp dụng trong quá trình đào tạo.

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 lấy trung bình các giá trị pixel trong một vùng hình vuông nhỏ hoặc hạt nhân. Điều này được thực hiện bằng cách sử dụng OpenCV cv2.blur chức năng này giúp giảm nhiễu trong hình ảnh, mặc dù nó cũng làm giảm nhẹ chi tiết hình ảnh.

Sau đây là các tham số và giá trị được sử dụng trong tích hợp này:

  • blur_limit : Điều khiển phạm vi kích thước của hiệu ứng làm mờ. Phạm vi mặc định là (3, 7), nghĩa là kích thước hạt nhân cho hiệu ứng làm mờ có thể thay đổi trong khoảng từ 3 đến 7 pixel, chỉ cho phép số lẻ để giữ cho hiệu ứng làm mờ ở giữa.

  • p : Xác suất áp dụng hiệu ứng làm mờ. Trong tích phân, p=0,01, do đó có 1% khả năng hiệu ứng làm mờ này sẽ được áp dụng cho mỗi hình ảnh. Xác suất thấp cho phép hiệu ứng làm mờ thỉnh thoảng, tạo ra một chút biến thể để giúp mô hình tổng quát hóa mà không làm mờ quá mức các hình ảnh.

Một ví dụ về tăng cường độ mờ

Làm mờ trung bình

Phép biến đổi MedianBlur trong Albumentations áp dụng hiệu ứng làm mờ trung bình cho hình ảnh, đặc biệt hữu ích để giảm nhiễu trong khi vẫn giữ nguyên các cạnh. Không giống như các phương pháp làm mờ thông thường, MedianBlur sử dụng bộ lọc trung bình, đặc biệt hiệu quả trong việc loại bỏ nhiễu muối và tiêu trong khi vẫn duy trì độ sắc nét xung quanh các cạnh.

Sau đâ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 hạt nhân làm mờ. Trong tích hợp này, nó mặc định là phạm vi (3, 7), nghĩa là kích thước hạt nhân cho hiệu ứng làm mờ được chọn ngẫu nhiên trong khoảng từ 3 đến 7 pixel, chỉ cho phép các giá trị lẻ để đảm bảo căn chỉnh đúng.

  • p : Thiết lập xác suất áp dụng độ mờ trung bình. Ở đây, p=0,01, do đó phép biến đổi có 1% khả năng được áp dụng cho mỗi hình ảnh. Xác suất thấp này đảm bảo rằng độ mờ trung bình đượ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 hình ảnh có độ nhiễu giảm và các cạnh được bảo toàn.

Hình ảnh bên dưới hiển thị ví dụ về việc tăng cường này được áp dụng cho một hình ảnh.

Một ví dụ về sự tăng cường của MedianBlur

thang độ xám

Phép biến đổi ToGray trong Albumentations chuyển đổi hình ảnh sang thang độ xám, giảm nó xuống định dạng kênh đơn và tùy chọn sao chép kênh này để phù hợp với số kênh đầu ra được chỉ định. Có thể sử dụng các phương pháp khác nhau để điều chỉnh cách tính độ sáng thang độ xám, từ phương pháp trung bình đơn giản đến các kỹ thuật tiên tiến hơn để nhận thức thực tế về độ tương phản và độ sáng.

Sau đây là các tham số và giá trị được sử dụng trong tích hợp này:

  • num_output_channels : Thiết lập số kênh trong hình ả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 hình ảnh thang độ xám đa kênh. Theo mặc định, nó được thiết lập là 3, tạo ra hình ả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 công thức (0,299R + 0,587G + 0,114B) gần giống với nhận thức của con người, mang lại 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 chuyển đổi thang độ xám. Với p=0,01, có 1% khả năng chuyển đổi từng hình ảnh sang thang độ xám, giúp kết hợp hình ảnh màu và thang độ xám để giúp mô hình khái quát tốt hơn.

Hình ảnh bên dưới hiển thị một ví dụ về cách áp dụng chuyển đổi thang độ xám này.

Một ví dụ về sự tăng cường ToGray

Cân bằng Histogram thích ứng giới hạn tương phản (CLAHE)

Phép biến đổi CLAHE trong Albumentations áp dụng phương pháp Cân bằng Histogram 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 histogram ở 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 khuếch đại quá mức có thể xảy ra do cân bằng histogram tiêu chuẩn, đặc biệt là ở những vùng có độ tương phản ban đầu thấp.

Sau đâ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. Đặt thành 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 ô. Các giá trị cao hơn được sử dụng để có độ tương phản cao hơn nhưng cũng có thể gây 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 nhiều điều chỉnh cục bộ hơn, trong khi kích thước lớn hơn tạo ra hiệu ứng gần với cân bằng toàn cục hơn.

  • 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 cho sự thay đổi thỉnh thoảng trong hình ảnh đào tạo.

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.

Một ví dụ về sự gia tăng CLAHE

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 hướng dẫn và ví dụ chi tiết hơn:

Những điểm chính

Trong hướng dẫn này, chúng tôi đã khám phá những khía cạnh chính của Albumentations, một Python thư viện để tăng cường hình ảnh. Chúng tôi đã thảo luận về phạm vi chuyển đổi rộng lớn, hiệu suất được tối ưu hóa và cách bạn có thể sử dụng nó trong dự án YOLO11 tiếp theo của mình.

Ngoài ra, nếu bạn muốn biết thêm về những điều khác Ultralytics Tích hợp YOLO11, 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 nguồn tài nguyên và thông tin chi tiết có giá trị ở đó.

FAQ

Làm thế nào tôi có thể tích hợp Albumentations với YOLO11 để tăng cường dữ liệu tốt hơn?

Albumentations tích hợp liền mạch với YOLO11 và tự động áp dụng trong quá trình đào tạo nếu bạn đã cài đặt gói. Sau đâ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("yolo11n.pt")
model.train(data="coco8.yaml", epochs=100)

Sự tích hợp bao gồm các tính năng 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 xác suất được điều chỉnh cẩn thận để nâng cao hiệu suất của 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 sau:

  1. Hiệu suất: Được xây dựng trên OpenCV và NumPy với tối ưu hóa SIMD để có tốc độ vượt trội
  2. Tính linh hoạt: Hỗ trợ hơn 70 phép biến đổi trên các phép tăng cường cấp độ pixel, cấp độ không gian và cấp độ trộn
  3. Khả năng tương thích: Hoạt động liền mạch với các khuôn khổ phổ biến như PyTorchTensorFlow
  4. Độ tin cậy: Bộ kiểm tra mở rộng ngăn chặn tình trạng hỏng dữ liệu âm thầm
  5. 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ể được hưởng lợi từ việc tăng cường Albumentations?

Albumentations tăng cường nhiều tác vụ thị giác máy tính bao gồm:

  • Phát hiện đối tượng : Cải thiện độ bền 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 trường hợp : Tăng cường độ chính xác dự đoán mặt nạ thông qua các chuyển đổi đa dạng
  • Phân loại : Tăng cường khả năng khái quát hóa mô hình bằng cách tăng cường màu sắc và hình học
  • Ước tính tư thế : Giúp các mô hình thích ứng với các góc 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ó trở nên hữu ích 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ẽ.

📅 Được tạo cách đây 14 ngày ✏️ Đã cập nhật cách đây 8 ngày

Ý kiến