愛知県の大学生向けに行われたハッカソンで課題に上がった「引継ぎのロス低減」を題材に今回のプロダクトを製作した。
①「引き継ぐための資料を作る労力が割けない」 引継ぎ資料はメインとなる業務を抱えながら行うことが多い。また「引き継ぐ人」と「引き継がれる人」の温度差があると、上手く引継ぎが行うことができず、業務に支障が起きる。 さらにトラブルが起きたときにはその対処が優先されて、その方法が共有されることはオンタイムで出来ない。最悪の場合、トラブル対処の引継ぎができない場合もある。
②「引き継ぐための資料がそもそもない」
あの人しかできない仕事だったけど、もう辞めてしまってどうしようもない。人材難や転職の活性化により、 人の入れ替わりが激しくなり、会社にスキル、ノウハウを残すのが難しくなっている。
そもそも引継ぎ業務がなければいいのではないかという根本の部分にメスを入れ、その第一歩として、普段からいろいろと残していくことが重要であると考えた。しかし、普段から引継ぎ資料を作るというのは現実的ではない。この普段から残す、積み重ねるということを当たり前にすることで、「引継ぎの心理的ハードルゼロへ!」という価値を提供します。 私たちは、この価値をウェアラブルカメラとAIを用いたサービス「Key-log(キログ)」で提供します!
①簡単にキロクができる 録画開始ボタンを押すだけでマニュアルができる。使い方は以上!
②簡単に見返すことができる 動画の重要部分を動画としてでなく画像として残すことで、全体像を見ただけで把握することができ、見返すことが容易になる。さらに、マンガ化を行うことで、普段のマンガを読む感覚で引継ぎ資料を読むことができる。
③独自の重要度算出アルゴリズム 手指の座標や物体の検出は既存のAPIを用いたが、重要度の算出には以下のようなアルゴリズムを用いた。
・1フレーム前の姿勢座標(OpenPoseから取得)の差の絶対値の和(例:膝の座標(1,1)-(0.5,0.5)=(0.5,0.5)なので、和がx+y=1になる)。この和が大きいほど重要度が高いとみなす。
・1フレーム前の画素値との差の絶対値。これが大きい時はカメラ自体が動いているときとみなせるので、重要度を低く見積もる。
・手の形状検出(Mediapipeから取得)をして以下のポイントの座標を得る。この座標に最小二乗法を用いて、残差が小さいほど(直線に近いほど)決定係数が1に近づくので、1と決定係数の差が大きいほど重要とみなす。すなわち、指が直線でないほど重要とする。
①後で機械学習をできるようにローカルのアプリではなく、サーバーを用いた。 溜まったデータから深層学習することで、データが溜まれば溜まるほど、さらなる価値の提供が望めます。
②指標づくりは複数人で行ったため, 統合しやすいように指標を求めるコードをモジュール化した。
③Qiitaなどには書いていないバグや処理をする必要があったため, リファレンスやGithubのissueを頻繁に参照した。
愛知県にある工業大学のロボコンサークル+友人Sで構成されたチーム。多用な視点から課題解決をとらえ、その解決策をとなるプロダクトを作るだけの技術力があります。向上心豊富なチームメンバーで、情熱をもって取り組みました!
M5StickVを用いて、動画を撮影するハードウェア。帽子に簡単に着脱できるようになっており、作業中は邪魔にならない位置に保持しておける。既存の雲台や洗濯ばさみ、3Dプリンタを用いて、費用と工数を抑えた。撮影した動画は自動でサーバーに送られようにした。
OpenCVおよびmediapipeで画像から手の推定、OpenPoseで姿勢推定、姿勢推定のためsklearnによる単回帰分析と正規化、以下で説明する"特徴とこだわり"の③のアルゴリズムを駆使して、重要度の算出を行った。 nginxとdockerを用いて、サーバーで動画を管理できるようにした。
重要度が算出された画像を時系列順に配置することで、マニュアルが作成される。さらに、そのフレームの前後5秒の音声を文字起こしすることができ、説明を付け加えることができる。 また、ユーザーの判断により画像の消去や追加、文字の編集も可能となっています。