FCN

Ein dichter pixelweiser Klassifikator, der die vollständig verbundenen Schichten eines Detektors durch Faltungen ersetzt. Dadurch gibt er statt Boxen eine Klassenkarte mit voller Auflösung aus. LibreYOLO bietet ihn ausschließlich für die semantische Segmentierung an.

Aufgaben
semantic
Größen
r50, r101 at 520 px
Installation
pip install libreyolo
Supportstufe
Nur Inferenz, seit v. Nur Vorhersage, Validierung und Export. Trainingsfunktionen sind nicht verfügbar.
Upstream
FCN von PyTorch, BSD-3-Clause. Publikation, Quelle
Lizenzen
Code BSD-3-Clause, Gewichte BSD-3-Clause. Kommerzielle Nutzung

Installation

FCN benötigt kein optionales Zusatzpaket. Alle Importe sind in der Basisinstallation enthalten.

bash
pip install libreyolo

Vorhersage

Die Gewichte werden bei der ersten Verwendung von Hugging Face heruntergeladen und lokal zwischengespeichert.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreFCNr50.pt")result = model(SAMPLE_IMAGE, save=True) mask = result.semantic_maskprint(mask.data.shape)   # (H, W) Klassen-IDsprint(mask.classes)      # sortierte Klassen-IDs im Bild
CLI
libreyolo predict model=LibreFCNr50.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True

Die semantische Segmentierung gibt eine Klassen-ID pro Pixel und keine Boxen zurück. result.semantic_mask enthält daher ein Array der Form (H, W) in .data und die Liste der im Bild vorkommenden Klassen-IDs in .classes. conf, iou und max_det werden aus Gründen der API-Parität akzeptiert, haben aber keine Wirkung: Das Modell weist jedem Pixel per Argmax eine Klasse zu, ohne Confidence-Schwellenwert oder NMS-Schritt. Unter Vorhersage findest du Quellen, Streaming und die Verarbeitung von Ergebnissen.

Varianten

Es gibt zwei ResNet-Tiefen, beide mit einer festen Eingabe von 520 px. Der Inferenzgraph der Bibliothek ist das FCN mit dilatiertem ResNet von torchvision, nicht das VGG-basierte FCN-8s-Netzwerk mit Skip-Verbindungen aus der ursprünglichen Veröffentlichung.

LibreYOLO trainiert FCN nicht: train() löst für diese Familie den Fehler NotImplementedError aus. Der oben verlinkte Support-Tier kennzeichnet sie daher als reine Inferenzfamilie. Die beiden veröffentlichten Checkpoints sind die eigenen, mit COCO trainierten Gewichte von torchvision, die für den LibreYOLO-Loader konvertiert wurden.

Validierung

val() gibt metrics/mIoU und metrics/pixel_accuracy zurück. Diese werden auf einem beliebigen Datensatz in dem Format gemessen, das du für das Training verwendet hast.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreFCNr50.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mIoU"])print(metrics["metrics/pixel_accuracy"])
CLI
libreyolo val model=LibreFCNr50.pt data=my-dataset.yaml

Export

AufgabeONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
semanticsemantic to ONNX: unterstütztsemantic to TorchScript: unterstütztsemantic to ExecuTorch: nicht unterstütztsemantic to TensorRT: unterstütztsemantic to OpenVINO: unterstütztsemantic to Paddle: nicht unterstütztsemantic to MNN: nicht unterstütztsemantic to RKNN: nicht unterstütztsemantic to ncnn: nicht unterstütztsemantic to TFLite: nicht unterstütztsemantic to CoreML: nicht unterstütztsemantic to Core AI: nicht unterstützt

Ein exportiertes Artefakt wird anhand seiner Dateiendung wieder über LibreYOLO() geladen. Eine .onnx- oder .engine-Datei verhält sich daher wie ein Checkpoint und gibt dasselbe Results-Objekt zurück. Export führt die Argumente auf, die von den einzelnen Formaten akzeptiert werden.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreFCNr50.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreFCNr50.pt format=onnxlibreyolo export model=LibreFCNr50.pt format=tensorrt half=True
Exportierte Datei verwenden
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Die Factory entscheidet anhand der Dateiendung, daher wird ein Exportartefakt# wie jeder Checkpoint geladen und gibt dasselbe Results-Objekt zurück.model = LibreYOLO("LibreFCNr50.onnx")result = model(SAMPLE_IMAGE) print(result.semantic_mask.data.shape)

Checkpoints

Alle veröffentlichten Gewichtsdateien dieser Familie.

DateiEingabe (px)Lizenz der Gewichte
semantic
LibreFCNr50.pt520bsd-3-clause
LibreFCNr101.pt520bsd-3-clause

Jede oben aufgeführte Datei ist heute in der LibreYOLO-Organisation verfügbar und wird bei der ersten Verwendung heruntergeladen.

Lizenzierung

Prüfe die Lizenz im Hugging-Face-Repository der konkreten Gewichte, die du herunterlädst. Jeder Checkpoint in der LibreYOLO-Organisation hat eine Lizenz, und sie ist innerhalb einer Familie nicht immer gleich. Dieses Repository ist die maßgebliche Quelle. Die Zusammenfassung unten beschreibt den Stand bei der letzten Verifizierung dieser Seite.

Dies ist eine Beschreibung der beteiligten Lizenzen und keine Rechtsberatung. Wenn die Antwort kommerziell relevant ist, lies die Lizenzen selbst und hole eigenen Rechtsrat ein.

Originalarbeit
FCN, PyTorch
Upstream-Lizenz
BSD-3-Clause
LibreYOLO-Code
MIT
Gewichte
BSD-3-Clause, erneut unter huggingface.co/LibreYOLO veröffentlicht
Einordnung
BSD-3-Clause is a permissive license, so this code and these weights can be used in commercial and closed-source products. It asks you to keep the copyright notice, license text and a non-endorsement clause with any copy you redistribute. LibreYOLO's inference graph is torchvision's dilated-ResNet FCN, not the original VGG-based FCN-8s skip-fusion network from the paper. The two published checkpoints are torchvision's official COCO-trained weights; their separate LibreYOLO Hugging Face mirrors carry BSD-3-Clause on an implied basis disclosed by torchvision rather than an explicit checkpoint-specific grant, and torchvision's own documentation notes that pretrained-model terms can depend on the training data, leaving that determination to the user.

Mit LibreYOLO v1.5.0 verifiziert. Supporttabellen, Checkpoints und Benchmarkwerte auf dieser Seite werden aus der veröffentlichten Bibliothek und den publizierten Gewichten generiert und nicht von Hand geschrieben.