KDL BLOG
Depth Anythingでzero-shot単眼深度推定 ~実践編~
こんにちは!データインテリジェンスチームの吉田です。
今回は、Depth Anythingの実行方法と応用例について紹介します。
本記事は連載記事です。解説編と実践編の二部構成となっています!今回の実践編ではDepth Anything*1を実際に動かす方法を紹介したいと思います。実際に動かす前に論文の内容を知りたい!という方は、この記事の前に前回の解説編へどうぞ!
↓リンクはコチラ
Depth Anythingでzero-shot単眼深度推定 ~解説編~
記事執筆時点ではDepth Anything v2*2が発表されていますが、本ブログではDepth Anything(v1)について引き続き解説していきます。解説編はDepth Anything(v1)の情報に基づいているため、まずはその使用法をしっかりとお伝えします。そして、追加の連載としてDepth Anything v2の改良点や新機能について詳しくご紹介する予定です。お楽しみに!
Depth Anythingとは
Depth Anythingとは、Zero-shotで動作可能な単眼深度推定モデルです。ライセンスもApache-2.0 licenseと商用利用しやすいため、画像分析に活用することが可能です。前回の記事で詳しく解説しているので気になる方はそちらをご覧ください。
ONNX・ONNXRuntimeとは
今回は、ONNX*3(Open Neural Network Exchange)とONNX Runtime*4を使用してDepth Anythingを実行します。
ONNXは、異なる深層学習フレームワーク間でモデルを共有できる共通のフォーマットです。PyTorch*5やTensorFlow*6で学習したモデルをONNXモデルに変換することで様々なプラットフォームで使用することができます。
そして、ONNX Runtimeは、ONNXフォーマットで保存されたモデルを高速かつ効率的に実行するための推論エンジンです。Windows、Linux、Macなどの異なるOSで動作し、CUDA*7・TensorRT*8・OpenVINO*9などを使った高速化が可能です。これにより、ONNXモデルを用意すれば、さまざまな環境で容易に実行することができます。
*1:Depth Anything
*2:Depth Anything v2
*3:ONNX | Home
*4:ONNX Runtime | Home
*5:PyTorch
*6:TensorFlow
*7:CUDA Toolkit – Free Tools and Training | NVIDIA Developer
*8:TensorRT SDK | NVIDIA Developer
*9:OpenVINO™ ツールキット | ソフトウェア開発 | Intel Japan
(つづきは、ブログ「神戸のデータ活用塾!KDL Data Blog」へ)