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

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

目次

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

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

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

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


前準備

Python, 主要パッケージ, TenforFlow, OpenCV, git のインストール

以下,Windows でインストール済みであるものとして説明を続けます.


mpatacchiola/DeepGaze のインストール

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

  2. (オプション)もし、virtualenv のPython 仮想環境にインストールしていて、そこにインストールしたいとき、それを有効化する

    ※ virtualenv のPython 仮想環境を有効化したいときに限る(「ai」のところは、Python仮想環境の名前に変えること)

    workon 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 プログラムを動かしたい. そのために, PyCharmなどにある Python コンソールを使う

(オプション)もし、virtualenv のPython 仮想環境にインストールしていて、それを使いたいときは、有効化する

ビデオカメラで確認

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