1. HOME
  2. ブログ
  3. IT技術
  4. OpenCVをインストールしてjupyter notebook上で顔認識してみた!

OpenCVをインストールしてjupyter notebook上で顔認識してみた!

最小手順で、OpenCVの顔認識精度を確認したい!

今回は、Windowsにて、OpenCVを使って顔認識するサンプルを実行するまでの手順を解説していきたいと思います。

テーマは、「最小手順で、OpenCVの顔認識精度を確認したい!」です。

まずは、もともとのパソコン環境に影響を与えないよう、Anacondaで仮想環境を作成してみることにします。

それでは行ってみましょう!

こちらの記事もオススメ!

Anacondaをインストール

Anacondaを使うと、パソコン上に隔離された仮想環境を作ることができます。

なので、好き勝手にパッケージをインストールしてバンバン試すのに最適です。

ダウンロード

では、まず、Anaconda公式サイトからダウンロードしましょう。

【ダウンロードページ】
Anaconda 公式サイト

Python3.7用とPython2.7用がありますが、よほどの理由がないかぎりPython3.7版をインストールするのが無難です。

パソコンのスペックに合わせて、64ビット版32ビット版を選んで下さい。

インストール

「Next」ボタンを何度かクリックし、インストールしていきます。

完了までは、10分程度かかります。

Anaconda仮想環境を作成

スタートメニューに、「Anaconda3」が登録されるので、「Anaconda Navigator」を選択し、起動します。

Anaconda Navigatorが起動しました。

「Environments」をクリックし、「Create」をクリックします。

「Create new environment」が表示されるので、Nameに適当な名前をつけます。

(ここでは、OpenCV_Faceと付けます)

Packagesの「Python」にチェックをつけて、「3.7」を指定し、「Create」をクリックします。

しばらく時間がかかり、仮想環境(OpenCV_Face)が追加されます。

仮想環境にGitをインストール

Githubのコードをダウンロードするためのコマンド、gitを仮想環境にインストールします。

仮想環境「OpenCV_Face」を選択します。

画面右で「Not installed」を選択し、検索欄に「git」と入力します。

「git」(Distributed version control system)が表示されるので、「□をクリック」して、チェックします。

そして、画面下に表示される「Apply」をクリックします。

Install Packagesウインドウが表示されますので、「Apply」をクリックします。

仮想環境にOpenCVをインストール

Anaconda Navigaterの画面右の検索欄に「opencv」と入力します。

opencv(Computer vision and machine learning software library)の 「□にチェック」 をつけ、画面下に表示される「Apply」をクリックします。

Install Packagesウインドウが表示されるので、「Apply」をクリックします。

しばらく時間がかかりますが、これでOpenCVがインストールされます。

仮想環境にjupyter notebookをインストール

次に、仮想環境にjupyter notebookをインストールしたいと思います。

まずは、Anaconda Navigaterの画面右の検索欄に「notebook」と入力します。

notebook(Jupyter notebook)の 「□にチェック」をつけ、画面下に表示される「Apply」をクリックします。

その後、Install Packagesウインドウが表示されるので、「Apply」をクリックします。

しばらく時間がかかりますが、notebookがインストールされました。

仮想環境にmatplotlibをインストール

Anaconda Navigaterの画面右の検索欄に「matplotlib」と入力します。

matplotlib(Publication quality Figures in python)の「□にチェック」をつけ、画面下に表示される「Apply」をクリックします。

Install Packagesウインドウが表示されるので、「Apply」をクリックします。

仮想環境にインストールされたパッケージを確認

Anaconda Navigaterの右画面にて、「Installed」を選択し、選択欄を空欄にします。

「git」「opencv」「notebook」「matplotlib」がインストールされていることを確認します。

Githubから、ローカルにコードをダウンロード

Anaconda Navigaterの「OpenCV_Face」の右側にある 「三角マーク」をクリックし、「Open Terminal」を選択します。

コマンドプロンプトが開きます。

適当なフォルダを作って、githubのコードをダウンロードしましょう。

下記の例では、C:\User\<ユーザ名>\gitlocal 以下にgithubのコード(リポジトリ)をダウンロードしています。

コマンドプロンプトにて、以下を入力します。

jupyter notebookでコードを実行

ダウンロードしたコードには、jupyter notebook形式のドキュメントが付属しています。

jupyter notebookは、もともとデータ分析用のツールです。

ドキュメント内にコードと実行結果を埋め込むことができるため、プログラムの学習用に最適です。

しばらく時間がかかり、自動的にブラウザでjupyterの画面が表示されます。

C:\User\<ユーザ名>以下のフォルダが一覧表示されています。

先ほど作成したフォルダ「gitlocal」をクリックします。

「Face-Detection-OpenCV」をクリックします。

ローカルにダウンロードしたコード(リポジトリ)が表示されます。

「Face-Detection.ipynb」をクリックします。(拡張子ipynbは、jupyter notebook形式のドキュメントです。)

jupyter notebookでドキュメントが開きます。

画面上部の「Run」をクリックすると、ドキュメントの段落に枠が表示されます。

何度か「Run」をクリックしてみましょう。

クリックする度に、枠が移動していきます。

この枠は、現在の実行位置を表すカーソルのようなものです。

単なる文章の場合は枠が表示されるだけですが、コードが含まれていた場合には、ドキュメント内でコードがリアルタイムに実行されます。

「Run」を何度もクリックして、ドキュメント中ほどのコードが記述されているところまで進んでみましょう。

上記コードの内容は、必要モジュールのインポートです。

必要モジュールがインストール済みなら、何事もなく「枠」が次の段落に移動します。

OpenCVがインストールされていない場合

しかし、例えば、OpenCVがインストールされていない場合などは、以下のようにドキュメント内でエラーが表示されます。

No module named cv2  (opencvモジュールが見つからない)エラー

顔認識をおこなうコードの実行

さらに「Run」ボタンをクリックして進んでいくと、顔認識をおこなうコードの実行結果を確認できます。

上の例だと、Runボタンを押した時に赤ちゃんの顔認識画像がいったん消え、新しく画像が表示されます。

これは、コードの実行結果をリアルタイムに差し替え表示しているんですね。

ドキュメント内のコードを全て実行する

毎回クリックするの面倒くさい…という場合は、「上から下まで一気にコードを実行」する機能もあります。

まずは、画面上部の「Kernel」→「Restart&Run All」を選択します。

確認画面で「Restart and Run All Codes」を選ぶと、ドキュメント内のコードを一気に実行します。

次回へつづく

今回、構築した環境を使って、次回の記事では、実際に「顔認証」で色々と試してみたいと思います!

(株)ライトコードは、WEB・アプリ・ゲーム開発に強い、「好きを仕事にするエンジニア集団」です。
機械学習でのシステム開発依頼・お見積もりはこちらまでお願いします。
また、機械学習系エンジニアを積極採用中です!詳しくはこちらをご覧ください。

※現在、多数のお問合せを頂いており、返信に、多少お時間を頂く場合がございます。

続きはこちら

こちらの記事もオススメ!

書いた人はこんな人

ライトコード社員ブログ
ライトコード社員ブログ
「好きなことを仕事にするエンジニア集団」の(株)ライトコードです!
ライトコードは、福岡本社、東京オフィスの2拠点で事業展開するIT企業です。
現在は、国内を代表する大手IT企業を取引先にもち、ITシステムの受託事業が中心。
いずれも直取引で、月間PV数1億を超えるWebサービスのシステム開発・運営、インフラの構築・運用に携わっています。

システム開発依頼・お見積もりは大歓迎!
また、WEBエンジニアとモバイルエンジニアも積極採用中です!

ご応募をお待ちしております!

関連記事

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界を変える…! /

Androidエンジニア

\ みんなが使うアプリを創る /

iOSエンジニア