• トップ
  • ブログ一覧
  • OpenCVをインストールしてjupyter notebook上で顔認識してみた!
  • OpenCVをインストールしてjupyter notebook上で顔認識してみた!

    メディアチームメディアチーム
    2019.08.02

    IT技術

    最小手順で、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のコード(リポジトリ)をダウンロードしています。

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

    1mkdir gitlocal
    2cd gitlocal
    3git clone https://github.com/informramiz/Face-Detection-OpenCV

    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」を選ぶと、ドキュメント内のコードを一気に実行します。

    次回へつづく

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

    続きはこちら

    featureImg2019.08.02OpenCVによる非ディープラーニングの顔認識でどこまでできるのか試してみた!ディープラーニングを使わない顔認識Githubで公開されている「Face-Detection-OpenCV」を実行し、...

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

    featureImg2020.07.28機械学習 特集知識編人工知能・機械学習でよく使われるワード徹底まとめ!機械学習の元祖「パーセプトロン」とは?【人工知能】ニューラルネ...

    featureImg2020.07.30Python 特集実装編※最新記事順Responder + Firestore でモダンかつサーバーレスなブログシステムを作ってみた!P...

    ライトコードでは、エンジニアを積極採用中!

    ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。

    採用情報へ

    メディアチーム
    メディアチーム
    Show more...

    おすすめ記事

    エンジニア大募集中!

    ライトコードでは、エンジニアを積極採用中です。

    特に、WEBエンジニアとモバイルエンジニアは是非ご応募お待ちしております!

    また、フリーランスエンジニア様も大募集中です。

    background