1.IconNet:スマホ画面上のアイコンを検出して音声でアプリ操作を可能にする(2/2)まとめ
・デバイス上で実行するためバックボーンの幅と深さをパフォーマンスに影響を与えずに削減
・バックボーン選択後ニューラルアーキテクチャ探索(NAS)を使用してバリエーションを調査
・データセットの品質改善やDSP利用、量子化の実行でモデルサイズをオンデバイス仕様に縮小
2.IconNetの性能
以下、ai.googleblog.comより「Improving Mobile App Accessibility with Icon Detection」の意訳です。元記事の投稿は2021年1月28日、Gilles BaechlerさんとSrinivas Sunkaraさんによる投稿です。
アイキャッチ画像のクレジットはPhoto by Daria Nepriakhina on Unsplash
デバイス上で実行するためにネットワーク設計を単一スタックに制限し、バックボーンの幅を大幅に縮小しました。さらに、アイコンの検出は(現実世界の物体と比較して)より局所的な特徴表現に依存しているため、パフォーマンスに悪影響を与えることなく、バックボーンの深さを更に減らすことができます。
アブレーション研究を行った結果、スキップ接続と高解像度機能の重要性が確信されました。例えば、最終レイヤーでスキップ接続を削除するとmAPが1.5%減少しました。同様な接続を最終レイヤーと最後から2番目のレイヤーの両方から削除すると、mAPが3.5%減少しました。
IconNetは、画面上の画素を分析し、ヒートマップを生成してアイコンの中心を識別します。ヒートマップは、画面に表示される様々な種類のアイコンの位置と種類に関する正確な情報を提供します。これにより、Voice Accessユーザーは、これらのアイコンを名前で呼ぶ(「メニュー」をタップするなど)事ができます。
モデルの改善
バックボーンアーキテクチャが選択されたら、ニューラルアーキテクチャ探索(NAS)を使用して、ネットワークアーキテクチャのバリエーションを調査し、モデルパフォーマンス(mAP)と処理時間(FLOP)のバランスをとるトレーニングとモデルパラメータの最適なセットを明らかにしました。
更に、Fine-Grained Stochastic Architecture Search(FiGS)を使用して、バックボーン設計をさらに改良しました。 FiGSは、候補アーキテクチャを刈り取り、不要な接続を破棄することで、まばらな構造を明らかにする差別化可能なアーキテクチャ検索手法です。この手法により、パフォーマンスを低下させることなくモデルサイズを20%縮小し、mAPをわずか0.3%低下させるだけで50%縮小することができました。
トレーニングデータセットの品質を改善することも、モデルのパフォーマンスを向上させる上で重要な役割を果たしました。700,000を超えるスクリーンショットを収集してラベルを付け、その過程で、経験則と補助モデルを使用して珍しいアイコンを識別することにより、データ収集方法を合理化しました。また、既存のスクリーンショットを一般的でないアイコンで強化することにより、データの水増しを行いました。
推論時間を改善するために、多くの携帯電話で利用可能なさまざまなQualcomm DSPでニューラルネットワークAPI(NNAPI)を使用して実行するようにモデルを変更しました。このために、モデルを8ビット整数量子化を使用するように変換しました。これにより、モデルサイズを縮小できるという追加の利点が得られます。いくつかの実験の後、サーバー側の浮動小数点モデルとパフォーマンスを一致させながら、量子化対応トレーニングを使用してモデルを量子化しました。量子化されたモデルは、量子化されていないモデルと比較して、わずか~0.5%のmAPを失う一方で、6倍のスピードアップ(700ms対110ms)と50%のサイズ縮小をもたらしました。
結果
モデルのパフォーマンスを測定するために、従来の物体検出指標(mAPなど)を使用しました。更に、音声制御時のユーザー行動例をより適切に把握するために、誤検知(FP:False Positive)検出の修正バージョンを定義しました。
この場合、画面に存在するアイコンの種別を誤って検出した際にもペナルティが課せられます。検出されたアイコンを本当のアイコン情報と比較するために、この作業用に開発した別の指標である「関心領域の中心(CIROI:Center In Region Of Interest)」を使用しました。
これは、検出された境界ボックスの中心が本当のアイコン位置を示す境界ボックス内にある場合に正の値が戻されます。これにより、対象のUI要素の領域内の任意の場所をタップすることでアクションが実行される音声アクセスモード時の操作感がより適切に補足キャプチャされます。
IconNetモデルを、MobileNetEdgeTPUやSSD MobileNet v2などの他のさまざまなモバイル上で実行できるの物体検出器と比較しました。実験では、応答速度を固定した場合、IconNetは内部評価セットでmAP@CIROIに関して他のモデルよりも優れていることが示されました。
Model | mAP@CIROI |
IconNet (Hourglass) | 96% |
IconNet (HRNet) | 89% |
MobilenetEdgeTPU (AutoML) | 91% |
SSD Mobilenet v2 | 88% |
IconNetのパフォーマンス上の利点は、量子化されたモデルおよび応答速度を固定したモデルで存続します。
Models (Quantized) | mAP@CIROI | Model size | Latency* |
IconNet (Currently deployed) | 94.20% | 8.5 MB | 107 ms |
IconNet (XS) | 92.80% | 2.3 MB | 102 ms |
IconNet (S) | 91.70% | 4.4 MB | 45 ms |
MobilenetEdgeTPU (AutoML) | 88.90% | 7.8 MB | 26 ms |
※Pixel 3a上での測定
結論と今後の作業
IconNetの改善に常に取り組んでいます。特に、IconNetでサポートされる要素の範囲を拡大して、画像、テキスト、ボタンなどの一般的なUI要素を含めることに関心があります。また、IconNetを拡張して、機能を特定することで、似たようなアイコンを区別することも計画しています。アプリケーション側では、開発者用ツールを拡張して、アプリケーションを構築するときにさまざまなUI要素のコンテンツの説明を付与する事を提案することで、有効なコンテンツの説明を持つアプリの数を増やしたいと考えています。
謝辞
このプロジェクトは、Maria Wang, Tautvydas Misiūnas, Lijuan Liu, Ying Xu, Nevan Wichers, Xiaoxue Zang, Gabriel Schubiner, Abhinav Rastogi, Jindong (JD) Chen, Abhanshu Sharma, Pranav Khaitan, Matt Sharifi, Blaise Aguera y Arcasとの共同作業の結果です。協力者のRobert Berry, Folawiyo Campbell, Shraman Ray Chaudhuri, Nghi Doan, Elad Eban, Marybeth Fair, Alec Go, Sahil Goel, Tom Hume, Cassandra Luongo, Yair Movshovitz-Attias, James Stout, Gabriel Taubman, Anton Vayvodに心から感謝します。投稿の準備を手伝ってくれたTom Smallにとても感謝しています。
3.IconNet:スマホ画面上のアイコンを検出して音声でアプリ操作を可能にする(1/2)関連リンク
1)ai.googleblog.com
Improving Mobile App Accessibility with Icon Detection
2)play.google.com
Voice Access
3)arxiv.org
Stacked Hourglass Networks for Human Pose Estimation
Objects as Points
Unblind Your Apps: Predicting Natural-Language Labels for Mobile GUI Components by Deep Learning