Raspberry Pi opencv に基づく顔認識

Raspberry Pi opencv に基づく顔認識

目次

  • 1. 実験目的
  • 2. カメラの構成
    • 1. ハードウェアのインストール手順
    • 2. ソフトウェアのインストール手順
  • 3. OpenCVのインストール
    • 1. OpenCV の概要
    • 2. Python3 での OpenCV のインストール手順
  • 4. 顔認識プロジェクトを実行する
    • 1. ハードウェアの準備
    • 2. 環境の準備
    • 3. プログラムコード
      • (1) 顔データの収集
      • (2)認識器の学習
      • (3)顔認証
  • 5. まとめ

1. 実験目的

画像認識を実現するには、最初のステップは画像を取得することなので、Raspberry Pi CSI カメラのインストール方法と使用方法を知ることが非常に重要です。

  1. カメラの基本的な動作原理、設置および使用方法を理解する
  2. opencv を理解して顔認識関連の環境を構成する
  3. 顔情報を収集する
  4. トレーニング中に収集される顔情報
  5. 分析する顔のキャプチャされた部分をパラメータとして受け取り、その ID と認識エンジンがこの一致をどの程度信頼するかを示す、その可能な所有者を返します。

2. カメラの構成

図. Raspberry Pi CSIカメラ

1. ハードウェアのインストール手順

  1. CSI インターフェイス (CSI インターフェイスはイーサネット インターフェイスの隣にあります) を見つけて、ダークテープを取り外します。
  2. CSI インターフェイス カバーを引き上げます。
  3. カメラモジュールを持ち上げ、レンズに付いているプラ​​スチックの保護フィルムを剥がします。PCB の黄色の部分 (文字がある側) が完全に取り付けられていることを確認してください (取り付けが完璧であることを確認するには、黄色の部分を軽く押してください)。
  4. ケーブルを CSI インターフェイスに差し込みます。青いテープが付いている側がイーサネット ポートの方向を向く必要があることに注意してください。同様にケーブルが取り付けられていることを確認してからバッフルを引き下げます。

2. ソフトウェアのインストール手順

(1) Raspberry Pi ターミナル システムに入り、次のコマンドを入力して、最新のカーネル、GPU ファームウェア、およびアプリケーションをダウンロードしてインストールします。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get update
sudo apt-get upgrade
</code></span></span>

(2) Raspberry Pi設定ツール上で以下のコマンドを実行し、カメラモジュールを有効化します。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo raspi-config
</code></span></span>

 

[インターフェイス オプション] -> [カメラ] -> [有効] -> タブ -> [終了] を順に選択します。

(3) Raspberry Piを再起動する

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo reboot
</code></span></span>

(4)テストカメラ

コマンドラインを入力し、以下の結果が得られれば、カメラの接続は成功です。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>vcgencmd get_camera
</code></span></span>

 
コマンドを入力すると、image1.jpg という名前の画像がデスクトップに表示されます。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>raspistill -o Desktop/image1.jpg
</code></span></span>

 
(5) この時点で、Raspberry Pi カメラのソフトウェアとハ​​ードウェアの構成は完了です。

3. OpenCVのインストール

1. OpenCV の概要

OpenCV は、強力な組み込み機能とオープンソース コミュニティを備えたオープンソースのコンピューター ビジョン ライブラリです。OpenCV をポータブルなオープンソースで安価な Raspberry Pi と組み合わせると、Raspberry Pi カメラ PiCamera からビデオを直接読み取り、顔認識、エッジ検出、セマンティック セグメンテーション、自動運転、画像認識などのさまざまなコンピューター ビジョン開発を実行できます。

2. Python3 での OpenCV のインストール手順

(1)Raspberry Piをアップデートする

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get update
sudo apt-get upgrade
</code></span></span>

(2) 依存関係をインストールする

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
</code></span></span>

(3)python3をインストールする

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get install python3 python3-setuptools python3-dev
</code></span></span>

(4) pipツールの設定

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
</code></span></span>

 

(5) スワップ領域を増やします
。変数 CONF_SWAPSIZE を見つけて 100 を 1024 に変更します。これは、スワップ サイズが 100MB から 1024MB に増加することを意味します。これにより、OpenCV が 4 コア コンパイルを使用しやすくなります。 ctrl+o で保存し、ctrl+d で保存できます。出る。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo nano /etc/dphys-swapfile
</code></span></span>

 

(6) スワップファイルファイルの再起動

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
</code></span></span>

(7) OpenCV3.4.1とOpenCV-contribをダウンロード

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.4.1.zip
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.4.1.zip
</code></span></span>

(8) OpenCVインストールパッケージを解凍します。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>unzip opencv.zip
unzip opencv_contrib.zip
</code></span></span>

(9)numpyをインストールする

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo pip3 install numpy
</code></span></span>

(10) Cmake のコンパイル パラメータを設定します。パラメータ名、等号、パラメータ値の間にスペースを入れることはできません。ただし、各行末の「\」とパラメータ値の前にはスペースが必要です。英語のドット 2 つで終わります。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>cd /home/pi
cd ~/opencv-3.4.1/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D INSTALL_C_EXAMPLES=ON \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib-3.4.1/modules \
      -D ENABLE_PRECOMPILED_HEADERS=OFF \
      -D BUILD_EXAMPLES=ON ..
</code></span></span>

(11)OpenCVのコンパイルとインストール

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo make install
</code></span></span>

(12)ダイナミックリンクライブラリの更新

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo ldconfig
</code></span></span>

(13) インストール後、OpenCV のバージョンをテストします。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>python3
import cv2
cv2.__version__
</code></span></span>

 
opencv バージョン 3.4.1 が表示されたら、インストールが完了したことを意味します。
(14)スワップ領域の復元

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo nano /etc/dphys-swapfile
</code></span></span>

CONF_SWAPSIZE 変数を 1024 から 100 に変更します。

(15) スワップファイルファイルの再起動

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
</code></span></span>

4. 顔認識プロジェクトを実行する

OpenCV と Python を使用して Raspberry Pi で顔検出プロジェクトを完了する方法を紹介します。

1. ハードウェアの準備

  1. ラズベリーパイ4B
  2. Raspberry Pi piCamの場合
     
    、後でカメラが検出を実行できなくなるのを避けるために、カメラが上記のインストール手順に従ってインストールされていることを確認してください。

2. 環境の準備

1. OpenCVライブラリの準備
2. Python3言語の準備
3. 顔認識コードのダウンロード

(1) Webサイト https://github.com/Mjrovai/OpenCV-Face-Recognition
 
にアクセスします(2) 郵便番号圧縮パッケージをダウンロードし、ファイルを保存しますRaspberry Pi/home/pi ディレクトリで解凍します。

3. プログラムコード

OpenCV は計算効率が非常に高く、リアルタイム アプリケーション向けに設計されています。カメラを使用したリアルタイムの顔認識に非常に適しています。完全な顔認識プロジェクトを作成するには、次の 3 つの段階を完了する必要があります。
 

(1) 顔データの収集

顔認識の最も基本的なタスクは顔検出です。将来キャプチャされた新しい顔と比較するときにそれを識別するために、最初に顔情報を収集する必要があります (フェーズ 1) (フェーズ 3). 具体的な手順は次のとおりです: a) ターミナルを開き、ディレクトリ /home/pi/ に入ります。 OpenCV-
Face-Recognition-master/FacialRecognition

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>cd /home/pi/OpenCV-Face-Recognition-master/FacialRecognition
</code></span></span>

b) 顔サンプルを保存するデータセット フォルダーとトレーニング データを保存するトレーナー フォルダーを作成します。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>mkdir dataset
mkdir trainer
</code></span></span>

c) 01_face_dataset.py
 
を開きます d) コードを実行します Run、ユーザー ID (1、2、3、4 などの整数) を入力すると、画像ビデオ ボックスがポップアップ表示されます。 e) データセットフォルダーを開く

と、収集された顔画像が表示されます. 収集された画像を読み取るほど、顔検出の精度が高くなります. ヒント: 顔が

逆さま
の場合# を追加すると、次のコードをコメントアウトできます。

(2) 認識器のトレーニング

ステージ 2 では、データセットからすべてのユーザー データを抽出し、OpenCV レコグナイザーをトレーニングする必要があります。これは、特定の OpenCV 関数によって直接実行できます。このステップは、「trainer/」ディレクトリに .yml ファイルとして保存されます。
a) PIL ライブラリが Rpi にインストールされていることを確認します。インストールされていない場合は、ターミナルで次のコマンドを実行します。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>pip install pillow
</code></span></span>

b) 02_face_training.py を開いて実行します。
c) 操作が完了するまで待ちます。
 

(3) 顔認証

b) 03_face_recognition.py を開いて実行すると、顔認識が成功し、その他の特定の機能を自分で調べることができます。

 

5. まとめ

今回の顔認証プロジェクトを完成させる過程で、小さな困難がたくさんありましたが、具体的な失敗と得たものは次のとおりです。

  1. 最初にカメラをインストールしたとき、カメラをテストするとタイムアウト エラー メッセージが表示され続けましたが、その後トラブルシューティングを行った結果、カメラの不安定性が原因であることがわかり、カメラ ケーブルを取り外し、再度取り付けたところ、正常に動作するようになりました。
  2. OpenCV をインストールする際、コンパイルに時間がかかり、インストールしたときはコンパイルだけで 4 ~ 5 時間かかりましたが、その後ネットで情報を調べたところ、4 コアでコンパイルできることが分かったので、拡張してみました。 Raspberry Pi のスワップ領域を拡張し、コンパイル速度を高速化しました。また、コンパイル プロセス中にいくつかのエラーが発生します。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>错误信息1:
fatal error: boostdesc_bgm.i: 没有那个文件或目录
           #include "boostdesc_bgm.i"
</code></span></span>

解決策:
Raspberry Pi に opencv をインストールするとファイルが失われる:
リンク: Baidu Netdisk 抽出コードを入力してください 抽出コード
: mbsj

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>将这些文件复制到/home/pi/opencv/opencv_contrib-3.4.1/modules/xfeatures2d/src目录即可继续编译。建议大家直接用xftp的方式将文件复制到该目录下即可。
</code></span></span>

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>错误信息2:
 /home/pi/opencv/opencv-3.4.1/modules/stitching/include/opencv2/stitching/detail
 /matchers.hpp:52:12: fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录
</code></span></span>

解決:

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>错误的原因是缺少cuda.hpp文件,这些文件在opencv_contrib-3.4.1/modules/xfeatures2d/include/opencv2目录下,所以直接将这个目录下的文件拷贝到opencv-3.4.1/modules/stitching/include/opencv2/即可
</code></span></span>

この実験的研究を通じて、私はまず顔を認識するために必要な具体的な手順を習得し、さらに多くの拡張知識も学びました。実行中のコードは主にオープン ソースの Python コードです。Python は高度に統合された言語です。私たちが学んでいるものは次のとおりです。」使用するときに最下層が見えず、関数を直接呼び出すことができるのが、Python が人気の大きな理由かもしれません。この実験により、私たちのグループは Raspberry Pi についてある程度の理解を得ることができました。

Raspberry Pi opencv に基づく顔認識

目次

  • 1. 実験目的
  • 2. カメラの構成
    • 1. ハードウェアのインストール手順
    • 2. ソフトウェアのインストール手順
  • 3. OpenCVのインストール
    • 1. OpenCV の概要
    • 2. Python3 での OpenCV のインストール手順
  • 4. 顔認識プロジェクトを実行する
    • 1. ハードウェアの準備
    • 2. 環境の準備
    • 3. プログラムコード
      • (1) 顔データの収集
      • (2)認識器の学習
      • (3)顔認証
  • 5. まとめ

1. 実験目的

画像認識を実現するには、最初のステップは画像を取得することなので、Raspberry Pi CSI カメラのインストール方法と使用方法を知ることが非常に重要です。

  1. カメラの基本的な動作原理、設置および使用方法を理解する
  2. opencv を理解して顔認識関連の環境を構成する
  3. 顔情報を収集する
  4. トレーニング中に収集される顔情報
  5. 分析する顔のキャプチャされた部分をパラメータとして受け取り、その ID と認識エンジンがこの一致をどの程度信頼するかを示す、その可能な所有者を返します。

2. カメラの構成

図. Raspberry Pi CSIカメラ

1. ハードウェアのインストール手順

  1. CSI インターフェイス (CSI インターフェイスはイーサネット インターフェイスの隣にあります) を見つけて、ダークテープを取り外します。
  2. CSI インターフェイス カバーを引き上げます。
  3. カメラモジュールを持ち上げ、レンズに付いているプラ​​スチックの保護フィルムを剥がします。PCB の黄色の部分 (文字がある側) が完全に取り付けられていることを確認してください (取り付けが完璧であることを確認するには、黄色の部分を軽く押してください)。
  4. ケーブルを CSI インターフェイスに差し込みます。青いテープが付いている側がイーサネット ポートの方向を向く必要があることに注意してください。同様にケーブルが取り付けられていることを確認してからバッフルを引き下げます。

2. ソフトウェアのインストール手順

(1) Raspberry Pi ターミナル システムに入り、次のコマンドを入力して、最新のカーネル、GPU ファームウェア、およびアプリケーションをダウンロードしてインストールします。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get update
sudo apt-get upgrade
</code></span></span>

(2) Raspberry Pi設定ツール上で以下のコマンドを実行し、カメラモジュールを有効化します。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo raspi-config
</code></span></span>

 

[インターフェイス オプション] -> [カメラ] -> [有効] -> タブ -> [終了] を順に選択します。

(3) Raspberry Piを再起動する

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo reboot
</code></span></span>

(4)テストカメラ

コマンドラインを入力し、以下の結果が得られれば、カメラの接続は成功です。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>vcgencmd get_camera
</code></span></span>

 
コマンドを入力すると、image1.jpg という名前の画像がデスクトップに表示されます。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>raspistill -o Desktop/image1.jpg
</code></span></span>

 
(5) この時点で、Raspberry Pi カメラのソフトウェアとハ​​ードウェアの構成は完了です。

3. OpenCVのインストール

1. OpenCV の概要

OpenCV は、強力な組み込み機能とオープンソース コミュニティを備えたオープンソースのコンピューター ビジョン ライブラリです。OpenCV をポータブルなオープンソースで安価な Raspberry Pi と組み合わせると、Raspberry Pi カメラ PiCamera からビデオを直接読み取り、顔認識、エッジ検出、セマンティック セグメンテーション、自動運転、画像認識などのさまざまなコンピューター ビジョン開発を実行できます。

2. Python3 での OpenCV のインストール手順

(1)Raspberry Piをアップデートする

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get update
sudo apt-get upgrade
</code></span></span>

(2) 依存関係をインストールする

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
</code></span></span>

(3)python3をインストールする

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo apt-get install python3 python3-setuptools python3-dev
</code></span></span>

(4) pipツールの設定

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
</code></span></span>

 

(5) スワップ領域を増やします
。変数 CONF_SWAPSIZE を見つけて 100 を 1024 に変更します。これは、スワップ サイズが 100MB から 1024MB に増加することを意味します。これにより、OpenCV が 4 コア コンパイルを使用しやすくなります。 ctrl+o で保存し、ctrl+d で保存できます。出る。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo nano /etc/dphys-swapfile
</code></span></span>

 

(6) スワップファイルファイルの再起動

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
</code></span></span>

(7) OpenCV3.4.1とOpenCV-contribをダウンロード

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.4.1.zip
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.4.1.zip
</code></span></span>

(8) OpenCVインストールパッケージを解凍します。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>unzip opencv.zip
unzip opencv_contrib.zip
</code></span></span>

(9)numpyをインストールする

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo pip3 install numpy
</code></span></span>

(10) Cmake のコンパイル パラメータを設定します。パラメータ名、等号、パラメータ値の間にスペースを入れることはできません。ただし、各行末の「\」とパラメータ値の前にはスペースが必要です。英語のドット 2 つで終わります。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>cd /home/pi
cd ~/opencv-3.4.1/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D INSTALL_C_EXAMPLES=ON \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib-3.4.1/modules \
      -D ENABLE_PRECOMPILED_HEADERS=OFF \
      -D BUILD_EXAMPLES=ON ..
</code></span></span>

(11)OpenCVのコンパイルとインストール

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo make install
</code></span></span>

(12)ダイナミックリンクライブラリの更新

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo ldconfig
</code></span></span>

(13) インストール後、OpenCV のバージョンをテストします。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>python3
import cv2
cv2.__version__
</code></span></span>

 
opencv バージョン 3.4.1 が表示されたら、インストールが完了したことを意味します。
(14)スワップ領域の復元

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo nano /etc/dphys-swapfile
</code></span></span>

CONF_SWAPSIZE 変数を 1024 から 100 に変更します。

(15) スワップファイルファイルの再起動

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
</code></span></span>

4. 顔認識プロジェクトを実行する

OpenCV と Python を使用して Raspberry Pi で顔検出プロジェクトを完了する方法を紹介します。

1. ハードウェアの準備

  1. ラズベリーパイ4B
  2. Raspberry Pi piCamの場合
     
    、後でカメラが検出を実行できなくなるのを避けるために、カメラが上記のインストール手順に従ってインストールされていることを確認してください。

2. 環境の準備

1. OpenCVライブラリの準備
2. Python3言語の準備
3. 顔認識コードのダウンロード

(1) Webサイト https://github.com/Mjrovai/OpenCV-Face-Recognition
 
にアクセスします(2) 郵便番号圧縮パッケージをダウンロードし、ファイルを保存しますRaspberry Pi/home/pi ディレクトリで解凍します。

3. プログラムコード

OpenCV は計算効率が非常に高く、リアルタイム アプリケーション向けに設計されています。カメラを使用したリアルタイムの顔認識に非常に適しています。完全な顔認識プロジェクトを作成するには、次の 3 つの段階を完了する必要があります。
 

(1) 顔データの収集

顔認識の最も基本的なタスクは顔検出です。将来キャプチャされた新しい顔と比較するときにそれを識別するために、最初に顔情報を収集する必要があります (フェーズ 1) (フェーズ 3). 具体的な手順は次のとおりです: a) ターミナルを開き、ディレクトリ /home/pi/ に入ります。 OpenCV-
Face-Recognition-master/FacialRecognition

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>cd /home/pi/OpenCV-Face-Recognition-master/FacialRecognition
</code></span></span>

b) 顔サンプルを保存するデータセット フォルダーとトレーニング データを保存するトレーナー フォルダーを作成します。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>mkdir dataset
mkdir trainer
</code></span></span>

c) 01_face_dataset.py
 
を開きます d) コードを実行します Run、ユーザー ID (1、2、3、4 などの整数) を入力すると、画像ビデオ ボックスがポップアップ表示されます。 e) データセットフォルダーを開く

と、収集された顔画像が表示されます. 収集された画像を読み取るほど、顔検出の精度が高くなります. ヒント: 顔が

逆さま
の場合# を追加すると、次のコードをコメントアウトできます。

(2) 認識器のトレーニング

ステージ 2 では、データセットからすべてのユーザー データを抽出し、OpenCV レコグナイザーをトレーニングする必要があります。これは、特定の OpenCV 関数によって直接実行できます。このステップは、「trainer/」ディレクトリに .yml ファイルとして保存されます。
a) PIL ライブラリが Rpi にインストールされていることを確認します。インストールされていない場合は、ターミナルで次のコマンドを実行します。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>pip install pillow
</code></span></span>

b) 02_face_training.py を開いて実行します。
c) 操作が完了するまで待ちます。
 

(3) 顔認証

b) 03_face_recognition.py を開いて実行すると、顔認識が成功し、その他の特定の機能を自分で調べることができます。

 

5. まとめ

今回の顔認証プロジェクトを完成させる過程で、小さな困難がたくさんありましたが、具体的な失敗と得たものは次のとおりです。

  1. 最初にカメラをインストールしたとき、カメラをテストするとタイムアウト エラー メッセージが表示され続けましたが、その後トラブルシューティングを行った結果、カメラの不安定性が原因であることがわかり、カメラ ケーブルを取り外し、再度取り付けたところ、正常に動作するようになりました。
  2. OpenCV をインストールする際、コンパイルに時間がかかり、インストールしたときはコンパイルだけで 4 ~ 5 時間かかりましたが、その後ネットで情報を調べたところ、4 コアでコンパイルできることが分かったので、拡張してみました。 Raspberry Pi のスワップ領域を拡張し、コンパイル速度を高速化しました。また、コンパイル プロセス中にいくつかのエラーが発生します。

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>错误信息1:
fatal error: boostdesc_bgm.i: 没有那个文件或目录
           #include "boostdesc_bgm.i"
</code></span></span>

解決策:
Raspberry Pi に opencv をインストールするとファイルが失われる:
リンク: Baidu Netdisk 抽出コードを入力してください 抽出コード
: mbsj

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>将这些文件复制到/home/pi/opencv/opencv_contrib-3.4.1/modules/xfeatures2d/src目录即可继续编译。建议大家直接用xftp的方式将文件复制到该目录下即可。
</code></span></span>

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>错误信息2:
 /home/pi/opencv/opencv-3.4.1/modules/stitching/include/opencv2/stitching/detail
 /matchers.hpp:52:12: fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录
</code></span></span>

解決:

<span style="background-color:#f5f5f5"><span style="color:#333333"><code>错误的原因是缺少cuda.hpp文件,这些文件在opencv_contrib-3.4.1/modules/xfeatures2d/include/opencv2目录下,所以直接将这个目录下的文件拷贝到opencv-3.4.1/modules/stitching/include/opencv2/即可
</code></span></span>

この実験的研究を通じて、私はまず顔を認識するために必要な具体的な手順を習得し、さらに多くの拡張知識も学びました。実行中のコードは主にオープン ソースの Python コードです。Python は高度に統合された言語です。私たちが学んでいるものは次のとおりです。」使用するときに最下層が見えず、関数を直接呼び出すことができるのが、Python が人気の大きな理由かもしれません。この実験により、私たちのグループは Raspberry Pi についてある程度の理解を得ることができました。

おすすめ

転載: blog.csdn.net/weixin_42065767/article/details/121454919