Fast R-CNN(2/3)実施例の説明

はぐれ弁理士 PA Tora-O です。前回(第1回)では、”Fast R-CNN” の概要について説明しました。改めて復習されたい方は、こちらのリンクから確認をお願いします。今回(第2回)は、”Fast R-CNN” の実施例を詳しく説明したいと思います。

機能ブロックの説明

”Fast R-CNN” の機能ブロックは、図1に示す通りです。この ”Fast R-CNN” は、[1]物体の検出機能と、[2]ROIの提案機能(Region Proposals)が独立した ”two-stage detector” です。

【図1】Fast R-CNNの機能ブロック

[1]マップ生成部/種類推定部/位置推定部
これら3つの機能部は、R-CNNと同一であるため、説明を省略します。

[2]ROI設定部
この機能部は、全体領域の中から物体を囲むROI(あるいは、境界ボックス)を設定します。従来の代表的手法として ”Selective Search” が用いられます。この手法は、R-CNNにおける「画像抽出部」と概ね同一です。しかし、“Fast R-CNN” では、ROIの設定に留まっており、特徴マップの抽出までは行っていないので、別の機能である点を明示すべく「ROI設定部」と表現しています。

[3]特徴抽出部
この機能部は、全体特徴マップとROI情報を用いて、ROIが設定された部分画像の特徴量を抽出します。以下、図2の模式図を用いて詳しく説明します。

特徴抽出部の動作

【図2】特徴抽出部の模式図

特徴抽出部の動作は、以下の6つのステップから構成されます。なお、全体特徴マップのチャンネル数を、設定されたROI数をとします。

(Ⅰ)部分特徴マップの抽出
全体特徴マップから部分特徴マップを抽出します。なお、全体特徴マップのサイズが全体画像のサイズに一致する場合にはROI情報をそのまま使えますが、両者のサイズが異なる場合には、両者の位置関係を対応させるROIの座標変換が必要になります。

(Ⅱ)ROIプーリング
様々なサイズを有する部分特徴マップに対してMAXプーリングを行うことで、固定サイズ(例えば、2×2)に変換します。このROIプーリングは、過去の記事(SPPnet)で説明した「単体型プーリング」(第3実施例)に相当します。

(Ⅲ)チャンネルに関するループ演算
チャンネル毎に(Ⅰ)&(Ⅱ)の処理を繰り返し実行します。これにより、4個の特徴量を単位とするK組のデータセットが得られます。

(Ⅳ)フラット化
(I)~(Ⅲ)の過程で求めた4・K個の特徴量をフラット化し、成分数が4・K個である特徴ベクトルを生成します。

(Ⅴ)待機
生成した特徴ベクトルを次層へ出力し、その後、種類推定部及び位置推定部によって当該ROIの検出結果が得られるまで待機します。

(Ⅵ)ROIに関するループ演算
ROI毎に(Ⅰ)~(Ⅴ)の処理を繰り返し実行します。これにより、M個のROIに対応する検出結果(種類及び位置)が得られます。

以上、今回(第2回)は、”Fast R-CNN” の実施例について、自作した機能ブロック図を用いて詳しく説明しました。”Fast R-CNN” のネットワーク構成はむしろ単純な類ですが、特徴マップの定義やプーリング演算の方法を正確に把握しておかないと、技術的な理解が難しいかもしれません。

テーマ最終回(第3回)は、過去2回分の検討結果を踏まえ、クレーム骨子を含む発明ストーリーを作成してみます。

↓ブログランキングに参加しています。よろしければ1クリックお願いします。

にほんブログ村 士業ブログ 弁理士へ
にほんブログ村

にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村