ZipDepth
ZipDepthは、Depth Anything V2 Largeから蒸留された、再パラメータ化可能なコンパクトCNNであり、密な相対逆深度マップを予測します。LibreYOLOは深度タスクでZipDepthに対応し、推論とゼロショット検証を実行できますが、学習機能はありません。
- タスク
- depth
- サイズ
- b, bnpu at 384 px
- インストール
pip install libreyolo- サポートティア
- 推論のみ、v以降。推論、検証、エクスポートのみです。学習機能は対象外です。
- ライセンス
- コード:MIT、重み:MIT。商用利用
インストール
ZipDepthに任意の追加パッケージは必要ありません。インポートするものはすべて基本インストールに含まれています。
pip install libreyolo推論
重みは初回使用時にHugging Faceからダウンロードされ、ローカルにキャッシュされます。
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)libreyolo predict model=LibreZipDepthb-depth.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Truefrom 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しきい値を報告します。
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"])libreyolo val model=LibreZipDepthb-depth.pt data=my-dataset.yamlエクスポート
| タスク | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| depth | depth 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 を返します。
from libreyolo import LibreYOLO model = LibreYOLO("LibreZipDepthb-depth.pt")model.export(format="onnx")model.export(format="ncnn")libreyolo export model=LibreZipDepthb-depth.pt format=onnxlibreyolo export model=LibreZipDepthbnpu-depth.pt format=ncnnfrom 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.pt | mit | |
| LibreZipDepthbnpu-depth.pt | mit | |
上記のすべてのファイルは現在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の引用ブロックからコピーしています。