見出し画像

SPAJAM2021で優勝しました🗻

こんにちは、NAISTで修士2年をしている@_DS_Storeです。
現在、株式会社ZOZOでiOSエンジニアとしてアルバイトをしています。

本記事はZOZO Advent Calendar 2021の2日目の記事です。

SPAJAMの参加は今年で2回目なのですが、初めて本選に出場してさらに優勝までできたので作ったプロダクトや感想などを残しておこうと思い記事を書いています。

※研究室メンバーで参加したため、ZOZO所属は自分だけです。

そもそもSPAJAMとは

画像1

SPAJAMとは約24時間でアイデア出しから開発まで行うハッカソンで、開発物がスマホアプリ限定というのが大きな特徴です。
開催規模はハッカソンの中では大きい方で、参加チームが全予選通して50チームほどいます。
また、本選は温泉地で行われるというのも推しポイントです。(交通費も支給)

予選参加

自分は第4回予選に参加しました。参加チームは全部で11チームで、その中で最優秀賞に選ばれれば本選に出場できます。

第4回予選のテーマは「やさしい」でした。
テーマが抽象的でいろんな捉え方ができるのもSPAJAMの特徴だと思います。

そして自分たちがテーマから出したアイデアは「ズボンのチャックの締め忘れを音をもとに検知し、スマホ上に通知を出すアプリ」です。
完全にネタに走り、負けを確信していました。

メンバーの役割としては、
・プロダクトリーダー(発表,動画作成など)
・デザイン(スライド作成など)
・音声認識モデルの構築
・アプリ開発×2人
でした。

以下のような技術を使用しました。

画像2

かなりシンプルなアプリで、CreateMLで作った音声認識モデルをCoreMLを使ってアプリ内に組み込み、「チャックの音」や「水を流した音」の時系列からチャックを閉め忘れているかを判別し、通知を出すといったアプリです。

早朝に自分のズボンのチャックを開け閉めしてデバックしている時は、「勝てる気しないし自分は何をやっているんだ」という気持ちでいっぱいでした。下の画像はデモで大学のトイレから中継している様子。トイレにLANケーブルを引っ張ってきたりしてました。

画像6


結果としては音声認識の精度の高さや、アイデアの面白さを評価していただき最優秀賞でした。よかった、やったぜ。

本選参加

本選はライムリゾート箱根というめちゃめちゃいい感じな研修施設?で行われました。温泉やご飯も豪華で最高。

画像3

本選参加チームは第1~5回の予選最優秀チームとそれぞれの予選で優秀賞を獲ったチームから選ばれた2チームの合計7チームです。

本選のテーマは「CHANGE」でした。

そして自分たちのチームが出したアイデアは「手書き時の漢字入力を支援してくれるアプリ」です。スマホのカメラで手書き文字を認識し、次に書きそうな漢字を予測して表示してくれるというアプリです。

メンバーの役割としては、
・バックエンド(文章予測API)×2人
・クライアントサイド(ロジック部分)×2人
・デザイン兼クライアントサイド(スライド作成、アプリUI)
でした。

以下の様な技術を使用しました。

画像4

本当は全てクライアントで完結するアプリにしたかったのですが、以下の様な理由からこの様な構成になりました。
・オンデバイスで動く日本語OCRの精度がとても悪い
・文章生成モデルの組み込みをやったことがなかった

英語のOCRであればiOS標準のVisionフレームワークが使えるのですが、日本語に対応していないため他の技術を使用する必要がありました。
調査の中で、iOS上で日本語のOCRをするにはSwiftyTesseractというライブラリを使っている人が多く、実際に使ってみたのですが手書き文字の認識が全くできずに断念しました。
試行錯誤した結果、Firebase MLKitのテキスト認識APIの精度が一番高かったのでこちらを使用することにしました。(Googleすごい)

文章生成もできればCoreMLでモデルを組み込んで動かしたかったのですが、これは純粋に自分の力不足で実装にどれだけ時間がかかるかわからなかったのでPythonでAPI実装することにしました。(英語の文章生成だったらサンプルがある)

審査の結果、文字認識、文章生成の精度の高さなどを評価していただき最優秀賞をいただきました。めちゃめちゃ嬉しい。

終わりに

とりあえず予選、本選どちらもめちゃ楽しかったです。特に本選はオフライン開催ということで、色々な人と交流できたり、有名な人に会えたり、温泉に入ったりといいこと尽くしでした。

開発したアプリは技術的な課題が解決したらメンテナンスしてリリースまでしたいです。

SPAJAM 2021運営、審査員の皆様、交流してくれた参加者の方、ありがとうございました!!!

🗻🧗‍♀️

画像5

メディア関連


いいなと思ったら応援しよう!