この2019年現在において、お金を数えるといえば、人手で数えたり、専用機器で数える方法があると思います。 スマートフォンのARアプリで手軽にお金を集計できたらいいなと思い、独自に研究・開発してみましたので、その成果を発表致します。また本アプリは、GitHubにて公開し、研究実績として残しておきたいと思います。
iOS(11.3以降)のARKitを利用してお金を検出し、シンプルに集計する。 処理のフローは、アプリに紙幣の画像を認識させて、数として解釈し、紙幣の数とその合計を表示させる、というもの。
紙幣のみに限定して、数え上げ、集計することは実現可能だった。
しかし、硬貨が認識しづらいこと、複数の紙幣を効率的に認識する方法は実現できず、実用化には至らなかった。
できなかったことは要因も含めて分析すると、以下の通りとなる。
- 硬貨は反射やサイズが小さいなどの要因で、ARで認識が難しく、カウントできなかった
- 対象物が複数あった場合、紙幣やコインでも重なった状態でその数や単位を認識するのは難しい
- 正確性を担保するためにも、慎重に1枚づつ認識させる必要があり、瞬時に判断することは難しい
ARKitにおいては検出可能な画像にも以下の条件が伴う。
硬貨の場合は、コントラスト、反射、大きさの点で条件を満たすことができない。
- 表面の形状は平面であること、球面など変形したものは認識されにくい
- 視覚的にコントラストがあるものが望ましい
- 照明や反射により認識精度は影響を受けること
- 対象物は1インチ(2.54cm)角以上の大きさがあること
ハードウェア性能、ARKit仕様要因等を除いて、本ソフトウェアとして打てる対策を考える。
- 紙幣の認識精度を向上させるため、照明や反射の度合いを加味した認識用の画像を追加する。
- ARKitでなく、Vision/CoreML等の他の技術を導入することによって解決可能か調査する。
MIT