AI推進準備室 > AIrepVol5
「私的AI研究会」レポート VOL.5 == 編集中 == †
これまで取り上げたテーマを振り返ってみる。以下は CQ 出版刊「インターフェース 2023年4月号」特集3 からの抜粋。
※ 最終更新:2023/03/16
ディープ・ラーニングの今 2023 †
ディープ・ラーニング(深層学習)の位置づけ †
- ディープ・ラーニングは AI技術の一分野
引用 → 令和元年版 情報通信白書|AIに関する基本的な仕組み - 総務省
- ディープ・ラーニングは大量のデータを元に自動で特徴量を抽出し、学習していく AI技術
・画像認識などに用いられる CNN(畳み込みニューラル・ネットワーク)
・音声認識などに用いられる RNN(再帰型ニューラル・ネットワーク)
など複数の種類がある
- 近年次のような理由でディープ・ラーニングの研究が加速した
・高性能 GPU の登場でコンピュータの処理性能が飛躍的に向上
・インターネットの発達で、自ら目的の画像/音声/テキストなどの学習に利用可能な大量のデータが収集しやすくなる
ディープ・ラーニングの応用例 †
- 製造分野
高齢化による専門家不足等に対応するため、目視で行っていた外観検査にディープ・ラーニングを活用した画像認識技術を使う試みが進行している。
画像認識技術によって、外観検査を自動判定することで省人化・検査品質の均一化を図っている。
・自動車部品メーカーのアイシンは、画像を撮影するカメラ側でディープ・ラーニングを動作させるエッジ・デバイス形式を取ることでコストダウンに成功した。エッジ・デバイスには「Jetson Xavier NX(エヌビディア)」を採用。
- 医療分野
深刻化する医師不足に対応し、診断の質を高めつつ医師の負担を軽減するために、ディープ・ラーニングを活用した画像認識技術が使われている。
・NECと国立がんセンターは、大腸前がん病変と早期大腸がんを内視鏡検査時にリアルタイムで自動検出できる技術の開発に成功した。
・富士通と総合南東北病院は、生存率が低い膵臓がんを非造影CT画像から早期発見できる技術を開発している。
・2022年度の診療報酬改定により、4月から新たに「人工知能技術(AI)を用いた画像診断補助に対する加算(単純・コンピュータ断層撮影)が保険適用されることが決定された。
- 農業分野
担い手の減少、高齢化による労働力不足に対応して、作業の負担を軽減し、食料採算性と収益の向上を実現するためにディープ・ラーニングを活用した画像認識技術が使われている。
・葉色解析AIサービス「いろは」は、圃場(ほじょう)の様子を上空からドローンで撮影することで、作物の育成状況を一目で把握できるサービス。ドローンで撮影した画像を認識することで、収穫の予測を助けたりピンポイントの除草剤散布でコスト削減などが可能となる。
・日本農薬は、水稲・トマト・キュウリなどの計15作物の病害虫や雑草を画像診断できるスマートフォン・アプリ「レイミーのAI病害虫雑草診断」を提供している。
ディープ・ラーニングのシステム構成 †
引用 → スマホでAI!?エヌビディアのアーム買収で何が起こるのか?
- クラウドAI
エッジ・デバイスで収集したデータをネットワーク経由でクラウドに送り、データ・センタのマシン・パワーによって学習と推論を行う。高性能なマシン・パワーを使った高性能なディープ・ラーニングが可能であるが、タイムラグの発生やネットワーク障害に弱い弱点もある。
- エッジAI
クラウドで学習したモデルをエッジ・デバイスに配布し、エッジ・デバイスで推論を行う。反応速度が速い、クラウドにデータを送らないためプライバシーを保護できる、ネットワークの有無に影響されない長所があるが、AI解析結果がエッジ・デバイスの性能に依存する。
代表的なフレームワーク †
前掲のページ → ディープラーニングのフレームワーク
- TensorFlow
利用者多数、軽量版もある
グーグルによって 2015年に公開された。公開時期も早くAPIやドキュメントも充実していることから多くの利用者がいる。
- PyTorch
対抗馬、自然言語処理から画像処理まで
2016年 Meta(旧フェースブック)から公開。Torchという機械学習ライブラリをベースとしたフレームワーク。自然言語処理に利用されることが多かったが、現在では多くの画像処理にも利用されている。
- Keras
ニューラル・ネットワークを利用できるAPI
ニューラル・ネットワークを効率的に利用できるAPIのように機能する。バックエンドにTensorFlowなどが動作する構造になっており、APIを介して効率的にディープ・ラーニングのプログラムを利用できる。TensorFlow や PyTorch に比べると処理が遅く比較的小規模のデータ・セットを対象とする場合に適している。
- Chainer
日本初のフレームワークだが、開発終了
2015年に公開された日本製のフレームワーク。現在は開発を終了して PyTorch に移行している。
- ONNX
様々なフレームワークで利用できる
様々なフレームワークで生成したモデルは、基本的には同じフレームワークでしか動作させることはできないが、ONNX(Open Neural Network eXchange)を用いることで異なるフレームワーク間で学習したモデルを同時に運用できる。
画像処理向け深層学習のタスク †
- その2:セグメンテーション
セグメンテーションとは画像を画素単位でいくつかの意味(クラス)に分類するタスク。物体認識のタスクは、バウンディング・ボックスによって物体の位置を示したが、セグメンテーションは画素単位で分類することが大きく異なる。
■ セマンティック・セグメンテーション
セマンティック・セグメンテーションはエンコーダ・デコーダ構造と呼ばれるネットワークを用いる。ニューラル・ネットワークにおいて、入力データを圧縮し次元を小さくして入力したものを低次元で表現する過程をエンコーダと呼び、低次元で表現された特徴から復元する過程をデコーダと呼ぶ。PSPNet は画像の大局的なコンテキストと局所的な情報の両方を扱うことができる。最終的に同じサイズにそろえられた特徴のすべてからデコーダを介して画像の画素ごとにクラス分類した結果を出力する。瀬部手の画素を分類するので背景にもクラスが付与される。
画像引用 → Pyramid Scene Parsing Network
■ インスタンス・セグメンテーション
インスタンス・セグメンテーションの代表例 Mask R-CNN は、2ステップで構成されている。前半は画像中の物体ys領域を矩形で予測する RPN(Regon Proposal Network)、後半は、RPN での出力を調整しながら、それぞれの領域のクラス分類と画素単位でのセグメンテーションを実施する R-CNN である。これらを1つのネットワークでまとめて実施するため、セマンティック・セグメンテーションと異なり、同じクラスの物体でも違う領域として出力できる。一方、物体を見つけてから分類を行うため、背景や検知されなかった画素にはクラスが付与されない。右図のMask R-CNN の出力例は物体認識の結果として矩形が表示されている。同じクラスの「人」であっても異なる色のラベルが設定されている。
画像引用 → Mask R-CNN
■ パノプティック・セグメンテーション
Panoptic FPN は、Mask R-CNN を拡張しインスタンス・セグメンテーションのように物体がありそうなエリアに対してそれぞれセマンティック・セグメンテーションを実施する。これによってインスタンス・セグメンテーションのデメリットであった背景などの画素に対してもクラス分類ができるようになる。右図は Panoptic FPN の出力例。同じ「車」のクラスには、実はそれぞれが識別可能なクラスとして認識されているし、道路や背景にもクラス分類が付与されている。パノプティック・セグメンテーションは2019年ごろ新たなタスクとして認知されるようになった。
画像引用 → Panoptic Feature Pyramid Networks
- その3:物体追跡
映像に映っている複数の物体を追跡する手法として MOT(Multiple Object Tracking) がある。MOT はできる限り同じ対象には同じ ID を付与し続けることを目標としている。が、同じ人物に同じID を付与することは簡単ではない。MOT の代表的な手法では、動画の各フレームで追跡したい対象(人・車・動物など)を物体認識の手法で検出した後、同じ物体であるかを判断して同一の ID を付与する。
■ DeepSORT
MOT の手法の代表的なものの一つに SORT(Simple Online and Realtime Tracking) がある。SORT は物体認識の手法で得られた最新フレームのバウンディング・ボックスと、直前フレームまでのバウンディング・ボックスのひも付け情報から予測された最新フレームのバウンディング・ボックスとの関連性を使って、同じ ID を付与する仕組みになっている。SORT はバウンディング・ボックスの位置のみを使っているため高速だが、物陰に隠れたり、追跡している物体同士が交差したりした際に、正しく追跡できない問題がある。
DeepSORT はバウンディング・ボックスの位置情報を使って、視覚的な情報を追加したもの。人物の見た目の類似性をバウンディング・ボックスの矩形内の視覚的な特徴量から評価した位置情報に加えて比較することで、SORT の欠点を解決した。右図は DeepSORT の出力例。左右の図は撮影時刻は異なるが同じ人物には同じ ID が付与されている。
画像引用 → SIMPLE ONLINE AND REALTIME TRACKING WITH A DEEP ASSOCIATION METRIC
- その4:姿勢推定(Keypoint detection, Pose estimation)
姿勢推定は入力された画像から、複数の特徴となる座標(キー・ポイント)を推定する手法。よく利用されるのは人物の姿勢を推定するもので、肩やひじ・手首・腰・膝といった人体の代表的な関節をキー・ポイントとして定義し、それぞれの関節点を画像の中から見つけ出す。姿勢推定には大きく2つのアプローチがある。
・Top-Down アプローチ
画像の中から対象となる物体(人など)を検出した後に、その中に存在するキー・ポイントを推定していく。画像の中に複数の人物が映っていても、対象ごとにキー・ポイントを推定するため、人物のサイズによる精度への影響は受けにくい。が、映っている人物の数が多いと処理時間が遅くなったり、人同士が重なっているとキー・ポイントの推定を誤ったりするなどのデメリットもある。Top-Down アプローチの代表的な手法は「CPN」「HRNet」がある。
・Bottom-Up アプローチ
物体認識を行わずキー・ポイントとなる座標を先に検出し、それらをグルーピングする手法。物体認識を行わないため高速だが、映っている人物が小さい場合などが不得意。Bottom-Up アプローチの代表的な手法には「OpenPose」がある。
■ CPN(Top-Down アプローチ)
CPN は2つのステージで構成されている。前半(GlobalNet)では、解像度の異なる階層それぞれでキー・ポイントに対応する特徴量を抽出する。後半(RefineNet)では、それぞれの階層の特徴量をアップサンプリングし、統合することでキー・ポイントの位置を推定する。この仕組みにより画像の局所情報ではなく周囲のコンテキストを反映することが可能となり、身体の一部が隠れていてもおよそ正しい位置を推定できる。右図は CPN のアプローチを説明したもの。left hip は画像上隠れているが、縮小画像で得られるコンテキストが反映されることでおよその位置を推定している。
次の画像は CPN の姿勢推定の結果。人の重なりや別の物体で身体の一部が隠れてもおよその位置を推定している。
画像引用 → Cascaded Pyramid Network for Multi-Person Pose Estimation
■ OpenPose(Bottom-Up アプローチ)
OpenPose では、キー・ポイントらしい場所を示す Point Confidence Map と呼ばれるヒート・マップとキー・ポイント同士のつながりを表す Part Affinity Field とのマッチングから結果を出力する。画像中の人物を検出してからキー・ポイントとそのつながりを推定するのではなく、キー・ポイントらしさとそのつながりをまとめて処理するため Botto-Up アプローチと呼ばれ、ほぼリアルタイムで実行できるほどの高速処理を実現する。
画像引用 → OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
更新履歴 †
参考資料 †