トップページ -> 最新情報技術の実習と研究ツール -> ラズベリーパイを使ってみよう -> Raspberry Pi でカメラをつなぎ顔検知
[サイトマップへ]  

Raspberry Pi でカメラをつなぎ顔検知

サイト内の関連 Web ページ

目次

  1. 前準備
  2. virtualenv, virtualenv wrapperのインストール
  3. PiCamera を使って Raspberry Pi でカメラを動かす
  4. DLib を使って顔検知してみる

前準備

最初に、Raspbian のシステム更新などを行っておく

端末を開き、次を実行

sudo apt update
sudo apt -yV upgrade
sudo apt -yV dist-upgrade
sudo apt -yV autoremove
sudo apt autoclean
sudo shutdown -r now

virtualenv, virtualenv wrapperのインストール

virtualenv, virtualenv wrapperのインストール

sudo rm -rf $HOME/.virtualenvs
sudo rm -rf ~/.cache/pip
sudo pip install virtualenv virtualenvwrapper
sudo pip3 install virtualenv virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
touch ~/.bashrc
echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.bashrc
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc

PiCamera を使って Raspberry Pi でカメラを動かす

  1. カメラを有効に
    1. 端末で、次のコマンドを実行
      sudo raspi-config 
      

    2. 5. Interfacing Options」を選ぶ

    3. P1. Camera」を選ぶ

    4. はい」を選ぶ

    5. 了解」を選ぶ

    6. 元の画面で「Finish」を選ぶ

    7. はい」を選び、システムを再起動する

  2. virtualenv を使って Python 3 環境を作る
    mkvirtualenv --python=/usr/bin/python3 py35
    lsvirtualenv 
    

  3. 動作確認のため picamera をインストール

    端末で、次のコマンドを実行

    source /usr/local/bin/virtualenvwrapper.sh
    workon py35
    pip install picamera
    

  4. カメラの動作確認

    Python 処理系で、次の Python プログラムを実行してみる

    ※ 画像ファイルは jpg でも png でも保存できる.ここでは「1.jpg」としている.

    import picamera
    camera = picamera.PiCamera()
    camera.capture("1.jpg")
    exit()
    

  5. ImageMagick を使って画像表示してみる

    ※ インストールは「sudo apt install imagemagick」

    display 1.jpg
    

  6. 画像ファイル名に、日時を含める

    Python 処理系で、次の Python プログラムを実行してみる

    import picamera
    import datetime
    camera = picamera.PiCamera()
    camera.capture( datetime.datetime.now().strftime("%y%m%d%H%M%S")  + ".jpg" )
    exit()
    

    ImageMagick を使って画像表示してみる


DLib を使って顔検知してみる

  1. dlib をビルドしインストール
    source /usr/local/bin/virtualenvwrapper.sh
    workon py35 
    cd /tmp
    wget http://dlib.net/files/dlib-19.15.zip
    unzip dlib-19.15.zip
    cd /tmp/dlib-19.15 
    rm -rf build
    mkdir build
    cd build
    cmake ..
    cmake --build .
    sudo make install 
    cd /tmp/dlib-19.15 
    python setup.py install 
    

  2. 確認
    source /usr/local/bin/virtualenvwrapper.sh
    workon py35
    ipython << EOS
    import dlib
    print(dlib.__version__)
    EOS
    

  3. trydlib.htmlの 「学習済みモデルデータのダウンロードの展開(解凍)」の 記述の通りに、 3つのファイルをダウンロード
    wget http://dlib.net/files/dlib_face_recognition_resnet_model_v1.dat.bz2  
    wget http://dlib.net/files/mmod_human_face_detector.dat.bz2
    wget http://dlib.net/files/shape_predictor_5_face_landmarks.dat.bz2
    ls -la *.bz2
    

  4. 展開(解凍)し, /tmp/dlib-19.15 にコピー
    bzip2 -d dlib_face_recognition_resnet_model_v1.dat.bz2  
    bzip2 -d mmod_human_face_detector.dat.bz2
    bzip2 -d shape_predictor_5_face_landmarks.dat.bz2
    cp *.dat /tmp/dlib-19.15 
    ls -la *.dat
    

  5. 動作確認
    cd /tmp/dlib-19.15 
    display 1.jpg
    python face_recognition.py shape_predictor_5_face_landmarks.dat dlib_face_recognition_resnet_model_v1.dat .