見出し画像

ZoeDepthを使ってみた(Google Colabo)

ZoeDepthは、写真から奥行きを推測するモデルです。写真の中のものがどれくらい遠いかを、色や形や明るさで比べて推測するのが相対的な奥行きです。写真の中のものがどれくらい遠いかを、カメラや視点で計算して推測するのがメトリック深度です。ZoeDepthは、この二つを組み合わせて、新しい写真にも対応できるようにしています。

今回は、下記を参考にさせていただきました。


下記コードの使い方は、img_pathのところに、使用する画像ファイル名を記載してください。また、Google Colaboの/contentにその画像ファイルを配置してください。

#セットアップ
!pip install --upgrade timm
!git clone https://github.com/isl-org/ZoeDepth.git
%cd ZoeDepth
!python sanity.py

#モデルのロード
import torch
from zoedepth.utils.misc import get_image_from_url, colorize
from PIL import Image
import matplotlib.pyplot as plt

zoe = torch.hub.load(".", "ZoeD_N", source="local", pretrained=True)
zoe = zoe.to('cuda')


# Prediction
img_path = "/content/IMG_3300.JPG" 
img = Image.open(img_path)
depth = zoe.infer_pil(img)

colored_depth = colorize(depth)
fig, axs = plt.subplots(1,2, figsize=(15,7))
for ax, im, title in zip(axs, [img, colored_depth], ['Input', 'Predicted Depth']):
  ax.imshow(im)
  ax.axis('off')
  ax.set_title(title)


結果は、左が入力画像で、右が実行結果です。遠いところほど黒くなっております。


実行結果


実行結果


実行結果


この記事が気に入ったらサポートをしてみませんか?