トップページ -> 最新情報技術の実習と研究ツール -> 顔検出、顔識別 -> ビデオを扱ってみる(mpatacchiola/DeepGaze を使用)
[サイトマップへ]  

ビデオを扱ってみる(mpatacchiola/DeepGaze を使用)

目次

利用条件などは利用者において確認してください

サイト内の関連Webページ:

謝辞:DeepGaze の作者に感謝します

参考Webページ https://www.github.com/mpatacchiola/DeepGaze


前準備

Anaconda, git のインストール

前準備として,Python 開発環境のAnaconda, git のインストールが終わっていること.

隔離された Python 環境の作成.spyder, numpy, OpenCV, Tensorflow のインストール

Windows での 手順は、 「Windows で,隔離された Python 環境 + Keras + TensorFlow + OpenCV + spyder + Dlib 環境を作る(Anaconda を利用)」のページで説明しています.

以下,Windows での Anaconda と git をインストール済み, 隔離された Python 環境(名前は ai)に、spyder, numpy, OpenCV, Tensorflow をインストール済みであるものとして説明を続けます.


mpatacchiola/DeepGaze のインストール

  1. Windows のコマンドプロンプトを管理者として実行する.

  2. Python 環境(名前は ai)を有効にする

    ※ 「activate ai 」は Python 環境(名前はai)を有効にするためのコマンド(各自の環境の名前にあわせること

    activate ai 
    

    「Could not find conda environment: ai」というメッセージが出たときは、 隔離された Python 環境の作成(名前は ai) を行う.

  3. DeepGaze のインストール

    mkdir c:\pytools
    cd c:\pytools
    rmdir /s /q deepgaze
    

    git clone https://github.com/mpatacchiola/deepgaze 
    cd deepgaze
    python setup.py build
    python setup.py install 
    

この Web ページで説明のために使用するビデオ、写真

  1. C:\face-image のような作業用のディレクトリ(フォルダ)を作る

  2. mp4 形式ビデオファイル: sample2.mp4 を、C:\face-image の下にダウンロード

動かしてみる

Python プログラムを動かしたい. そのために, IPython シェルのコンソールで、Python 環境(名前は ai)を使う

Anacondaに入っている開発環境 spyder を実行し,右下の ipython コンソールを使うのが簡単.

※ Windows のスタートメニューで、 「spyder」の方ではなく、 「spyder(ai)」を開く。 これで、spyder の中で、Python環境aiが有効になる

※「spyder(ai)」がない!というときは、Windowsのコマンドプロントで次を実行して、spyder をインストールする

activate ai
conda install -y spyder

※ Windows のスタートメニューで起動できないときは、Windowsのコマンドプロントで次を実行

activate ai
spyder

ビデオカメラで確認

import numpy as np
import cv2
from deepgaze.saliency_map import FasaSaliencyMapping 

# Using OpenCV the resolution of the webcam is set to these values.
# You must check which resolution your webcam support and adjust the values in accordance.
RESOLUTION_WIDTH = 320
RESOLUTION_HEIGHT = 180

# Open the video stream and set the webcam resolution.
# It may give problem if your webcam does not support the particular resolution used.
video_capture = cv2.VideoCapture(0)

# Create the main window and move it
cv2.namedWindow('Video')

# Obtaining the CAM dimension
cam_w = int(video_capture.get(3))
cam_h = int(video_capture.get(4))

# Defining the FASA object using the camera resolution
my_map = FasaSaliencyMapping(cam_h, cam_w)

while True:
    # Capture frame-by-frame
    ret, frame = video_capture.read()
    image_salient = my_map.returnMask(frame, tot_bins=8, format='BGR2LAB')
    cv2.imshow('Video', image_salient)
    # Press Q to exit
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break