名称 MIRS2105ソフト機能実装方法
番号 MIRS2105-SOFT-0002
現在時刻


版数 最終更新日 作成 承認 改訂記事
A02 2022.2.21 望月 優輝 香川先生 第2版

目次

1.はじめに
2.担当メンバー
3.画像認識機能
4.写真撮影機能
5.撮影写真送信機能
6.画面表示機能
7.追尾機能

 

1.ドキュメント概要

本ドキュメントはPhotoKENプロジェクトに関するソフトウェア詳細設計において
新規機能の実装方法についてまとめたものである
詳細設計の全体については以下にリンクを載せておく。

詳細設計ドキュメント

2.担当メンバー

MIRS2105のソフトウェア担当メンバーを以下に示す

武藏、望月


3.画像認識機能(表情認識も含む)

画像認識について、今回画面処理ライブラリopencvを用いて実装することにする。

今回行う画像認識の流れについては、

 

カメラを起動、最初は顔ではなく人全体の姿を認識

顔を認識次第、撮影範囲の中心と顔の中心部分の位置の差を計算する。

顔を認識中、笑顔を認識した際に写真を撮影

撮影した写真を各端末へ送信

 

となる

今回使用するカスケード分類器について以下に示す。

table1. 使用するカスケード分類器

名称 特徴量の種類
haarcascade_fullbody.xml 全身
haarcascade_frontalface_alt.xml 顔(正面)
haarcascade_smile.xml 笑顔

試験結果をfig1,fig2に示す。


fig1 試験結果(通常時の顔)



fig2 試験結果(笑顔)


また、発表時に使用した試験動画を次にfig3,fig4に示す。


fig3 試験結果(笑顔認識)



fig4 試験結果(笑顔強度の判定)


4.写真撮影機能

写真撮影機能について、今回はcapture.read()を用いて写真を撮影することにする。

また、今回撮影するにあたり、そのタイミングを以下の3つとした。

本機能は画像認識機能の組み合わせでもあるため、試験結果については省略する。


5.撮影写真送信機能

撮影写真や書く文章を送信する機能について、送信先の対象を次の2つに決定した。

この2つに撮影写真や文章を送るための方法として、LINE notifyを用いることにした。

line notifyについて

今回使用するにあたりLINE notifyでトークンを作成し、各内容を送信するコードを作成した。

試験結果をfig5,fig6,fig7に示す。


fig5 LINE送信試験画像




fig6 LINE送信試験画像




fig7 LINE送信試験画像




6.画面表示機能

画面表示機能について、ボタンを押した際にpythonのコードを起動するような動作を求めていたため、
pythonのcgi機能を使用してページ動作時の笑顔認識や写真撮影LINE送信を実装した。

今回photoKENに画面表示機能をつけるにあたり、使用する画面は次の4種である。


すべてのファイルをhtml,cssまたはjavascriptを用いて作成。
またホーム画面では日常的に使用することを想定した現在時刻表示や天気予報など様々な情報を追加した。
天気予報はフリーの天気予報APIを使用。現在時刻表示はjavascriptのdatetimを使用した。
実際のホーム画面、動作成功時の画面をfig8,fig9に示す。


fig8 ホーム画面




fig9 動作成功時画面




7.追尾機能

追尾機能は、顔認証機能とジンバル機構、頭部回転機構を用いて追尾することにする。

顔認証機能によって顔のx軸とy軸を取得し頭部回転機構でx軸、ジンバル機構でy軸を調整する。

追尾している動画をfig10に示す。

fig10 追尾試験




MIRS2105ドキュメント管理台帳へ