背景差分法の原理・特徴・計算式

この記事では、背景差分法による移動物体の検出原理や特徴、計算式についてまとめました。

【はじめに】背景差分法とは

背景差分法は、移動物体の検出方法の1つです。
背景差分法では、入力画像と背景画像の差分を計算することで移動物体を抽出します。
背景差分法を行うには、背景画像を事前に用意する必要があります。

【原理】移動物体を検出するアルゴリズム

背景差分法のアルゴリズムは以下のとおりです。

①入力画像I(左)と背景画像I_b(右)を用意します。

②二枚の画像の差分の絶対値を計算し、差分画像I_dを求めます。

(1)   \begin{eqnarray*} I_d(x,y)=|I(x,y)-I_b(x,y)| \end{eqnarray*}

③差分画像I_dに対して二値化処理を行います。
そして、背景(黒色)と前景(白色)に分けたマスク画像(I_m)を作成します。

(2)   \begin{eqnarray*} I_m(x,y)= \left{ \begin{array}{r@{\,}c@{\,}r@{\,}c@{\,}r@{\;\leq\;}r} 255 \hspace{15pt}  (I_d(x,y)>T)\\ 0 \hspace{15pt} (I_d(x,y)\leq T) \end{array}% \right. \end{eqnarray*}

あとは必要に応じて膨張収縮化フィルタをかけたり、マスク画像を使って元画像から前景部分の画素を取り出したりします。

【実装例】移動物体の検知

背景差分法は、固定カメラ(監視カメラなど)で移動動体を捉える場合に利用されます。
理由は、固定カメラの撮影映像は背景部分に変化が少なく、移動物体領域を前景として抽出しやすいためです。

【Python/OpenCV】背景差分・フレーム差分で移動物体の検出
Python版OpenCVで背景差分法、フレーム差分法を実装し、移動物体を検出する方法をソースコード付きで解説します。
【画像処理入門】アルゴリズム&プログラミング
この記事では、画像処理における基本的なアルゴリズムとその実装例(プログラム)についてまとめました。

コメント