rkdora's Blog

【JPHACKS2019】プレゼンチェッカー

JPHACKS2019のHackDay福岡に、プロ研のメンバー4名でチーム「もつなべ」として参加してきました。 この記事は、その際の参加レポートです。

JPHACKS2019 HackDay福岡参加レポート

JPHACKSとは

JPHACKS(ジャパンハックス)は、学生を対象にした日本最大規模のハックイベントで、2014年より全国の複数都市で開催されています。 2日間で開催される「Hack Day(ハックデイ)」でチーム開発をおこない、そこから選ばれたファイナリスト達が、東京に集い ピッチや展示会をおこなう「Award Day(アワードデイ)」で構成されています。jphacks.com

Hack Day 福岡

f:id:rkdora:20191022171312p:plain
Hack Day 福岡 詳細

実際には10チームだったと思います。
他のハッカソンで賞をもらっている顔ぶれが多く、レベルの高さにビビりまくってました。

結果

な、な、なんと、Best Hack Day Awardを頂きました!

f:id:rkdora:20191022193413j:plain

f:id:rkdora:20191022172252p:plain

マジで驚きました。

予想外すぎて、コメントを求められた際に「目がいっぱいある〜(泣)」としか言えずに大変恥ずかしい思いをしました。

改めて、この場で。

投票していただいたみなさま、本当にありがとうございました。

発表

プレゼン

デモ動画

プレゼンチェッカー

テーマ

プレゼンテーション x Tech

ターゲット

プレゼンテーションスキルを向上させたい人

解決したい課題

プレゼンテーションの練習をする際などに、視線や声の抑揚を客観視できるものが欲しい

特長

  1. プレゼンテーションのスキルを数値化できる
    視線や声の抑揚に基づいてスコアを算出
  2. 視線推定技術(NEC遠隔視線推定API)を用いて、プレゼンターの視線を解析
    左右 => 左右に視線に偏りがないか
    上下 => 下を向いていないか
    分布 => 全体を見渡せているか
  3. フーリエ変換を用いて、プレゼンターの声の抑揚を解析
    声の大きさの分布
    声のトーンの分布

使用方法

  1. プレゼンテーションを撮影
  2. 動画をアップロード
  3. 視線、声の抑揚に基づいてスコアを表示(視線データが合成された動画のダウンロードも可能)

開発内容・開発技術

API

  • NEC遠隔視線推定API
  • Web Audio API(音声の波形表示)

フレームワーク

  • Flask

独自の工夫

  • フーリエ変換を用いた声の抑揚の抽出
  • 視線データと抑揚のデータからプレゼンテーションスキルを数値化
  • 視線を残像のようにデータ表示した動画の生成

開発を振り返って

イデア出し

2019年のテーマは「X-Tech 2019 ~Innovation for myself & by my hacks ~」とし,自身(一人称)の問題を自身(一人称)で解決することを目指してほしいと考えています.

テーマは10日前に発表されました。
今回のテーマからSNS系以外で考えることにしました。
メンバー間でアイデア出しを行いましたが、なかなかいいアイデアが浮かびませんでした。 JPHACKS用に提供されている技術を眺めていたところ、NEC様からの「遠隔視線推定技術」がおもしろそうだということになりました。

jpn.nec.com

結局、Hack Day当日までに具体的なアイデアが出ませんでした。
Hack Day当日になり、開発時間がスタート。
遠隔視線技術が特別にAPIとして提供されていたので、まずは動作確認を行い実際に動くことを確認しました。
その後、出たアイデア達です↓

  • プレゼンテーション時の、プレゼンターの視線が聴衆に向いているかを数値化する

  • プレゼンテーション時の、聴衆の視線がスライドのどこを見ているかを特定する

  • 視線外しゲーム(画面内の美少女と視線が合ったら負け)

  • 画像いらすとや変換器(画像内の人間をいらすとやのイラストに置き換える)

15時くらいにやっと、 プレゼンターの視線が聴衆に向いているか・声に抑揚があるかを数値化するというアイデアに固まりました。

開発手法

MVP(実用最小限の製品: minimum viable product)

  • 動画をアップロードできるWEBアプリの実装
  • 動画からプレゼンターの視線の平均・分散を算出し、結果として表示

1up

  • プレゼンターの視線をヒストグラムとして表示
  • フーリエ変換を用いて、声の抑揚(強弱やトーン)を算出し、表示
  • プレゼンターの視線データ込みの動画をダウンロードできるように
  • 解析中のローディング画面

2up

  • 視線・声のデータからスコアを算出して表示(パラメータ調整)
  • 音声の波形表示(間に合わず)

その他

APIを叩く際に、うまくいく時といかない時がありかなり苦労しました。 回線や画像サイズの問題と思われます。

難しいところは全部、たなっち(tanacchi (@q111026d) | Twitter)という頼れる相棒が実装してくれました(尊敬)。

動画アップロードやローディング画面など、WEBアプリとしての機能は後輩の2人が頑張ってくれました(感謝)。

もちろん、今回も夜通しでの開発。
初めてAirbnbを使いました。 実際に泊まったところ↓
現地の人から借りる家、体験&スポット - Airbnb

個室で、Wifiもあって、シャワーもトイレもあって、過去イチの夜間開発環境でした。 朝、駅に着いた時に上着を部屋に忘れていたことに気づいて取りに帰るなんてことも・・・(1時間ほど遅刻)

スポンサーさまからの差し入れで飲み物・お菓子があり、会場の開発環境もとてもよかったです。

良いプレゼン、悪いプレゼンのサンプルを撮るだけで合計2時間ほど費やしました。
その大半が、良いプレゼンに挑戦する時間。そのうちNG集作ります。
良いプレゼンってほんと難しい( ;∀;)

発表を振り返って

  • 90秒という短い時間
  • プロダクトがプレゼンに関するもの

といったプレッシャーがある中で、最低限伝えたいことは伝えることができたかな〜と感じています。
視線と声の抑揚に関しては、もっと意識しときたかったな〜というのが反省点(o_o)

今後

プレゼンスコアを算出するパラメータを機械学習によって設定できるようになれば、より良いものになると思います。
また、企業さんからのフィードバックにもあった「え〜」「あの〜」などのフィラー検出も挑戦したいです。