ブログ記事一覧|株式会社Nextremer

バウンディングボックスとは?YOLOでどう使われる?メリット・デメリット、物体検出手法を徹底解説

作成者: 株式会社Nextremer|Aug 1, 2023 10:57:00 AM


AIによる画像生成技術や自動運転技術など、AIを活用した画像解析技術が本格的に活用されるようになってきました。ただし、画像解析がどのような仕組みで行われているかを理解できていない方も多いのではないでしょうか。

本記事では、画像解析の物体検出で頻繁に用いられるバウンディングボックスのメリットやデメリットから、物体検出の代表的な方法まで詳しく解説します。

最後までお読みいただければ、バウンディングボックスの概要や、バウンディングボックスを用いた代表的な物体検出法であるYOLOの特徴まで分かります。

【目次】

  1. バウンディングボックスは物体検出に用いられる長方形
  2. バウンディングボックスの表現方法
  3. バウンディングボックス3つのメリット
  4. バウンディングボックス3つのデメリット
  5. 画像の物体検出の代表的な手法
  6. バウンディングボックスが用いられるYOLOの特徴
  7. まとめ|バウンディングボックスは工数や費用面で有利

 


1. バウンディングボックスは物体検出に用いられる長方形


バウンディングボックスとは、物体検出に用いられる矩形(長方形)を指します。ポリゴン(多角形)やセグメンテーション(ピクセル単位でラベル付け)よりもシンプルな工程で画像アノテーションを行える手法です。

バウンディングボックスは、一般的に画像内での特定物体の位置とその物体のクラス分類、つまりその物体が何であるかを判断するために用いられる手法です。

クラス分類とは、その物体が何であるかを種類別に分類する方法です。例えば、人と犬が写っている写真であれば、それぞれ「人」や「犬」と分類されます。また、対象が人や犬であるのかの確率も算出できます。

さらに進んで、バウンディングボックスを利用すれば、特定の物体が画像のどの位置に存在するかも特定できます。これは「何がどこにあるか」を認識するために用いられ、自動運転車から防犯カメラシステムに至るまで、多岐にわたる分野で非常に重要な役割を果たします。



 


2. バウンディングボックスの表現方法

 

 


バウンディングボックスは、長方形という一見単純な形をしていますが、位置情報や大きさ、また2Dか3Dかの違いにより、3つの表現方法があります。

① 対角2点による表現方法
② 座標による表現方法
③ 立方体による3Dの表現方法

ここでは、それぞれの表現方法の仕組みについて解説します。


①対角2点による表現方法

対角2点による表現方法は、対角2点の座標によって矩形を表す方法です。対角2点が決まれば、もう2つの座標も求められるため、2つの座標のみでバウンディングボックスを表すことができます。

対角2点による表現方法の主要なメリットは、簡潔さと容易さです。つまり、2つの座標だけでバウンディングボックスを完全に描写できます。



②座標による表現方法

座標による表現方法は、中心点の座標・高さ・幅の3つの情報によって矩形を表す方法です。2Dの表現方法と言うこともあり、対角2点による表現方法と大きな違いはありません。



③立方体による3Dの表現方法

立方体による3D表現は、画像内で物体を3次元的に表現する方法です。この場合、1つの矩形だけでは物体を表現できません。

主なメリットは、3D環境を考慮することでより詳細な物体表現が可能になる点です。この表現方法は、LiDARなどのセンサーで得た3Dの情報を活用する際に用いられます。より多くの頂点を用いて物体を表せるため、表現の精度は向上します。

ただし、計算の複雑さが増し、より多くの計算リソースを必要とするデメリットが挙げられます。

 


3. バウンディングボックス3つのメリット

 

バウンディングボックスのメリットを3つ紹介します。

① アノテーション作業の工数が少ない
② アノテーションの費用が安い
③ 素早い物体検出が可能なYOLOに活用できる


それぞれのメリットについて説明します。



①アノテーション作業の工数が少ない

バウンディングボックスは、2つの頂点を指定するだけでもアノテーションできます。そのため、ポリゴン(多角形)やセグメンテーション(ピクセル単位でラベル付け)と言った他の代表的手法より少ない労力でアノテーションできます。

ただし、工数は少ないのですが、アノテーション作業の質は高く行わなければ精度は上がりません。品質の低いアノテーションはAIの学習精度を下げ、結果的に追加の修正や再作業といったコスト増を引き起こします。

したがって、バウンディングボックスのアノテーションは、効率と品質のバランスを見極めながら進めることが求められます。アノテーションは精度高く行うようにしてください。



②アノテーションの費用が安い

バウンディングボックスは、他のアノテーション方法に比べて比較的工数が少ないため、アノテーションの費用が安いです。

画像アノテーションの相場は以下の通りです。

アノテーションの種類 相場
バウンディングボックス(長方形) 10円(1対象物当たり)
ポリゴン(多角形) 20~50円(1対象物当たり)
セグメンテーション 100~300円(画像1枚当たり)
ランドマーク 5~10円(1点当たり)

このようにバウンディングボックスは、他のアノテーションに比べて費用を抑えられる傾向にあります。特に初期投資をできるだけ抑えたいスタートアップや、大規模な画像データを扱うプロジェクトでは、バウンディングボックスは非常に有用な手法となります。


あわせて読みたい:
アノテーションの費用・相場は?費用を抑えるコツや外注時の注意点を解説!

 


③素早い物体検出が可能なYOLOに活用できる

バウンディングボックスは、YOLOという高速な物体検出アルゴリズムにも用いられています。YOLOは高速かつ高精度な予測が可能な物体検出方法で、You Only Look Once(「一度見るだけ」で検出できるほど高速)の頭文字を取って命名されました。

YOLOは、リアルタイム性が求められる自動運転や産業用ロボットなどの分野に用いられていますが、その物体検出方法にはバウンディングボックスが用いられています。

 




4. バウンディングボックス3つのデメリット


バウンディングボックスにはその利便性と効率性から多くのメリットがありますが、一方で考慮しなければならないデメリットも存在します。以下に、バウンディングボックスの主なデメリットを紹介します。

① 部分的な物体検出にしか用いることができない
② クラス内での細かな分類が困難
③ 対象の形状によっては精度が落ちる


バウンディングボックスが適しているシーンとそうでないシーンを理解することは、最適な画像アノテーション手法の選択に必要です。それぞれの目的とニーズに応じた最適な手法を選ぶことで、効率的で高精度なAIの学習を実現できます。

それぞれのデメリットについて説明します。


①部分的な物体検出にしか用いることができない

バウンディングボックスは、画像内の特定の物体を検出する手法です。そのため、全体的な画像の分類や、複雑な形状の物体の検出には適していません。

例えば、自然風景の画像から季節を判断するようなタスクには適していません。

そのため、画像全体を見る必要があるシーンでは、バウンディングボックスだけでなく、画像分類の手法を併用するなど、適切な手法を選択する必要があります。


②クラス内での細かな分類が困難

バウンディングボックスはクラス(種類)の分類は可能ですが、その中の細かな属性や状態の分類は困難で、それらを識別するにはより詳細なラベル付けが必要となります。

例えば、人物の表情を認識する場合、バウンディングボックスでは「人」というクラスの識別まではできます。しかし、「喜ぶ人」「怒る人」などの細かな状態の識別は困難です。

詳細な分類を実現するためには、より詳細なラベリングや、他の画像認識技術(例えば顔認識や表情認識など)の導入が必要となります。(人間の動作や感情の識別を行うにはキーポイントアノテーションが向いているでしょう。)



③対象の形状によっては精度が落ちる

対象の物体が複雑な形状をしている場合、バウンディングボックスでは物体の輪郭を完全に捉えることは難しいです。ポリゴンやセグメンテーションといったより詳細な形状を捉えられるアノテーション手法に比べて、精度が劣る可能性があります。

例えば、植物の葉を検出する場合、葉の形状は様々で複雑です。バウンディングボックスで葉を囲うと、葉以外の部分も一緒に囲むことになり、精度が下がります。そのような場合には、セグメンテーションなど、ピクセル単位でラベリングできる手法が適しています。



5. 画像の物体検出の代表的な手法

 

画像の物体検出には、以下のように様々な手法があります。

① YOLO
② R-CNN
③ Fast R-CNN
④ Faster R-CNN
⑤ SSD
⑥ DCN
⑦ DETR

それぞれの手法について説明します。


①YOLO (You Only Look Once)

YOLOはバウンディングボックスを用いた代表的な物体検出手法の一つで、画像全体を一度に処理します。画像を複数のセルに分割し、各セルがバウンディングボックスの中心を含む確率と、そのバウンディングボックスの位置と大きさ、物体クラスを同時に予測します。

これにより、画像全体を一度だけ見ることで物体検出を行うことが可能です。YOLOは非常に高速ですが、小さな物体の検出には苦労するという問題があります。

小さな物体の検出や、物体が大きく画像に重なっている場合の検出精度については、YOLOのバージョンが進化することで、少しずつ改善されてきています。

YOLOの特徴については、次の章で詳しく説明します。


②R-CNN

R-CNN(Regions with CNN features)は、物体の候補領域を提案し、それらをCNN(Convolutional Neural Network)で分類する方法です。2013年にR-CNNが登場して以来、ディープラーニングを活用した物体検出開発が盛んになりました。

具体的には、Selective Searchというアルゴリズムで画像内に物体が存在しそうな候補領域を提案し、それらをバウンディングボックスとして扱います。その後、各バウンディングボックス内にある部分をCNNで特徴抽出し、分類を行います。

R-CNNでは解析前に、特徴がありそうな2,000程度の領域を選択してから、それぞれの特徴を抽出するため、非常に多くの計算が必要です。この欠点を改善するため、R-CNNの開発以降、Fast R-CNNやCascade R-CNNなどの派生手法が誕生しています。


③Fast R-CNN

Fast R-CNNはR-CNNの改良版で、物体候補領域の提案とCNNによる特徴抽出を同時に行うため、R-CNNよりも高速です。また、Fast R-CNNは物体の位置と物体のクラスを同時に学習することが可能です。

Fast R-CNNでも、R-CNNと同じくバウンディングボックスは物体候補領域の表現として使用されます。


④Faster R-CNN

Faster R-CNNはFast R-CNNをさらに改良したもので、RPN(Region Proposal Network)というネットワークを導入して物体候補領域の提案を行います。

これにより、物体候補領域の提案の精度が向上し、さらなる高速化が実現されました。

Faster R-CNNでもバウンディングボックスを使用しますが、CNNの特徴マップから直接バウンディングボックスを提案する点が異なります。


⑤SSD

SSD(Single Shot MultiBox Detector)はYOLOと同様に一度の推論で物体検出を行う手法です。しかし、YOLOが一つのスケールのグリッドしか使用しないのに対し、SSDは複数のスケールの特徴マップを利用する点が異なります。

この特徴により、SSDでは様々なサイズの物体を効果的に検出することが可能です。



⑥DCN

DCNは、バウンディングボックスだけでは捉えきれなかった物体を捉えるために開発されました。これにより、対象物の形状がいびつでも、精度高く物体検出を行えるようになりました。

DCNでは、畳み込み層での形状を矩形(長方形)に制限しないことで、特殊な形状をした物体も高精度で検出できるようになっています。バウンディングボックスとDCNは補完的な関係にあると言えます。



⑦DETR

DETR(Detection Transformer)は、物体検出タスクにTransformerアーキテクチャを適用する新しいアプローチです。通常、物体検出ではR-CNNやYOLO、SSDなどが主に用いられてきましたが、DETRはこれらとは全く異なるアプローチを取ります。

DETRは、画像内の物体を検出するために、エンコーダーとデコーダーからなるTransformerを利用します。エンコーダーは、画像から特徴を抽出し、デコーダーは、その特徴から物体の位置とクラスを推定します。これにより、バウンディングボックスとクラスの予測を同時に行うことが可能です。

ただし、バウンディングボックスは固定的なので、物体の形状が複雑な場合は限界があります。一方、DETRはTransformerの特性を活かして、物体の全体的なコンテキストを考慮に入れながら物体を検出できます。これにより、伝統的な物体検出手法が持つ一部の課題を克服しています。

 

物体検出の仕組みは?必要データ数・活用事例・構築手順を徹底解説!では、物体検出の仕組みや活用事例などについて詳しく解説しています。あわせてお読みいただくことで本記事の理解をさらに深められるでしょう。

 


6. バウンディングボックスが用いられるYOLOの特徴


YOLO (You Only Look Once)は、その名前の通り「画像を一度だけ見る」ことで物体を検出します。そのため、リアルタイムでの物体検出が可能となり、自動運転の技術など、高速での物体検出が必要とされる分野で利用されています。


バウンディングボックスを利用して物体検出を行うYOLOには、従来の課題を克服した特徴が3つあります。

① 物体検出をリアルタイムで行える
② 誤検出を抑えられる
③ ライセンスフリーで商用利用できる

ここでは、それぞれの特徴を解説します。


①物体検出をリアルタイムで行える

YOLOは、全ての物体を同時に検出します。つまり、画像全体を一度だけ見ることで、その中に含まれる物体の位置とクラスを予測するので、リアルタイムかつ高精度を実現した物体検出方法です。

YOLOでは、あらかじめ対象物がなさそうな領域を省いてから解析を行います。加えて、物体の検出と識別を同時に行うことで、素早い物体検出が可能です。これは、一部の物体検出アルゴリズムが物体を順次検出していくのとは対照的です。

短期間で物体認識が可能になったことから、自動運転や医療業界などの素早い処理が必要な分野でも、物体検出の利用が現実的になっています。



②誤検出を抑えられる

YOLOは、画像をグリッドに分割し、各セルでバウンディングボックスとクラスを予測します。そして、対象物がなさそうな範囲をあらかじめカットしてから解析するため、何もない背景や景色などを対象物として誤検出するリスクを抑えられます。

また、グリッド・セルとバウンディング・ボックスの組み合わせで推論を行っているため、範囲と対象物を精度よく予測できます。


③ライセンスフリーで商用利用できる

YOLOはオープンソースで提供されており、商用利用も可能です。2023年6月時点でYOLOv8まで出ていますが、著作権や出典などのルールを守れば無料で利用できます。

YOLOは、Pythonが利用できれば個人でも実装可能です。興味がある方は試してみるのも良いでしょう。




7. まとめ|バウンディングボックスは工数や費用面で有利


本記事では、バウンディングボックスの概要や、バウンディングボックスが用いられる物体検出方法などを解説しました。

バウンディングボックスは、画像内の特定の物体を矩形で囲む方法であり、物体検出の一部として広く使用されています。その優れた効率性とシンプルさから、様々な機械学習モデル、特に物体検出の分野で広く用いられています。

YOLOやR-CNNなどさまざまな物体検出手法でバウンディングボックスを利用できますが、それぞれ独自の特性を持つため、使用する場面や目的によって最適な手法が異なります。シーンに応じた最適な手法を設定できなければ、AIシステムの精度を左右するアノテーションの工数や費用も大きく変わってきます。

なお、物体検出の仕組みは?必要データ数・活用事例・構築手順を徹底解説!では、物体検出の仕組みや活用事例などについて詳しく解説しています。あわせてお読みいただくことで本記事の理解をさらに深められるでしょう。