名称 | MIRS2105ソフト機能実装方法 |
---|---|
番号 | MIRS2105-SOFT-0002 |
現在時刻 |
版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
---|---|---|---|---|
A02 | 2022.2.21 | 望月 優輝 | 香川先生 | 第2版 |
本ドキュメントはPhotoKENプロジェクトに関するソフトウェア詳細設計において
新規機能の実装方法についてまとめたものである
詳細設計の全体については以下にリンクを載せておく。
MIRS2105のソフトウェア担当メンバーを以下に示す
武藏、望月
画像認識について、今回画面処理ライブラリopencvを用いて実装することにする。
今回行う画像認識の流れについては、
カメラを起動、最初は顔ではなく人全体の姿を認識
⇩
顔を認識次第、撮影範囲の中心と顔の中心部分の位置の差を計算する。⇩
顔を認識中、笑顔を認識した際に写真を撮影⇩
撮影した写真を各端末へ送信
となる
今回使用するカスケード分類器について以下に示す。名称 | 特徴量の種類 |
---|---|
haarcascade_fullbody.xml | 全身 |
haarcascade_frontalface_alt.xml | 顔(正面) |
haarcascade_smile.xml | 笑顔 |
試験結果をfig1,fig2に示す。
また、発表時に使用した試験動画を次にfig3,fig4に示す。
写真撮影機能について、今回はcapture.read()を用いて写真を撮影することにする。
また、今回撮影するにあたり、そのタイミングを以下の3つとした。
本機能は画像認識機能の組み合わせでもあるため、試験結果については省略する。
撮影写真や書く文章を送信する機能について、送信先の対象を次の2つに決定した。
この2つに撮影写真や文章を送るための方法として、LINE notifyを用いることにした。
line notifyについて今回使用するにあたりLINE notifyでトークンを作成し、各内容を送信するコードを作成した。
試験結果をfig5,fig6,fig7に示す。
画面表示機能について、ボタンを押した際にpythonのコードを起動するような動作を求めていたため、
pythonのcgi機能を使用してページ動作時の笑顔認識や写真撮影LINE送信を実装した。
今回photoKENに画面表示機能をつけるにあたり、使用する画面は次の4種である。
すべてのファイルをhtml,cssまたはjavascriptを用いて作成。
またホーム画面では日常的に使用することを想定した現在時刻表示や天気予報など様々な情報を追加した。
天気予報はフリーの天気予報APIを使用。現在時刻表示はjavascriptのdatetimを使用した。
実際のホーム画面、動作成功時の画面をfig8,fig9に示す。
追尾機能は、顔認証機能とジンバル機構、頭部回転機構を用いて追尾することにする。
顔認証機能によって顔のx軸とy軸を取得し頭部回転機構でx軸、ジンバル機構でy軸を調整する。
追尾している動画をfig10に示す。