目的
Module-LLMでDepthAnythingのモデルを実行する手順を説明します。
Module-LLMのNPUは、Transfomerモデルに対応しており、DepthAnythingの量子化モデルを動かすことができます。今回は、AxeraチップのPython環境である、pyaxengineを使用しました。
Module-LLMのdepth anythingがPythonでも動くようになりました。#M5StackLLM pic.twitter.com/f0xtwI7LdW
— nnn (@nnn112358) December 8, 2024
Install
Module-LLMにルートでログインし、pyaxengineをインストールします。
root@m5stack-LLM # wget https://github.com/AXERA-TECH/pyaxengine/releases/download/0.0.1rc1/axengine-0.0.1-py3-none-any.whl
root@m5stack-LLM # pip install axengine-0.0.1-py3-none-any.whl
更に、 fastapi opencv-python uvicornをインストールします。
root@m5stack-LLM # pip install fastapi opencv-python uvicorn
USBカメラから画像を取得し、depth_anythingをかけた後、httpにストリーミングを行うサンプルです。
Pythonが起動した後、 ブラウザ で http://{Module-LLMのアドレス}:7777/video にアクセスします。
root@m5stack-LLM:# python3 depth_anything_camera_stream.py
depth_anything_camera_stream.pyのソースコードはこちらをコピーしてください。
depth_anythingのモデルは、こちらから入手します。
参考資料
ax-samples/Depth-Anything
https://github.com/AXERA-TECH/ax-samples/tree/main/examples/ax620e#Depth-Anything