Inspiration
To many, American Sign Language, or ASL, is just another language. But to a deaf community of 430 million people globally or at least 5% of the world’s population, ASL is not just another language, but a necessity in life to be able to communicate with their loved ones, with ASL being the most popular language for the deaf and hard-of-hearing. Yet, less than 1% of the US population are able to use ASL, and in many ways, the language is dying as funding for ASL education falls steadily.
Taichi, Soum, and I have long wanted to learn more about the language to better support our local deaf community and raise awareness of this issue to our friends and family, some of whom themselves suffer from hearing loss. However, we found several issues with existing solutions that prevent ASL from being used for "Connecting the World":
First, existing tutorials are expensive. Some comprehensive courses we found online for ASL cost over 600 USD!
Second, as students who underwent extensive online learning, we found existing teaching methods to be unintuitive. Namely, almost all courses online were taught through video lectures, with no real-time feedback to the learner on technique or correctness despite these being very important for proper ASL communication.
Thirdly, the lack of interactive learning software was widespread. In fact, in our own search on the App Store, we found exactly ZERO applications offering any form of teaching beyond basic video lectures, much less any applications built and designed like SpellCam.
What it does
SpellCam leverages our own custom convolutional neural network trained and derived from the MobileNetV2 architecture to be able to classify in real-time ASL fingerspell signs being held up by the user, creating a radically new way of learning ASL. In this way, users know immediately whether the sign they are currently holding up is correct or not, giving them the real-time feedback and interaction missing from video lectures. Furthermore, we were inspired by Quizlet and flashcards, building in such functionality for flashcards to help our users more quickly and effectively learn ASL components. They can also track their own progress, making learning ASL a more trackable and entertaining activity!
How we built it
We used TensorFlow and Python to create the convolutional neural network derived through transfer learning on the MobileNetV2 trained on ImageNet. Following this, the model was converted to a CoreML model, which when combined with the Swift front-end inspired by flashcards and Quizlet, allows for real-time classification of signs held up by the user, and a fun and effective learning strategy!
Challenges we ran into
We ran into many unexpected bugs and errors in our conversion and use of the CoreML model from TensorFlow to Swift. For example, one such bug failed to be able to scale images and frames to the 224x224 requirement of the model. To handle some of these, we even had to custom re-write some existing Swift functions to allow them to work successfully in our application!
Accomplishments that we're proud of
Our machine learning model worked very well, achieving over 99% accuracy on our cross-validation and test sets! We are also happy with our UI designed and built from scratch on Swift, and how we were able to ultimately merge both the model written in Python/TensorFlow and the front-end written in Swift successfully. We were also able to make ASL learning more social and interactive by adding in Friends functionality, making ASL education and outreach a far more collaborative effort, helping further this ethical mission of "Connecting the World"!
What we learned
Taichi, Soum, and I all learned tons on applications of machine learning and mobile app development through developing for Neural Hacks, and also developed our skills working with many libraries on these fronts. More importantly, we learned how to communicate and collaborate effectively as a team, and the struggles that the deaf and hard-of-hearing community goes through every day!
What's next for Team 4-SPELLCAM-Track 5
We are already thinking up ideas of gamification into the application, and now plan to work further on developing a real-time multiplayer racing game within the application where users can compete against other players in a speed competition for fingerspelling different words and sentences correctly!
Also, while we believe fingerspelling is a great start by offering users the ability to quickly communicate to the deaf community and to raise awareness of the language, we are also looking into adding more components of the ASL language to the application to create an even fuller learning experience, and market this to schools and students to further the mission in "Connecting the World" through ASL!
動機
多くの人にとって、アメリカ手話(ASL)は単なる別の言語にすぎません。しかし、世界中の4億3000万人、または世界人口の5%以上の聴覚障害者にとって、ASLは単なる別の言語ではなく、愛する人とコミュニケーションを取る上で必要不可欠な言語であり、聴覚障害者にとって最も人気のある言語です。しかし、ASLを利用できる米国人口は1%に満たず、ASL教育の資金が着実に減少しながら言語が死亡しつつあります。
太一、スーム、と私は地域の聴覚障害者コミュニティをより良く支援し、この問題に対する認識を友人や家族に広めるために、ASLについてもっと学びたいと長い間思っていました。友人や家族の中には難聴に苦しむ人もいます。しかし、現在存在している解決方法では、ASLを「世界をつなぐ」に使用できないいくつかの問題が見つかりました。
まず、既存の学習用は高価です。ASLの包括的なオンライン学習用は、600 USD以上の費用がかかります。
第二に、私達のオンライン学校の経験によって、既存の教授法が直観的でないことがわかりました。ASLの適切なコミュニケーションにとって非常に重要であるにもかかわらず、オンライン上のほとんどの学習用はビデオ講義を通じて教えられ、技術や正確性に関する実時間指示は学習者に対して行われませんでした。
第三に、対話式な学習ソフトウェアの欠如が広がっていました。実際、アプリストアで検索したところ、基本的なビデオ講義を超えて、SpellCam見たいなあらゆる形式の教育を提供するアプリケーションはひとつもありませんでした。
機能
SpellCamは、MobileNetV2アーキテクチャからトレーニングおよび派生した独自のカスタム畳み込みニューラルネットワークを活用して、ユーザーが示しているASLのフィンガースペルサインを実時間で分類し、ASLを学習する新しい方法を作成します。これにより、ユーザーは現在示しているサインが正しいかどうかをすぐに知ることができ、ビデオ講義では得られない実時間指示や対話式な学習ができます。さらに、Quizletのフラッシュカードに着想を得て、フラッシュカードの機能を構築し、ユーザーがASLをより迅速かつ効果的に学習できるようにしました。自分の進歩を追跡することもでき、ASL学習をより追跡可能で面白い活動にすることができます!
構築方法
TensorFlowとPythonを使用して、ImageNetでトレーニングしたMobileNetV2上でトランスファー学習を通じて導出された畳み込みニューラルネットワークを作成しました。この後、モデルはCoreMLモデルに変換され、フラッシュカードやQuizletに触発されたSwiftフロントエンドと組み合わせることで、ユーザーが示しているサインの実時間分類におよび楽しく効果的な学習が可能になります。
直面した問題
TensorFlowからSwiftへのCoreMLモデルの変換と使用で、予期しないバグやエラーが多く発生しました。例えば、モデルの224x224の要件に合わせてイメージとフレームをスケーリングできませんでした。これらの問題を解決するためには、既存のSwift関数をカスタムに書き換えて、アプリケーションで正常に動作するようにする必要がありました。
誇りに思う業績
当社の機械学習モデルは非常に正常に動作し、クロスバリデーションとテストセットで99%以上の精度を達成しました。また、Swift上でゼロから設計・構築したUIと、Python/TensorFlowで書かれたモデルとSwiftで書かれたフロントエンドの両方を最終的に統合できたことに満足しています。また、友達機能を追加することでASLの学習をより社会的かつ対話式にすることができます。ASLの教育とアウトリーチをより協力的に行い、「世界をつなぐ」という倫理的な使命をさらに促進することができました。
学んだこと
太一、スーム、と私はNeural Hacksの開発を通じて、機械学習やモーバイルアプリ開発について多くの知識を得ました。さらに重要なことは、チームとして効果的にコミュニケーションを取りながら協力する方法を学んだことです。
Team 4-SPELLCAM-Track 5の次のステップ
すでにゲーム化のアイデアをアプリケーションに取り入れています。今後は、ユーザーが他のプレイヤーと競争して高速競争を行い、異なる単語や文を正しく指で示すことができる実時間のマルチプレイヤーレースゲームをアプリケーション内で開発する予定です。
また、フィンガースペリングは聴覚障害者コミュニティと迅速にコミュニケーションを取り、言語に対する意識を高める能力をユーザーに提供することで素晴らしいスタートになると考えています。より充実した学習体験を作り出すためにアプリケーションにASL言語のコンポーネントを更に追加し、それを学校や学生にマーケティングして、ASLを通じて「世界をつなぐ」という使命を推進することにも注力しています。
Built With
- x
Log in or sign up for Devpost to join the conversation.