G検定 › Web参考書 › 第6章

画像認識(分類・物体検出・セグメンテーション・姿勢推定の代表モデル)

第6章 ディープラーニングの応用例 / 節 1

シラバスのキーワード: 一般物体認識物体識別物体検出セマンティックセグメンテーションインスタンスセグメンテーションパノプティックセグメンテーション姿勢推定AlexNetVGGGoogLeNetResNetWide ResNetDenseNetSENetMobileNetEfficientNetNAS (Neural Architecture Search)MnasNetVision TransformerFast R-CNNFaster R-CNNYOLOSSDFPNFCN (Fully Convolutional Netwok)SegNetU-NetPSPNetDeepLabMask R-CNNOpen Pose

本文を読んだあと、覚えているか確認してください。

タスクの種類

タスク 内容
物体識別(画像分類) 画像全体にクラスラベルを付ける
物体検出 物体の位置を矩形(バウンディングボックス)で示しクラスを当てる
セマンティックセグメンテーション 各ピクセルにクラスを割り当てる。同じクラスの個体は区別しない
インスタンスセグメンテーション 個体ごとに領域を分ける
パノプティックセグメンテーション 上の2つを統合。背景もすべてのピクセルにラベル
姿勢推定 人物の関節位置を検出して骨格を推定(Open Pose)

画像分類モデル(ILSVRCの系譜)

物体検出モデル

R-CNN → Fast R-CNN → Faster R-CNNは、領域候補を提案してから分類する2段階の手法で精度が高い一方、時間がかかります。YOLOとSSDは領域候補の抽出と分類を1つのネットワークで同時に行う1段階の手法で、リアルタイム検出に向きます。FPNは複数の解像度の特徴マップを組み合わせ、小さな物体の検出を改善します。

セグメンテーションモデル

試験で問われる観点

この節の練習問題(13問)

答えを見る前に選んでから開いてください。同じ問題は章別演習でランダム出題されます。

  1. 問1
    画像認識タスクの説明の組み合わせとして正しいものを選びなさい。
    1. 1物体検出: 物体の位置を矩形で囲みクラスを判定。セマンティックセグメンテーション: 画素ごとにクラスを割り当てる。インスタンスセグメンテーション: 同じクラスでも個体ごとに区別して画素を割り当てる
    2. 2物体検出: 画素ごとにクラスを割り当てる。セマンティックセグメンテーション: 物体の位置を矩形で囲みクラスを判定。インスタンスセグメンテーション: 同じクラスでも個体ごとに区別して画素を割り当てる
    3. 3物体検出: 物体の位置を矩形で囲みクラスを判定。セマンティックセグメンテーション: 同じクラスでも個体ごとに区別して画素を割り当てる。インスタンスセグメンテーション: 個体は区別せず画素ごとにクラスを割り当てる
    4. 4物体検出: 画像全体に1つのクラスラベルを付ける。セマンティックセグメンテーション: 物体の位置を矩形で囲みクラスを判定。インスタンスセグメンテーション: 画像内の物体の個数だけを数えて出力する
    答えと解説

    正解: 1

    画像分類(一般物体認識)は画像全体に1つのラベルを付けるタスク、物体検出は物体ごとに位置(バウンディングボックス)とクラスを出力するタスク、セマンティックセグメンテーションは画素単位でクラスを塗り分けるタスク(同じクラスの個体は区別しない)、インスタンスセグメンテーションは個体ごとに区別して塗り分けるタスクです。両者を統合したのがパノプティックセグメンテーションです。

  2. 問2
    ILSVRCで登場した画像分類モデルの特徴の説明として、最も適切なものを選びなさい。
    1. 1VGGは2012年にILSVRCで優勝して深層学習ブームの契機となったモデル、GoogLeNetは1×1の畳み込みを廃止して計算量を減らしたモデル、ResNetは層を8層に抑えて勾配消失を回避したモデルである
    2. 2VGGは3×3の小さな畳み込みを重ねて深くしたモデル、GoogLeNetは複数サイズの畳み込みを並列に行うInceptionモジュールを持つモデル、ResNetはスキップ結合で152層を実現したモデルである
    3. 3VGGは複数サイズの畳み込みを並列に行うInceptionモジュールを持つモデル、GoogLeNetはスキップ結合で152層を実現したモデル、ResNetは3×3の小さな畳み込みを重ねて深くしたモデルである
    4. 4VGGは7×7の大きな畳み込みを1層だけ用いた浅いモデル、GoogLeNetはAttention機構のみで構成された畳み込みを持たないモデル、ResNetは決定木を多数組み合わせたアンサンブルモデルである
    答えと解説

    正解: 2

    2014年のILSVRCでは、3×3畳み込みを16〜19層重ねたVGGと、異なるサイズの畳み込みを並列に適用するInceptionモジュールと補助的な分類器を備えたGoogLeNetが上位を占め、2015年にはスキップ結合を持つResNetが152層で優勝しました。その後、すべての層を密に結合するDenseNet、チャネルごとの重要度を学習するSENetなどが続きました。いずれも分類モデルで、物体検出のバックボーンとしても使われます。

  3. 問3
    物体検出モデルに関する記述として、最も適切なものを選びなさい。
    1. 1R-CNN系とYOLOはどちらも画素ごとにクラスを割り当てるセマンティックセグメンテーションの手法で、Faster R-CNNはエンコーダ・デコーダ構造で解像度を復元する。SSDは音声のスペクトログラムから話者を検出するモデルで、物体検出には用いない
    2. 2R-CNN系は候補領域の抽出をRPNで行う1段階の手法で、Faster R-CNNはそれをSelective Searchに置き換えて高速化した。YOLOは画像を格子に分けず全画素で分類する2段階の手法で、SSDはYOLOより低速だが小さい物体の検出に強い
    3. 3R-CNN系は候補領域の抽出とクラス判定を段階的に行う2段階の手法で、Faster R-CNNは候補領域の抽出もニューラルネットワーク(RPN)で行い高速化した。YOLOやSSDは画像全体から位置とクラスを一度に予測する1段階の手法で、さらに高速である
    4. 4R-CNN系は画像全体から位置とクラスを一度に予測する1段階の手法で、Fast R-CNNは候補領域の抽出をSelective Searchで行い高速化した。YOLOやSSDは候補領域の抽出とクラス判定を段階的に行う2段階の手法で、精度は高いが低速である
    答えと解説

    正解: 3

    R-CNN、Fast R-CNN、Faster R-CNNは「物体がありそうな候補領域を出してから各領域を分類する」2段階の手法で、Faster R-CNNは候補領域の提案をRegion Proposal Networkで行うことで実用的な速度を実現しました。YOLO(You Only Look Once)やSSDは画像を格子に分けて各位置で直接バウンディングボックスとクラスを予測する1段階の手法で、リアルタイム検出に向きます。FPNは複数の解像度の特徴マップを組み合わせて大小の物体を検出しやすくする構造です。

  4. 問4
    セグメンテーションに用いられるモデルに関する記述として、最も適切なものを選びなさい。
    1. 1FCNはFaster R-CNNに画素単位のマスク予測を加えたインスタンスセグメンテーションのモデル、U-Netは全結合層を畳み込み層に置き換えて画素ごとの分類を可能にしたモデル、Mask R-CNNはエンコーダとデコーダを対称に配置し同じ解像度同士をスキップ結合でつないだモデルである
    2. 2FCNは全結合層を畳み込み層に置き換えて画像全体を1つのクラスに分類する画像分類のモデル、U-Netはエンコーダとデコーダを非対称に配置しスキップ結合を持たないモデル、Mask R-CNNはYOLOに画素単位のマスク予測を加えたセマンティックセグメンテーションのモデルである
    3. 3FCNとU-Netは同じモデルの別名で、どちらも物体の位置を矩形で囲む物体検出のモデルであり、Mask R-CNNはそれらの矩形の内部を単一のクラスで塗りつぶすことで、同じクラスの個体を区別しないセマンティックセグメンテーションを行うモデルである
    4. 4FCNは全結合層を畳み込み層に置き換えて画素ごとの分類を可能にしたモデル、U-Netはエンコーダとデコーダを対称に配置し同じ解像度同士をスキップ結合でつないだモデル、Mask R-CNNはFaster R-CNNに画素単位のマスク予測を加えたインスタンスセグメンテーションのモデルである
    答えと解説

    正解: 4

    FCN(Fully Convolutional Network)は分類CNNの全結合層を畳み込み層に置き換え、入力サイズに依らず画素単位の出力を得られるようにしたセマンティックセグメンテーションの先駆けです。U-Netは医用画像向けに提案された、縮小側と拡大側を同じ解像度でつなぐU字型の構造で、細部の位置情報を保てます。SegNet、PSPNet、Dilated Convolutionを使うDeepLabも代表的なモデルです。Mask R-CNNは物体検出に加えて各物体のマスクを出力するインスタンスセグメンテーションのモデルです。

  5. 問5
    近年の画像認識モデルに関する記述として、最も適切なものを選びなさい。
    1. 1MobileNetはDepthwise Separable Convolutionでモバイル向けに軽量化したモデル、EfficientNetは深さ・幅・解像度をバランスよく拡大したモデル、Vision Transformerは画像をパッチに分割してTransformerで処理するモデルである
    2. 2MobileNetは深さ・幅・解像度をバランスよく拡大したモデル、EfficientNetはDepthwise Separable Convolutionでモバイル向けに軽量化したモデル、Vision Transformerは画像をパッチに分割してTransformerで処理するモデルである
    3. 3MobileNetはDepthwise Separable Convolutionでモバイル向けに軽量化したモデル、EfficientNetはNAS(Neural Architecture Search)を使わず人手で設計されたモデル、Vision Transformerは畳み込み層とRNNを組み合わせて画像を処理するモデルである
    4. 4MobileNetはスキップ結合で150層以上の深さを実現したモデル、EfficientNetは1×1畳み込みを組み合わせたInceptionモジュールを導入したモデル、Vision Transformerは画像全体を1つのトークンとしてRNNで処理するモデルである
    答えと解説

    正解: 1

    MobileNetはスマートフォンなど計算資源の限られた環境向けに、Depthwise Separable Convolutionで計算量を大幅に減らしたモデルです。NAS(Neural Architecture Search)はネットワーク構造自体を自動探索する手法で、MnasNetはモバイル向けにNASで設計されたモデル、EfficientNetはNASで得た基本構造を深さ・幅・解像度の複合係数でスケールさせたモデルです。Vision Transformer(ViT)は画像を16×16などのパッチに分けて単語のように扱い、Transformerのエンコーダで分類します。MobileNetとEfficientNetの特徴を入れ替えた説明、EfficientNetを人手設計とする説明、ViTがRNNを使うという説明はいずれも誤りで、スキップ結合で150層超を実現したのはResNet、InceptionモジュールはGoogLeNetの特徴です。

  6. 問6
    画像から人物の関節の位置を検出し、骨格として推定するタスクと、その代表的なモデルの組み合わせとして正しいものを選びなさい。
    1. 1画像分類、AlexNet
    2. 2姿勢推定、OpenPose
    3. 3物体検出、YOLO
    4. 4セマンティックセグメンテーション、FCN
    答えと解説

    正解: 2

    姿勢推定は、人物の関節(キーポイント)の位置を検出して骨格を推定するタスクで、スポーツの動作解析や監視、エンターテインメントに使われます。OpenPoseは画像中の複数人の姿勢を同時にリアルタイムで推定できる代表的なモデルです。YOLOは物体検出、FCNはセグメンテーション、AlexNetは画像分類のモデルで、タスクが異なります。

  7. 問7
    2012年のILSVRCで優勝したAlexNetの特徴として、最も適切なものを選びなさい。
    1. 1畳み込みを使わず、画像を16×16のパッチに分割してTransformerで処理する8層のモデルで、GPUを使わずに従来手法を10ポイント以上引き離す誤り率を達成した
    2. 21×1の畳み込みを組み合わせたInceptionモジュールを導入した22層のCNNで、ReLU関数やドロップアウトは使わずに従来手法を10ポイント以上引き離す誤り率を達成した
    3. 3ReLU関数、ドロップアウト、GPUによる学習などを取り入れた8層のCNNで、従来手法を10ポイント以上引き離す誤り率を達成し、ディープラーニングブームの契機になった
    4. 4シグモイド関数、バッチ正規化、TPUによる学習などを取り入れた152層のCNNで、人間の認識精度を初めて上回る誤り率を達成し、ディープラーニングブームの契機になった
    答えと解説

    正解: 3

    AlexNetはジェフリー・ヒントンの研究室のアレックス・クリジェフスキーらが開発した8層のCNNで、ReLU、ドロップアウト、データ拡張、GPU学習を組み合わせ、2012年のILSVRCで圧勝しました。パッチをTransformerで処理するのはVision Transformer、Inceptionモジュールを導入した22層のCNNはGoogLeNet、152層で人間の認識精度を上回ったのはResNetの特徴で、AlexNetはTPUやバッチ正規化(いずれもAlexNetより後の技術)を使っていません。

  8. 問8
    ResNetの派生モデルに関する記述として、最も適切なものを選びなさい。
    1. 1Wide ResNetはスキップ結合を取り除いて残差を学習しない構造にし、全結合層だけを幅広く並べることで浅くても高い精度を実現した
    2. 2DenseNetは各層の出力を後続のすべての層に渡す密な結合を取り除き、直前の層の出力だけを受け取るようにして計算を軽くした
    3. 3Wide ResNetは各層のチャネル数を減らす代わりに層数を数千まで増やすことで、深さによって高い精度と学習の効率を実現した
    4. 4Wide ResNetは層を深くする代わりに各層のチャネル数(幅)を増やすことで、浅くても高い精度と学習の効率を実現した
    答えと解説

    正解: 4

    Wide ResNetは「深さより幅」に着目し、残差ブロックのチャネル数を増やすことで、より浅い構造でResNetと同等以上の精度を短い学習時間で達成しました。スキップ結合を取り除いたわけでも、層数を数千まで増やしたわけでもありません。DenseNetは各層を後続のすべての層と結ぶ密な結合で特徴の再利用を促すモデルで、密な結合を取り除いたという説明は逆です。いずれも画像分類に使われるモデルです。

  9. 問9
    物体検出モデルにおける「2段階の手法」と「1段階の手法」の違いと、それぞれの代表例の組み合わせとして最も適切なものを選びなさい。
    1. 12段階:物体がありそうな領域候補を先に抽出してから分類する。例 Faster R-CNN。1段階:領域候補の抽出と分類を1つのネットワークで同時に行い高速。例 YOLO、SSD
    2. 22段階:画像をピクセル単位で分類してから物体の輪郭を抽出する。例 U-Net、SegNet。1段階:画像全体を1つのクラスに分類して位置は推定しない。例 VGG、ResNet
    3. 32段階:物体の関節位置を推定してから姿勢を分類する。例 Open Pose。1段階:領域候補の抽出と分類を別々のネットワークで順に行い高精度。例 Fast R-CNN、Mask R-CNN
    4. 42段階:領域候補の抽出と分類を1つのネットワークで同時に行い高速。例 YOLO、SSD。1段階:物体がありそうな領域候補を先に抽出してから分類する。例 Faster R-CNN
    答えと解説

    正解: 1

    Faster R-CNNなどのR-CNN系は、領域候補を提案するネットワークと候補を分類するネットワークの2段階で処理し精度が高い一方、処理に時間がかかります。YOLOやSSDは画像全体を一度に処理して位置とクラスを同時に出力する1段階の手法で、リアルタイム検出に向きます。ピクセル単位の分類はセグメンテーション、関節位置は姿勢推定のタスクです。

  10. 問10
    Vision Transformer(ViT)の仕組みの説明として、最も適切なものを選びなさい。
    1. 1画像から人物の骨格や物体の輪郭を先に検出し、検出結果を単語列に変換してTransformerの言語モデルで説明文を生成しながら分類する
    2. 2画像を固定サイズのパッチに分割し、各パッチを単語のように扱ってTransformerのエンコーダで処理することで、畳み込みを使わずに画像を分類する
    3. 3畳み込み層を数百層重ねて特徴マップを抽出し、最後にSelf-Attentionを1層だけ加えてパッチ間の関係を補正することで画像を分類する
    4. 4画像をピクセルごとに1つのトークンとして左上から順にRNNで読み込み、最後の隠れ状態をTransformerのデコーダに渡して分類する
    答えと解説

    正解: 2

    ViTは画像を16×16などのパッチに分割し、各パッチを線形変換してトークンの列とし、位置エンコーディングを加えてTransformerのエンコーダに入力します。大規模なデータで事前学習すると畳み込みを使わなくてもCNNに匹敵または上回る精度を達成し、画像分野へのTransformer適用の道を開きました。

  11. 問11
    「画像に写っているものが猫であることを当てる」タスクと、「画像のどこに猫がいるかを矩形で囲んで当てる」タスクの名称の組み合わせとして正しいものを選びなさい。
    1. 1セマンティックセグメンテーション、姿勢推定
    2. 2姿勢推定、インスタンスセグメンテーション
    3. 3物体識別(画像分類)、物体検出
    4. 4物体検出、物体識別(画像分類)
    答えと解説

    正解: 3

    物体識別(画像分類)は画像全体に対して1つ(または複数)のクラスラベルを付けるタスク、物体検出は物体の位置をバウンディングボックスで示しつつクラスを当てるタスクです。セマンティックセグメンテーションはピクセル単位でクラスを塗り分けるタスク、姿勢推定は人物の関節位置を推定するタスクです。

  12. 問12
    自動運転の開発で、カメラ画像から「道路」「歩道」「車両」「歩行者」の領域をピクセル単位で塗り分けて、走行可能な範囲を把握したい。この目的に最も適した画像認識タスクを選びなさい。
    1. 1姿勢推定:人物の関節などのキーポイントの位置を推定する
    2. 2画像分類:画像全体に1つのクラスラベルを割り当てる
    3. 3物体検出:物体の位置をバウンディングボックスで囲みクラスを推定する
    4. 4セマンティックセグメンテーション:各ピクセルにクラスを割り当てる
    答えと解説

    正解: 4

    走行可能な領域の形状を正確に知るには、矩形ではなくピクセル単位でクラスを割り当てるセマンティックセグメンテーションが適しています。FCN、SegNet、U-Net、DeepLabなどのモデルが用いられます。画像分類では位置が分からず、物体検出では矩形の粗い位置しか得られず、姿勢推定は人物の骨格を扱うタスクです。

  13. 問13
    物体検出で小さな物体の検出精度を高めるため、複数の解像度の特徴マップを組み合わせて用いる手法として、最も適切なものを選びなさい。
    1. 1SENet
    2. 2MobileNet
    3. 3FPN
    4. 4Wide ResNet
    答えと解説

    正解: 3

    FPNは複数の解像度の特徴マップを組み合わせることで、小さな物体の検出を改善する手法です。SENetはチャネルごとの重要度を学習して重み付けする画像分類モデル、MobileNetはDepthwise Separable Convolutionで軽量化したモバイル向けのモデルです。Wide ResNetはResNetの幅を増やした派生モデルで、いずれも小さな物体の検出のための仕組みではありません。