ディープラーニングは、画像認識分野でどのように活用されているか。
目次
セグメンテーションタスク
- 画像の画素ごとに識別を行うタスク
- 「セマンティックセグメンテーション」→画像全体を対象とする。集団の歩行者等を分離できない。
- 「インスタンスセグメンテーション」→物体検出した領域を対象とする。集団の歩行者を分離できる。
- 「パノプティックセグメンテーション」→個々の物体を分離しつつも、道路や建物などはひとまとめにする。
- 「FCN(Fully Convolutional Network)」→CNNをセマンティックセグメンテーションタスクに利用した方法
→一般的なCNN(畳み込み層&プーリング層&全結合層)とは異なり、全結合層は用いず、畳み込み層だけで構成するモデル。
最後の特徴マップは入力画像に対して小さいことから、出力を入力画像サイズまで拡大しようとすると、解像度が粗くなる。 - 「SegNet」→畳み込み層とプーリング層を繰り返し積層することで、小さくなった特徴マップを徐々に拡大する構造を採用した方法
→エンコーダ側の最大値プーリングした位置を記憶しておき、デコーダ側の拡大時に記憶していた位置に特徴マップの値を配置し、それ以外の位置の値は0にすることで境界付近のセグメンテーション結果をぼやけさせない工夫を採用している。 - 「U-net」→デコーダ側で特徴マップを拡大して畳み込み処理する際、エンコーダ側の特徴マップを同じサイズになるよう切り出して利用するモデル。
X線画像(CT、MRIなど)の医療画像診断に用いられている。 - 「PSPNet」→エンコーダとデコーダの間に、「Pyramid Pooling Module」(複数の解像度で特徴を捉えるモジュール)を追加。
エンコーダで得られた特徴マップを異なるサイズでプーリングし、それぞれの大きさで畳み込み処理を行う。 - 「DeepLab」→畳み込み層にAtrous convolutionを導入したモデル。
- 「DeepLab V3+」→Seg NetやU-netのようなエンコーダとデコーダの構造、PSPNetのような浮く数解像度の特徴を捉える機構(ASPP)を採用したモデル。
姿勢推定タスク
- 人の頭・足・手などの関節位置を推定するタスク
- 「信頼度マップによるアプローチ」→入力画像に対し、各関節の位置を信頼度マップとして出力する方法
- 「Convolutional Pose Machines」→CNNを多段に組み合わせ、徐々に各骨格の信頼度マップを高精度化していく
- 「OpenPose」→複数人の骨格を同時に推定できるよう、「Parts Affinity Fields」(骨格間の位置関係を考慮した処理)を導入
マルチタスク学習
- 「マルチタスク」→複数タスクを1つのモデルで対応すること
※「Faster R-CNN」「YOLO」などの物体検出モデルは、識別と位置の検出を同時に行っており、マルチタスクともいえる。 - 「Mask R-CNN」→「Faster R-CNN」による物体検出だけではなく、セグメンテーションも同時に行うマルチタスクのモデル(物体検出した領域ごとに行うため、インスタンスセグメンテーションになる)