DPT : Vision Transformerを使用したセグメンテーションモデル

Kazuki Kyakuno
axinc
Published in
May 25, 2021

ailia SDKで使用できる機械学習モデルである「DPT」のご紹介です。エッジ向け推論フレームワークであるailia SDKailia MODELSに公開されている機械学習モデルを使用することで、簡単にAIの機能をアプリケーションに実装することができます。

DPTの概要

DPT(DensePredictionTransformers)はIntelが2021年3月に公開したTransformerを画像に適用したセグメンテーションモデルです。画像のセグメンテーションと、単眼デプス推定を行うことができます。単眼デプス推定では相対的な性能が最大で28%向上しています。セマンティックセグメンテーションではADE20Kにおいて49.02%のmIoUを達成し、SOTAとなっています。

DPTのアーキテクチャ

DPTでは、Convolutional Networkの代わりに、Vision Transformerを使用します。Transformerを使用することで、Convolutional Networkに比べて、より詳細に、グローバルに一貫した予測を行うことができます。特に、大量の学習データが利用可能な場合に性能が向上します。

DPTのEncoderでは画像をタイル分割し、Embedでトークン化、Transformerで処理します。Embdedは単純に画像をタイル分割するpath-basedな方法と、入力画像にResNet50を適用して得たpixel feature mapをタイル分割してトークン化する方法があります。

出典:https://arxiv.org/pdf/2103.13413

DPTのDecoderでは、Transformerの各解像度の出力をimage like representationに変換し、Convolutional Networkを使用して、セグメンテーション画像を生成します。

DPTにはViT-Base、ViT-Large、ViT-Hybridの3つのモデルアーキテクチャが定義されています。ViT-Baseではpatch-basedなembeddingを行い、12のtransformer layersを持ちます。ViT-LargeではViT-Baseと同じembeddingを行いますが、24のtransformer layersとより大きなfeature size Dを持ちます。ViT-HybridではResNet50を使用してembeddingを行い、12のtransformer layersを持ちます。

DPTの性能

セマンティックセグメンターションタスクにおいて、150のクラスを持つ大規模なデータセットであるADE20KでSOTAを達成しました。

出典:https://arxiv.org/pdf/2103.13413

また、NYUv2、KITTI、Pscal Contextなどの小規模なデータセットでもfine-tuneすることでSOTAを達成しています。

出典:https://arxiv.org/pdf/2103.13413

奥行き推定におけるMiDaSとDPTの比較です。DPTは、細部の奥行きをより詳細に予測することができます。また、Convolution Networkでは苦手な、大きな均一領域や、画像内の相対的な位置関係の精度を改善することができます。

出典:https://arxiv.org/pdf/2103.13413

セグメンテーションモデルでの比較です。DPTは、オブジェクト境界でより詳細な出力を生成する傾向があります。また、いくつかのケースで、出力が乱雑にならない傾向があります。

出典:https://arxiv.org/pdf/2103.13413

DPTの使用方法

DPTを使用するには下記のコマンドを使用します。入力画像に対して、セグメンテーションとデプス推定を実行することができます。

$ python3 dense_prediction_transformers.py -i input.jpg -s output.png --task=segmentation -e 0
$ python3 dense_prediction_transformers.py -i input.jpg -s output.png--task=monodepth -e 0

実行例です。

ax株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。ax株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。

--

--

Kazuki Kyakuno
axinc
Editor for

CTO — ax Inc. , Managing Director — AXELL