姿勢推定の分野でブレイクスルーとなったHRNetを、顔ランドマーク推定タスクなどに適用した High-Resolution Representations for Labeling Pixels and Regions (arXiv) についてのメモです。
@misc{sun2019highresolution, title={High-Resolution Representations for Labeling Pixels and Regions}, author={Ke Sun and Yang Zhao and Borui Jiang and Tianheng Cheng and Bin Xiao and Dong Liu and Yadong Mu and Xinggang Wang and Wenyu Liu and Jingdong Wang}, year={2019}, eprint={1904.04514}, archivePrefix={arXiv}, primaryClass={cs.CV} }
HRNet
最初にアーキテクチャのキモとなるHRNetについて説明します。
HRNet (High-Resolution Net) は、今回紹介する論文と同じ著者らによってCVPR'19にて提案されたディープラーニングネットワークアーキテクチャで、姿勢推定タスク (COCO keypoint detectionとMPII Human Pose) で当時のSotAを達成しました1。
各タスクの実装 (PyTorch) はGitHubで公開されており、HRNet-Facial-Landmark-Detectionで確認したところ、学習済みのモデルで推論することは比較的簡単にできるようでした。
HRNetのポイントは2点です。
高解像度・低解像度のサブネットワークが並列
全体としては、高解像度のネットワークからスタートし、深くなるにつれて低解像度のネットワークを追加していく構造となってます。Hourglass2などの先行研究の多くは高解像度から低解像度への直列 (高解像度の情報を捨てるまたは残すだけ) という構造ですが、HRNetはいずれの解像度のネットワークも並列に学習させており、この点が従来と大きく異なります。
- 出力層には最も高解像度の特徴マップが用いられます (後述しますが、紹介論文にてこの点に改良が加えられます)
サブネットワーク間の接続
HRNetは異なる解像度のサブネットワーク間もダウンサンプリング (高解像 -> 低解像) とアップサンプリング (低解像 -> 高解像) によって特徴マップのサイズが調整・接続 (総和) されることで、高解像度・低解像度のそれぞれが持つ情報をやりとりしています。論文中ではexchange unitsと呼んでます。
- 下図中央でいうと 左上特徴マップのダウンサンプリング + 左中央特徴マップ + 左下特徴マップのアップサンプリング = 出力特徴マップ (右中央) となります
HRNetV2
最初に発表された姿勢推定の分野でメジャーになったのですが、何らかの位置の推定が必要なCVタスク一般に適用できるネットワークアーキテクチャとなっています。紹介する論文では、セマンティックセグメンテーション・顔ランドマーク・物体検出にHRNetを適用しています。
姿勢推定では高解像度の特徴マップのみを出力としていました (下図(a)) が、タスクごとに改良が加えられます。
- 低解像度の特徴マップをバイリニアアップサンプリングして高解像度の特徴マップと連結する (下図(b)) ことで、セグメンテーションマップ (セマンティックセグメンテーション)やヒートマップ (顔ランドマーク検出) の推定に用いる (HRNetV2)
- 物体検出では、HRNetV2の結果を更に平均プーリングによって何段階かダウンサンプリングし (下図(c)) 、様々なスケール (物体の大きさ) に対応させる (HRNetV2p)
- 下図(c) の場合、上の4スケールの特徴マップ (4個の菱餅) 全てが出力となります
- アーキテクチャ全体としては、Faster R-CNNやMask R-CNNと組み合わせて構成する
実験
各タスク様々なデータセットを使って実験されており、それぞれ良いパフォーマンス (いくつかはSotA) を達成しています。
顔ランドマーク推定に絞ると、ランドマーク点数が多いWFLW3では全ての条件 (ポーズやイルミネーションなど) で高い性能となっており、ロバストな手法と伺えます。
HRNetV1とV2の比較ですが、いずれも大きな改善が見られ、出力層の修正が奏功しています。
まとめ
今回はHRNetをセマンティックセグメンテーション・物体検出・顔ランドマーク推定へ応用した論文を紹介しました。
論文で示されてみれば、これまでdown sample -> up sampleが主流だったのが不思議に思えてきます。様々なCVタスクでSotAを達成している点からも、応用力のあるアーキテクチャということが伺えます。
-
K. Sun, B. Xiao, D. Liu, and J. Wang. Deep high-resolution representation learning for human pose estimation. In CVPR, 2019. https://arxiv.org/abs/1902.09212↩
-
A. Newell, K. Yang, and J. Deng. Stacked hourglass networks for human pose estimation. In ECCV, pages 483–499, 2016. https://arxiv.org/abs/1603.06937↩
-
WFLWについては 顔ランドマークデータセットまとめ (AFLW, LFPW, COFW, 300-W, WFLW) - け日記 で触れました↩