1.Lookout:視覚に困難を抱える人のためにスマホで商品を識別(1/2)まとめ
・Lookoutは視覚に困難があっても現実世界で活躍できるようにするAndroidアプリ
・スマートフォンカメラをスーパーの陳列棚に向けるとLookoutは商品を声に出して読む
・全ての処理を完全にスマホ上で実行するためネットワーク接続が不要な事が特徴
2.Lookoutとは?
以下、ai.googleblog.comより「On-device Supermarket Product Recognition」の意訳です。元記事の投稿は2020年8月11日、Chao Chenさんによる投稿です。
カメラ画像を使って検索するアプリケーションとしてはGoogle Lensが有名ですが、今回のお話のlookoutはそれを完全にオンデバイス、つまりネットワークに繋がっていなくてもスマホ単体で実現できるところが特徴です。
lookoutは見張りとか眺望の意味なので、そこから連想したアイキャッチ画像のクレジットはPhoto by Paul Gilmore on Unsplash。オーストリアのVorderer spitzです。
視覚に困難を抱えるユーザーが直面する最大の障害の1つは、食料品店や自宅の台所の食器棚で、包装された食品を識別する事です。これは、多くの食品が箱、缶、瓶、瓶などの似たような形状の容器に収められており、製品ラベルに印刷された文章と画像のみが異なるためです。ただし、スマートフォンの普及により、機械学習(ML)を使用してこのような課題に対処する機会が得られるようになりました。
近年、さまざまな知覚タスクをスマートフォンなどのデバイス上で実行するニューラルネットワークの精度が大幅に向上しています。現代のスマートフォンの演算性能の向上と相まって、今では多くの視覚タスクが、クラウドを使わずに完全にモバイルデバイス上で実行されている時でも高いパフォーマンスを生み出すことが可能です。
MnasNetやMobileNetsなどのオンデバイスモデル(特定のリソースに制限を課した上でアーキテクチャ探索を実行して発見)をデバイス上の索引と組み合わせると、製品ラベルに基いて製品を認識するアプリケーションを完全にスマホ上でリアルタイムに実行できます。
このような技術の進歩を活用して、私達は最近コンピュータービジョンを使用して視覚障害者がより現実世界で活躍できるようにするAndroidアプリであるLookoutをリリースしました。ユーザーがスマートフォンカメラを製品に向けると、Lookoutはそれを識別し、ブランド名と製品サイズを声に出して話します。これを実現するために、Lookoutには、MediaPipeを使った物体追跡と光学式文字認識モデルとともに、デバイス上に製品インデックスを備えたスーパーマーケット製品検出および認識モデルが含まれています。結果として得られるアーキテクチャは、完全にデバイス上でリアルタイムに実行する事が十分に可能なほど効率的です。
なぜスマホ上で実行するのでしょうか?
全ての処理を完全にスマホ上で実行できるシステムには、応答にかかる時間が短い、ネットワーク接続に依存しないという利点があります。ただし、製品認識システムがユーザーにとって本当に有用であるためには、デバイス上に適切な範囲の製品を識別できるデータベースが必要になります。この条件を満たすため、Lookoutのデータベースは、ユーザーの地域に応じて動的に選択される200万の人気のある製品情報から構成されています。
従来の解決策
コンピュータビジョンを使用した製品認識は、SIFTなどのアルゴリズムによって抽出された画像内の局所的な特徴を使用して伝統的に解決されてきました。これらの非機械学習ベースの手法は、かなり信頼性の高いマッチングを提供しますが、検索対象画像毎に10KBから40KB程度のストレージ容量を必要とし、画像が照明の影響を受けたりぼやけると性能が悪化します。更に、これらの特徴記述子は局所的な性質は、通常、製品の外観などのより全体的な特徴を捕捉しないことを意味します。
多くの利点を持つSIFTの代替アプローチは、機械学習を使用し、検索画像とデータベース画像に対して光学式文字認識(OCR)システムを実行して、製品の包装に書かれている説明文を抽出することです。検索画像内の説明文をN-Gramsを使用してデータベースと照合する事で、スペルミス、誤認識、単語認識失敗などのOCRエラーに対応できます。N-Gramにより、文章の完全一致ではなく、Jaccard類似係数などの指標を使用して、検索語と索引データベース間の部分一致検索を行う事ができます。
ただし、OCRを使用すると、TF-IDFなどの他の信号とともに文章のN-Gramを格納する必要があるため、索引サイズが非常に大きくなる可能性があります。更に、OCR + N-Gramアプローチでは、2つの異なる製品説明文に多くの一般的な単語が共通して存在しているケースで誤認識が発生する可能性があり、信頼性が問題になります。
SIFTやOCR + N-Gramを使った手法とは対照的に、各画像の全体的な特徴の記述子(つまり、embedding)を生成するニューラルネットワークベースのアプローチは、64バイトしか必要としません。
SIFTを使った手法で索引画像毎に必要になる10~40KBのストレージ容量を大幅に削減、信頼性の低いOCR + N-gram手法と比べてもあたり1つの画像毎に数KBを削減できます。
各索引画像で必要となる容量が少ないため、より多くの製品を索引としてデータベースに格納する事ができ、より沢山の製品を検索できるようになるため全体的なユーザー体験も向上します。
3.Lookout:視覚に困難を抱える人のためにスマホで商品を識別(1/2)関連リンク
1)ai.googleblog.com
On-device Supermarket Product Recognition
2)lear.inrialpes.fr
Product quantization for nearest neighbor search(PDF)
コメント