(57)【特許請求の範囲】
【請求項１】
計数対象である移動体が通過する一定の計測対象領域を一定時間連続して撮影して得られたカメラ映像を得、当該カメラ映像を画像処理し、当該画像処理して得られたフレーム画像から当該一定時間内に前記計測対象領域を通過した前記移動体を計数する水中または水面における移動体の計数システムにおいて、連続する複数枚の前記フレーム画像中における同一座標の各画素中から輝度が最明値であるものまたは最暗値であるものを抽出し、当該最明画素の集合からなる最明画像または最暗画素の集合からなる最暗画像を作成してこの最明画像または最暗画像を計数処理の基礎であるベースデータにするとともに、その後も画面全体の変化に対して輝度分布の変化を定期的に計測し一定の閾値を超える変化があった場合には当該ベースデータを作成し直すベースデータ作成部と、前記カメラ映像と前記ベースデータの画像との背景差分である２値画像を順次作成する移動体候補画素抽出部と、該移動体候補画素抽出部により作成された２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出し、当該選び出された画素の集まりを連接領域として抽出するラベリング部と、該ラベリング部により抽出された最新のフレーム画像中の連接領域群とその一段階前の時点におけるフレーム画像中の連接領域群とを比較し、その比較結果から当該フレーム画像中で前記移動体を抽出し、実際に移動している移動体の影を検出して当該移動体を計数する追跡・計数部とを有することを特徴とする水中または水面における移動体の計数システム。
【請求項２】
計数対象である移動体が通過する一定の計測対象領域を一定時間連続して撮影して得られたカメラ映像を得、当該カメラ映像を画像処理し、当該画像処理して得られたフレーム画像から当該一定時間内に前記計測対象領域を通過した前記移動体を計数する水中または水面における移動体の計数方法において、連続する複数枚の前記フレーム画像中における同一座標の各画素中から輝度が最明値であるものまたは最暗値であるものを抽出するステップと、当該最明画素の集合からなる最明画像または最暗画素の集合からなる最暗画像を作成してこの最明画像または最暗画像を計数処理の基礎であるベースデータにするステップと、画面全体の変化に対して輝度分布の変化を定期的に計測し一定の閾値を超える変化があった場合には当該ベースデータを作成し直すステップと、前記カメラ映像と前記ベースデータの画像との背景差分である２値画像を順次作成するステップと、順次作成された該２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出すステップと、当該選び出された画素の集まりを連接領域として抽出するステップと、該抽出された最新のフレーム画像中の連接領域群とその一段階前の時点におけるフレーム画像中の連接領域群とを比較するステップと、その比較結果から当該フレーム画像中で前記移動体を抽出し、実際に移動している移動体の影を検出して当該移動体を計数するステップとからなることを特徴とする水中または水面における移動体の計数方法。
【請求項３】
計数対象である移動体が通過する一定の計測対象領域を一定時間連続して撮影して得られたカメラ映像を得、当該カメラ映像を画像処理し、当該画像処理して得られたフレーム画像から当該一定時間内に前記計測対象領域を通過した前記移動体を計数する水中または水面における移動体の計数システムにおいて、連続する複数枚の前記フレーム画像中における同一座標の各画素の輝度i1(x,y),i2(x,y),…,in(x,y)の平均v(x,y)と標準偏差をσ(x,y)を求め、数式
b(x,y)＝v(x,y)＋ｋσ(x,y)  （ただしｋは任意の数値）
のx,y座標値b(x,y)で表される画素の集合からなる画像を作成して計数処理の基礎であるベースデータにするとともに、その後も画面全体の変化に対して輝度分布の変化を定期的に計測し一定の閾値を超える変化があった場合には当該ベースデータを作成し直すベースデータ作成部と、前記カメラ映像と前記ベースデータの画像との背景差分である２値画像を順次作成する移動体候補画素抽出部と、該移動体候補画素抽出部により作成された２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出し、当該選び出された画素の集まりを連接領域として抽出するラベリング部と、該ラベリング部により抽出された最新のフレーム画像中の連接領域群とその一段階前の時点におけるフレーム画像中の連接領域群とを比較し、その比較結果から当該フレーム画像中で前記移動体を抽出し、実際に移動している移動体の影を検出して当該移動体を計数する追跡・計数部とを有することを特徴とする水中または水面における移動体の計数システム。
【請求項４】
計数対象である移動体が通過する一定の計測対象領域を一定時間連続して撮影して得られたカメラ映像を得、当該カメラ映像を画像処理し、当該画像処理して得られたフレーム画像から当該一定時間内に前記計測対象領域を通過した前記移動体を計数する水中または水面における移動体の計数方法において、連続する複数枚の前記フレーム画像中における同一座標の各画素の輝度i1(x,y),i2(x,y),…,in(x,y)の平均v(x,y)と標準偏差をσ(x,y)を求めるステップと、数式
b(x,y)＝v(x,y)＋ｋσ(x,y)  （ただしｋは任意の数値）
のx,y座標値b(x,y)で表される画素の集合からなる画像を作成して計数処理の基礎であるベースデータにするステップと、画面全体の変化に対して輝度分布の変化を定期的に計測し一定の閾値を超える変化があった場合には当該ベースデータを作成し直すステップと、前記カメラ映像と前記ベースデータの画像との背景差分である２値画像を順次作成するステップと、順次作成された該２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出すステップと、当該選び出された画素の集まりを連接領域として抽出するステップと、該抽出された最新のフレーム画像中の連接領域群とその一段階前の時点におけるフレーム画像中の連接領域群とを比較するステップと、その比較結果から当該フレーム画像中で前記移動体を抽出し、実際に移動している移動体の影を検出して当該移動体を計数するステップとからなることを特徴とする水中または水面における移動体の計数方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、水中または水面における移動体の計数システムおよび計数方法に関する。さらに詳述すると、本発明は水中を泳いで移動する魚類あるいは水流に乗って移動する川面の落ち葉といった移動体の数量を画像処理することにより自動的に計数するためのシステムと方法の改良に関する。
【背景技術】
【０００２】
ダム建設に伴う電力会社によるダムの立地対策として、河川に魚道を設け、この魚道を遡上するアユ（鮎）などの魚類を計数して漁協等に報告するという業務が行われている。ところが、現在のアユ遡上数の計測は、撮影した魚道の映像を目で見て魚数をカウントするというように目視によって行われており、労力を要する割には精度に劣ることから計測精度および計測効率の点で改善が望まれている。
【０００３】
そこで、このような問題点を改善すべく、魚道を遡上するアユ等の魚の数を計測する手法として例えば超音波を利用するなどの複数の手法が提案されている。魚数を計測するための従来技術、さらには魚以外を対象としているが本願に関係があると考えられる従来技術は以下のとおりである。
【０００４】
(1) 背景差分を使って魚の有無を判定する手法、さらには記録した映像、決定木やニューロ、人の目などで魚種を判定する手法が提案されている（例えば、特許文献１参照）。
【０００５】
(2) ブロック毎に平滑化した画像と平滑化前の画像の差分で局所的な明るい領域を取り出し、魚の腹や着水時の水しぶきを検出し、魚の数を数える手法が提案されている（例えば、特許文献２参照）。
【０００６】
(3) 移動物体と直行する幅ｄの領域を通過する対象を背景差分で取り出し、時間方向に積算して通過する物体の数を計数する手法が提案されている（例えば、特許文献３参照）。
【０００７】
(4) 背景差分もしくはフレーム間差分によって変化領域を取り出し、背景と変化領域の相関を計算し、相関が低い場合に移動対象物体であると判定し、領域統合、追跡を行って人物など移動物体を監視する手法が提案されている（例えば、特許文献４参照）。背景データの更新方法として、部分的な更新と全体の更新という二種類の方法が提案されている。
【０００８】
(5) 画面を升目状のブロックに分け、それぞれのブロックのフレーム間移動方向を推定し、その移動方向と量を統計処理することで、人物など移動物を検出する手法も提案されている（例えば、特許文献５参照）。
【０００９】
【特許文献１】特公平８−７０６９号公報
【特許文献２】特開２００１−３２３４４５号公報
【特許文献３】特開平８−１２３９３５号公報
【特許文献４】特開２００１−８１８９号公報
【特許文献５】特開平９−２５２４６７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、アユなどの遡上数を計測する従来手法の場合、特殊な装置を必要とするため設置費用や手間が多くかかるという問題があり、低コスト化が一つの課題となっている。さらに、従来手法によると計測精度が７０％程度の低さでしかないというように実用上の課題もある。また、これらの問題の加え、上述した(1)〜(5)の従来技術にはそれぞれ以下のような問題がある。
【００１１】
まず、(1) として示した従来手法は、そもそも自然計数というよりは人間が目視して計数する際の補助をすることを主目的とした手法であり、計測対象物の移動方向や速度に関する特徴を活用していないこともあり、自動的に計数を行うことは困難である。また、ノイズ対策がほとんどなされていないためその点で自動処理に適さない。さらに、背景データの作成が積算型になっていることから、多量の魚影が一斉に通過する場合などに誤差が大きくなってしまう。
【００１２】
また(2) の場合には、多数のノイズを検出してしまい正確な計数が困難であるという問題がある。また、この差分手法は明るい部分を抽出する手法であるため、水面の反射等をノイズとしてひろってしまうことがある。さらに魚の追跡処理等が一切ないため、複数フレームにわたって魚が見えていると実際の数よりも過剰に計数してしまう場合があるという問題がある。加えて、水中を移動する魚数は推測で計算しており、実測ではないために計数精度が悪いという問題もある。
【００１３】
さらに(3) の場合には、例えば水中や水面で反射があった場合における対策が施されていないために計測誤差が生じることがあるという問題がある。また、速い移動対象に対しては幅ｄを大きくする必要があるのに対し、小さな対象に対しては幅ｄを小さくする必要があることから、例えばアユの稚魚のように小さく速い計数対象に関しては適度な大きさのｄを見出すことが困難であり、このような移動体を正確に検出するのが困難である。さらに、背景データの作成方法および更新方法に関しての工夫がないため、背景に変化が生じたり影やゆらぎが生じたりした場合、このままでは正確な計数ができない。また細い領域だけで対象を検出して計測しているため、対象のサイズや速度が推測値となってしまい、移動体の速度や方向によっては誤差が大きくなるおそれがある。
【００１４】
また(4) の場合、上述したとおり部分的な更新と全体の更新という２種類の背景データ更新方法が提案されてはいるが、前者（背景データの部分的更新）は水面のゆらぎなどを吸収できないため誤計測に結びつきやすく、後者（背景データの全体更新）は変化領域が例えば７割以上など一定量となった時にはじめて更新を行うものであるため更新前に誤計数を起こしてしまうおそれがあるというようにそれぞれに固有の問題がある。つまり、前者（背景データの部分的更新）においては変化のほとんどない領域を背景に加える、という処理を行うが、水面のようにゆらいでいる領域内では背景的変化が生じているためにこの条件で背景に加えられることがなく、有効な背景データ更新がなされない。また、後者（背景データの全体更新）においては変化領域が例えば７割を越えるなど、変化が領域の一定量を超えたかどうかを背景データ更新のトリガとしているが、そうすると、領域としては小さいが変化が継続している領域があったとしてもトリガにはかからず更新がなされない。この場合には、古い背景データが用いられることになり、変化が継続している領域で過剰計測をすることになるという問題がある。加えて、この(4) のように背景との相関をとる手法は移動領域の正確な計測には向いているが、計測対象が増えると大きな計算量を必要とするので多量の移動物体を迅速に計測するのには向かない。さらに、魚を追跡処理する際には前フレームの候補領域と重ならない最も近い領域を選択しているが、このような手法の場合だと、高フレームレート時の低速移動物や低フレームレート時の高速移動物を追跡できないという問題がある。
【００１５】
さらに(5) の場合には、既存の手法に依存しつつブロックの移動方向を推定していることから、この点に関する推定精度が必ずしも高くない。また、人物のような比較的大きな対象を計測するのには向いているが小さな対象物を計測するには向かず、魚道を移動する魚や水面を浮遊する物体などの計数に使用した場合には正確性に欠けるため精度に劣るという問題がある。つまり、この従来手法においては、画面をブロックに分け、複数のブロック同士を前後のフレームで比較し、同一の対象物であるか否かを判定するといういわゆるブロックマッチングを行って移動速度を計算しているため、小さな対象物の移動速度を計算するにはブロックを細かくする必要がある。しかし、そうするとブロックマッチングに膨大な計算量が必要になってしまうという問題が生じる。また、高速移動する小物体を計測するためには広い計測対象領域を扱う必要があるが、このように広い計測対象を扱うこともマッチングの計算量を大きくする一因となっている。さらには、このようにブロックマッチングを前提としている場合には計測対象物が一定の特徴的な色や模様である必要があり、したがって、例えば画面中ではうっすらとした影状の領域となるアユなどのように色や模様の同一性が保証できない小さな対象物を扱う場合に不利となる。
【００１６】
そこで、本発明は、魚類などを高精度でより正確に自動計測でき、尚かつ設置費用や手間を抑えることもできる水中または水面における移動体の計数システムおよび計数方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
かかる目的を達成するため、本発明者は種々の検討を行った。単純に計測精度を向上させるだけであれば例えば単に精度の高い計測機器や環境を準備するという方策もあるが、設置費用と手間を抑えることも加味すると既存の計測装置を流用して計測を行うことが望ましい。そこで本発明者は従来用いられているフレーム画像の画像データに対して特有の画像処理を施すことによりコストを抑えつつ高精度で計数するという技術に着目し、種々の検討の結果、特徴的な画像処理法を知見するに至った。
【００１８】
本発明はかかる知見に基づくもので、請求項１に記載の発明は、計数対象である移動体が通過する一定の計測対象領域を一定時間連続して撮影して得られたカメラ映像を得、当該カメラ映像を画像処理し、当該画像処理して得られたフレーム画像から当該一定時間内に計測対象領域を通過した移動体を計数する水中または水面における移動体の計数システムにおいて、連続する複数枚のフレーム画像中における同一座標の各画素中から輝度が最明値であるものまたは最暗値であるものを抽出し、当該最明画素の集合からなる最明画像または最暗画素の集合からなる最暗画像を作成してこの最明画像または最暗画像を計数処理の基礎であるベースデータにするとともに、その後も画面全体の変化に対して輝度分布の変化を定期的に計測し一定の閾値を超える変化があった場合には当該ベースデータを作成し直すベースデータ作成部と、カメラ映像とベースデータの画像との背景差分である２値画像を順次作成する移動体候補画素抽出部と、該移動体候補画素抽出部により作成された２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出し、当該選び出された画素の集まりを連接領域として抽出するラベリング部と、該ラベリング部により抽出された最新のフレーム画像中の連接領域群とその一段階前の時点におけるフレーム画像中の連接領域群とを比較し、その比較結果から当該フレーム画像中で移動体を抽出し、実際に移動している移動体の影を検出して当該移動体を計数する追跡・計数部とを有することを特徴とするものである。
【００１９】
また、請求項２に記載の発明は、計数対象である移動体が通過する一定の計測対象領域を一定時間連続して撮影して得られたカメラ映像を得、当該カメラ映像を画像処理し、当該画像処理して得られたフレーム画像から当該一定時間内に計測対象領域を通過した移動体を計数する水中または水面における移動体の計数方法において、連続する複数枚のフレーム画像中における同一座標の各画素中から輝度が最明値であるものまたは最暗値であるものを抽出するステップと、当該最明画素の集合からなる最明画像または最暗画素の集合からなる最暗画像を作成してこの最明画像または最暗画像を計数処理の基礎であるベースデータにするステップと、画面全体の変化に対して輝度分布の変化を定期的に計測し一定の閾値を超える変化があった場合には当該ベースデータを作成し直すステップと、カメラ映像とベースデータの画像との背景差分である２値画像を順次作成するステップと、順次作成された該２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出すステップと、当該選び出された画素の集まりを連接領域として抽出するステップと、該抽出された最新のフレーム画像中の連接領域群とその一段階前の時点におけるフレーム画像中の連接領域群とを比較するステップと、その比較結果から当該フレーム画像中で移動体を抽出し、実際に移動している移動体の影を検出して当該移動体を計数するステップとからなることを特徴とするものである。
【００２０】
上述の計数システムまたは計数方法においては、処理対象とするフレーム画像が従来と同様のものである場合にもこのフレーム画像に対して以下のように特有の処理が行われる（図１、図２参照）。すなわち、連続する複数枚のフレーム画像（一例を挙げれば１５枚のフレーム画像だが、図１と図２においては連続する８枚のフレーム画像を示している）を取り出し、まず１枚目のフレーム画像I1中の座標(x,y)における画素の輝度i1(x,y)を抽出し、これをグラフ上にとる（図１中に示すi1）。続いて、フレーム画像I2中の同一座標(x,y)における画素の輝度i2(x,y)を抽出し、i2としてこれもグラフ上にとる。同様にして、連続する各フレーム（I1,I2,…,In）につき串刺し状に一列に位置する同一座標の輝度ik(x,y)を抽出してグラフ上にとる。また、画像に映し出される移動体（つまり計数対象）の色や濃さに基づき、フレーム画像中で移動体であると識別される輝度範囲を設定する。例えば移動体が背景画像よりも暗い魚類である場合にはそれに対応した低い輝度例えばiy〜ixの範囲に移動体検出範囲となる輝度帯Ａを設定する（図１参照）。さらに、移動体を検出する基準となる輝度を設定するが、従来であれば図中に２点鎖線で示すようにi1〜i8の平均輝度iavを算出しこれを基準とすることが一般的であったのに対し、本発明においてはi1〜i8のうちの最暗画素imin（図１であればi4が相当）を抽出してこれを基準となる輝度としている（図１）。従来は基準となる輝度と輝度帯Ａとの差が図１中に示すＢ幅であったのに対し、このような基準を設ける本発明では差がこれよりもきわめて狭いＣ幅となる。これらＢ幅やＣ幅は、検出対象である移動体の輝度の値などに応じ適宜調整することが可能な任意設定値であり、例えばＢ幅をより小さな値に設定した場合にはi4程度の輝度、つまり背景中の最暗画素程度の輝度であっても移動体であると誤認するおそれがある。しかし、本発明のように基準となる輝度を最暗のiminとしている場合には、これを基準としてＣ幅を設定している以上、i4程度の輝度、つまり背景中の最暗画素程度の輝度を移動体の輝度であると誤認するおそれがきわめて少ない。連続するフレーム画像中の全画素に関してこのように最暗画素を抽出して背景データを作成するという合成演算により形成された最暗の背景画像は、本発明における計数処理の基礎であるベースデータとなる。なお、上述の場合とは逆に移動体が背景画像よりも明るい場合には、同一座標のうち最明である座標の輝度に基づき基準となる輝度を設定し、最明画像と対比することにより移動体を抽出することになる。
【００２１】
さらに本発明では、上記した手順により最暗画素に基づき好適なベースデータを作成することに加え、その後に天候の変化などで背景画像の輝度に変化が生じることも考慮し、画面全体の変化に対して輝度分布の変化を定期的に計測し一定の閾値を超える変化があった場合には当該ベースデータを作成し直すこととしている。また、最新フレーム画像とベースデータとの差分をとることによって順次作成される２値画像に関しては、その差分データの中で一定範囲内に密集する複数画素を選び出し、この集まりを一の連接領域として抽出する。さらに、属する画素数が一定数以下の小さな独立した領域については移動体ではないいわゆるノイズデータであるとして削除してノイズ除去する。以上のようにして作成された連接領域群は一段階前のフレーム画像中の連接領域群と対比され、両者の差異に基づき移動体が抽出された場合には計数対象であるとしてカウントされる。
【００２２】
さらに、本発明者は検討を重ね、上述の技術に基づき、同一座標(x,y)における画素の輝度の平均値と標準偏差を求めてベースとなるデータを得るという技術を知見するに至った。請求項３および請求項４に記載の発明はかかる知見に基づくもので、請求項３に記載の発明は、計数対象である移動体が通過する一定の計測対象領域を一定時間連続して撮影して得られたカメラ映像を得、当該カメラ映像を画像処理し、当該画像処理して得られたフレーム画像から当該一定時間内に計測対象領域を通過した移動体を計数する水中または水面における移動体の計数システムにおいて、連続する複数枚のフレーム画像中における同一座標の各画素の輝度i1(x,y),i2(x,y),…,in(x,y)の平均v(x,y)と標準偏差をσ(x,y)を求め、数式
b(x,y)＝v(x,y)＋ｋσ(x,y)  （ただしｋは任意の数値）
のx,y座標値b(x,y)で表される画素の集合からなる画像を作成して計数処理の基礎であるベースデータにするとともに、その後も画面全体の変化に対して輝度分布の変化を定期的に計測し一定の閾値を超える変化があった場合には当該ベースデータを作成し直すベースデータ作成部と、カメラ映像とベースデータの画像との背景差分である２値画像を順次作成する移動体候補画素抽出部と、該移動体候補画素抽出部により作成された２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出し、当該選び出された画素の集まりを連接領域として抽出するラベリング部と、該ラベリング部により抽出された最新のフレーム画像中の連接領域群とその一段階前の時点におけるフレーム画像中の連接領域群とを比較し、その比較結果から当該フレーム画像中で移動体を抽出し、実際に移動している移動体の影を検出して当該移動体を計数する追跡・計数部とを有することを特徴とするものである。
【００２３】
また、請求項４に記載の発明は、計数対象である移動体が通過する一定の計測対象領域を一定時間連続して撮影して得られたカメラ映像を得、当該カメラ映像を画像処理し、当該画像処理して得られたフレーム画像から当該一定時間内に計測対象領域を通過した移動体を計数する水中または水面における移動体の計数方法において、連続する複数枚のフレーム画像中における同一座標の各画素の輝度i1(x,y),i2(x,y),…,in(x,y)の平均v(x,y)と標準偏差をσ(x,y)を求めるステップと、数式
b(x,y)＝v(x,y)＋ｋσ(x,y)  （ただしｋは任意の数値）
のx,y座標値b(x,y)で表される画素の集合からなる画像を作成して計数処理の基礎であるベースデータにするステップと、画面全体の変化に対して輝度分布の変化を定期的に計測し一定の閾値を超える変化があった場合には当該ベースデータを作成し直すステップと、カメラ映像とベースデータの画像との背景差分である２値画像を順次作成するステップと、順次作成された該２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出すステップと、当該選び出された画素の集まりを連接領域として抽出するステップと、該抽出された最新のフレーム画像中の連接領域群とその一段階前の時点におけるフレーム画像中の連接領域群とを比較するステップと、その比較結果から当該フレーム画像中で移動体を抽出し、実際に移動している移動体の影を検出して当該移動体を計数するステップとからなることを特徴とするものである。
【００２４】
請求項３の計数システムまたは請求項４の計数方法においては、連続する複数枚のフレーム画像（一例を挙げれば１５枚のフレーム画像だが、図１と図２においては連続する８枚のフレーム画像を示している）を取り出し、まず１枚目のフレーム画像I1中の座標(x,y)における画素の輝度i1(x,y)を抽出し、これをグラフ上にとる（図１中に示すi1）。続いて、フレーム画像I2中の同一座標(x,y)における画素の輝度i2(x,y)を抽出し、i2としてこれもグラフ上にとる。同様にして、連続する各フレーム（I1,I2,…,In）につき串刺し状に一列に位置する同一座標の輝度ik(x,y)を抽出してグラフ上にとる。また、画像に映し出される移動体（つまり計数対象）の色や濃さに基づき、フレーム画像中で移動体であると識別される輝度範囲を設定する。例えば移動体が背景画像よりも暗い魚類である場合にはそれに対応した低い輝度例えばiy〜ixの範囲に移動体検出範囲となる輝度帯Ａを設定する（図１参照）。ここまでは請求項１あるいは請求項２の場合と同様である。さらに、移動体を検出する基準となる輝度を設定するが、ここでは同一座標の各画素の輝度i1(x,y),i2(x,y),…,in(x,y)の平均v(x,y)を求める。また、標準偏差をσ(x,y)を求めてこれに任意の数値であるｋをかけ算し、最後にこれらを加え合わせてb(x,y)を得る。請求項１や請求項２では抽出した最暗画素imin（または最明画素imax）をそのまま基準となる輝度としていたが、請求項３や請求項４では、検出対象である移動体の輝度の値などに応じて基準値を適宜調整することが可能であるため、請求項１や請求項２の場合と同様、背景中の最暗画素（あるいは最明画素）程度の輝度を移動体の輝度であると誤認するおそれがきわめて少ないものとなる。
【発明の効果】
【００２５】
上述の請求項１記載の計測システムによると、背景差分用の背景データを、複数枚のフレーム画像の合成演算による最暗画像または最明画像に基づき生成することで、撮影環境での影や水面のゆらぎなどの影響を押さえ、かつ計数対象である移動体の移動速度や方向の特徴的部分を最優先に活用して、高速な処理でありながら正確な自動計数を実現することができる。しかもこの計測システムは画像処理の手順に特徴を有し、既存の計測装置をそのまま流用して計測を行うことを可能とするものであるため設置費用と手間を抑えることができる。
【００２６】
同様に、請求項２記載の計測方法によっても、背景差分用の背景データを、複数枚のフレーム画像の合成演算による最暗画像または最明画像に基づき生成することで、撮影環境での影や水面のゆらぎなどの影響を押さえ、かつ計数対象である移動体の移動速度や方向の特徴的部分を最優先に活用して、高速な処理でありながら正確な自動計数を実現することができる。また、この計測方法は画像処理の手順に特徴を有し、既存の計測装置をそのまま流用して計測を行うことを可能とするものであるため設置費用と手間を抑えることができる。
【００２７】
さらに、請求項３記載の計測システムによると、背景差分用の背景データを、複数枚のフレーム画像の輝度の平均v(x,y)と標準偏差をσ(x,y)とを利用して生成することで、撮影環境での影や水面のゆらぎなどの影響を押さえ、かつ計数対象である移動体の移動速度や方向の特徴的部分を最優先に活用して、高速な処理でありながら正確な自動計数を実現することができる。しかもこの計測システムは画像処理の手順に特徴を有し、既存の計測装置をそのまま流用して計測を行うことを可能とするものであるため設置費用と手間を抑えることができる。
【００２８】
同様に、請求項４記載の計測方法によっても、背景差分用の背景データを、複数枚のフレーム画像の輝度の平均v(x,y)と標準偏差をσ(x,y)とを利用して生成することで、撮影環境での影や水面のゆらぎなどの影響を押さえ、かつ計数対象である移動体の移動速度や方向の特徴的部分を最優先に活用して、高速な処理でありながら正確な自動計数を実現することができる。また、この計測方法は画像処理の手順に特徴を有し、既存の計測装置をそのまま流用して計測を行うことを可能とするものであるため設置費用と手間を抑えることができる。
【００２９】
また、以上の計測システムあるいは計測方法によれば、上記(1) の従来手法の課題に対しては、計数対象物の移動方向や速度に関する特徴点を活用することにより自動的な計測を可能とし、背景データの画像処理と生成の手順を工夫することによりノイズ対策を行い、さらに背景データの生成を積算型ではなく不連続に更新する方法をとることにより多量の計数対象にも対応できるようにしていることから、かかる課題を解決することができる。例えば、上記(1) の従来手法においてはそれまでの背景データを利用して新しい背景データを作っている（積算型）が、本願においてはそれまでの背景データを使わず毎回新しく作り直すこととしている（不連続更新型）。例えばアユが多量に遡上した場合を考えると、積算型の場合、アユは背景でないにもかかわらずこれらアユも含めた背景を作ってしまい、その影響がその後ずっと残るのに対し、不連続更新型の場合には、アユがいなくなれば新しい背景が作り直されるためにそのような問題が生じることがない。
【００３０】
また上記(2) の課題に対しては、水中の魚類等を直接に計測し、さらに追跡処理をも行うことにより不必要に過剰計数することを避けていることから、正確な計数が困難であったというかかる課題を解決することができる。
【００３１】
上記(3) の課題に対しては、フレーム画像の全画素について合成演算を行い作成した背景データに基づき移動体を計測することにより、背景に変化が生じたり影やゆらぎが生じたりした場合にも正確な計数を行うことを可能としていることから、正確な計数が困難であったというかかる課題を解決することができる。
【００３２】
上記(4) の課題に対しては、合成演算により生成した背景データに基づき移動体を計数することにより、移動体候補画素を抽出する前に反射やゆらぎなどの影響を除去し、また輝度分布変化を定期的に計測して背景データを作成し直すことにより更新前の誤計数を回避し、さらに、移動体の移動速度や移動方向といった動作の特徴的部分を重視することにより高フレームレート時の低速移動物や低フレームレート時の高速移動物をも計測可能としていることから、かかる課題を解決することができる。
【００３３】
さらに上記(5) の課題に対しては、正確な計算が困難なブロック移動速度やブロック移動方向には依存しない計数手法により正確な計数を可能としていることから、かかる課題を解決することができる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の構成を図面に示す実施の形態に基づいて詳細に説明する。
【００３５】
図３〜図１１に本発明の一実施形態を示す。本発明にかかる水中または水面における移動体の計数システムは、計数対象である移動体が通過する一定の計測対象領域を一定時間連続して撮影して得られたカメラ映像を得、当該カメラ映像を画像処理し、当該画像処理して得られたフレーム画像から当該一定時間内に計測対象領域を通過した移動体を計数するというものである。本実施形態の計数システムは、フレーム画像の全画素について合成演算を行いベースとなる背景データを作成し尚かつ当該データを定期的に作成し直すベースデータ作成部と、カメラ映像とベースデータ画像との背景差分を用いて２値画像を作成する移動体候補画素抽出部と、２値画像中において値が１の画素の集まりを選び出して抽出するラベリング部と、該ラベリング部により抽出された最新のフレーム画像中の連接領域群とその一段階前の時点におけるフレーム画像中の連接領域群とを比較して移動体を抽出する追跡・計数部とを有するものである。本実施形態では、河川を遡るアユの稚魚を計数対象の移動体とし、河川に魚道６を設けて計測対象領域とした上で、かかる魚道６を通過するアユの数を計測する（図１０参照）。以下では、かかる計測の際に上述のような構成の移動体計数システムを適用した実施形態について説明する。本実施形態の計数システムにおいては、少なくとも水中を泳ぐアユよりも明るい色彩のシート状のもの（以下単に「シート」という）７を水中に設置して魚道６を設け、このシート７上をアユが通過した時に当該アユを示す像が画像中において暗色となるようにしている。もちろん、この水中のシート７の形状や模様などはアユの遡上を妨げるものであってはならない。このように水中シート７が設けられた魚道６に対し、少なくとも魚道６中の計測対象範囲が含まれるように固定カメラ（図示省略）がこの魚道６の近辺に設置される。
【００３６】
以下、本実施形態における画像処理によるアユ遡上数自動計数の手法について述べる。まず処理全体のフローを概説し、その後に各処理ブロックの内容を詳細に説明する。
【００３７】
まず、全体の処理フローについて以下に説明する（図３参照）。本実施形態ではビデオカメラと計算機を用いて計測を行うこととしている。実際に計測を行うにあたっては、映像を一旦テープ等に記録しておき再生を行いながら計算機で計測処理するオフライン処理を行ってもよいし、あるいは計測の現場でリアルタイムに実測するオンライン処理を行ってもよい。画像処理は、このビデオカメラで撮影された映像データに対して行うことになる。
【００３８】
本実施形態にて行う画像処理は、固定カメラに映った物体の画像（あるいは物体を表す画像データ）を取り出すという古典的な背景差分法を基礎としており、事前に背景となるデータを記憶しておき、現在のカメラ映像と背景データとの差を計算して背景に映っていない部分を取り出すという処理を行うが、このような古典的手法のみならず、以下の２点を加えているところが特徴的である。すなわち、一つは、水面の反射や屈折などノイズ要素への対処のために従来の背景差分法を改善している点であり、もう一つは、一定の速度で移動するアユという対象を検出するために移動速度など動作の特徴的な部分を活用して追跡および計数を行う点である。これら特徴的な処理を行うことにより、画面内を高速に移動するうっすらとした影のような遡上アユを、水面のゆらぎがある中で高精度かつリアルタイムに計数できる手法が構築されている。これら特徴点については、後に各処理ブロックの内容について詳細に説明する際に説明する。
【００３９】
まず図３に示す処理フローにより処理の手順を説明する。最初の処理を行うベースデータ作成部１は、背景となるデータの作成および更新を行う（ステップ１００）。次に、移動体候補画素抽出部（以下、本実施形態においては「魚影候補画素抽出部」という）２でアユの魚影の候補画素を取り出す。ここでは背景と異なる画像特徴を持つ画素を検出する。ただし単に背景と異なる画素を取り出すだけなのでかかる画像には様々なノイズが含まれている。続いて、ラベリング部３で数画素程度の明らかなノイズを除去し、背景差分処理でかすれてしまい複数に分かれてしまった領域を結合し、それぞれの領域に識別番号を付与する。本明細書ではラベリング部３によるこれらの処理を「ラベリング」と呼ぶ。そして最後の追跡・計数部４で、直前に撮影した画像のラベリング結果と比較し、移動速度や移動方向といったアユの特性を考慮しつつ魚影の移動を調べ、実際に移動している魚影を検出して魚数を数える。この追跡・計数部４での最後の処理（最初のベースデータ作成部１から数えて４番目の処理）を終えると、ループを辿って最初の処理を行うベースデータ作成部１に戻る（図３参照）。
【００４０】
本実施形態では、ビデオカメラで撮影された映像データの毎フレームに上述した４つの処理を行い続け、計数結果を計測時刻とともにファイルに記録する。フレームレートは、ＮＴＳＣの映像の場合であれば例えば29.97fps（枚／秒）である。
【００４１】
［ベースデータ作成部１について］
続いて、各処理ブロックの内容について詳細に説明する。まず、ベースデータ作成部１について説明する。このベースデータ作成部１は上述したように背景となるベースデータ（図５において符号Ｂで示す）の作成および更新を行うが、このような画像処理を行う場合における処理対象はビデオ映像の全体である必要はなく、計数対象であるアユが通過し尚かつ外乱の加わりにくい限定的な部分、例えば不要な部分にマスク処理して得られた当該部分で足りる。本明細書ではこの部分を計測対象領域と称し、図１５等に符号Ｓで示している。このようなマスク処理を前提とすることで、計算量を減らしかつノイズの混入を制限できるため、高速かつ高精度な処理が可能となる。例えば、ＤＶ−ＮＴＳＣの場合であれば映像の画素数は720×480ピクセルであるが、マスク処理をすることによって計測対象領域Ｓを限定している。
【００４２】
ここで、本実施形態のベースデータ作成部１における背景データ作成方法と従来型の背景データ作成方法とを比較してみる。ビデオカメラの映像から任意の１フレーム分の画像を抜き出しそれをベースデータＢにするという単純な背景データ作成を行う従来型の場合には、ベースデータＢ作成後の背景に変化が生じると、計数時の背景とベースデータＢが異なってしまい正確な計測が妨げられてしまうことがある。ちなみに、ここでいう背景の変化には２種類あり、一つは計測環境全体の照明変化、ビデオカメラのホワイトバランスや露出変化などによる画面全体の変化であり、もう一つは水面の揺らぎや木々の揺らぎなどによる部分的な変化である。
【００４３】
これに対し本実施形態では、画面全体の変化に関し、輝度や輝度分布を定期的にあるいは常時計測しておき、それらに一定の閾値を超えた変化があった場合にはベースデータＢを作り直すという対策を施すこととしている（図４として示す処理フロー参照）。すなわち、ベースデータ作成部１の処理開始（ステップ１０１）の後で計測対象領域Ｓの平均輝度を計算し（ステップ１０２）、前回ベースデータＢを記録した時の平均輝度との差を計算し（ステップ１０３）、この差が一定値を越えているかどうか判断した結果（ステップ１０４）、一定値を越えていればベースデータＢを作成し直して更新し（ステップ１０５）、越えていなければベースデータＢを更新せずにベースデータ作成部１の処理を終了することとしている（ステップ１０６）。
【００４４】
その一方で、水面の揺らぎや木々の揺らぎなどによる計測対象領域Ｓの部分的な変化に対しては、複数枚の画像を合成演算してベースデータＢを作成するという方法で対処をしている。このように合成演算をすることで、単一の画像では扱えない時間方向の揺らぎ（経時に伴う変化）を考慮したベースデータＢを作成することが可能となる。本実施形態では、装置起動時、ユーザにより指示された時、および上記の変化により再度ベースデータＢを作り直す指示が下った時にベースデータＢを作成することとしている。
【００４５】
次に、ベースデータ作成方法の概念について説明する（図５参照）。連続するフレーム画像（I1,I2,…,In）からベースとなる画像を作成する。I1はベースデータ作成開始時のフレーム画像であり、I2はその次のフレーム画像、InはI1の(n−1)フレーム後の画像である。この場合、ｎを大きくすれば長時間の変化を吸収できるようになるが、低頻度に発生する極端な変化をも含んでしまい検出精度を低下させる可能性があるため、このｎの値は計測環境でテストして決定されることが望ましい。本実施形態におけるプログラムではｎ＝１５として0.5秒の間に１５のフレームを取り込むこととし、１５枚のフレーム画像（I1,I2,…,I15）からベースデータＢを作成している。
【００４６】
ベースデータＢ作成の具体例は以下のとおりである（図５参照）。すなわち、まずフレーム画像Ikのx,y座標の輝度値をik(x,y)とする。アユを計数対象とする本実施形態のごとく、計数対象よりも背景の方が明るい場合は、数式１のように、各x,y座標に対して、i1(x,y),i2(x,y),…,ik(x,y)の中で最も暗い値をベースデータＢのx,y座標値b(x,y)とする。
（数式１）
b(x,y)＝min(i1(x,y),i2(x,y),…,in(x,y))
例えば本実施形態であれば、１５枚の各フレーム画像中における同位置の１５個の座標のうち最も低い輝度値であるものを最暗値とし、このような最暗値算出をフレーム画像中の全座標について同様に行う。なお、本実施形態の場合とは逆に背景が暗く、計数対象が明るい場合には
（数式２）
b(x,y)＝max(i1(x,y),i2(x,y),…,in(x,y))
のようにし、最も暗い値をベースデータＢのx,y座標値 b(x,y)とする。例えば後で説明する実験映像のように魚道６が明るく魚影がそれに対して暗い場合は、全座標がそれぞれの最暗値である最暗画像を数式１によって求める。一方、河川に設けた魚道６とその周辺の状況および計数対象とする魚の種類によっては逆に魚道６が暗くそこを通過する魚影の方が明るい色の場合があり、このような場合には全座標がそれぞれの最明値である最明画像を数式２によって求める必要がある（図５参照）。
【００４７】
なお、ここまで説明したのは最大または最小の輝度値に基づき最明値または最暗値を算出するという手法であるが、このように単純に最大もしくは最小を算出するのではなく、平均と標準偏差を計算し、標準偏差のｋ倍などの値を設定することでベース画像作成時の瞬間的なノイズへの頑健さを保つこともできる。平均と標準偏差を使う手法の一例を示せば、例えば、i1(x,y),i2(x,y),…,in(x,y)の平均をv(x,y)、標準偏差をσ(x,y)とした場合に、ベースデータＢのx,y座標値b(x,y)を以下の数式３を用いて計算するものを挙げることができる。
（数式３）
b(x,y)＝v(x,y)＋ｋσ(x,y)
例えばｋを１とすると、１σの変動範囲での明るい画像を作成することになる。当然ながら、背景が明るく計数対象が暗い場合にはｋ＜０とし、これとは逆に背景が暗く計数対象が明るい場合にはｋ＞０とする。
【００４８】
また、上述のようにしてベースデータＢを作成する際には、例えば水面が変化した時のような揺らぎのある部分領域を誤って魚影と識別してしまわないようにこれらの変化をも考慮することが望ましい。「変化も考慮すること」には、例えば閾値となる差分量を変化させることなどが該当する。一例を示せば、ユーザインタフェース画面中において閾値に引っ掛かっている部分が赤く染まって表示されるようにし、これを見たユーザが、水面の揺らぎが赤くならないようにスライダで閾値を上下させて赤くならないように再設定できるようにソフトウェアを設計することなどが該当する。ただし、このように「変化」を考慮した場合、変化の大きな部分領域をアユが通過する場合に差分量が小さくなり、一つの魚影が複数に分割されてしまったり、小さな魚影が隠れてしまったりする場合があるので、本実施形態では、前者の魚影分割に対してはラベリング処理を施すことで魚影が複数になることを回避している。一方、後者の魚影が隠れることに対しては、アユの移動速度が比較的速いこと、また、揺らぎのある領域を狭い範囲に限定できることから、隠れが発生する頻度は低いといえるため本実施形態においては特段の対策を施さないこととしている。
【００４９】
［魚影候補画素抽出部２について］
続いて、魚影候補画素抽出部２における魚影候補画素抽出過程について詳細に説明する。
【００５０】
この魚影候補画素抽出部２では、ベースデータＢの生成時以外は、常に現在のフレーム画像と生成したベースデータＢとの比較をしてアユ検出のための材料となる画像を作成する（図６参照。なお図６中において、背景差分により抽出されたアユの魚影を符号５を付して示している）。具体的には、アユの候補画素を抽出するにあたり、現在のフレーム画像の輝度画像をIとおいたとして以下の条件式を満たす画素を抽出する。ただし、ここではベースデータＢが上述した数式１に基づき最暗画像として生成されている場合について説明している。
（数式４）
b(x,y)−i(x,y) ＞ tb 
この数式４中のtbは検出対象の輝度とベースデータＢの最暗画素の値との差を表す閾値であり、ユーザインタフェースを介して人間（オペレータ）により設定される。この場合において、サンプル映像が事前に得られている場合には当該サンプル映像中の検出対象の輝度を計測して閾値tbを設定してもよい。このようにして、条件を満たす画素を１、満たさない画素を０とした２値画像を計算し、この２値画像を候補画素抽出画像Ｓとする。この場合、候補画素抽出画像Ｓの画素を表記するとs(x,y)＝ １ または ０ となる。なお、一般的には、ベース画像群B1u,B1l,B2u,B2l,…,Bmu,Bmlと、対象となる画像特徴の組（I1,I2,…,Im）を考えることができ、この場合は、すべての k＝l,…,m に対して
（数式５）
bku(x,y)−ik(x,y)＞tku ∧ ik(x,y)−bkl(x,y)＞tkl 
を満たす画素を抽出するという処理として一般化できる。なお、添字のｕはupper（上限）を表し、ｌはlower（下限）を表している。具体的には、upper（上限）が示すのは数式２により得られるmax値であり、lower（下限）が示すのは数式１により得られるmin値である。
【００５１】
［ラベリング部３について］
続いて、ラベリング部３におけるラベリング処理について詳細に説明する。
【００５２】
魚影候補画素抽出部２で作成した２値画像Ｓにおいてs(x,y)＝１となっている画素の多くはアユの影だが（図６参照）、以下の二つの原因からアユを完全に反映していない可能性がある。一つの原因は、例えば増水時に生じた揺らぎのように、計数対象ではないが明るさが計数対象に類似した他のもの（計数対象類似物）が画面に現れた場合である。もう一つの原因は、計数対象が何らかの不鮮明要因により部分的にしか反映されない場合である。不鮮明要因の例としては、霧や雨、曇りなど照明環境に変化が生じること、計数対象に類似した画像特徴を持つ部分が背景に存在すること、さらに水中物を計数対象とする場合であれば水の透明度が低下する濁りや浮遊物が発生すること、等が挙げられる。
【００５３】
これに対し、ラベリング部３では、二つの画像処理を行ってこれら問題への対策を行う。すなわち、一つは小さな独立した連接領域の削除によるノイズ除去であり、もう一つは近接した領域の結合による計数対象の確実な抽出である。以下に具体的に説明する。
【００５４】
ここで、まず、連接領域Ｃを以下のように定義する。すなわち、連接領域Ｃとは、複数の半径dp （なお、ここでいう半径（距離）はユークリッド距離である）の円の重なり合いによって構成される領域である。この場合、一つの円は、少なくとも一つの他の円の中心をその領域内（円周内）に含んでいる必要がある。ある画素が連接領域Ｃに含まれるとは、その画素が連接領域Ｃを構成するいずれかの円の内部にあることをいう。例えば本実施形態において２値画像（候補画素抽出画像）Ｓから連接領域Ｃを作成する場合であれば、２値画像Ｓで画素の値が１のすべての点を中心に半径dp の円を描き、上述した連接領域Ｃの定義を満たすものを取り出すという処理が行われることになる。
【００５５】
なお、ここでユークリッド距離の定義について補足説明しておく。ある座標(a, b)と座標(c, d)の距離はこれら両画素の座標の距離であり、「ユークリッド距離」、つまり (a-c)2+(b-d)2 の平方根として表される。次に、ある画素（以下、便宜的にｓを付して示す）と連接領域Ｃとの距離を、この画素ｓと、連接領域Ｃに含まれる他のすべての画素（構成するすべての円の中心）との距離のうちの最小の値とする。また、連接領域Ｃ同士の距離は、二つの連接領域Ｃ1,Ｃ2に対して、それぞれに含まれるすべての画素（構成するすべての円の中心）の組 （c1,c2）∀c1∈Ｃ1，∀c2∈Ｃ2  に対して距離を計算し、その最小値と定義する。
【００５６】
ラベリング部３では、２値画像Ｓから、相互の距離が半径dp より大きな、複数の連接領域（Ｃ1,Ｃ2,…）を作成する。２値画像Ｓのすべての画素（値が１）は作成されたいずれかの連接領域に含まれるようにする。ここで、連接領域群を作成する際の最も単純な作成方法を示すと、ある画素一つのみを含む連接領域Ｃから始めて、その連接領域Ｃに対して距離がdp 以下となる画素を結合し続け、一つもdp 以下の画素がなくなったら結合を終了し、今度は残りの画素を種として同じ処理を続ける方法がある。例えば、２値画像Ｓ中で値が１の画素数が少ない場合や、計算機がきわめて高速である場合は、この方法で連接領域Ｃを作成することができる。この場合、計算量は多いが、重心距離や、画素群を包含する長方形領域同士の距離を使うことで、連接領域Ｃの作成精度は多少低下させながらも計算量を大幅に削減することができる。一例を挙げると、連接領域Ｃを、画素群を包含する長方形領域で単純化して表現し、画素ｓと連接領域Ｃの距離は画素ｓと四辺の距離の最小値、また連接領域Ｃ同士の距離は辺同士の距離の最小値を使うというものがある。
【００５７】
ここで、本実施形態におけるラベリング部３では、[画素登録ステップ]と[連接領域の統合ステップ]とからなる２段階の連接領域作成を行うこととしているのでこれについて示す（図７、図８参照）。なお、特に図示はしていないが、本実施形態の連接領域Ｃは画素群を包含する長方形領域として表現され、画素と連接領域Ｃとの距離は画素と四辺の距離の最小値で表され、連接領域Ｃ同士の距離は辺同士の距離の最小値で表される。
【００５８】
[画素登録ステップ]
画素登録処理を開始し（ステップ３０１）、連接領域Ｃのリストを初期化する（ステップ３０２）。ここで２値画像Ｓに属する値が１の画素を一つ選択し（ステップ３０３）、さらに登録済みの連接領域Ｃを一つ選択した上で（ステップ３０４）、画像Ｓ中における値が１の画素すべてに対して以下を実施する。すなわち、連接領域Ｃと対象の画素との距離を計算し（ステップ３０５）、当該距離がdp1以内かどうか判断する（ステップ３０６）。dp1以内であるならば、当該画素を連接領域Ｃに加える処理を行い、当該画素に対する処理を終了する（ステップ３０７、ステップ３０９）。一方、距離がdp1を超えている場合には、すべての連接領域Ｃとの比較を終えていない限り（ステップ３０８）、別の連接領域Ｃを選択した上で対象画素との距離を計算するステップを繰り返す（ステップ３０４、ステップ３０５）。当該画素がいずれの連接領域Ｃにも属さない場合は、新たな連接領域を作成し、この画素はそれに属するとする（ステップ３０８ａ）。すべての画素に対する処理を終えたら（ステップ３０９）、画素登録処理を終了する（ステップ３１０）。なお、この例からわかるように「dp1」は画素同士をくっつける時に使用する距離であり、計数対象の画面でのサイズよりも小さく、かつ、同じ対象を表す画素が画面上で分離してしまう距離よりも大きな値とする必要がある。
【００５９】
[連接領域の統合ステップ]
続いて連接領域Ｃの統合処理を開始する（ステップ３１１）。すべての連接領域Ｃに対して以下を実施する。すなわち、二つの連接領域（例えばＣ1,Ｃ2）を選択し（ステップ３１２）、当該連接領域Ｃ1,Ｃ2同士の距離を計算する（ステップ３１３、ステップ３１４）。この距離がdp2以内であるならば、これら二つの連接領域Ｃ1,Ｃ2を統合して新たな連接領域Ｃ3として登録する（ステップ３１５）。この際、もとの二つの連接領域Ｃ1,Ｃ2はリストから削除する。一方、距離がdp2を超えている場合にはこれら二つの連接領域Ｃの統合・削除は行わない。すべての連接領域Ｃの組の距離について計算をし終えたら（ステップ３１６）、連接領域Ｃの統合処理を終了する（ステップ３１８）。その一方で、すべての連接領域Ｃの組について距離計算し終えていなければ、別の連接領域Ｃの組を選択し（ステップ３１７）、当該二つの連接領域Ｃの距離の計算（ステップ３１３）をするステップを繰り返す。
【００６０】
最後に、ノイズ除去を目的として、すべての連接領域Ｃのうち、属する画素数が一定数以下の連接領域を削除する。この場合の一定値は画面内の計数対象のサイズに依存する閾値となる。以上でラベリング処理を終了する。
【００６１】
［追跡・計数部４について］
続いて、追跡・計数部４における追跡処理および計数処理について詳細に説明する。
【００６２】
追跡・計数部４では、ラベリング部３により抽出された現在のフレームの連接領域群と一つ前のフレームの連接領域群との比較を行い、移動している対象を検出する。ここで、アユを計数対象とした場合の特徴について簡単に説明しておくと、アユの場合には、うっすらとした魚影の形を変えつつしかもフレーム間で画面にとびとびに撮影されるほど高速に移動するという特徴があるため、このようなアユの様子を、画像の特徴に多くの共通性があることが前提で尚かつゆっくり移動する対象（例えば建物への侵入者など）を検出するために用いられる従来の移動体検出手法で処理しようとすると多数の処理漏れや過剰検出が発生してしまうおそれがある。これに対し、本実施形態においては、高速だがほぼ同じ速度で移動するというアユの性質を生かし、画像特徴の比較などを行わずに移動体を検出することで、精度が高く尚かつ高速な検出を実現している。以下に、本実施形態における追跡および計数の内容について説明する。
【００６３】
まず、現在の画像の連接領域をＣc1,Ｃc2,…,Ｃcn、前フレームの連接領域をＣp1,Ｃp2,…,Ｃpmとする。Ｃck(k＝1,2,…,n)と、Ｃpj(j＝1,2,…,m)の距離を、すべての組み合わせ（Ｃck,Ｃpj）に対して比較する。この距離がある下限値以上、ある上限値以下の場合に、二つの領域は移動した同じ領域であると判定する。つまり距離をｄとし、上限をｄmax、下限をｄminとすると、  ｄmin≦ｄ≦ｄmax  となるＣckとＣpjの組があった場合に、ＣckはＣpjが動くことによって生じた同じ対象についての連接領域であると判定する。ここで下限ｄminを設定するのは、移動量の少ないノイズ状の領域を削除するのが目的である。ノイズ状の領域としては、主に水面の反射や屈折、あるいは揺れ動く影などが該当する。一方、上限ｄmaxを設定するのは当該連接領域Ｃを別の対象と混同しないようにするためであり、この値をある程度大きくとった場合にはフレーム間で大きく移動する対象も漏れなく検出することが可能となるが、複数の対象が同時に画面に現れた場合にそれらを混同する場合があるので、上限ｄmaxをあまり大きくとることはせず、計数対象の移動速度に関する事前知識に基づき適切に設定することが望ましい。例えば、１／３０秒間における画像中での平均移動距離が１０画素で、標準偏差σが３画素であれば、１σとして７画素をｄmin、１３画素をｄmaxとする。条件を満たす組が複数存在する場合は、より近い方を選択する。
【００６４】
なお、魚道６を遡上する魚や、川面を流れる物体のように移動方向がほぼ一定の場合は、移動方向に関しての当該移動物の特徴点を加味することによって動作の制約事項と考えることができ、このような制約を設けることにより、迅速にかつ精度よく検出することが可能となる。例えば画面の上から下に川が流れていて、この川を遡上する魚を検出する場合においては、画面を縦長の領域に区切り、当該領域内においてＣckとＣpjの組について判定すれば足りる。この場合には、Ｃck(k＝1,2,…,n)と、Ｃpj(j＝1,2,…,m)の距離をすべての組み合わせ（Ｃck,Ｃpj）に対して比較する必要がないのでより迅速にかつ精度よく検出できる。
【００６５】
さらには、色やテクスチャ（ここでいうテクスチャとは表面上の「きめ」や模様などのこと）など、画像の特徴にフレーム間で一貫性がある対象の場合には、ヒストグラムや相関などを利用した類似性判定を行って組み合わせの対象を限定することで精度を向上させるといった工夫も可能である。ただしこのような類似性判定を実施すると一般的に計算量が増えるため、計数・計測の目的に合わせて類似性判定を実施するかどうか適宜取捨選択することが好ましい。
【００６６】
上記手法により、現在の画像における連接領域Ｃと前フレームの連接領域Ｃとが同一のアユの影を表していると判定できた場合には、計数対象の計測数に１をカウントして増やす。このカウント済みの対象に関しては、カウント以降も計測対象領域Ｓから消えるまで追跡を継続するが再度のカウントは行わない。なお、本明細書でいう「追跡」とは、連続するフレーム（例えばIkとIk+1）間において上述した距離に関する条件 ｄmin≦ｄ≦ｄmax を満たすｄを有するものを同一の計数対象（この場合、アユ）であるとみなし、さらに、その次の連続するフレーム（Ik+1とIk+2）間において同一の計数対象（アユ）とみなす、というように２フレーム以上連続するフレームで計数対象を同定し続けることを意味する。また、本実施形態ではこのように判定時にカウントすることとしているが、この代わりに、画像中の計測可能限界まで追跡し、画像中から消滅した時にカウントする方法を採用することもできる。要は、計数対象となる連接領域一つに対し確実に１のカウントを実施できればよい。
【００６７】
また、魚影が重なった場合あるいは重なっている場合にどのように処理するかについて図９〜図１１を用いて説明する。魚影が途中で重なったり分離したりすると、魚影を表す連接領域（この説明を終えるまで以下単に「領域」という）は移動体として何であるかを確定することが困難であるが、本実施形態ではこのような場合に一定の処理を施すことによってより正確な計数ができるようにしている。図９〜図１１においては、移動体として未確定の領域を白抜きの矩形枠、移動体として確定した領域を黒塗りの矩形枠でそれぞれ表している。
【００６８】
まず、画像中に領域が出現してすぐに分離した場合には（図９参照）、分離後の領域のそれぞれを＋１とし、計２匹としてカウントする。またこれとは逆に、画像中に出現してからすぐに重なりその後は分離しない場合には（図１０参照）、１匹としてカウントする。さらに、画像中に出現してすぐ重なり、その後二つに分離した場合には（図１１参照）、分離した方が未確定の領域となるが、その領域が動いたことが確認された時点でさらにカウントを増やす。これらの方法により、画面内に類似の対象が同時に複数撮影され、さらには対象数が増減した場合にも安定かつ迅速に計数することができる。なお、領域が分離した場合、いずれが分離した方なのかを判断する必要はなく、いずれか一方を分離した方とし、もう一方を元から泳いでいた方とするだけで足りる。この場合、いずれが分離した方になるかは処理の順番により決まり、尚かつ、いずれを先にしても計数結果に変わりはない。
【００６９】
ここまで説明したような処理を実施した後、追跡・計数部４は、計数結果および移動対象物の現時点での存在数等を出力装置の画面に表示する。また、移動物体の出現時刻、連接領域の画素数、移動速度、経路等を画面表示し、もしくはファイルに保存する。
【００７０】
以上のように、本実施形態の計数システムを用いた自動計数は、魚道６を固定したビデオカメラで撮影した映像のみから、画像処理技術によりアユ遡上数を高精度に自動計測することを可能とするものである。しかも、計測装置が市販ないし既存のビデオカメラとＰＣ（パーソナルコンピュータ）のみで構成することも可能であるため導入が簡便であり、設置費用や設置の際の手間を抑えることが可能である。
【００７１】
なお、上述の実施形態は本発明の好適な実施の一例ではあるがこれに限定されるものではなく本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば上述した実施形態においては遡上するアユの稚魚を計数対象とした場合について説明したが、アユ以外の魚類を対象とすることができることはもちろんのこと、魚類以外の生物、さらには例えば水面を流れる落ち葉など魚類等以外のものをも対象とし、上述した計測手順により一定時間内に計測対象領域Ｓ内を通過する数を自動計測することが可能である。
【００７２】
また、ビデオカメラにより撮影されるのがカラー映像であり、計数対象に色の特徴があるような状況（例えば川面を流れる落ち葉を計測する場合において、川面が灰色なのに対し落ち葉が赤茶けているという状況）であれば、Ｒ，Ｇ，Ｂ色空間を考慮し、背景が暗く計数対象が明るい場合であればそれぞれの最大値、逆に背景が明るく計数対象が暗い場合であればそれぞれの最小値を計測し、ベースデータＢをＢr，Ｂg，Ｂbの３つとすることもできる。あるいは、ＨＳＶ(hue, saturation, value)等の別の色空間を用いることもできる。
【００７３】
なお、計測対象領域Ｓにおいて、計数対象が背景に対し中間的な輝度の場合（背景に明るい部分と暗い部分が混在しており、計数対象がその中間程度の輝度の場合。例えば川面の落ち葉を計測する場合に、川面が暗い色で、太陽光の水面での反射により明るい部分があり、計数対象の落ち葉がその二つの中間の明るさである場合など）は、上の閾値用および下の閾値用として二つのベースデータＢを作成し、閾値を上下それぞれに設定してこれらに挟まれた一定の範囲を検出条件とすることもできる。この場合、閾値を変化させることにより異なる検出範囲を設定することができる。
【００７４】
ここで、輝度に関する上下の閾値を使う場合の計測手法の一例を簡単に示しておく。まず、上下の閾値を表すベース画像をそれぞれＢu,Ｂlとする。現在のフレーム画像の輝度画像をＩとした場合、上述した数式５に基づき
（数式６）
bu(x,y)−i(x,y)＞tbu ∧ i(x,y)−bl(x,y)＞tbl 
を満たす画素を抽出する。ここで、tbu, tbl はそれぞれオペレータが任意に設定する閾値である。また、例えば映像がカラー映像である場合であれば、赤、緑、青それぞれの上下閾値を表すベース画像をそれぞれＢru,Ｂrl,Ｂgu,Ｂgl,Ｂbu,Ｂblとする。現在のフレーム画像のＲ，Ｇ，Ｂ分解画像をそれぞれＩr,Ｉg,Ｉbとすると、以下の条件式を満たす画素を抽出して移動体を検出する。
（数式７）
bru(x,y)−ir(x,y)＞tru ∧ ir(x,y)−brl(x,y)＞trl ∧
bgu(x,y)−ig(x,y)＞tgu ∧ ig(x,y)−bgl(x,y)＞tgl ∧
bbu(x,y)−ib(x,y)＞tbu ∧ ib(x,y)−bbl(x,y)＞tbl
【実施例１】
【００７５】
本実施形態にて説明したアユの計数システムの効果を確認するための評価実験を行った。ここでは、実際の魚道６を撮影した映像を用い、本発明にかかる計数システムの計測（計数）精度の評価を行うこと、計測誤差が発生した場合の原因を探ることを目的として実験を行った。
【００７６】
実験の対象としたのは、2002年４月26日の午前８時15分から９時15分までの１時間の魚道６の映像である（図１２参照）。この映像は、ＳＯＮＹ（登録商標）製のビデオカメラDCR-PC3で撮影したものである。図１２は、魚道６の中央上方から下流側に向かって左半分の部分を見下ろす形で撮影した映像を表したものである。川は画面手前から奥に向かって流れており、画面下半分に見える台状のシート７の上を下流から遡上するアユが画面下方つまり上流側に向かって遡上する。また、図１３には遡上している４匹のアユがシート７上に位置している時の魚道６の映像を示す。魚道６の底面のシート７を明るい色としていたので判別することができたが、サイズが小さく、水中を通過するためおぼろげな魚影となったことから検出が難しいものとなった。
【００７７】
評価用の計算機には動作周波数2.4GHzのPentium（登録商標）４を搭載したWindows（登録商標）パソコンを用いた。また、この評価に用いたプログラム（以下「アユ遡上数画像計測ソフトウェア」と呼ぶ）は、Microsoft（登録商標）Visual（登録商標）C++(6.0および.Net)を開発環境とし、ビデオ映像のキャプチャにはDirect（登録商標）X のライブラリであるDirect Showを用いて開発した。ユーザインタフェース画面の例を図１４に示す。また、計測対象領域Ｓは図１５中に細長い枠で示すような台形領域とした。これは画面内にてアユの遡上が確認できる領域であり、かつ水面のゆらぎなどにより左端の黒い壁面が枠内に映り込まない領域として設定したものである。ただしこの計測対象領域Ｓは、アユが通過する領域をカバーするように設定されている必要がある。なお、ここで台形状としたのは一例に過ぎず、画面内の領域が指定されていれば多角形であろうと曲線領域であろうと、さらには複数の領域であろうと同じ手法で計数することができる。
【００７８】
また、準備作業として、ビデオ映像の撮影者より提供を受けたＤＶＤに収録された映像ファイルをリッピング処理、つまりデジタル形式の音声データを抽出してパソコンで処理できるようなファイル形式に変換して保存するという作業を行い、ＤＶテープに書き戻す処理を行った。これは開発した計測プログラムが、現場でアユの遡上を実測できるように、計算機にＩＥＥＥ１３９４で直接接続したビデオの映像を処理するように作られているためである。
【００７９】
また、検出精度の評価基準には人間が目視により計測したデータを用いた。これは１分毎に通過したアユの数を集計したものであり、魚道６の監督者よりＤＶＤと共に提供を受けた。目視による計測は、正確を期すためにスロー再生された映像を基にして複数の人間により行われており、計測の基準とするのに十分なものと考えられるものである。
【００８０】
実験で使用した各種設定を表１に示す。なお輝度関連の閾値（１-Ａ，２-Ａ）は０を最小値、65,535を最大とする範囲での値を意味する。また画素関連の閾値（３-Ａ，３-Ｂ，３-Ｃ，４-Ａ，４-Ｂ）およびフレーム数に関する設定値（１-Ｂ）は、ＮＴＳＣ−ＤＶ（720×480画素、29.97fps）での画素数およびフレーム数を意味する。
【００８１】
【表１】
0004697923.tif 000002
【００８２】
１時間の対象映像全体での人間の目視による計数結果は２２５匹であった。これに対し本発明にかかる計数システムは２２６匹と計数した。誤差は０.４％であった（＝（２２６−２２５）／２２５）。しかし実際にはこの計数結果に計測漏れや過剰計測が含まれており、結果的に誤差が相殺されて総計として近い値になったということも考えられた。そこで、再現率と精度を計算するために５分毎と１分毎に集計し、その計数値を比較することとした。結果をそれぞれ図１６、図１７に示す。
【００８３】
横軸はサンプル映像の開始時点からの時区間である。図１６に示す５分毎に集計したグラフでの「０〜５」はビデオ撮影開始から５分後までの５分間の時間を意味する。縦軸はその時区間の間に通過したアユの数である。図から、２０〜３５分の時区間にプログラムが比較的多く過剰計数していること、４５〜５０分の時区間にプログラムが計測漏れを起こしていることがわかる。この５分毎の集計でのプログラムによる過剰計数は２４匹、不足計数は２３匹であり、再現率は９０％（＝（２２６−２４）／２２５）、精度は８９％（＝（２２６−２４）／２２６）となった。
【００８４】
図１７に示す１分毎に集計したグラフでは、より細かく自動計測の測定特性を見ることができる。横軸はサンプル映像の開始時点から１分毎に区切った時区間を意味する。例えば横軸の「１０」は映像の開始時点の１０分後から１１分後までの間を意味する。３１分と３３分の時区間においては自動計測で比較的多く過剰計数していること、４７分の時区間において大量の遡上に対する計測漏れがあることがわかる。この１分毎の集計でのプログラムによる過剰計数は３７匹、不足計数は３６匹であり、再現率は８４％（＝（２２６−３７）／２２５）、精度は８４％（＝（２２６−３７）／２２６）となった。
【００８５】
実験結果が示すように、本実施例にて用いた計測プログラムは、実際のアユ遡上映像に対しリアルタイムで高精度な計数が行えることがわかった。ただし上述したように、計測基準となる数に対して１割ほどの過剰計数および不足計数があったことに関しては、これまでの調査から誤計測の要因のいくつかが明らかになっている。すなわち、過剰計数の原因として、魚道６左端の黒い壁面が水面のゆらぎにより魚影状になりこれを魚影と認識することによって過剰計数する場合があったことが挙げられる。魚道６側面の塗装など別の対策が必要と考えられた。
【００８６】
また、図１７中、最も多い１３匹の不足計数をした４７分の時区間における当該不足の原因は、アユが多量に遡上している途中でベースデータＢの更新がなされたことである。実験ではベースデータ更新を0.5秒としたが、この時区間ではきわめて短い時間に多量のアユが遡上しており、0.5秒で１３匹の計数不足を生じたものである。これに対しては、移動体が確認されている間は更新を待つ方法や、更新の間は前のベースデータＢを用いて計数を継続する方法によって改善が可能になると考えられる。
【００８７】
ここまで説明したように、本実施例では、魚道６を遡上するアユをビデオカメラで撮影し、リアルタイムに遡上数を計数した。この水中または水面における移動体の計数システムは、水面の揺らぎなどによる誤計測を回避するために背景差分法を改良し、かつ一定の速度で移動するという計数対象の性質を生かして移動体を高精度に追跡・計数することによって迅速かつ高精度な計数を実現している。魚道６を撮影した１時間のサンプル映像に対し評価実験を行い、実際の遡上数２２５匹に対し２２６匹と自動計数し、１分毎の集計でも再現率、精度共に８４％を達成するなど高い計数精度を有することが確認できた。
【図面の簡単な説明】
【００８８】
【図１】本発明にかかる移動体の計数システムによる計数処理の特徴的な概念を説明するためのグラフで、フレーム数１〜８の各フレーム画像中の同一座標(x,y)における画素の輝度ik(x,y)を表したものである。
【図２】連続する複数枚のフレーム画像を概念的に理解しやすく示す図である。
【図３】本発明の一実施形態を示すフローチャートで、移動体計数システムによりアユ遡上数を自動計数する際の全体の処理手順を表したものである。
【図４】ベースデータ作成部の処理手順を示すフローチャートである。
【図５】連続するフレーム画像からベースデータを作成する際の処理内容を簡単に示す図である。
【図６】背景差分により魚影を抽出する方法を簡単に示す模式図である。
【図７】ラベリング部による画素登録ステップの処理手順を示すフローチャートである。
【図８】ラベリング部による画素統合ステップの処理手順を示すフローチャートである。
【図９】移動体が重なる場合の処理例を説明するための図で、移動体が出現してすぐ離れる場合を示したものである。
【図１０】移動体が重なる場合の処理例を説明するための図で、移動体が出現してすぐ重なる場合を示したものである。
【図１１】移動体が重なる場合の処理例を説明するための図で、移動体が出現してすぐ重なり、その後離れる場合を示したものである。
【図１２】本実施例にて使用した魚道の撮影映像を示したものである。
【図１３】アユが通過する際の魚道の撮影映像を示したものである。
【図１４】本発明を適用した移動体計数システムのユーザインタフェース画面の一例を示す図である。
【図１５】魚道に設定した計測対象領域の一例を示す図である。
【図１６】本発明を適用した計数プログラムによる自動計測と目視による自動計測との比較結果を５分毎の時区間で示すグラフである。
【図１７】本発明を適用した計数プログラムによる自動計測と目視による自動計測との比較結果を１分毎の時区間で示すグラフである。
【符号の説明】
【００８９】
１  ベースデータ作成部
２  魚影候補画素抽出部（移動体候補画素抽出部）
３  ラベリング部
４  追跡・計数部
Ｂ  ベースデータ
Ｃ  連接領域
Ｉ  フレーム画像
Ｓ  計測対象領域
【図１】
0004697923.tif 000003
【図２】
0004697923.tif 000004
【図３】
0004697923.tif 000005
【図４】
0004697923.tif 000006
【図５】
0004697923.tif 000007
【図６】
0004697923.tif 000008
【図７】
0004697923.tif 000009
【図８】
0004697923.tif 000010
【図９】
0004697923.tif 000011
【図１０】
0004697923.tif 000012
【図１１】
0004697923.tif 000013
【図１６】
0004697923.tif 000014
【図１７】
0004697923.tif 000015
【図１２】
0004697923.tif 000016
【図１３】
0004697923.tif 000017
【図１４】
0004697923.tif 000018
【図１５】
0004697923.tif 000019