本記事で言う“使われる技術”とは、業務委託で実際に BtoB の利用段階まで到達した状態を指します(一般カスタマー向けの商用運用や SLA 保証までは対象外としています)。
こんにちは/こんばんは。
大学院で手話AIの研究に取り組んでいる KISETU です。
本記事は、デフエンジニアの会 アドベントカレンダー13日目 の投稿になります。
(他のメンバーの記事のクオリティが高すぎて、正直震えています……。)
駄文ではありますが、あたたかい目で読んでいただけますと幸いです。
タイトルのとおり、私はとある企業(以下、X社)にて、業務委託として3か月以上活動しておりました。
その過程で多くの学びを得るとともに、研究を社会実装へ進める際に直面するハードルの高さを実感する、非常に貴重な経験となりました。
では、そもそも私がなぜそのような機会に恵まれたのか。
そのきっかけは何だったのか。
まずはバックグラウンドから共有していきたいと思います。
背景
まず、私は学部生の頃から支援技術(Assistive Technology)を専門に学び、その中でも工学の歴史では比較的新しい領域である情報保障工学という分野に飛び込んでいました。
その過程で、私は Google の MediaPipe Hands がもつ「手の動きを正確に読み取る」能力に強く魅了されました。
“この技術を使えば、何か新しいアクセシビリティが作れるのでは?”
その思いから、授業で得たヒントや、友人との雑談で生まれた気づきをもとに、さまざまな角度から応用の可能性を探り続けていました。
そんな中、現在の大学院で研究指導をしてくださっている教授と出会い、その先生の講義で「手の形を機械学習させ、数字をAIが認識して出力する」という演習を受けました。
そこで得たインスピレーションが、私に 「指文字も認識させられるのでは?」 という発想をもたらしました。
数字の認識ができるのであれば、その延長線上にある 指文字 にも応用できるのではないか――。
この思いつきが、後の 業務委託 につながる最初の一歩となりました。
なお、指文字の解説は以下になります。
最初のプロトタイプ
本格的に指文字認識AIの開発を進めるきっかけとなったのが、弊学の学園祭でした。
開発サークルとして「来場者に実際に触れてもらい、アイデアやフィードバックを直接聞ける場を作ろう!」という企画が立ち上がり、その展示用として 指文字認識AIをきちんと形にする ことになりました。
実際の開発プロセスについては、以下の記事で詳しくまとめています。
展示したシステム自体は非常にシンプルな構成で、
- Webカメラを起動
- MediaPipe Hands で手指を検出
- 得られた座標データを学習済みAIモデルへ送信
- 返ってきた予測結果を画面に表示
という流れで動くものです。
展示を行った当時は、指文字データが非常に少ないうえ、右手で表現する指文字のみという制約がありました。
それでも来場者の皆さまからは非常に好意的な反応をいただき、多くの方に実際に体験してもらうことができました。
その場で寄せられたフィードバックは、後の改良に向けて大きなヒントとなりました。
少し話は大きく聞こえるかもしれませんが、この経験を通して私は、
「たとえ研究レベルであっても、支援技術とは何か?」を考えるきっかけを届けたい。
その入口として、この指文字認識を扱う価値があるのではないか。
と強く感じるようになりました。
そして、もっと良い形にブラッシュアップしていこうと心に誓った瞬間でもありました。
指文字認識くんの爆誕
最初のプロトタイプをユーザーの意見をもとに改善し、
「ネットさえつながっていれば、どんなデバイスでも気軽に体験できるようにしたい」
という新たな目的を掲げました。
その目標を実現するために、指文字認識くんを Webアプリ として再開発することにしました。
簡単にまとめておりますので、上記の画像をご覧ください。
この Web アプリを開発してから、私はさまざまな場所で展示を行い、多くの方に触れていただく機会をつくってきました。
そうした取り組みの中で X社からお声がけをいただき、業務委託としてより精度の高い指文字認識AIを開発することになりました。
社会実装の壁
これまでは個人開発が中心だったため、多少精度が悪くても「仕方ないよね」と目をつぶってもらえる場面が多くありました。
しかし 仕事として取り組む となると話はまったく別です。
- より高い精度を求められる
- 想定外の動きにも耐えるモデルが必要
- どんな環境でも安定して認識できる仕組みを整える
こうした要求に応えることこそ、社会実装を目指す研究者 and エンジニアの責任ですよね。
しかし、今回扱っている指文字認識の領域は、どう転んでもまだ研究段階にあり、信頼性の高い論文や十分に整理された知見が非常に少ないのが現状です。
そのため、参考にできる既存研究も限られており、品質をどのように担保するかが非常に難しい状況でした。
結果として、初めて指文字を行う方の手指表現でも、AIが正しく読み取り回答できるレベルまで精度を高めることができました。
技術的な詳細についてはお伝えできないのが非常に残念ですが、ひとまず 「無事に成功した」 とだけ受け取っていただければ幸いです。
本記事をご覧いただいている皆さま限定で、今回のAIを搭載した 指文字認識くん を試せる Web ページを用意しました。
ぜひ遊んでみてください!
なお、本 Web アプリの利用によって生じたいかなる不都合・トラブルについても、当方では責任を負いかねます。
その点をご理解のうえ、ご利用ください。
どうやって研究レベルのAIを“使われる技術”へ変えたのか
研究段階の技術を社会実装レベルへ引き上げるために、まず行ったのは 開発チームとの入念な打ち合わせ でした。
同時に、データ収集プロセスを整備し、さまざまな属性・環境のデータを徹底的に取り込む体制を構築しました。
そのうえで、必要に応じて アルゴリズムの改善やモデル構造の見直し を行い、
- 「どこまでを許容範囲とするのか」
- 「逆に、どこは絶対に外せないのか」
をプロジェクトマネージャーと細かくすり合わせていきました。
また、AI単体でカバーできない部分については、非AIの仕組みでどう補完するか の設計も同時に進めました。
できること・できないことの線引きを明確にしながら、システム全体でユーザー体験を保証できるように工夫していったのです。
正直、この段階では 「あとは技術で殴るしかない」 という状況でもありました。
しかし、このプロセスを通じて気づいたことがあります。
研究を“使われる技術”に変えるために必要だったもの
- ユーザー体験を確実に保証すること
- 本質を見失わないこと(ここでは「指文字が違えば“違う”と返せるAI」)
この2つを徹底的に守り抜くことでした。
この軸をぶらさずに開発を進められたからこそ、研究レベルのAIを“実際に使われる技術”へと変えることができたのだと、今振り返っても強く思います。
最後に
ここまで読んでくださった皆さま、ありがとうございます。
振り返ってみると、私はずっと「研究レベルのAIを、とにかく社会に届けたい」という想いで動いてきました。
その背景を、本記事を通して少しでも感じ取っていただけたのではないかと思います。
実際に私が行っていたことは、
- プロトタイプを作る
- ユーザーに触れてもらう
- フィードバックをもらって改善する
- ある程度の形になったら企業に提案する
- 興味を持ってくれた企業と一緒に開発を進める
- 双方にメリットのある形で契約し、価値を生み出す
という、一見すると「営業 × エンジニア × 研究者」が全部混ざったような流れでした。
でも、これこそが私にとっては 研究者らしさ を実感でき、同時に エンジニアとしての経験値 を大きく得られる、まさにハッピーなプロセスだったと思っています。
研究を社会に届けることは決して簡単ではありません。
しかし、それが “誰かの役に立つ技術” へと変わった瞬間の喜びは、本当に何にも代えがたいものです。
そして、自分が開発したプロジェクトを通して、お客様が喜んでくれたり、楽しんでくれたりする姿を間近で拝見できたことは、とても大きなやりがいでした。
もっと良いものを届けたい――そう強く思える経験でもありました。
少しだけ、学生から社会人へのステップを確かに一歩進めたのかな、と感じています。
そして今、最前線で開発を続けているエンジニアの皆さまに、心からの敬意を表します。
もしこの記事が、同じように「研究を社会に届けたい」と願う誰かの背中を、ほんの少しでも押すことができたなら、これ以上嬉しいことはありません。
