Установка и использование YOLO-World
В последней версии платформы YOLOv8 интегрирована поддержка модели YOLO-World. Просто запустите следующую командную строку:
pip install ultralytics
После завершения установки вы можете использовать следующий код для завершения теста:
from ultralytics import YOLOWorld
# Load a pretrained YOLOv8s-worldv2 model
model = YOLOWorld('yolov8s-worldv2.pt')
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model('path/to/bus.jpg')
Рекомендуется использовать версию модели v2, поскольку она поддерживает экспорт моделей формата ONNX и может быть развернута напрямую. Прямое предсказание:
from ultralytics import YOLOWorld
# Initialize a YOLO-World model
model = YOLOWorld('yolov8s-worldv2.pt') # or select yolov8m/l-world.pt for different sizes
# Execute inference with the YOLOv8s-world model on the specified image
results = model.predict('path/to/image.jpg')
# Show results
results[0].show()
Создание и вывод пользовательской модели обнаружения объектов
Создайте собственную модель обнаружения объектов и сохраните ее:
model = YOLOWorld('yolov8s-worldv2.pt')
model.set_classes(["elephant, camel"])
model.save("elephant_camel_world.pt")
Экспортируйте пользовательскую модель обнаружения объектов в модель формата ONNX:
model = YOLO('elephant_camel_world.pt')
model.export(format="onnx", opset=12)
Видно, что выходной формат файла формата ONNX, полученный моделью, является динамическим.
Используйте модель формата ONNX для развертывания прямого вывода. На основе платформы развертывания модели VMDM напрямую импортируйте модель и начните ее распространение. Я напрямую сгенерировал и экспортировал две пользовательские модели обнаружения объектов, которые поддерживают распознавание слонов и птиц соответственно. Результаты работы следующие:
Я протестировал и обнаружил, что две среды развертывания моделей OpenVINO и ONNXRUNTIME могут легко вывести и экспортировать модель YOLO-World в формате ONNX, но загрузить OpenCV DNN невозможно. Поэтому для развертывания YOLO-World рекомендуется использовать две модели развертывания — OpenVINO и ONNXRUNTIME.