R-CNN「物体候補領域を用いた畳み込みニューラルネットワーク」
こんにちは。ゆうせいです。
画像の中から「どこに何があるか」を見つけ出す物体検出の世界。その進化の歴史を語る上で絶対に外せないのが、R-CNNという技術です。
ディープラーニングが画像認識を塗り替えた記念碑的なモデルですが、その仕組みは意外と泥臭く、人間味あふれる工夫が詰まっています。今回は、R-CNNがどのようにして画像の中の物体を見つけ出しているのか、その舞台裏を覗いてみましょう!
R-CNNって何の略?
R-CNNは「Regions with Convolutional Neural Networks」の略称です。日本語に直すと「物体候補領域を用いた畳み込みニューラルネットワーク」となります。
これまでの画像認識(分類)は、画像全体を見て「これは猫です」と答えるだけでした。しかし、物体検出は「ここの座標に猫がいて、こっちには犬がいます」と場所まで特定しなければなりません。
ここで一つ質問です。もしあなたに「写真の中から宝物を探せ」という指令が下ったら、どうしますか?闇雲に探すより、まずは「宝物が入っていそうな箱」をいくつかピックアップしてから、中身を確認しますよね?
ステップ1:怪しい場所を見つける「Selective Search」
R-CNNが最初に行うのが、物体候補領域の抽出です。画像の中を隅から隅まで調べるのは時間がかかるため、まずは「ここらへんに何かありそうだぞ」というアタリをつけます。
この役割を担うのが、Selective Search(セレクト・サーチ)というアルゴリズムです。
Selective Searchは、色や質感、模様の似ている隣り合った画素を少しずつ合体させていき、最終的に「物体らしき四角い枠」をたくさん作り出します。1枚の画像に対して、だいたい2000個くらいの候補を出してくれるんですよ。
ステップ2:形を揃える「画像サイズ」の調整
さて、見つかった2000個の候補領域は、横長だったり縦長だったり、大きさもバラバラです。しかし、その後に控えているCNN(画像の特徴を分析するAI)は、決まった大きさの画像しか受け付けてくれません。
そこで、無理やり画像サイズを固定(リサイズ)する工程が必要になります。
このとき、元の画像の比率を無視して引き伸ばしたり縮めたりするため、画像が歪んでしまうという弱点があります。これを専門用語で「Warp(ワープ)」と呼びます。
ステップ3:本物かどうかを見極める「SVM」
CNNが画像の特徴を抽出した後、最後に登場するのがSVM(サポートベクターマシン)という識別器です。
SVMは「これはAというクラスか、それとも背景か」を非常に厳密に切り分けるのが得意な手法です。CNNが書き出した特徴量をもとに、SVMが「これは90パーセントの確率で飛行機だ!」と最終判断を下します。
R-CNNのメリット
- 圧倒的な精度:それまでの手法に比べて、物体の場所を特定する精度が劇的に向上しました。
- 柔軟性:CNNで特徴を掴み、SVMで分類するという役割分担が明確なため、理論が非常に明快です。
R-CNNのデメリット
- 計算コストが膨大:1枚の画像に対して2000回もCNNを動かすため、とにかく処理が重いです。
- 処理速度が遅い:1枚の画像を処理するのに数秒から十数秒かかってしまいます。これでは自動運転のようなリアルタイムの動作は無理ですね。
- 学習が複雑:CNN、SVM、そして枠を微調整するモデルを別々に学習させる必要があり、手間がかかります。
数式で見る評価の仕組み
物体検出がどれくらい正確に場所を捉えているかを測る「IoU(Intersection over Union)」という指標があります。
IoU = 正解の枠と予測の枠が重なっている面積 正解と予測の枠を合わせた全体の面積
この数値が に近づくほど、AIが完璧な場所を見つけていることになります。
これからの学習の指針
R-CNNは素晴らしい技術でしたが、その「重さ」を解決するために、その後「Fast R-CNN」や「Faster R-CNN」といった後継モデルが登場しました。
これらは、今回お話しした「2000回も計算する」という無駄を省き、1回の計算で済ませる魔法のような工夫が施されています。
次はぜひ、Faster R-CNNでどのように「Selective Search」が進化(RPNへの置き換え)したのかを調べてみてください。AIがどんどん「速く、賢く」なっていく歴史を感じることができるはずですよ!
今回の解説で、R-CNNの3つのステップ(候補探し、リサイズ、判定)のイメージは湧きましたか?
次は、これらの計算を劇的に速くした「Fast R-CNN」の仕組みについて一緒に見てみましょうか?
セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。
投稿者プロフィール
- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。