DepthAIにてRuntimeError: Failed to find device after booting, error message: X_LINK_DEVICE_NOT_FOUNDと表示される場合の対処法

はいどーも、まる(@maru)です。٩(๑❛ᴗ❛๑)

最近、ちょくちょくLuxonisさんのDepthAIにて遊んでいます。

VSCodeにてHand tracking with Depth AIのドキュメントを読む

色んなexamplesを動かして遊んでいたのですが、時々X_LINK_DEVICE_NOT_FOUND エラーが起きるのでその対処法について備忘録がてらまとめておきます。

なお、デバイスはこちらOAK-D-LITE OpenCV DepthAIカメラ(自動焦点版)を使用しています。

事象

DepthAIを用いたプログラムファイル実行時に、

RuntimeError: Failed to find device after booting, error message: X_LINK_DEVICE_NOT_FOUND

と表示される。

しかし、他のプログラムでは正常に動作し、デバイスは認識されている状態。

原因

2022年上半期現在、DepthAIにはGen1とGen2が存在している。

この世代の違いにより、上手く内部動作しないことが原因でデバイスを検出できない扱いになっている。(参考:#36)

AI技術の進歩は目まぐるしく、2021年に配布されていたexamplesが現行最新版(2022)のDepthaiで動かなくなるなどはままある様。

解決方法

依存関係の再インストール

依存関係の記してあるrequirements.txt のディレクトリに移動し

pythoon -m pip install -r requirements.txt

と入力。これで指定バージョンで強制的に再インストールし、動くことがある。

それでもダメなとき

それでも動かない場合は以下の方法を試す。

まずは

 pip show Depthai

でInstallしているDepthAIのバージョンを確認。

次に、requirements.txt 内に記載してあるDepthAIのバージョンを確認する。

その後、下記コマンドにてdepthaiのアンインストールとpipのアップグレードを行う。

python3 -m pip uninstall -y depthai
python3 -m pip install -U pip

正常に動作したことを確認すると、再度下記コマンドにて指定バージョンでDepthaiをインストール。

pythoon -m pip install -r requirements.txt
 pip show Depthai

正しく指定バージョンでインストールされていることを確認する。

この時、install済だったDepthaiとバージョンが変わっていないときは、USBの抜き差しも行う
途中で認識が外れ、再接続でなおることもある様。(私は何度かこれで直りました)
⇒追記:というかだいたいこれで一発で直る気がしてきた。

Windowsであればサンプルプログラムの開始/終了時にデバイスの認識音が都度なるようになっているので、そちらで正常に認識動作しているか確認するのが良き。

それでもダメな場合は、別の仮想環境を再度一から作り直すと動くことが多い。

要求バージョンと異なる場合に表示されるコマンドプロンプトでのメッセージ
付記:システム要件より新しいものがインストールされているとこのように怒られる

まとめ

Githubでissuesについて議論し合っているエンジニアを見ると、やはり複数の仮想環境に分けて開発を行った方がいいみたい。

Special AI(空間AI)の開発自体まだ黎明期とも呼べるので、バージョン依存の問題は避けられなそうですね。

日本でOAK-D製品つかって遊んでる人は、Twitterのほうフォローしてくださると嬉しいです。٩(๑❛ᴗ❛๑)

それでは今日はこの辺で。

まる。

━━━━━━━━━━━━━━━━━
■未経験OK!大学生インターン募集中!
プログラミングやITなど
興味ある方ご連絡ください‎。
(๑ > ﻌ <`)و✧
━━━━━━━━━━━━━━━━━
Python歴5年のフルスタックエンジニア&ヨギー。
大学は心理学専攻、趣味はヘルスケア全般。
最近は自作脳波デバイスの設計とそれを使ったインタラクティブアート生成に勤しみ中。

↓アートとか日常。
Instagram:@malmal0v0

お仕事のご依頼はDM又はメールにて。

まる。をフォローする
その他の記事はこちら
[Touchdesigner]1秒に1増加する変数をPythonで書く方法
【Touchdesigner】e-06って?値に英字が入る理由を解説
教育訓練給付金で45万円付与!4ヶ月で未経験からエンジニアを目指せるディープロ(DPro)を解説
【4人に1人が盗み見被害!?】意外と知られていない、公共フリーWiFiの危険性と対策について解説
開発終了した筋電によるジェスチャー操作デバイスMyo armbandをどこまで使えるか検証してみる(2023年)

タイトルとURLをコピーしました