libreyolo predict

Uruchamia wczytany model na jednym źródle i wypisuje predykcje. Źródłem może być obraz, katalog, wideo, adres URL lub strumień na żywo; modelem może być checkpoint lub wyeksportowany artefakt.

Polecenie
libreyolo predict
Wymagane
source
Wyjście
Predykcje na stdout. Przy save=true pliki z adnotacjami w runs/detect/predict

Składnia

bash
libreyolo predict source=<path|url|index> [model=<name|path>] [key=value ...]

Argumenty to pary key=value. To samo polecenie przyjmuje również formę POSIX, więc conf=0.4 i --conf 0.4 są wymienne, a wartość logiczna zapisana jako save=true staje się --save. Nazwy z podkreśleniem przyjmują obie pisownie: max_det=50 i --max-det 50 trafiają do tej samej opcji.

libreyolo detect predict ... jest akceptowane i działa identycznie; słowo zadania jest usuwane przed parsowaniem.

Argumenty

ArgumentDomyślnieZnaczenie
sourceŚcieżka do obrazu, katalog lub adres URL. Wymagane
modelyolox-sNazwa lub ścieżka modelu
conf0.25Próg pewności
iou0.45Próg IoU dla NMS
imgszRozmiar obrazu wejściowego: 640 (kwadrat) lub 480x640 (HxW). Gdy nie ustawiono, własny rozmiar wejściowy modelu
classesFiltrowanie po identyfikatorach klas, np. [0,2,5]. Akceptowana jest też sama liczba całkowita
max_det300Maksymalna liczba detekcji na obraz
halffalseInferencja FP16 (tylko CUDA, wymaga obsługi po stronie modelu)
savefalseZapis obrazów z adnotacjami
batch1Liczba obrazów na jedno przejście w przód dla źródeł katalogowych. Powyżej 1 uruchamia prawdziwą inferencję batchową na modelach, które ją obsługują
streamfalseZwracanie wyników przyrostowo. Włączane automatycznie dla kamer internetowych i strumieni na żywo
stream_bufferfalseBuforowanie każdej klatki na żywo zamiast zachowywania tylko najnowszej
vid_stride1Przetwarzanie co N-tej klatki wideo lub klatki na żywo
showfalseWyświetlanie wyników wideo i na żywo; q zatrzymuje
tilingfalseInferencja kafelkowa dla dużych obrazów
overlap_ratio0.2Współczynnik nakładania się kafelków
output_pathJawna ścieżka wyjściowa. W przeciwnym razie project/name, gdy save=true
color_formatautoKolor wejściowy: auto, rgb, bgr
output_file_formatFormat wyjściowy: jpg, png, webp
deviceautoUrządzenie: 0, cpu, mps, auto
face_detectorModel detektora twarzy (ścieżka lub nazwa CLI). Wymagany dla modeli estymacji spojrzenia (gaze)
galleryGaleria twarzy .npz z libreyolo enroll, względem której identyfikowane są twarze. Tylko modele embeddingów twarzy
gallery_threshold0.4Próg cosinusowy dopasowania tożsamości w galerii
projectruns/detectKatalog główny wyjścia
namepredictNazwa eksperymentu
exist_okfalsePonowne użycie istniejącego katalogu wyjściowego
jsonfalseWyjście JSON na stdout
quietfalseWyciszenie stderr
verbosefalseSzczegółowe wyjście na stderr
help_jsonfalseZrzut schematu polecenia w formacie JSON i zakończenie

Przykłady

Podstawowe użycie
libreyolo predict model=LibreYOLO9s.pt \  source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg
Zapis obrazów z adnotacjami
libreyolo predict model=LibreYOLO9s.pt save=true \  project=runs/detect name=parkour exist_ok=true \  source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg
Filtrowanie klas, JSON na stdout
# klasa 0 to person na liście klas COCO dołączonej do checkpointu.libreyolo predict model=LibreYOLO9s.pt classes="[0]" conf=0.4 max_det=50 \  json=true quiet=true \  source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg

Uwagi

Wyeksportowany artefakt wczytuje się tak samo jak checkpoint, więc model=weights/LibreYOLO9s.onnx i model=weights/LibreYOLO9s.engine są poprawnymi wartościami dla model. Trzy opcje są w tych środowiskach uruchomieniowych odrzucane, a nie ignorowane: tiling, overlap_ratio i output_file_format kończą działanie z config_unsupported, gdy backend środowiska uruchomieniowego nie może ich obsłużyć.

half działa odwrotnie. Wyeksportowane środowiska uruchomieniowe przyjmują tę opcję i działają w FP16; natywna inferencja w PyTorch zapisuje w logach, że została zignorowana, i kontynuuje w FP32.

Modele estymacji spojrzenia są dwuetapowe i nie mają własnego detektora, dlatego face_detector jest dla nich wymagany. gallery dotyczy tylko modeli, których zadaniem jest embed; przekazanie tej opcji czemukolwiek innemu kończy działanie z config_unsupported.

stdout niesie wyniki i nic poza nimi; postęp, ostrzeżenia i błędy trafiają na stderr. json=true wypisuje jeden obiekt JSON na wywołanie lub jeden na klatkę przy streamingu, każdy z polem schema_version. quiet=true wycisza stderr. Obie opcje razem dają czytnikowi maszynowemu czysty strumień stdout.

Kod wyjścia to 0 przy powodzeniu, 2 przy błędzie użycia lub konfiguracji, 3, gdy nie można znaleźć źródła, 4, gdy nie można wczytać modelu, oraz 1 przy innych awariach w czasie działania.

help_json=true wypisuje parametry polecenia, typy, wartości domyślne i flagi w formacie JSON, nie uruchamiając niczego, co jest niezawodnym sposobem na odczytanie tej tabeli z zainstalowanej wersji.

Powiązane: libreyolo val dla zmierzonych metryk na zbiorze danych, libreyolo export do wytworzenia wymienionych wyżej artefaktów środowiska uruchomieniowego.

Zweryfikowano z LibreYOLO v1.5.0.