Link to this sectionHuấn luyện YOLOv5 trên Dữ liệu Tùy chỉnh#
📚 Hướng dẫn này giải thích cách huấn luyện tập dữ liệu tùy chỉnh của riêng bạn bằng mô hình YOLOv5 🚀. Huấn luyện các mô hình tùy chỉnh là bước cơ bản để đ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ể, vượt xa phát hiện đối tượng thông thường.
Link to this sectionTrước khi 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 (clone) kho lưu trữ YOLOv5 và cài đặt các phụ thuộc yêu cầu từ requirements.txt. Môi trường Python>=3.8.0 với PyTorch>=1.8 là yếu tố thiết yếu. Các mô hình và tập dữ liệu sẽ được tự động tải xuống từ bản release YOLOv5 mới nhất nếu không tìm thấy cục bộ.
git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5
pip install -r requirements.txt # Install dependenciesLink to this sectionHuấn luyện trên Dữ liệu Tùy chỉnh#
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:
- Thu thập & Tổ chức Hình ảnh: Tập hợp các hình ảnh liên quan đến tác vụ cụ thể của bạn. Dữ liệu chất lượng cao và đa dạng là rất quan trọng. Xem hướng dẫn của chúng tôi về Thu thập và Gán nhãn Dữ liệu.
- Gán nhãn Đối tượng: Chú thích chính xác các đối tượng bạn quan tâm trong hình ảnh.
- Huấn luyện Mô hình: Sử dụng dữ liệu đã gán nhãn để huấn luyện mô hình YOLOv5 của bạn. Tận dụng học chuyển đổi bằng cách bắt đầu với trọng số đã huấn luyện trước.
- Triển khai & Dự đoán: Sử dụng mô hình đã huấn luyện để suy luận trên dữ liệu mới chưa từng thấy.
- Thu thập các Trường hợp Đặc biệt (Edge Cases): Xác định các kịch bản mà mô hình hoạt động kém (edge cases) và thêm dữ liệu tương tự vào tập dữ liệu để cải thiện độ bền vững. Lặp lại chu trình này.
Ultralytics Platform cung cấp giải pháp hợp lý, không cần mã (no-code) cho toàn bộ chu trình vận hành học máy (MLOps), bao gồm quản lý tập dữ liệu, huấn luyện mô hình và triển khai.
Ultralytics cung cấp hai tùy chọn cấp phép để phù hợp với các kịch bản sử dụng đa dạng:
- Giấy phép AGPL-3.0: Giấy phép mã nguồn mở được OSI phê duyệt 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 sản phẩm phái sinh phải được chia sẻ theo cùng giấy phép. Xem tệp LICENSE để biết thông tin chi tiết.
- Giấy phép Doanh nghiệp: Đối với mục đích phát triển và sản xuất, giấy phép này cho phép tích hợp liền mạch phần mềm và các mô hình AI của Ultralytics vào các sản phẩm và dịch vụ kinh doanh, bao gồm công cụ nội bộ, quy trình làm việc tự động và triển khai sản xuất, bỏ qua các yêu cầu mã nguồn mở của AGPL-3.0. Để bắt đầu, vui lòng liên hệ với chúng tôi qua Cấp phép Ultralytics.
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 huấn luyện, việc chuẩn bị tập dữ liệu là thiết yếu.
Link to this sectionTạo một Tập dữ liệu#
Các mô hình YOLOv5 yêu cầu dữ liệu đã gán nhãn để học các đặc điểm hình ảnh 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.
Link to this section1.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ừ tập dữ liệu COCO mở rộng. Nó hữu ích để nhanh chóng kiểm tra quy trình huấn luyện và chẩn đoán các vấn đề tiềm ẩn như quá khớp (overfitting).
Cấu trúc tệp dataset.yaml 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đến 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 cho các tập huấn luyện, kiểm chứng và kiểm thử.names: Một từ điển ánh xạ các chỉ số lớp (bắt đầu từ 0) đến tên lớp tương ứng.
Bạn có thể đặt path thành một thư mục tuyệt đối (ví dụ: /home/user/datasets/coco128) hoặc một đường dẫn tương đối như ../datasets/coco128 khi khởi chạy huấn luyện từ thư mục gốc của kho lưu trữ YOLOv5.
Dưới đây là cấu trúc của coco128.yaml (xem trên GitHub):
# Dataset root directory relative to the yolov5 directory
path: 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: toothbrushLink to this section1.2 Tận dụng các Mô hình để Gán nhãn Tự động#
Gán nhãn thủ công là cách tiếp cận thông thường nhưng tốn thời gian. Các mô hình nền tảng có thể tự động hóa hoặc bán tự động hóa việc chú thích và tăng tốc quá trình tạo tập dữ liệu. Các ví dụ về mô hình có thể giúp 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 để 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 nhãn định dạng YOLO. Khám phá tiềm năng của nó trong tệp notebook hướng dẫn được cung cấp.
- SAM2 (Segment Anything Model 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ác thảo đối tượng với độ chính xác cao. Mặc dù chủ yếu dành cho phân đoạn, các mặt nạ kết quả thường có thể được chuyển đổi thành các 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 bạn quan tâm và YOLOWorld có thể định vị chúng trong hình ảnh mà không cần huấn luyện trước trên các lớp cụ thể đó. Điều này có thể được sử dụng làm điểm bắt đầu để tạo nhãn ban đầu, sau đó có thể được tinh chỉnh.
Việc sử dụng các mô hình này có thể cung cấp bước "tiền gán nhãn", giảm bớt công sức thủ công cần thiết. Tuy nhiên, việc 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 là rất quan trọng, vì chất lượng ảnh hưởng trực tiếp đến hiệu suất của mô hình YOLOv5 đã huấn luyện. Sau khi tạo (và có khả năng tinh chỉnh) nhãn, hãy đảm bảo chúng tuân thủ định dạng YOLO: một tệp *.txt cho mỗi hình ảnh, với mỗi dòng đại diện cho một đối tượng là class_index x_center y_center width height (tọa độ chuẩn hóa, lớp bắt đầu từ số 0). Nếu một hình ảnh không có đối tượng nào, thì không cần tệp *.txt tương ứng.
Các thông số kỹ thuật của tệp *.txt định dạng YOLO rất chính xác:
- Một dòng cho mỗi đối tượng hộp giới hạn (bounding box).
- Mỗi dòng phải chứa:
class_index x_center y_center width height. - Các tọa độ phải được chuẩn hóa về phạm vi từ 0 đến 1. Để đạt được điều này, hãy chia các giá trị pixel của
x_centervàwidthcho tổng chiều rộng của hình ảnh, và chiay_centervàheightcho tổng chiều cao của hình ảnh. - Các chỉ số lớp được đánh số từ 0 (tức là lớp đầu tiên được đại diện bởi
0, lớp thứ hai bởi1, v.v.).

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

Link to this section1.3 Tổ chức Thư mục#
Cấu trúc thư mục tập dữ liệu của bạn như minh họa dưới đây. Theo mặc định, YOLOv5 dự kiến thư mục tập dữ liệu (ví dụ: /coco128) nằm trong thư mục /datasets ngay cạnh thư mục kho lưu trữ /yolov5.
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 bằng /labels/. Ví dụ:
../datasets/coco128/images/im0.jpg # Path to the image file
../datasets/coco128/labels/im0.txt # Path to the corresponding label fileCấu trúc thư mục được khuyến nghị 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)
└── ...
Link to this sectionChọn một Mô hình#
Chọn một mô hình được huấn luyện trước để bắt đầu quá trình huấn luyện. Bắt đầu với trọng số đã huấn luyện trước giúp tăng tốc độ học tập đáng kể và cải thiện hiệu suất so với việc huấn luyện 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 giữa tốc độ và độ chính xác theo các cách khác nhau. Ví dụ, YOLOv5s là mô hình nhỏ thứ hai và nhanh nhất, phù hợp cho các môi trường hạn chế 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 hiện có.

Link to this sectionHuấn luyện#
Bắt đầu huấn luyện mô hình bằng cách sử dụng tập lệnh train.py. Các đối số thiết yếu bao gồm:
--img: Xác định kích thước hình ảnh đầu vào (ví dụ:--img 640). Các kích thước lớn hơn thường mang lại độ chính xác tốt hơn nhưng yêu cầu nhiều bộ nhớ GPU hơn.--batch: Xác định kích thước batch (ví dụ:--batch 16). Chọn kích thước lớn nhất mà GPU của bạn có thể xử lý.--epochs: Chỉ định tổng số epoch huấn luyện (ví dụ:--epochs 100). Một epoch đại diện cho một lượt truyền qua toàn bộ tập dữ liệu huấn luyện.--data: Đường dẫn đến tệpdataset.yamlcủa bạn (ví dụ:--data coco128.yaml).--weights: Đường dẫn đến tệp trọng số ban đầu. Sử dụng trọng số đã huấn luyện trước (ví dụ:--weights yolov5s.pt) rất được khuyến khích để hội tụ nhanh hơn và mang lại kết quả vượt trội. Để huấn luyện từ đầu (không khuyến khích 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.
Các trọng số đã huấn luyện trước được tự động tải xuống từ bản release YOLOv5 mới nhất nếu không tìm thấy cục bộ.
# 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💡 Sử dụng --cache ram hoặc --cache disk để lưu trữ bộ nhớ đệm hình ảnh tập dữ liệu trong RAM hoặc đĩa cục bộ. Điều này giúp tăng tốc độ huấn luyện đáng kể, đặc biệt khi các thao tác I/O (Nhập/Xuất) của tập dữ liệu là điểm nghẽn. Lưu ý rằng điều này đòi hỏi RAM hoặc dung lượng đĩa đáng kể.
💡 Luôn huấn luyện bằng cách sử dụng các tập dữ liệu được lưu trữ cục bộ. Việc 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 huấn luyện. Việc sao chép tập dữ liệu của bạn sang SSD cục bộ thường là cách thực hành tốt nhất.
Tất cả các đầu ra huấn luyện, bao gồm trọng số và nhật ký, được lưu trong thư mục runs/train/. Mỗi phiên huấn luyện 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 huấn luyện trong các notebook hướng dẫn chính thức của chúng tôi:
Link to this sectionTrực quan hóa#
YOLOv5 tích hợp liền mạch với các công cụ khác nhau để trực quan hóa tiến trình huấn luyện, đánh giá kết quả và giám sát hiệu suất theo thời gian thực.
Link to this sectionGhi nhật ký và Trực quan hóa Comet#
Comet được tích hợp đầy đủ để theo dõi thí nghiệm toàn diện. Trực quan hóa các số liệu trực tiếp, lưu các siêu tham số, quản lý tập dữ liệu và các điểm lưu mô hình, và phân tích các dự đoán của mô hình bằng cách sử dụng Bảng tùy chỉnh Comet tương tác.
Việc 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!Đi sâu vào các tính năng được hỗ trợ trong Hướng dẫn Tích hợp Comet của chúng tôi. Tìm hiểu thêm về các khả năng của Comet từ tài liệu chính thức của họ. Thử dùng Comet Colab Notebook để xem bản demo trực tiếp:
Link to this sectionGhi nhật ký và Tự động hóa ClearML#
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 thi các lượt huấn luyện từ xa. 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-initmột lần để kết nối với server ClearML của bạn (có thể là tự host hoặc sử dụng gói 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, các thay đổi mã chưa được cam kết (uncommitted) và các gói đã cài đặt, đảm bảo khả năng tái lập đầy đủ. Bạn có thể dễ dàng lập lịch các tác vụ huấn luyện 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 ClearML Data. Khám phá Hướng dẫn Tích hợp ClearML để biết chi tiết toàn diện.
Link to this sectionGhi nhật ký Cục bộ#
Kết quả huấn luyện được tự động ghi lại bằng TensorBoard và được lưu dưới dạng các tệp CSV trong thư mục thí nghiệm cụ thể (ví dụ: runs/train/exp). Dữ liệu được ghi lại bao gồm:
- Số liệu mất mát và hiệu suất huấn luyện và kiểm chứng.
- Các hình ảnh mẫu hiển thị các phép tăng cường dữ liệu đã áp dụng (như mosaic).
- Nhãn thực tế (ground truth) 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 (Precision)-Độ nhạy (Recall) (PR).
- Ma trận nhầm lẫn (Confusion matrices) để phân tích chi tiết hiệu suất theo từng lớp.
Tệp results.csv được cập nhật sau mỗi epoch và được vẽ dưới dạng results.png sau khi quá trình huấn luyện kết thúc. Bạn cũng có thể vẽ thủ công bất kỳ tệp results.csv nào bằng cách sử dụng hàm 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
Link to this sectionCác bước tiếp theo#
Sau khi hoàn tất huấn luyện thành công, điểm lưu mô hình hoạt động tốt nhất (best.pt) sẽ đượ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 tiềm năng 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 đã huấn luyện thông qua CLI hoặc Python.
- Thực hiện kiểm chứng để đánh giá độ chính xác và khả năng tổng quát hóa của mô hình trên các phần tách dữ liệu khác nhau (ví dụ: một tập kiểm thử được giữ lại).
- Xuất mô hình sang các định dạng triển khai khác nhau như ONNX, TensorFlow SavedModel hoặc TensorRT để suy luận tối ưu trên các nền tảng đa dạng.
- Sử dụng các kỹ thuật điều chỉnh siêu tham số để có khả năng đạt được thêm các cải thiện 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ả Huấn luyện Tốt nhất của chúng tôi và liên tục thêm dữ liệu đa dạng và thử thách hơn dựa trên phân tích hiệu suất.
Link to this sectionCác Môi trường được Hỗ trợ#
Ultralytics cung cấp các môi trường sẵn sàng sử dụng được trang bị các phụ thuộc thiết yếu như CUDA, cuDNN, Python và PyTorch, tạo điều kiện cho một khởi đầu thuận lợi.
- Notebook GPU Miễn phí:
- Nền tảng Đám mây:
- Google Cloud: GCP Quickstart Guide
- Amazon AWS: Hướng dẫn nhanh AWS
- Microsoft Azure: Hướng dẫn Bắt đầu Nhanh AzureML
- Thiết lập Cục bộ:
- Docker: Hướng dẫn Bắt đầu Nhanh Docker
- Docker: Hướng dẫn Bắt đầu Nhanh Docker
Link to this sectionTrạng thái Dự án#
Huy hiệu này cho biết tất cả các thử nghiệm GitHub Actions Continuous Integration (CI) của YOLOv5 đều đang vượt qua thành công. Các thử nghiệm CI nghiêm ngặt này bao gồm các chức năng cốt lõi, bao gồm huấn luyện, kiểm thử, suy luận, xuất và điểm chuẩn, trên các hệ điều hành macOS, Windows và Ubuntu. Các thử nghiệm được thực thi tự động mỗi 24 giờ và sau mỗi lần commit mã, đảm bảo tính ổn định nhất quán và hiệu năng tối ưu.
Link to this sectionCâu hỏi thường gặp#
Link to this sectionLàm cách nào để tôi huấn luyện YOLOv5 trên tập dữ liệu tùy chỉnh của mình?#
Việc huấn luyện YOLOv5 trên tập dữ liệu tùy chỉnh bao gồm một số bước chính:
- Chuẩn bị Tập dữ liệu của bạn: Thu thập hình ảnh và chú thích chúng. Đảm bảo các chú thích nằm trong định dạng YOLO được yêu cầu. Sắp xếp hình ảnh và nhãn vào các thư mục
train/vàval/(và tùy chọn làtest/). Hãy cân nhắc sử dụng các model như Google Gemini, SAM2 hoặc YOLOWorld để hỗ trợ hoặc tự động hóa quy trình gắn nhãn (xem Phần 1.2). - Thiết lập Môi trường của bạn: Clone kho lưu trữ YOLOv5 và cài đặt các phần phụ thuộc bằng
pip install -r requirements.txt.git clone https://github.com/ultralytics/yolov5 cd yolov5 pip install -r requirements.txt - Tạo Cấu hình Tập dữ liệu: Xác định các đường dẫn tập dữ liệu, số lượng lớp và tên lớp trong tệp
dataset.yaml. - Bắt đầu Huấn luyện: Thực thi tập lệnh
train.py, cung cấp các đường dẫn đếndataset.yamlcủa bạn, trọng số được huấn luyện trước mong muốn (ví dụ:yolov5s.pt), kích thước hình ảnh, kích thước batch và số lượng epoch.python train.py --img 640 --batch 16 --epochs 100 --data path/to/your/dataset.yaml --weights yolov5s.pt
Link to this sectionTại sao tôi nên sử dụng Ultralytics Platform để huấn luyện các model YOLO của mình?#
Ultralytics Platform là một nền tảng toàn diện được thiết kế để hợp lý hóa toàn bộ vòng đời phát triển model YOLO, 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:
- Huấn luyện Đơn giản hóa: Dễ dàng huấn luyện các model bằng cách sử dụng các 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, quản lý 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 huấn luyện và trực quan hóa các chỉ số hiệu suất bằng cách sử dụ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 làm việc nhóm thông qua các tài nguyên được chia sẻ, công cụ quản lý dự án và khả năng chia sẻ model dễ dàng.
- Triển khai Không cần Mã: Triển khai trực tiếp các model đã được huấn luyện tới nhiều mục tiêu khác nhau.
Để có hướng dẫn thực tế, hãy xem bài đăng trên blog của chúng tôi: Cách Huấn luyện Các Model Tùy chỉnh của bạn với Ultralytics Platform.
Link to this sectionLàm cách nào để tôi chuyển đổi dữ liệu được chú thích của mình sang định dạng YOLOv5?#
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), các nhãn cuối cùng phải ở định dạng YOLO cụ thể được YOLOv5 yêu cầu:
- Tạo một tệp
.txtcho 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.jpgtương ứng vớiimage1.txt). Đặt các tệp này vào thư mụclabels/song song với thư mụcimages/của bạn (ví dụ:../datasets/mydataset/labels/train/). - Mỗi dòng trong tệp
.txtđại diện cho một chú thích đối tượng và tuân theo định dạng:class_index center_x center_y width height. - Các tọa độ (
center_x,center_y,width,height) phải đượ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. - Các chỉ số lớp là zero-based (lớp đầu tiên là
0, lớp thứ hai là1, v.v.).
Nhiều công cụ chú thích thủ công cung cấp khả năng xuất trực tiếp sang định dạng YOLO. Nếu sử dụng các model 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 độ khung bao, mặt nạ phân đoạn) sang đị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.
Link to this sectionCác tùy chọn cấp phép để sử dụng YOLOv5 trong các ứng dụng thương mại là gì?#
Ultralytics cung cấp các tùy chọn cấp 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 mã nguồn mở này phù hợp cho 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ủ mã nguồn mở là chấp nhận được. Giấy phép này yêu cầu các sửa đổi và sản phẩm phái sinh cũng phải là 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: Một giấy phép thương mại được thiết kế cho các doanh nghiệp tích hợp YOLOv5 vào 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ụ mã nguồn mở của AGPL-3.0, cho phép phân phối mã 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 các yêu cầu và mô hình phân phối của dự án bạn.
