ZipDepth

ZipDepthは、Depth Anything V2 Largeから蒸留された、再パラメータ化可能なコンパクトCNNであり、密な相対逆深度マップを予測します。LibreYOLOは深度タスクでZipDepthに対応し、推論とゼロショット検証を実行できますが、学習機能はありません。

タスク
depth
サイズ
b, bnpu at 384 px
インストール
pip install libreyolo
サポートティア
推論のみ、v以降。推論、検証、エクスポートのみです。学習機能は対象外です。
アップストリーム
University of BolognaのZipDepth、MIT。論文ソース
ライセンス
コード:MIT、重み:MIT。商用利用

インストール

ZipDepthに任意の追加パッケージは必要ありません。インポートするものはすべて基本インストールに含まれています。

bash
pip install libreyolo

推論

重みは初回使用時にHugging Faceからダウンロードされ、ローカルにキャッシュされます。

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreZipDepthb-depth.pt")result = model(SAMPLE_IMAGE, save=True) depth = result.depth_mapprint(depth.min, depth.max, depth.mean)
CLI
libreyolo predict model=LibreZipDepthb-depth.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True
NPU・エッジ向けチェックポイント
from libreyolo import LibreYOLO, SAMPLE_IMAGE # 同じエンコーダーと、gather/unfoldに対応しないコンパイラー向けの# unfold不要なアップサンプリングヘッド。出力はbチェックポイントと視覚的に同等model = LibreYOLO("LibreZipDepthbnpu-depth.pt")result = model(SAMPLE_IMAGE, save=True)

result.depth_map には密な相対逆深度マップが格納されます。値が大きいほどカメラに近いことを示し、値にメートル法の単位や画像間で共通のスケールはありません。save=True を指定すると、そのマップをカラーマップで可視化した画像がディスクに書き込まれます。Results.plot() はサーフェス法線とエッジだけを対象として定義されているため、このファミリーには対応しません。ソース、ストリーミング、結果の処理については推論を参照してください。

バリアント

2つのチェックポイントがあり、どちらもエンコーダーの容量は同じで、学習済みアップサンプリングヘッドだけが異なります。b は凸アップサンプリングを使い、GPUまたはCPUで動作します。bnpu は、gather・unfoldに対応しないNPUおよびエッジ向けコンパイラー用に、unfold不要のデコーダーへ置き換えたものです。その出力は b と視覚的に同等であると記載されています。エクスポート先が制約のあるランタイムの場合は bnpu を、それ以外では b を選んでください。

どちらのチェックポイントもDepth Anything V2 Largeの擬似ラベルから蒸留されています。そのため、このファミリーは、より大規模なDepth Anything V2エンコーダーと並ぶ、LibreYOLO深度タスクのコンパクトなエッジ向け階層です。

このファミリーには学習機能がありません。LibreZipDepth.train() は無条件に NotImplementedError を送出します。アップストリームの手順は大規模な画像セット全体で擬似ラベルを蒸留するものであり、LibreYOLOの学習実行として再現できないためです。fabiotosi92/ZipDepthでアップストリーム学習を行い、weights/convert_zipdepth_weights.py で結果を変換してください。

検証

val() は共通の深度検証機能を実行します。画像ごとの最小二乗法によるスケールとシフトを使って各推論結果を正解データに整合させ、標準的なゼロショット相対深度指標であるAbsRel、RMSE、3つのdeltaしきい値を報告します。

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreZipDepthb-depth.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/abs_rel"])print(metrics["metrics/rmse"])print(metrics["metrics/delta1"])
CLI
libreyolo val model=LibreZipDepthb-depth.pt data=my-dataset.yaml

エクスポート

タスクONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
depthdepth to ONNX:対応depth to TorchScript:対応depth to ExecuTorch:対応depth to TensorRT:対応depth to OpenVINO:対応depth to Paddle:非対応depth to MNN:非対応depth to RKNN:非対応depth to ncnn:対応depth to TFLite:非対応depth to CoreML:非対応depth to Core AI:対応

エクスポートは固定解像度の密出力仕様に従います。元画像はエクスポート先キャンバスに合うよう引き伸ばしてリサイズされ、返された深度マップはその後で元のキャンバスに合うようリサイズされます。エクスポート済み成果物はファイル接尾辞に基づいて LibreYOLO() から再度読み込めます。そのため、.onnx または .ncnn ファイルはチェックポイントと同様に動作し、ボックスの代わりに depth_map を持つ同じ Results を返します。

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreZipDepthb-depth.pt")model.export(format="onnx")model.export(format="ncnn")
CLI
libreyolo export model=LibreZipDepthb-depth.pt format=onnxlibreyolo export model=LibreZipDepthbnpu-depth.pt format=ncnn
エクスポートしたファイルを使う
from libreyolo import LibreYOLO, SAMPLE_IMAGE # ファクトリーはファイル接尾辞で経路を選ぶため、エクスポート済み成果物も# 通常のチェックポイントと同様に読み込まれ、同じResultsオブジェクトを返すmodel = LibreYOLO("LibreZipDepthb-depth.onnx")result = model(SAMPLE_IMAGE) print(result.depth_map.data.shape)

チェックポイント

このファミリーで公開されているすべての重みファイルです。

ファイル入力(px)重みのライセンス
depth
LibreZipDepthb-depth.ptmit
LibreZipDepthbnpu-depth.ptmit

上記のすべてのファイルは現在LibreYOLO orgにあり、初回使用時にダウンロードされます。

ライセンス

ダウンロードする特定の重みについて、Hugging Faceリポジトリのライセンスを確認してください。LibreYOLO orgの各チェックポイントにはライセンスが付与されており、同じファミリー内でも常に同一とは限りません。そのリポジトリが正式な情報源です。以下の概要は、このページを最後に検証した時点で適用されていた内容を示します。

これは関連するライセンスの説明であり、法的助言ではありません。商用上重要な場合は、自分でライセンスを読み、専門家の助言を受けてください。

原著作物
ZipDepth, University of Bologna
アップストリームのライセンス
MIT
アップストリームのソース
github.com/fabiotosi92/ZipDepth
LibreYOLOのコード
MIT
重み
MIT、huggingface.co/LibreYOLOで再公開
解釈
MIT is a permissive license, so both checkpoints can be used in commercial and closed-source products with no redistribution restriction beyond keeping the license notice. It places no obligation on your own application code. The weights were trained by distilling pseudo-labels from Depth Anything V2 Large, whose Large checkpoint is itself CC-BY-NC-4.0; the ZipDepth authors publish the distilled student under MIT regardless, and LibreYOLO republishes that same MIT-licensed student.

引用

@inproceedings{tosi2026zipdepth,
  title     = {ZipDepth: Bringing Lightweight Zero-Shot Monocular Depth Anywhere, on Any Device},
  author    = {Tosi, Fabio and Bartolomei, Luca and Poggi, Matteo and Mattoccia, Stefano},
  booktitle = {European Conference on Computer Vision (ECCV)},
  year      = {2026}
}

著者によるgithub.com/fabiotosi92/ZipDepth#-citationの引用ブロックからコピーしています。

LibreYOLO v1.5.0で検証済みです。このページのサポート表、チェックポイント、ベンチマーク値は手作業で記述したものではなく、リリース済みライブラリと公開済みの重みから生成されています。