Bỏ qua nội dung

Xe lửa YOLOv5 trên Dữ liệu tùy chỉnh

📚 Hướng dẫn này giải thích cách đào tạo tập dữ liệu tùy chỉnh của riêng bạn bằng mô hình YOLOv5 🚀. Đào tạo các mô hình tùy chỉnh là bước cơ bản trong việc điều chỉnh các giải pháp thị giác máy tính cho các ứng dụng thực tế cụ thể ngoài việc phát hiện đối tượng chung chung.

Trước khi bạn bắt đầu

Đầu tiên, hãy đảm bảo bạn đã thiết lập môi trường cần thiết. Sao chép YOLOv5 kho lưu trữ và cài đặt các phụ thuộc cần thiết từ requirements.txt. MỘT Python >=3.8.0 môi trường với PyTorch >=1,8 là điều cần thiết. Các mô hình và tập dữ liệu được tự động tải xuống từ phiên bản mới nhất YOLOv5 giải phóng nếu chúng không được tìm thấy tại địa phương.

git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5
pip install -r requirements.txt # Install dependencies

Đào tạo trên dữ liệu tùy chỉnh

Ultralytics sơ đồ vòng học tập chủ động hiển thị việc thu thập dữ liệu, gắn nhãn, đào tạo, triển khai và thu thập trường hợp ngoại lệ

Phát triển một mô hình phát hiện đối tượng tùy chỉnh là một quá trình lặp đi lặp lại:

  1. Thu thập & Sắp xếp Hình ảnh : Thu thập hình ảnh có liên quan đến nhiệm vụ cụ thể của bạn. Dữ liệu đa dạng, chất lượng cao là rất quan trọng. Xem hướng dẫn của chúng tôi về Thu thập và Chú thích Dữ liệu .
  2. Nhãn đối tượng : Chú thích chính xác các đối tượng quan tâm trong hình ảnh của bạn.
  3. Đào tạo mô hình : Sử dụng dữ liệu được gắn nhãn để đào tạo mô hình của bạn YOLOv5 mô hình. Tận dụng việc học chuyển giao bằng cách bắt đầu với trọng số được đào tạo trước.
  4. Triển khai và Dự đoán : Sử dụng mô hình đã đào tạo để suy luận dữ liệu mới, chưa từng thấy.
  5. Thu thập các trường hợp ngoại lệ : Xác định các tình huống mà mô hình hoạt động kém ( trường hợp ngoại lệ ) và thêm dữ liệu tương tự vào tập dữ liệu của bạn để cải thiện tính mạnh mẽ. Lặp lại chu kỳ.

Ultralytics HUB cung cấp giải pháp hợp lý, không cần mã cho toàn bộ chu trình hoạt động học máy (MLOps) , bao gồm quản lý tập dữ liệu, đào tạo mô hình và triển khai.

Cấp phép

Ultralytics cung cấp hai tùy chọn cấp phép để đáp ứng các tình huống sử dụng đa dạng:

  • Giấy phép AGPL-3.0 : Giấy phép nguồn mở được OSI chấp thuận này lý tưởng cho sinh viên, nhà nghiên cứu và những người đam mê cộng tác mở và chia sẻ kiến thức. Nó yêu cầu các tác phẩm phái sinh phải được chia sẻ theo cùng một giấy phép. Xem tệp LICENSE để biết đầy đủ chi tiết.
  • Giấy phép doanh nghiệp : Được thiết kế cho các ứng dụng thương mại, giấy phép này cho phép tích hợp liền mạch Ultralytics phần mềm và các mô hình AI thành các sản phẩm và dịch vụ thương mại mà không có các điều khoản nguồn mở của AGPL-3.0 . Nếu dự án của bạn yêu cầu triển khai thương mại, hãy yêu cầu Giấy phép Doanh nghiệp .

Khám phá thêm các tùy chọn cấp phép của chúng tôi trên trang Cấp phép Ultralytics .

Trước khi bắt đầu đào tạo, việc chuẩn bị tập dữ liệu là điều cần thiết.

1. Tạo một tập dữ liệu

YOLOv5 Các mô hình yêu cầu dữ liệu được gắn nhãn để tìm hiểu các đặc điểm trực quan của các lớp đối tượng. Việc tổ chức tập dữ liệu của bạn một cách chính xác là chìa khóa.

1.1 Tạo dataset.yaml

Tệp cấu hình tập dữ liệu (ví dụ: coco128.yaml) phác thảo cấu trúc của tập dữ liệu, tên lớp và đường dẫn đến các thư mục hình ảnh. COCO128 đóng vai trò là một tập dữ liệu mẫu nhỏ, bao gồm 128 hình ảnh đầu tiên từ COCO tập dữ liệu. Nó hữu ích để nhanh chóng kiểm tra đường ống đào tạo và chẩn đoán các vấn đề tiềm ẩn như quá phù hợp.

Các dataset.yaml Cấu trúc tập tin bao gồm:

  • path: Thư mục gốc chứa tập dữ liệu.
  • train, val, test: Đường dẫn tương đối từ path vào các thư mục chứa hình ảnh hoặc tệp văn bản liệt kê đường dẫn hình ảnh để đào tạo, xác thực và kiểm tra bộ dữ liệu.
  • names: Một từ điển ánh xạ chỉ số lớp (bắt đầu từ 0) tới tên lớp tương ứng của chúng.

Dưới đây là cấu trúc cho coco128.yaml (xem trên GitHub):

# Dataset root directory relative to the yolov5 directory
path: ../datasets/coco128

# Train/val/test sets: specify directories, *.txt files, or lists
train: images/train2017 # 128 images for training
val: images/train2017 # 128 images for validation
test: # Optional path to test images

# Classes (example using 80 COCO classes)
names:
    0: person
    1: bicycle
    2: car
    # ... (remaining COCO classes)
    77: teddy bear
    78: hair drier
    79: toothbrush

1.2 Mô hình đòn bẩy cho việc dán nhãn tự động

Mặc dù việc dán nhãn thủ công bằng công cụ là một cách tiếp cận phổ biến, nhưng quá trình này có thể tốn thời gian. Những tiến bộ gần đây trong các mô hình nền tảng cung cấp khả năng tự động hóa hoặc bán tự động hóa quá trình chú thích, có khả năng tăng tốc đáng kể quá trình tạo tập dữ liệu. Sau đây là một số ví dụ về các mô hình có thể hỗ trợ tạo nhãn:

  • Google Gemini : Các mô hình đa phương thức lớn như Gemini sở hữu khả năng hiểu hình ảnh mạnh mẽ. Chúng có thể được nhắc nhở để xác định và định vị các đối tượng trong hình ảnh, tạo ra các hộp giới hạn hoặc mô tả có thể được chuyển đổi thành YOLO định dạng nhãn. Khám phá tiềm năng của nó trong sổ tay hướng dẫn được cung cấp.
  • SAM2 (Mô hình phân đoạn bất kỳ 2) : Các mô hình nền tảng tập trung vào phân đoạn, như SAM2 , có thể xác định và phân định các đối tượng với độ chính xác cao. Mặc dù chủ yếu dùng để phân đoạn, các mặt nạ kết quả thường có thể được chuyển đổi thành chú thích hộp giới hạn phù hợp cho các tác vụ phát hiện đối tượng.
  • YOLOWorld : Mô hình này cung cấp khả năng phát hiện từ vựng mở. Bạn có thể cung cấp mô tả văn bản về các đối tượng mà bạn quan tâm và YOLOWorld có thể định vị chúng trong hình ảnh mà không cần đào tạo trước về các lớp cụ thể đó. Điều này có thể được sử dụng làm điểm khởi đầu để tạo nhãn ban đầu, sau đó có thể được tinh chỉnh.

Sử dụng các mô hình này có thể cung cấp bước "gắn nhãn trước", giúp giảm bớt công sức thủ công cần thiết. Tuy nhiên, điều quan trọng là phải xem xét và tinh chỉnh các nhãn được tạo tự động để đảm bảo độ chính xác và tính nhất quán, vì chất lượng ảnh hưởng trực tiếp đến hiệu suất của người được đào tạo của bạn YOLOv5 mô hình. Sau khi tạo (và có khả năng tinh chỉnh) nhãn của bạn, hãy đảm bảo chúng tuân thủ YOLO định dạng: một *.txt tập tin cho mỗi hình ảnh, với mỗi dòng đại diện cho một đối tượng như class_index x_center y_center width height (tọa độ chuẩn hóa, lớp có chỉ số bằng không). Nếu một hình ảnh không có đối tượng quan tâm, không có *.txt tập tin là cần thiết.

Các YOLO định dạng *.txt thông số kỹ thuật của tập tin là chính xác:

  • Một hàng cho mỗi hộp giới hạn đối tượng.
  • Mỗi hàng phải chứa: class_index x_center y_center width height.
  • Tọa độ phải là được chuẩn hóa trong phạm vi từ 0 đến 1. Để đạt được điều này, hãy chia các giá trị pixel của x_centerwidth theo tổng chiều rộng của hình ảnh và chia y_centerheight theo chiều cao tổng thể của hình ảnh.
  • Chỉ số lớp là chỉ số bằng 0 (tức là lớp đầu tiên được biểu diễn bằng 0, thứ hai bởi 1, v.v.).

Hình ảnh ví dụ với hai người và một chiếc cà vạt được chú thích

Tệp nhãn tương ứng với hình ảnh ở trên, chứa hai đối tượng 'người' (chỉ mục lớp 0) và một đối tượng 'tie' (chỉ mục lớp 27), sẽ trông như thế này:

Ví dụ YOLO định dạng nhãn nội dung tệp cho hình ảnh có chú thích

1.3 Tổ chức các thư mục

Cấu trúc của bạn bộ dữ liệu thư mục như minh họa bên dưới. Theo mặc định, YOLOv5 dự đoán thư mục tập dữ liệu (ví dụ, /coco128) cư trú trong một /datasets thư mục được định vị kề cận cái /yolov5 thư mục lưu trữ.

YOLOv5 tự động định vị các nhãn cho mỗi hình ảnh bằng cách thay thế trường hợp cuối cùng của /images/ trong đường dẫn hình ảnh với /labels/. Ví dụ:

../datasets/coco128/images/im0.jpg # Path to the image file
../datasets/coco128/labels/im0.txt # Path to the corresponding label file

Cấu trúc thư mục được đề xuất là:

/datasets/
└── coco128/  # Dataset root
    ├── images/
    │   ├── train2017/  # Training images
    │   │   ├── 000000000009.jpg
    │   │   └── ...
    │   └── val2017/    # Validation images (optional if using same set for train/val)
    │       └── ...
    └── labels/
        ├── train2017/  # Training labels
        │   ├── 000000000009.txt
        │   └── ...
        └── val2017/    # Validation labels (optional if using same set for train/val)
            └── ...

Biểu đồ hiển thị khuyến nghị YOLOv5 cấu trúc thư mục tập dữ liệu

2. Chọn một mô hình

Chọn một mô hình được đào tạo trước để bắt đầu quá trình đào tạo. Bắt đầu với trọng số được đào tạo trước giúp tăng tốc đáng kể quá trình học và cải thiện hiệu suất so với đào tạo từ đầu. YOLOv5 cung cấp nhiều kích thước mô hình khác nhau, mỗi kích thước cân bằng tốc độ và độ chính xác khác nhau. Ví dụ, YOLOv5s là mô hình nhỏ thứ hai và nhanh nhất, phù hợp với môi trường hạn chế về tài nguyên. Tham khảo bảng README để biết so sánh chi tiết về tất cả các mô hình có sẵn.

Biểu đồ so sánh của YOLOv5 mô hình hiển thị kích thước, tốc độ và độ chính xác

3. Tàu hỏa

Bắt đầu đào tạo người mẫu sử dụng train.py kịch bản. Những lập luận cần thiết bao gồm:

  • --img: Xác định đầu vào kích thước hình ảnh (ví dụ, --img 640). Kích thước lớn hơn thường mang lại độ chính xác tốt hơn nhưng đòi hỏi nhiều hơn GPU ký ức.
  • --batch: Xác định kích thước lô (ví dụ, --batch 16). Chọn kích thước lớn nhất của bạn GPU có thể xử lý được.
  • --epochs: Chỉ định tổng số lượng đào tạo thời đại (ví dụ, --epochs 100). Một kỷ nguyên biểu thị một lần duyệt đầy đủ trên toàn bộ tập dữ liệu đào tạo.
  • --data: Đường dẫn đến bạn dataset.yaml tập tin (ví dụ, --data coco128.yaml).
  • --weights: Đường dẫn đến tệp trọng số ban đầu. Sử dụng trọng số được đào tạo trước (ví dụ: --weights yolov5s.pt) được khuyến khích sử dụng để hội tụ nhanh hơn và có kết quả tốt hơn. Để đào tạo từ đầu (không nên sử dụng trừ khi bạn có tập dữ liệu rất lớn và nhu cầu cụ thể), hãy sử dụng --weights '' --cfg yolov5s.yaml.

Trọng số được đào tạo trước sẽ tự động được tải xuống từ bản phát hành YOLOv5 mới nhất nếu không tìm thấy ở địa phương.

# Example: Train YOLOv5s on the COCO128 dataset for 3 epochs
python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt

Tối ưu hóa tốc độ đào tạo

💡 Sử dụng --cache ram hoặc --cache disk để lưu trữ bộ dữ liệu hình ảnh trong ĐẬP hoặc đĩa cục bộ. Điều này tăng tốc đáng kể quá trình đào tạo, đặc biệt là khi các hoạt động I/O (Đầu vào/Đầu ra) của tập dữ liệu là một nút thắt cổ chai. Lưu ý rằng điều này đòi hỏi RAM hoặc dung lượng đĩa đáng kể.

Lưu trữ dữ liệu cục bộ

💡 Luôn đào tạo bằng cách sử dụng các tập dữ liệu được lưu trữ cục bộ. Truy cập dữ liệu từ các ổ đĩa mạng (như Google Drive) hoặc lưu trữ từ xa có thể chậm hơn đáng kể và cản trở hiệu suất đào tạo. Sao chép tập dữ liệu của bạn vào ổ SSD cục bộ thường là giải pháp tốt nhất.

Tất cả các kết quả đào tạo, bao gồm trọng lượng và nhật ký, được lưu trong runs/train/ thư mục. Mỗi phiên đào tạo tạo ra một thư mục con mới (ví dụ: runs/train/exp, runs/train/exp2, v.v.). Để có trải nghiệm thực hành, tương tác, hãy khám phá phần đào tạo trong sổ tay hướng dẫn chính thức của chúng tôi: Mở trong Colab Mở trong Kaggle

4. Hình dung

YOLOv5 tích hợp liền mạch với nhiều công cụ khác nhau để trực quan hóa tiến trình đào tạo, đánh giá kết quả và theo dõi hiệu suất theo thời gian thực.

Comet Ghi nhật ký và trực quan hóa 🌟 MỚI

Comet được tích hợp đầy đủ để theo dõi thử nghiệm toàn diện. Trực quan hóa số liệu trực tiếp, lưu siêu tham số, quản lý tập dữ liệu và điểm kiểm tra mô hình, và phân tích dự đoán mô hình bằng Comet Custom Panels tương tác.

Cách bắt đầu rất đơn giản:

pip install comet_ml                                                          # 1. Install Comet library
export COMET_API_KEY=YOUR_API_KEY_HERE                                        # 2. Set your Comet API key (create a free account at Comet.ml)
python train.py --img 640 --epochs 3 --data coco128.yaml --weights yolov5s.pt # 3. Train your model - Comet automatically logs everything!

Khám phá sâu hơn các tính năng được hỗ trợ trong Comet Hướng dẫn tích hợp. Tìm hiểu thêm về Comet khả năng của 's từ chính thức của họ tài liệu. Hãy thử Comet Colab Notebook để xem bản demo trực tiếp: Mở trong Colab

Comet Giao diện người dùng hiển thị YOLOv5 số liệu đào tạo và hình ảnh trực quan

ClearML Ghi nhật ký và Tự động hóa 🌟 MỚI

Tích hợp ClearML cho phép theo dõi thử nghiệm chi tiết, quản lý phiên bản tập dữ liệu và thậm chí thực hiện từ xa các lần chạy đào tạo. Kích hoạt ClearML với các bước đơn giản sau:

  • Cài đặt gói: pip install clearml
  • Khởi tạo ClearML : Chạy clearml-init một lần để kết nối với bạn ClearML máy chủ (tự lưu trữ hoặc tầng miễn phí).

ClearML tự động ghi lại các chi tiết thử nghiệm, tải lên mô hình, so sánh, thay đổi mã chưa cam kết và các gói đã cài đặt, đảm bảo khả năng tái tạo đầy đủ. Bạn có thể dễ dàng lên lịch các tác vụ đào tạo trên các tác nhân từ xa và quản lý các phiên bản tập dữ liệu bằng cách sử dụng ClearML Dữ liệu. Khám phá Hướng dẫn tích hợp ClearML để biết thông tin chi tiết.

ClearML Giao diện quản lý thí nghiệm hiển thị biểu đồ và nhật ký cho một YOLOv5 chạy tập luyện

Ghi nhật ký cục bộ

Kết quả đào tạo được tự động ghi lại bằng cách sử dụng Bảng TensorBoard và được lưu dưới dạng CSV các tập tin trong thư mục thí nghiệm cụ thể (ví dụ: runs/train/exp). Dữ liệu được ghi lại bao gồm:

  • Đo lường hiệu suất và tổn thất trong đào tạo và xác thực.
  • Hình ảnh mẫu hiển thị các phần tăng cường được áp dụng (như tranh ghép).
  • Ghi nhãn sự thật cơ bản cùng với dự đoán của mô hình để kiểm tra trực quan.
  • Các số liệu đánh giá chính như đường cong Độ chính xác - Thu hồi (PR).
  • Ma trận nhầm lẫn để phân tích hiệu suất chi tiết theo từng lớp.

Ví dụ về kết quả ghi nhật ký cục bộ bao gồm biểu đồ và ảnh ghép từ YOLOv5 đào tạo

Các results.csv tập tin được cập nhật sau mỗi kỷ nguyên và được vẽ như results.png một khi quá trình đào tạo kết thúc. Bạn cũng có thể lập biểu đồ bất kỳ results.csv tập tin theo cách thủ công bằng cách sử dụng chức năng tiện ích được cung cấp:

from utils.plots import plot_results

# Plot results from a specific training run directory
plot_results("runs/train/exp/results.csv")  # This will generate 'results.png' in the same directory

Ví dụ biểu đồ results.png hiển thị các số liệu đào tạo như mAP, độ chính xác, khả năng thu hồi và mất mát qua các kỷ nguyên

5. Các bước tiếp theo

Sau khi hoàn thành khóa đào tạo thành công, điểm kiểm tra mô hình có hiệu suất tốt nhất (best.pt) được lưu và sẵn sàng để triển khai hoặc tinh chỉnh thêm. Các bước tiếp theo có thể bao gồm:

  • Chạy suy luận trên hình ảnh hoặc video mới bằng cách sử dụng mô hình đã đào tạo thông qua CLI hoặc Python .
  • Thực hiện xác thực để đánh giá độ chính xác và khả năng tổng quát của mô hình trên các phân chia dữ liệu khác nhau (ví dụ: bộ kiểm tra được giữ lại).
  • Xuất mô hình sang nhiều định dạng triển khai khác nhau như ONNX , TensorFlow SavedModel hoặc TensorRT để tối ưu hóa suy luận trên nhiều nền tảng khác nhau.
  • Sử dụng các kỹ thuật điều chỉnh siêu tham số để có khả năng tăng thêm hiệu suất.
  • Tiếp tục cải thiện mô hình của bạn bằng cách làm theo Mẹo để có kết quả đào tạo tốt nhất của chúng tôi và liên tục thêm dữ liệu đa dạng và đầy thử thách hơn dựa trên phân tích hiệu suất.

Môi trường được hỗ trợ

Ultralytics cung cấp môi trường sẵn sàng sử dụng được trang bị các thành phần phụ thuộc cần thiết như CUDA , cuDNN , PythonPyTorch , giúp khởi đầu dễ dàng.

Tình trạng dự án

YOLOv5 Huy hiệu trạng thái tích hợp liên tục

Huy hiệu này chỉ ra rằng tất cả YOLOv5 Các bài kiểm tra Tích hợp liên tục (CI) của GitHub Actions đang vượt qua thành công. Các bài kiểm tra CI nghiêm ngặt này bao gồm các chức năng cốt lõi, bao gồm đào tạo , xác thực , suy luận , xuấtđiểm chuẩn , trên các hệ điều hành macOS, Windows và Ubuntu. Các bài kiểm tra được thực hiện tự động sau mỗi 24 giờ và sau mỗi lần cam kết mã, đảm bảo tính ổn định nhất quán và hiệu suất tối ưu.

CÂU HỎI THƯỜNG GẶP

Những câu hỏi thường gặp

Tôi phải tập luyện như thế nào? YOLOv5 trên tập dữ liệu tùy chỉnh của tôi?

Đào tạo YOLOv5 trên một tập dữ liệu tùy chỉnh bao gồm một số bước chính:

  1. Chuẩn bị bộ dữ liệu của bạn: Thu thập hình ảnh và chú thích chúng. Đảm bảo chú thích nằm trong yêu cầu YOLO định dạng. Tổ chức hình ảnh và nhãn thành train/val/ (và tùy chọn test/) thư mục. Hãy cân nhắc sử dụng các mô hình như Google Song Tử, SAM2, hoặc Thế giới YOLO để hỗ trợ hoặc tự động hóa quá trình dán nhãn (xem Phần 1.2).
  2. Thiết lập môi trường của bạn: Sao chép YOLOv5 kho lưu trữ và cài đặt các phụ thuộc bằng cách sử dụng pip install -r requirements.txt.
    git clone https://github.com/ultralytics/yolov5
    cd yolov5
    pip install -r requirements.txt
    
  3. Tạo cấu hình tập dữ liệu: Xác định đường dẫn tập dữ liệu, số lượng lớp và tên lớp trong dataset.yaml tài liệu.
  4. Bắt đầu đào tạo: Thực hiện train.py kịch bản, cung cấp đường dẫn đến dataset.yaml, trọng số được đào tạo trước mong muốn (ví dụ, yolov5s.pt), kích thước hình ảnh, kích thước lô và số kỷ nguyên.
    python train.py --img 640 --batch 16 --epochs 100 --data path/to/your/dataset.yaml --weights yolov5s.pt
    

Tại sao tôi nên sử dụng Ultralytics HUB để đào tạo tôi YOLO mô hình?

Ultralytics HUB là một nền tảng toàn diện được thiết kế để hợp lý hóa toàn bộ YOLO vòng đời phát triển mô hình, thường không cần phải viết bất kỳ mã nào. Các lợi ích chính bao gồm:

  • Đào tạo đơn giản : Dễ dàng đào tạo các mô hình bằng cách sử dụng môi trường được cấu hình sẵn và giao diện người dùng trực quan.
  • Quản lý dữ liệu tích hợp : Tải lên, kiểm soát phiên bản và quản lý tập dữ liệu của bạn một cách hiệu quả trong nền tảng.
  • Giám sát thời gian thực : Theo dõi tiến trình đào tạo và trực quan hóa số liệu hiệu suất bằng các công cụ tích hợp như Comet hoặc TensorBoard.
  • Tính năng cộng tác : Tạo điều kiện thuận lợi cho làm việc nhóm thông qua việc chia sẻ tài nguyên, công cụ quản lý dự án và chia sẻ mô hình dễ dàng.
  • Triển khai không cần mã : Triển khai các mô hình đã đào tạo trực tiếp tới nhiều mục tiêu khác nhau.

Để biết hướng dẫn thực tế, hãy xem bài đăng trên blog của chúng tôi: Cách đào tạo mô hình tùy chỉnh của bạn bằng Ultralytics HUB .

Làm thế nào để tôi chuyển đổi dữ liệu chú thích của mình sang YOLOv5 định dạng?

Cho dù bạn chú thích thủ công hay sử dụng các công cụ tự động (như các công cụ được đề cập trong Phần 1.2), nhãn cuối cùng phải ở định dạng YOLO cụ thể theo yêu cầu của YOLOv5 :

  • Tạo một .txt tệp cho mỗi hình ảnh. Tên tệp phải khớp với tên tệp hình ảnh (ví dụ: image1.jpg tương ứng với image1.txt). Đặt các tập tin này vào một labels/ thư mục song song với bạn images/ thư mục (ví dụ, ../datasets/mydataset/labels/train/).
  • Mỗi dòng trong một .txt tệp biểu diễn một chú thích đối tượng và tuân theo định dạng: class_index center_x center_y width height.
  • Tọa độ (center_x, center_y, width, height) phải là được chuẩn hóa (giá trị từ 0,0 đến 1,0) so với kích thước của hình ảnh.
  • Chỉ số lớp là dựa trên số không (lớp đầu tiên là 0, thứ hai là 1, vân vân.).

Nhiều công cụ chú thích thủ công cung cấp khả năng xuất trực tiếp sang YOLO định dạng. Nếu sử dụng các mô hình tự động, bạn sẽ cần các tập lệnh hoặc quy trình để chuyển đổi đầu ra của chúng (ví dụ: tọa độ hộp giới hạn, mặt nạ phân đoạn) thành định dạng văn bản chuẩn hóa cụ thể này. Đảm bảo cấu trúc tập dữ liệu cuối cùng của bạn tuân thủ ví dụ được cung cấp trong hướng dẫn. Để biết thêm chi tiết, hãy xem Hướng dẫn thu thập và chú thích dữ liệu của chúng tôi.

Các tùy chọn cấp phép để sử dụng là gì? YOLOv5 trong các ứng dụng thương mại?

Ultralytics cung cấp giấy phép linh hoạt phù hợp với các nhu cầu khác nhau:

  • Giấy phép AGPL-3.0 : Giấy phép nguồn mở này phù hợp với nghiên cứu học thuật, các dự án cá nhân và các tình huống mà việc tuân thủ nguồn mở là chấp nhận được. Nó yêu cầu các sửa đổi và tác phẩm phái sinh cũng phải được mã nguồn mở theo AGPL-3.0 . Xem lại chi tiết Giấy phép AGPL-3.0 .
  • Giấy phép doanh nghiệp : Giấy phép thương mại được thiết kế cho các doanh nghiệp tích hợp YOLOv5 thành các sản phẩm hoặc dịch vụ độc quyền. Giấy phép này loại bỏ các nghĩa vụ nguồn mở của AGPL-3.0 , cho phép phân phối nguồn đóng. Truy cập trang Cấp phép của chúng tôi để biết thêm chi tiết hoặc để yêu cầu Giấy phép Doanh nghiệp .

Chọn giấy phép phù hợp nhất với yêu cầu và mô hình phân phối của dự án.

📅 Được tạo ra cách đây 1 năm ✏️ Đã cập nhật cách đây 11 ngày

Bình luận