ESP-WHO顔認識を使ったことがある方いますか?公式のサンプルプログラムを使っているのですが、SDKの設定ができず、コンパイルできません。すべてのヘッダファイルが見つかりません。

ESP-WHO顔認識を使用したことがある方はいますか?私のESP-IDFバージョンは5.5.1で、公式のサンプルコードを使用していますが、SDKの設定ができない、コンパイルできない、すべてのヘッダーファイルが見つからないなどの問題が発生しています。

SDK設定失敗時のメッセージ:

コンパイルエラー:

公式リポジトリ:
GitHub - espressif/esp-who: Face detection and recognition framework
GitHub - espressif/esp-dl: Espressif deep-learning library for AIoT applications

以下の記事の手順に従って進めましたが、依然としてコンパイルできません。
https://blog.csdn.net/qq_37429313/article/details/121531716

ESP-WHOに関する情報を検索しましたが資料が非常に少なく、多くの人が似たような問題に直面しているようです。解決方法をご存知の方はいらっしゃいますか?

要解決ESP-WHOがESP-IDF 5.5.1で発生する設定およびコンパイルの問題には、環境変数、依存関係の初期化、コンポーネント設定の3つの主要な要素に注力する必要があります。以下にステップごとの解決方法を示します:

ステップ1:ESP-WHOのサブモジュール依存を初期化する

ESP-WHOはesp-dlなどのサブモジュールに依存しており、まずこれらの依存を正しく取得する必要があります。ターミナルを開き、esp-who-masterディレクトリに移動して次のコマンドを実行してください:

git submodule update --init --recursive

ステップ2:IDF_EXTRA_ACTIONS_PATH環境変数の設定

エラーメッセージで「IDF_EXTRA_ACTIONS_PATHが正しく設定されていない」という警告が出ている場合が重要です。この変数はESP-WHOのbspディレクトリ(ボードレベルサポートパッケージのパス)を指す必要があります。

  • Windowsでの設定方法
    1. esp-who-masterのパス(例:C:\\Users\\49864\\Desktop\\esp-who-master)を見つけて、そのbspディレクトリのフルパスはC:\\Users\\49864\\Desktop\\esp-who-master\\bspとなります。
    2. システム環境変数の設定を開きます(「このPC」を右クリック→「プロパティ」→「高度なシステム設定」→「環境変数」)。
    3. 「ユーザー変数」または「システム変数」に新しい変数を追加します:
      • 変数名:IDF_EXTRA_ACTIONS_PATH
      • 変数値:C:\\Users\\49864\\Desktop\\esp-who-master\\bsp(実際のパスに置き換えてください)。
    4. VSCodeを再起動し、環境変数を有効にします。

ステップ3:ESP-IDF環境が正しくロードされていることを確認する

VSCodeではESP-IDF拡張の「コマンドパレット」を通じて環境をロードする必要があります:

  1. Ctrl+Shift+Pを押してコマンドパレットを開き、「ESP-IDF: Show Examples Projects」と入力し、ESP-IDFのパスが正しく認識されるか確認します。
  2. プロジェクトのターミナルを開く際は「ESP-IDF: New Terminal」から起動し、IDF_PATHなどのIDF環境変数が正しくロードされていることを保証します。

ステップ4:CMakeLists.txtとコンポーネント登録の確認

ESP-WHOのサンプルコードではコンポーネントとヘッダーファイルのパスを正しく登録する必要があります。human_face_recognitionを例にそのCMakeLists.txtを確認します:

  • idf_component_registerを使用して必要なコンポーネントとヘッダーファイルのパスを含めていることを確認してください。例えば:
    idf_component_register(
        SRCS "app_main.cpp" "frame_cap_pipeline.cpp"
        INCLUDE_DIRS "."
        REQUIRES esp_who esp_camera esp_dl  # 必要な依存コンポーネントを追加
    )
    

ステップ5:プロジェクトのクリーンと再構築

buildディレクトリを削除し、構築プロセスを再実行します:

idf.py fullclean
idf.py set-target esp32  # 実際のターゲットチップ(例:esp32s3)に置き換えてください
idf.py build

追加注意:バージョンの互換性

上記のステップでも問題が解決しない場合、ESP-WHOがESP-IDF 5.5.1と互換性があるか確認する必要があります。ESP-WHOのREADMEまたはGitHubのイシューを参照してください。公式サポートバージョンが5.5.1より低い場合は、ESP-IDFを5.0または4.4などの互換バージョンにダウングレードして、再度上記の設定手順を繰り返すことを検討してください。

上記の手順に従って操作すれば、「SDK設定失敗」や「ヘッダーファイルが見つからない」という問題は解決するはずです。それでもエラーが発生する場合は、c_cpp_properties.jsonincludePathおよびbrowse.pathがESP-WHOのヘッダーファイルディレクトリを含んでいるか確認するか、ESP-WHOのGitHubリポジトリでイシューを作成して公式サポートに問い合わせてください。