(57)【要約】【課題】アユをはじめとする魚類やその他の移動体を高速かつ高精度でより自動計測する。【解決手段】移動体が撮影された動画像に対して、連続する複数枚のフレーム画像中における同一座標の各画素中から輝度が最明または最暗値であるものを抽出し、当該最明画素または最暗画素の集合からなる画像を計数処理の基礎であるベースデータとして記憶し、最新フレーム画像とベースデータとの差分をとることによって順次作成される２値画像に関しては、その差分データの中で一定範囲内に密集する複数画素を選び出し、この集まりを一の連接領域として抽出し、さらに当該連接領域のうち面積が最大となる連接領域が予め設定された閾値を超える場合または当該連接領域のうち値が１である画素の数が予め設定された閾値を超える場合に計測不能状態と判定し、また作成された連接領域群を一段階前のフレーム画像中の連接領域群と対比し、両者の差異に基づき移動体が抽出された場合に、計数対象として計数する。【選択図】図７
2007206843.tif 000002
【特許請求の範囲】
【請求項１】
計数対象物である移動体が撮影された動画像に対して、連続する複数枚のフレーム画像中における同一座標の各画素中から輝度が最明値であるものまたは最暗値であるものを抽出し、当該最明画素の集合からなる最明画像または最暗画素の集合からなる最暗画像を作成してこの最明画像または最暗画像を計数処理の基礎であるベースデータとして記憶するベースデータ更新処理と、前記フレーム画像と前記ベースデータの画像との背景差分である２値画像を作成し、該２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出す移動体候補画素抽出処理と、当該選び出された画素の集まりを連接領域として抽出するラベリング処理と、前記連接領域のうち面積が最大となる連接領域が予め設定された最大領域面積を超える場合または前記連接領域の値が１である画素数が予め設定された最大領域内画素数を超える場合を計測不能状態と判定する計測不能状態検出処理と、前記フレーム画像中の連接領域群と直前のフレーム画像中の連接領域群とを比較して、その比較結果から前記フレーム画像中で前記移動体を抽出し、当該移動体を計数する追跡および計数処理を行うことを特徴とする水中または水面における移動体の計数方法。
【請求項２】
前記ベースデータ更新処理は、予め定めた時間が経過した場合または予め定めたフレーム数の処理が終了した場合毎に、前記ベースデータを更新することを特徴とする請求項１に記載の移動体の計数方法。
【請求項３】
さらに前記フレーム画像の各座標に配列を設定し、該座標の配列において差分を連続検出したフレーム数が、予め設定された残像効果コマ数を超える場合に前記ベースデータの更新を行う残像効果処理を行うことを特徴とする請求項１または２のいずれかに記載の移動体の計数方法。
【請求項４】
前記追跡および計数処理において、移動体の移動方向と同一の移動体のみを検出することを特徴とした請求項１または３のいずれかに記載の移動体の計数方法。
【請求項５】
前記追跡および計数処理を予め設定した回数分繰り返し処理し、移動体の検出を行うことを特徴とする請求項１から４のいずれかに記載の移動体の計数方法。
【請求項６】
前記追跡および計数処理において、移動体の移動方向に対して予め設定された画素数以上移動した移動体のみを検出することを特徴とした請求項１から５のいずれかに記載の移動体の計数方法。
【請求項７】
計数対象物である移動体が撮影された動画像に対して、連続する複数枚のフレーム画像中における同一座標の各画素中から輝度が最明値であるものまたは最暗値であるものを抽出し、当該最明画素の集合からなる最明画像または最暗画素の集合からなる最暗画像を作成してこの最明画像または最暗画像を計数処理の基礎であるベースデータとして記憶するベースデータ更新手段と、前記フレーム画像と前記ベースデータの画像との背景差分である２値画像を作成し、該２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出す移動体候補画素抽出処理と、当該選び出された画素の集まりを連接領域として抽出するラベリング手段と、前記連接領域のうち面積が最大となる連接領域が予め設定された最大領域面積を超える場合または前記連接領域の値が１である画素数が予め設定された最大領域内画素数を超える場合に計測不能状態と判定する計測不能状態検出手段と、前記フレーム画像中の連接領域群と直前のフレーム画像中の連接領域群とを比較して、その比較結果から前記フレーム画像中で前記移動体を抽出し、当該移動体を計数する追跡および計数手段を備えることを特徴とする水中または水面における移動体の計数装置。
【請求項８】
計数対象物である移動体が撮影された動画像に対して、連続する複数枚のフレーム画像中における同一座標の各画素中から輝度が最明値であるものまたは最暗値であるものを抽出し、当該最明画素の集合からなる最明画像または最暗画素の集合からなる最暗画像を作成してこの最明画像または最暗画像を計数処理の基礎であるベースデータとして記憶装置に記憶するベースデータ更新処理と、前記フレーム画像と前記ベースデータの画像との背景差分である２値画像を作成し、該２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出し記憶装置に記憶する移動体候補画素抽出処理と、当該選び出された画素の集まりを連接領域として抽出し記憶装置に記憶するラベリング処理と、前記連接領域のうち面積が最大となる連接領域が予め設定された最大領域面積を超える場合または前記連接領域の値が１である画素数が予め設定された最大領域内画素数を超える場合に計測不能状態と判定する計測不能状態検出処理と、前記フレーム画像中の連接領域群と直前のフレーム画像中の連接領域群とを比較して、その比較結果から前記フレーム画像中で前記移動体を抽出し、当該移動体の計数結果を記憶装置に記憶する追跡および計数処理をコンピュータに繰り返し実行させることを特徴とする水中または水面における移動体の計数プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、水中または水面における移動体の計数方法、移動体の計数装置及び移動体の計数プログラムに関する。さらに詳述すると、本発明は水中を泳いで移動する魚類あるいは水流に乗って移動する川面の落ち葉といった移動体の数量を画像処理することにより自動的に計数するための方法、装置及びプログラムに関する。
【背景技術】
【０００２】
電力会社によるダムの建設に伴う立地対策として、河川に魚道を設け、この魚道を遡上するアユ（鮎）などの魚類を計数して漁協等に報告するという業務が行われている。現在、遡上数の計測は作業者の目視により行われており、計測効率および計数精度の点で改善が望まれている。魚道を遡上するアユを長時間にわたって目視により計測するのは作業者への負担が大きく、作業者の見落とし等も多く発生するものである。
【０００３】
遡上するアユなどの魚類を自動計数する技術として、背景差分を用いて、背景画像から移動体を検出し、移動体の計数を行う技術が提案されている（特許文献１）。特許文献１の技術は、画像全体の変化に対して輝度分布の変化を定期的に計測し一定の閾値を超える変化があった場合に背景差分の基礎となる背景画像の更新を行うものである。
【特許文献１】特開２００５−３０９４８５号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、画像全体の変化に対して輝度分布の変化を定期的に計測し一定の閾値を超える変化があった場合に背景差分の基礎となる背景画像の更新を行い移動体の計数を行っている。ここで背景差分は背景に変動があまり生じないことを前提としているため、背景変化が頻繁に起こる状況下においては、特許文献１に記載の技術では正確にアユなどの魚類を自動計数することができないという問題があった。尚、背景差分では、背景となる画像（以下、ベースデータという）を適切に更新しないと、撮影環境の変化等に追従できなくなり、正確な計測を行うことができない。
【０００５】
背景変化が頻繁に起こる状況としては、次のような場合が存在する。例えば遡上するアユを計数対象とする場合、アユが遡上する魚道には流れる水の量に応じて上下する可変式の堰が設置されている場合がある。このような堰は水量が多くなれば上がり、少なくなれば下がることで、魚道の段差を一定の範囲に抑える役割をしている。この堰を上下させる機構の一部として、堰にはワイヤーが張られており、これがビデオカメラの視野に入り撮影される場合等がある。このようなワイヤーは堰の上下に応じて、ゆっくりと動くものである。このワイヤーのように背景であるが、恒久的かつ連続的に動くものを背景に含んでいる場合、特許文献１に記載の技術ではワイヤー等の動きを背景変化と見なさず、アユ等の移動体として計数してしまうことにより誤計測が生じていた。
【０００６】
この誤検出は、ワイヤーの動きは画面内では１０画素程度の微小な変化であって背景差分によるベースデータの更新のトリガーとなるほどの輝度変化は起こさないことに起因している。そのためワイヤーが動いた部分は、次回の背景の更新時まで変化領域と見なされる。この変化領域の縁の明るさが、ワイヤーの動き、揺れ等により変化するため、アユがワイヤーに沿って遡上したと判断し、誤計測を行ってしまうという問題があった。この現象は、誤計測を一度開始すると短時間に連続して数十匹以上の過剰計測を起こしてしまうため、計数結果に大きな誤差を生じさせていた。
【０００７】
このように実質的に誤計測が大量に発生し自動計数を行っても正しい計数結果の得られない状態（以下、計測不能状態という）が生じた場合に、特許文献１に記載の技術では次回の差分画像のベースデータの更新まで、該計測不能状態が継続してしまうため大きな誤差を生じるという問題があった。
【０００８】
また、特許文献１に記載の技術においては、上記原因の他に誤検出が発生する原因が多数存在していた。例えば、特許文献１の技術では、魚道を遡上する移動体と魚道の水流に沿って流れる移動体の双方の検出を行うものである。したがって、計数対象となるアユの遡上に限らず、上流から魚道を流れてくるゴミなどを誤検出してしまうという問題があった。特に雨の日の後はゴミの量が多く、これらのゴミを誤計測すると計数結果に大きな誤りを生じていた。
【０００９】
また、例えば魚道のように屋外に存在する場合、魚道を流れる移動体に限らず、蛍光灯の光に呼び寄せられて蛾などが多数飛来し、ビデオカメラ等に止まり撮影画像に映ってしまう場合が存在する。それ以外にも蜘蛛が壁面や、水際を移動したり、また羽虫が魚道を横切る場合が存在する。このような場合においても特許文献１に記載の技術では誤検出を生じていた。
【００１０】
また、例えば魚道の壁面は白色に塗装されている場合が多いが、長年の使用により塗装に汚れが付着するなど、水際では、斑模様となっている場合がある。そして水面が壁面と接する箇所では、光の屈折により水中の壁面の模様が変形して見える。そのため水面が上下すると、壁面の模様がチラチラと形を変える。特許文献１に記載の技術では、このような場合に誤計測を生じていた。さらに、例えばアユは魚道の中央よりも魚道の端を好んで遡上することが多いためため当該計測漏れが多数発生していた。
【００１１】
また、計数対象であるアユを計数する場合であっても、アユが画像内で行ったりきたりする場合などに一つのアユを数回にわたり検出してしまうという誤検出を生じる等の問題が生じていた。
【００１２】
さらに、計数対象とした移動対象としたアユとは別の魚、例えばブラックバス等を誤検出してしまうという問題があった。また、同じアユであっても遡上開始時（４月頃）と遡上終了時（７月頃）では、アユ自体の大きさも異なるため、誤検出が生じていた。
【００１３】
以上のように特許文献１に記載の技術を実用化した場合に、多くの誤検出をする要因があった。ここで、誤検出が多く発生すると、結局は作業者による再チェック等の作業が必要となり、作業者の労力の軽減を図ることができない。例えば実用化に際し精度９０％以上を実用化可能のメルクマールとした場合、特許文献１に記載の技術では、達成することが困難であった。したがって、種々存在する誤検出の原因を解消して、作業者の介在を無くし、かつ作業者が目視でおこなっている現在の状況よりも高精度の移動体検出を行うことが必要となる。
【００１４】
そこで、本発明は、背景差分を基礎としつつもベースデータの更新に種々の新たな手法を取り入れ、特許文献１の発明に比して大幅な計数能力の向上を可能とすることで、魚類などを高精度でより正確に自動計数でき、尚かつ設置費用や手間を抑えることもできる水中または水面における移動体の計数方法、移動体の計数装置および移動体の計数プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
かかる目的を達成するため、請求項１記載の移動体の計数方法は、計数対象物である移動体が撮影された動画像に対して、連続する複数枚のフレーム画像中における同一座標の各画素中から輝度が最明値であるものまたは最暗値であるものを抽出し、当該最明画素の集合からなる最明画像または最暗画素の集合からなる最暗画像を作成してこの最明画像または最暗画像を計数処理の基礎であるベースデータとして記憶するベースデータ更新処理と、フレーム画像とベースデータの画像との背景差分である２値画像を作成し、該２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出す移動体候補画素抽出処理と、当該選び出された画素の集まりを連接領域として抽出するラベリング処理と、連接領域のうち面積が最大となる連接領域が予め設定された最大領域面積を超える場合または連接領域の値が１である画素数が予め設定された最大領域内画素数を超える場合に計測不能状態と判定する計測不能状態検出処理と、フレーム画像中の連接領域群と直前のフレーム画像中の連接領域群とを比較して、その比較結果からフレーム画像中で移動体を抽出し、当該移動体を計数する追跡および計数処理を行うようにしている。
【００１６】
また、請求項７に記載の移動体の計数装置は、計数対象物である移動体が撮影された動画像に対して、連続する複数枚のフレーム画像中における同一座標の各画素中から輝度が最明値であるものまたは最暗値であるものを抽出し、当該最明画素の集合からなる最明画像または最暗画素の集合からなる最暗画像を作成してこの最明画像または最暗画像を計数処理の基礎であるベースデータとして記憶するベースデータ更新手段と、フレーム画像とベースデータの画像との背景差分である２値画像を作成し、該２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出す移動体候補画素抽出処理と、当該選び出された画素の集まりを連接領域として抽出するラベリング手段と、連接領域のうち面積が最大となる連接領域が予め設定された最大領域面積を超える場合または連接領域の値が１である画素数が予め設定された最大領域内画素数を超える場合に計測不能状態と判定する計測不能状態検出手段と、フレーム画像中の連接領域群と直前のフレーム画像中の連接領域群とを比較して、その比較結果からフレーム画像中で移動体を抽出し、当該移動体を計数する追跡および計数手段を備えるものである。
【００１７】
また、請求項８に記載の移動体の計数プログラムは、計数対象物である移動体が撮影された動画像に対して、連続する複数枚のフレーム画像中における同一座標の各画素中から輝度が最明値であるものまたは最暗値であるものを抽出し、当該最明画素の集合からなる最明画像または最暗画素の集合からなる最暗画像を作成してこの最明画像または最暗画像を計数処理の基礎であるベースデータとして記憶装置に記憶するベースデータ更新処理と、フレーム画像とベースデータの画像との背景差分である２値画像を作成し、該２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出し記憶装置に記憶する移動体候補画素抽出処理と、当該選び出された画素の集まりを連接領域として抽出し記憶装置に記憶するラベリング処理と、連接領域のうち面積が最大となる連接領域が予め設定された最大領域面積を超える場合または連接領域の値が１である画素数が予め設定された最大領域内画素数を超える場合に計測不能状態と判定する計測不能状態検出処理と、フレーム画像中の連接領域群と直前のフレーム画像中の連接領域群とを比較して、その比較結果からフレーム画像中で移動体を抽出し、当該移動体の計数結果を記憶装置に記憶する追跡および計数処理をコンピュータに繰り返し実行させるものである。
【００１８】
したがって、移動体が撮影された動画像に対して、連続する複数枚のフレーム画像中における同一座標の各画素中から輝度が最明または最暗値であるものを抽出し、当該最明画素または最暗画素の集合からなる画像を計数処理の基礎であるベースデータとして記憶し、最新フレーム画像とベースデータとの差分をとることによって順次作成される２値画像に関しては、その差分データの中で一定範囲内に密集する複数画素を選び出し、この集まりを一の連接領域として抽出し、さらに当該連接領域のうち面積が最大となる連接領域が予め設定された閾値を超える場合または当該連接領域のうち値が１である画素の数が予め設定された閾値を超える場合に計測不能状態と判定する。以上のようにして作成された連接領域群を一段階前のフレーム画像中の連接領域群と対比し、両者の差異に基づき移動体が抽出された場合に、計数対象としてカウントしている。
【００１９】
請求項２に記載の発明は、請求項１に記載の移動体の計数方法において、ベースデータ更新処理は、予め定めた時間が経過した場合または予め定めたフレーム数の処理が終了した場合毎に、ベースデータを更新するようにしている。したがって、ベースデータを作成することに加え、天候の変化等、背景画像の輝度に変化が生じる場合を考慮し、画面全体の変化に対して輝度分布の変化を定期的に計測し当該ベースデータの更新をすることとしている。
【００２０】
請求項３に記載の発明は、請求項１または２のいずれかに記載の移動体の計数方法において、さらにフレーム画像の各座標に配列を設定し、該座標の配列において差分を連続検出したフレーム数が、予め設定された残像効果コマ数を超える場合にベースデータの更新を行う残像効果処理を行うようにしている。したがって、フレーム画像の各座標の配列を用いて複数フレーム間に連続して生じた差分変化を検出し、ベースデータの更新を行うことにより背景変化が生じた場合でも誤検出をしないようにしている。
【００２１】
請求項４に記載の発明は、請求項１から３までのいずれかに記載の移動体の計数方法において、追跡および計数処理は、移動体の移動方向と同一の移動体のみを検出するようにしている。したがって、抽出された移動体のうち移動体が通常移動する方向に移動する移動体のみを検出するようにし、異なる方向へ移動する移動体の誤検出をしないようにしている。
【００２２】
請求項５に記載の発明は、請求項１から４までのいずれかに記載の移動体の計数方法において、追跡および計数処理を予め設定した設定回数繰り返し処理し、移動体の検出を行うようにしている。したがって、複数フレームに渡って検出された移動体のみを移動体として計数を行うこととし、ワイヤーの動きによる画面内の変化や、壁面の模様変形といった移動体以外の誤検出をしないようにしている。
【００２３】
請求項６に記載の発明は、請求項１から５までのいずれかに記載の移動体の計数方法において、追跡および計数処理は、移動体の移動方向に対して予め設定された画素数以上移動した移動体のみを検出するようにしている。したがって、移動方向に対して一定画素数以上移動した移動体のみを計数し、例えば一定の範囲内で行ったりきたりするだけの移動体の誤検出をしないようにしている。
【発明の効果】
【００２４】
以上説明したように、本発明にかかる移動体の計数方法、移動体の計数装置および移動体の計数方法によれば、水中または水面における移動体の計数において生じうる種々の誤検出の要因に対して、計測不能状態の判定を行う等、種々の対策を施すことにより誤検出をなくし、移動体の計数精度の向上を図ることができる。例えば、背景変化が継続的に発生するような撮影環境において、誤計測を避けるために、計数を停止し、背景差分のためのベースデータを更新することで、誤検出を未然に防ぐことができる。
【００２５】
作業員の目視作業と同程度の高再現率、高精度化の実現により、当該計数業務を不要とし作業者の労力を軽減することができる。また、作業員の介在をなくすことにより、低コストで計数処理を実現することが可能である。また、移動体の自動計数処理を実時間処理で長時間に渡って実現することが可能である。
【００２６】
また精度の高い移動体検出が可能で、既存のソフトウェアに比べ高速な方式となっている。ソフトウェアにより移動体の自動計数を実現しているため、特殊な専用計算機等を準備することなく一台のビデオカメラと一台のパーソナルコンピュータにより実現することが可能であり、導入が容易である。さらに、計測機器を水中に入れる必要がないため、機器のメンテナンス等も容易である。また、広い範囲を面的に計測可能であるため、低コストに広い範囲を計測できる。また、既存の計測装置をそのまま流用して計測を行うことができる。
【００２７】
更に、請求項２に記載の移動体の計数方法によれば、天候の変化などで背景画像の輝度に変化が生じる場合等を考慮し、背景差分の基礎となるベースデータを定期的に更新することにより、誤検出を未然に防いで移動体の計数精度を向上することができる。
【００２８】
更に、請求項３に記載の移動体の計数方法によれば、ワイヤー等の動きが微少である背景変化についても適切にベースデータの更新を行うことができ、誤検出を未然に防いで移動体の計数精度を向上することができる。
【００２９】
更に、請求項４に記載の移動体の計数方法によれば、異なる方向へ移動する移動体の誤検出をしないようにすることで、誤検出を未然に防いで移動体の計数精度を向上することができる。
【００３０】
更に、請求項５に記載の移動体の計数方法によれば、移動体を複数フレームに渡って追跡して計数を行うことにより、同一の移動体を複数回カウントしたり、移動体のカウント漏れ、誤検出をなくし移動体の計数精度を向上することができる。
【００３１】
更に、請求項６に記載の移動体の計数方法によれば、移動方向に対して一定以上移動した移動体のみを計数することで、一定の範囲内で行ったりきたりするだけの移動体（回遊するアユ等）の誤検出を未然に防いで移動体の計数精度を向上することができる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の構成を図面に示す実施の形態に基づいて詳細に説明する。本発明の移動体検出方法は、計数対象物である移動体が撮影された動画像に対して、連続する複数枚のフレーム画像中における同一座標の各画素中から輝度が最明値であるものまたは最暗値であるものを抽出し、当該最明画素の集合からなる最明画像または最暗画素の集合からなる最暗画像を作成してこの最明画像または最暗画像を計数処理の基礎であるベースデータとして記憶するベースデータ更新処理と、フレーム画像とベースデータの画像との背景差分である２値画像を作成し、該２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出す移動体候補画素抽出処理と、当該選び出された画素の集まりを連接領域として抽出するラベリング処理と、連接領域のうち面積が最大となる連接領域が予め設定された最大領域面積を超える場合または連接領域の値が１である画素数が予め設定された最大領域内画素数を超える場合に計測不能状態と判定する計測不能状態検出処理と、フレーム画像中の連接領域群と直前のフレーム画像中の連接領域群とを比較して、その比較結果からフレーム画像中で移動体を抽出し、当該移動体を計数する追跡および計数処理を行うことを特徴とするものである。ここで、本発明により計数可能な移動体はアユに限られず、他の魚類であっても良い。また、計数対象は魚類に限らず、例えばゴミの量、流れる葉の量の計数等に用いることもできるものである。
【００３３】
本実施形態では、画像処理によるアユ遡上数自動計数の手法について説明する。
【００３４】
以下、本発明の構成を図１〜図１８に示す実施の形態に基づいて詳細に説明する。
【００３５】
先ず、本発明の移動体の計数装置について説明する。図１に移動体の計数装置の構成の一例を示す。移動体の計数装置は、ビデオカメラ等の撮像手段１と、動画像が入力される入力インターフェース２と、動画像が表示される出力装置３と、キーボード、マウス等の入力装置４と、演算処理を行う中央処理演算装置（ＣＰＵ）５と、一時的な作業データ等が記録される主記憶装置６と、計数結果等が記録される補助記憶装置７としてのハードディスク等を備えている。上記のハードウェア資源は例えばバス８を通じて電気的に接続されている。また、撮像手段１から入力される撮影画像は、撮像手段１から直接入力インターフェース２を介して入力されるようにしても、一旦記録媒体等に記録した上で入力されるようにしても良い。入力インターフェース２は、例えばビデオカメラから入力される映像やビデオテープに記録された映像をコンピュータでの処理が可能なデータに変換する機能や、映像を構成する各フレームをそれぞれ画像データとして補助記憶装置に記録する機能を有する。出力装置３は、例えばディスプレイであり、ユーザインターフェース画面などが表示される。
【００３６】
また、補助記憶装置７には本発明の移動体の計数検出プログラムが記録されており、当該プログラムがＣＰＵ５に読み込まれ実行されることによって、コンピュータが移動体の計数装置として機能する。また、移動体検出装置のＣＰＵ５は、計数対象物である移動体が撮影された動画像に対して、連続する複数枚のフレーム画像中における同一座標の各画素中から輝度が最明値であるものまたは最暗値であるものを抽出し、当該最明画素の集合からなる最明画像または最暗画素の集合からなる最暗画像を作成してこの最明画像または最暗画像を計数処理の基礎であるベースデータとして記憶するベースデータ更新手段９と、フレーム画像とベースデータの画像との背景差分である２値画像を作成し、該２値画像中において互いの距離が一定距離内にある値が１の画素の集まりを選び出す移動体候補画素抽出手段１０と、当該選び出された画素の集まりを連接領域として抽出するラベリング手段１１と、連接領域のうち面積が最大となる連接領域が予め設定された最大領域面積を超える場合または連接領域の値が１である画素数が予め設定された最大領域内画素数を超える場合に計測不能状態と判定し、計測不能状態と判断された場合にベースデータ更新処理に戻る計測不能状態検出手段１２と、フレーム画像中の連接領域群と直前のフレーム画像中の連接領域群とを比較して、その比較結果から前記フレーム画像中で前記移動体を抽出し、当該移動体を計数する追跡および計数手段１３と、画面全体の輝度や輝度分布を定期的にあるいは常時計測し、それらに一定の閾値を超えた変化があった場合にベースデータの更新を行う平均輝度変化検出手段２１と、停止状態のワイヤー等の移動しない変化領域をベースデータに合成する残像効果手段２２とが読み込まれた移動体検出プログラムを実行するものである。尚、上記移動体の計数装置の構成は一例であり、これに限られるものではない。
【００３７】
以下に述べる処理において、データの一時記録、保管を伴う処理については、すべて移動体の計数装置のＣＰＵ５が、ＣＰＵ５内のキャッシュメモリ、または主記憶装置６、または記憶装置のバッファ領域上で行うものである。また、以下、単に記憶装置とした場合は、ＣＰＵ５内のキャッシュメモリ、主記憶装置６、補助記憶装置７のいずれかをいうものとする。また、判定結果、移動体検出時の検出画像等は、移動体の計数装置の補助記憶装置７に限らず、インターネット、ＬＡＮ等を経由して外部の記憶装置に記録することとしても良い。また、閾値、パラメータは、予め記憶装置に記憶しておくものとする。尚、パラメータの設定画面を出力装置３に表示させて登録可能にしても良い。
【００３８】
以下、本実施形態における画像処理によるアユ遡上数自動計数方法について述べる。まず処理全体のフローを概説し、その後に各処理ブロックの内容を詳細に説明する。
【００３９】
まず、全体の処理フローについて以下に説明する（図１１参照）。本実施形態では、先ず計数対象物が撮影された動画像の設定（Ｓ００１）をして、背景となるベースデータの作成及び更新を行う平均輝度変化検出処理（Ｓ１００）及びベースデータ更新処理（Ｓ２００）を行い、次いで移動体候補画素抽出処理（Ｓ３００）及び残像効果処理（Ｓ４００）を行う。移動体候補画素抽出処理では、背景と異なる画像特徴を持つ画素を検出する。しかしながら単に背景と異なる画素を取り出すだけなのでかかる画像には様々なノイズが含まれている。続いて、数画素程度の明らかなノイズを除去し、背景差分処理でかすれてしまい複数に分かれてしまった領域を結合し、それぞれの領域に識別番号を付与するラベリング処理（Ｓ５００）を行う。さらに、計測不能状態検出処理において計測不能状態と判定した場合には、計測を停止してベースデータ更新処理へ戻る計測不能状態検出処理（Ｓ６００）、を行い、そして最後の追跡及び計数処理（Ｓ７００）で、直前に撮影した画像のラベリング結果と比較し、移動速度や移動方向といったアユの特性を考慮しつつ魚影の移動を調べ、実際に移動している魚影を検出して魚数を数える。この追跡及び計数処理での最後の処理を終えると、ループを辿って最初の処理を行うベースデータ更新処理に戻るものである。
【００４０】
本実施形態では、先ず動画像の設定（Ｓ００１）を行う。動画像の設定は、動画像を移動体の計数装置に取り込むものである。尚、当該動画像の映像データの取得は、ビデオカメラ等の撮像手段で撮影されている映像データをリアルタイムでコンピュータに取り込むようにしても、またはビデオカメラ等により撮影された映像を一旦ビデオテープ等に記録したうえで、コンピュータの補助記憶装置７に記憶させ、記憶された映像データに対して処理を行うようにしてもよい。さらに、リアルタイムでコンピュータに取り込んだ画像を同時に補助記憶装置７に記憶させるようにしても良い。即ち、対象となる動画像は、リアルタイムの画像であっても、過去に撮影された画像であってもよい。尚、以下に述べる画像処理は、ビデオカメラで撮影された映像データの各フレーム画像に対して行われるものである。
【００４１】
本実施形態では、ビデオカメラは例えば毎秒３０フレームの画像を生成するものとしている。ビデオカメラより得られる各フレーム画像は、例えばコンピュータでの処理が可能なＲＧＢのカラーモデルに変換される。当該各フレーム画像を本実施形態における原画像とする。原画像を構成する各画素は、色情報値として、０（黒）〜２５５（白）までの２５６階調の明るさの値（輝度値）を有する。原画像の解像度は、例えば水平方向画素数を７２０画素とし、垂直方向画素数を４８０画素としている。但し、原画像はカラー画像に限定されずグレースケール画像に変換しても良く、また解像度も上記の例に限定されるものではない。尚、本実施形態において実際の画像処理を行う場合における処理対象は取り込まれた動画像の全体である必要はなく、計数対象であるアユが通過し、尚かつ外乱の加わりにくい限定的な部分、例えば不要な部分にマスク処理して得られた部分で足りる。本明細書ではこの部分を計数対象領域と称し、例えば図７に符号Ｓで示している。このようなマスク処理を前提とすることで、計算量を減らしかつノイズの混入を制限できるため、高速かつ高精度な処理が可能となる。例えば、ＤＶ−ＮＴＳＣの場合であれば映像の画素数は７２０×４８０ピクセルであるが、マスク処理をすることによって計数対象領域Ｓを限定することとしている。
【００４２】
本実施形態では、ビデオカメラで撮影された映像データの各フレーム毎に処理を行い、計数結果を計測時刻とともにファイルに記録するものとした。本発明の移動体検出方法によれば、原画像としてビデオカメラからの入力画像の画像品質(DVフォーマット：７２０×４８０画素、インターレース２９．９７ｆｐｓ、圧縮 約１／５)と同様の画像品質そのまま用いて高速な処理が可能である。尚、上記入力画像の画像品質は一例でありこれに限られるものではない。
【００４３】
（平均輝度変化検出処理について）
次に、平均輝度変化検出処理（Ｓ１００）について詳細に説明する。平均輝度変化検出処理は上述したように背景となるベースデータ（図３において符号Ｂで示す）の更新を行うものである。
【００４４】
背景差分とは図２に示すように、背景となる画像(ベースデータ)を記憶しておき、それと現在のカメラ画像との差分を取り、映像の変化分を取り出す手法である。本発明の移動体の計数方法では、アユのいない魚道の画像を記録しておき、現在の画像と引き算をする。現在のフレームにおいてアユが遡上していれば、引き算の結果として符号１４に示すアユの魚影だけが抽出される。本実施形態にて行う画像処理は、固定カメラに映った物体の画像（あるいは物体を表す画像データ）を取り出すという処理を行う。事前に背景となるデータを記憶しておき、現在のカメラ映像と背景データとの差を計算して背景に映っていない部分を取り出すという処理を行う背景差分法を基礎としている。
【００４５】
ここで、ビデオカメラの映像から任意の１フレーム分の画像を抜き出しそれをベースデータＢにするという単純な背景データ作成を行う場合には、ベースデータＢ作成後の背景に変化が生じると、計数時の背景とベースデータＢが異なってしまい正確な計測が妨げられてしまうことがある。ちなみに、ここでいう背景の変化には２種類あり、一つは計測環境全体の照明変化、ビデオカメラのホワイトバランスや露出変化などによる画面全体の変化であり、もう一つは水面の揺らぎや木々の揺らぎなどによる部分的な変化である。
【００４６】
そこで本実施形態では、画面全体の変化に関し、輝度や輝度分布を定期的にあるいは常時計測しておき、それらに一定の閾値（平均輝度変化閾値）を超えた変化があった場合にはベースデータＢを作り直すこととしている。
【００４７】
また、図１２に平均輝度変化検出処理の一例のフローチャートを示す。まず、計数対象領域Ｓの平均輝度を計算し（Ｓ１０１）、前回ベースデータＢを記録した時の平均輝度との差を計算する（Ｓ１０２）。この差が一定値を越えているかどうか判断した結果、一定値を越えていれば（Ｓ１０３：Ｙｅｓ）ベースデータＢを作成し直して更新した（Ｓ１０４）上で平均輝度変化検出処理を終了し、越えていなければ（Ｓ１０３：Ｎｏ）ベースデータＢを更新せずに平均輝度変化検出処理を終了することとしている。
【００４８】
（ベースデータ更新処理について）
次に、ベースデータ更新処理（Ｓ２００）について詳細に説明する。本実施形態では、水面の揺らぎや木々の揺らぎなどによる計数対象領域Ｓの部分的な変化に対しては、複数枚の画像を合成演算してベースデータＢを作成するという方法で対処をしている。このように合成演算をすることで、例えば単一の画像では扱えない時間方向の揺らぎ（経時に伴う変化）を考慮したベースデータＢを作成することが可能となる。
【００４９】
次に、図３を用いてベースデータ作成方法の概念について説明する。連続するフレーム画像（I1,I2,…,In）からベースとなる画像を作成する。I1はベースデータ作成開始時のフレーム画像であり、I2はその次のフレーム画像、InはI1の(n−1)フレーム後の画像である。この場合、ｎ（背景更新フレーム数）を大きくすれば長時間の変化を吸収できるようになるが、低頻度に発生する極端な変化をも含んでしまい検出精度を低下させる可能性があるため、このｎの値は計測環境でテストして決定されることが望ましい。本実施形態におけるプログラムではｎ＝１５として０．５秒の間に１５のフレームを取り込むこととし、１５枚のフレーム画像（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)とする。例えば魚道６が明るく魚影がそれに対して暗い場合は、全座標がそれぞれの最暗値である最暗画像を数式１によって求める。一方、河川に設けた魚道６とその周辺の状況および計数対象とする魚の種類によっては逆に魚道６が暗くそこを通過する魚影の方が明るい色の場合があり、このような場合には全座標がそれぞれの最明値である最明画像を数式２によって求める必要がある。
【００５１】
また、図１３にベースデータ更新処理の一例のフローチャートを示す。まず、直近のベースデータの更新がなされてから経過したフレーム数をＦとする（Ｓ２０１）。尚、Ｆはベースデータが更新される毎に初期値に戻るものとしている。次に、Ｆ＝１の場合（Ｆ２０２：Ｙｅｓ）は、ベースデータ候補Ｂ’のすべてのb(x,y)を現在の画素値i(x,y)とし（Ｓ２０３）、処理を終了する。Ｆ＝１でない場合（Ｓ２０２：Ｎｏ）は、Ｓ２０４に移り、Ｆ＜ｎ（背景更新フレーム数）である場合は、ベースデータ候補Ｂ’のすべての点においてb'(x,y)と現在のフレームの画素値i(x,y)を比較し、i(x,y)が小さければ、b(x,y)をi(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)
例えばｋを１とすると、１σの変動範囲での明るい画像を作成することになる。当然ながら、背景が明るく計数対象が暗い場合にはｋ＜０とし、これとは逆に背景が暗く計数対象が明るい場合にはｋ＞０とする。
【００５３】
以上の処理を、図４及び図５を用いて更に具体的に説明する。図４及び図５に連続する８枚のフレーム画像を示す。まず図４に示す１枚目のフレーム画像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程度の輝度、つまり背景中の最暗画素程度の輝度を移動体の輝度であると誤認するおそれがきわめて少ない。連続するフレーム画像中の全画素に関してこのように最暗画素を抽出して背景データを作成するという合成演算により形成された最暗の背景画像は、計数処理の基礎であるベースデータとなる。なお、上述の場合とは逆に移動体が背景画像よりも明るい場合には、同一座標のうち最明である座標の輝度に基づき基準となる輝度を設定し、最明画像と対比することにより移動体を抽出するものとしている。
【００５４】
このように、本実施形態においては、引き算のもととなるベースデータの作成及び更新において種々の工夫を行っている。そのため撮影環境に柔軟に対応することが可能であり、例えば魚道が明るい時、暗い時それぞれに応じたベースデータとなり、魚影の検出を高精度に行うことができる。また、後に性能評価等を行う際に、計測状況を再現するためには動画像だけでなく、その時点でのベースデータが必要となる。このため本実施形態では、ベースデータを動画像の録画と同時に補助記憶装置７に保存することとした（以下、ベースデータ記録機能という）が、例えば既に撮影環境において十分に閾値のチューニング等がなされ正確な移動体の計数が可能である場合等においては、ベースデータを必ずしも記憶しておく必要はない。
【００５５】
さらに本実施形態では上記処理に加え、予め設定した一定時間（最大無更新期間）毎に強制的にベースデータＢを更新するものとしている。最大無更新期間は、任意に設定可能であり、特定の長さの時間に限られるものではなく、本実施形態では、例えば１０分間とした場合に、１０分ごとにベースデータＢの更新を行うようにしている。また、最大無更新期間はフレーム単位で設定することも可能である。これにより、仮に背景更新が動作しない状況下であっても、１０分毎に強制的に背景更新がなされるため、誤計測はそこでストップするため誤計測を最小限にとどめることが可能である。また、計数時の撮影環境、例えば気象の変動や時間帯による明るさの変化等に対しても追従することが可能となる。尚、この場合、直近のベースデータの更新がなされてから経過したフレーム数Ｆの値を初期化する。
【００５６】
（移動体候補画素抽出処理について）
続いて、移動体候補画素抽出処理（Ｓ３００）について詳細に説明する。この移動体候補画素抽出処理では、ベースデータＢの生成時以外は、常に現在のフレーム画像と生成したベースデータＢとの比較をしてアユ検出のための材料となる画像を作成する処理を行う（図２）。尚、図２における符号１４は、背景差分により抽出されたアユの魚影を示す。具体的には、アユの候補画素を抽出するにあたり、現在のフレーム画像の輝度画像を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値である。
【００５７】
（残像効果処理について）
続いて、残像効果処理（Ｓ４００）について詳細に説明する。本実施形態では、次に例えば魚道に張られたワイヤー等が一旦移動した後、ワイヤーの動き等の背景変化への対応として移動しない変化領域をベースデータに合成する残像効果処理を行うものとしている。本実施形態では、計測不能状態の判定に際して、領域内画素数と領域の面積を用いている。これらは、いずれも計測対象に対して想到の大きさの変化領域を検知することが目的である。そのため、例えばワイヤーの動きが微少である場合についても検知するように設定すると、常に計測不能状態となってしまい、計測を続けることができないこととなってしまう。そこで、本実施形態では、ベースデータとの間には差分が存在するが、停止状態のワイヤー等の移動しない変化領域をベースデータに合成することとしている。
【００５８】
具体的には、フレーム画像の各座標に配列を設定し、当該座標の配列において差分を連続検出したフレーム数を記録をするものである。尚、差分を連続検出したフレーム数とは、例えば次のようにカウントする。
ステップ１．初期値は０とする。
ステップ２．当該フレームにおいて差分として検知された場合、２値画像の値を１とする。
ステップ３．当該フレームにおいて差分を検知されなかった場合、値を０とする。
【００５９】
このようにカウントされた検出回数を、予め設定したパラメータである残像効果コマ数（単位：フレーム）を超えたかどうかを判断し、超えた場合には、ベースデータの当該座標の値b(x,y)を、現フレームの同一座標の画素の輝度i(x,y)に置き換えることとしている。残像効果コマ数は、例えば５コマとするが、これに限られるものではない。この残像効果コマ数を判断することにより、ワイヤーの動き等の微少な背景変化に適切に対応することが可能となる。
【００６０】
また、図１４に残像効果処理の一例のフローチャートを示す。まず各画素(x,y)に対して、差分を連続検出したフレーム数をf(x,y)とする（Ｓ４０１）。次に、f(x,y)が予め設定された残像効果コマ数を超えた画素(x,y)に対し、ベースデータb(x,y)と現在のフレームの画素の値i(x,y)を比較し、i(x,y)が小さければ、b(x,y)をi(x,y)で入れ替える（Ｓ４０２）処理を行うものである。
【００６１】
尚、本実施形態においては、移動体候補画素抽出処理を先に行い、次に残像効果処理を行うこととしているが、上記二つの処理の前後はこれに限られるものではない。即ち、残像効果処理を先に行い、次に移動体候補画素抽出処理を行うこととしても良い。
【００６２】
（ラベリング処理について）
続いて、ラベリング処理（Ｓ５００）について詳細に説明する。移動体候補画素抽出処理で作成した２値画像Ｓにおいて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を超えている場合にはこれら二つの連接領域Ｃの統合・削除は行わない。すべての連接領域Ｃの組の距離について計算をし終えたら（Ｓ５１６）、連接領域Ｃの統合処理を終了する（Ｓ５１８）。その一方で、すべての連接領域Ｃの組について距離計算し終えていなければ、別の連接領域Ｃの組を選択し（Ｓ５１７）、当該二つの連接領域Ｃの距離の計算（Ｓ５１３）をするＳを繰り返す。
【００７０】
最後に、ノイズ除去を目的として、すべての連接領域Ｃのうち、属する画素数が一定数（最小サイズ）以下及び一定数（最大サイズ）以上の連接領域を削除する。この場合の一定値は画面内の計数対象のサイズに依存する閾値となる。以上でラベリング処理を終了する。
【００７１】
（計測不能状態検出処理について）
続いて、計測不能状態検出処理（Ｓ６００）について詳細に説明する。本実施形態のベースデータ更新処理において用いている背景差分は、小さな変化も見逃さない鋭敏な変化検出ができるというメリットがある。しかし背景差分では、背景はあまり変化がないことを前提としているため、例えば背景そのものが常時変化しているような状況では、その特性が生かせず、誤検出を起こしてしまうことがある。例えば魚道に張られたワイヤーが動いた場合や水量が多くなり波立ったりした場合、動画像の一部に魚網等が含まれている場合等は、魚道に継続的に変化が生じることがある。このような場合に、そのまま背景差分を使い続けると誤計測をすることが考えられるため、ベースデータを更新することが必要となる。また、背景変化が継続的に発生する場合には、そもそも計数自体が困難であるため、誤計測を避けるために、計数を停止する必要がある。
【００７２】
このため本実施形態では、ベースデータを更新せずに計測を続けてはいけない状態（以下、計測不能状態という）を認識して計測を停止することとしている。また計測不能状態に陥ったら、再度ベースデータ更新処理に戻り、ベースデータの更新を行うこととしている。
【００７３】
本実施形態では、これらの課題解決のために、背景変化を検知すること及びその際にベースデータを更新し変化が継続的であれば計数を停止するようにしている。本実施形態では、魚影をラベリング処理において密集した変化点を囲む最小の長方形（長方形領域１５）として抽出することとしている（図６）。尚、図６中、長方形領域１５の上方に表示された数値は追跡コマ数１６を、下方に表示された数値は縦方向追跡距離１７を示すものである。また、１８はゴミ等の流出物を示している。尚、出力装置３には、移動物体の出現時刻、連接領域の画素数、移動速度、経路等を画面表示するようにしても良い。また、図７に本発明の移動体の計数プログラムのインタフェース画面の一例を示す。本実施形態では、インターフェース画面に閾値を設定するためのスライダーを出力装置３に動画像と共に表示するようにしている、これによりユーザは閾値をスライダーの操作によって任意に設定可能としている。尚、閾値の設定方法は、これに限られるものではなく、例えば一定の権限を有するユーザのみが閾値の設定変更が可能となるように設定することとしても良い。
【００７４】
また、計測不能状態の認識は、背景変化が生じたかどうかを魚影よりも格段に大きな変化領域が取り出されたか否かで判定することとしている。尚、本実施形態では、大きな変化領域が取り出されたか否か判定するために、当該長方形領域の面積と長方形領域内の変化画素数（以下、領域内画素数という）の二つの値を用いることとしているがこれに限られるものではない。
【００７５】
本実施形態では、長方形領域の面積が、あらかじめ設定した一定の大きさ（最大領域面積）を超えた場合に、計測不能状態と判定するようにしている。これにより、例えば波立ちによる光の反射が、水面に広く発生した場合等の領域の面積が非常に大きくなる場合を検出することができる。これは、光の反射による個々の変化領域は小さいが、密集しながら広く分布するようになるため、上述の領域内画素数は必ずしも多くないが、それらのすべてを取り囲む領域とした場合の面積は大きくなるためである。
【００７６】
領域内画素数は、長方形内の縞模様１９がアユの魚影に対応する変化画素であり、この縞模様１９の面積（画素数）が領域内画素数となる。ラベリング処理では一枚のフレームから複数の領域が抽出されるが、この内いずれか一つでも領域内画素数が予め設定したパラメータ値（最大領域内画素数）を超えた場合に、背景に変化があったものとし計測不能状態を認識することとしている。これは画面に映っている大きな物が動いた場合を意味し、ワイヤーの動きなどを検出することが可能となる。尚、領域内画素数が縞模様となっているのは、インターレースの影響によるものである。
【００７７】
次に、具体的な処理内容について詳述する。移動体候補画素抽出処理において、すべての連接領域Ｃのうち最も面積が最大となるものをmaxSizeとし、またすべての連接領域Ｃの中で、当該領域内に含まれるS(x,y)=1となる画素の数の最大値をmaxPointsとする。ここでmaxSizeが、最大領域面積より大きい場合またはmaxPointsが、最大領域内画素数より小さい場合には、計測可能状態と判断して追跡および計数処理に移ることとしている。このように、二つの条件のいずれかに該当した場合には、計測不能状態と判断して、ベースデータの更新を開始するものとしている。尚、本実施形態では計測不能状態が解消されるまでは、計数を行わないこととしているが、計測不能状態下での計数として別途計数し、補助記憶装置７に記憶することとしてもよい。即ち、計測不能状態下でも計測を行うのか、その場合は計数を停止するのかを予め設定しておけばよい。尚、本実施形態では、二つの条件に該当し続ける間は計数を停止し、その後二つの条件に該当しなくなった場合に計数を再開することとしている。
【００７８】
移動体の計数プログラムが行う計測不能状態検出処理の一例を図１７のフローチャートに示す。先ず、すべての連接領域Ｃの中で、最大の面積をmaxSizeとする（Ｓ６０１）。maxSizeが、最大領域面積より大きい場合（Ｓ６０２：Ｙｅｓ）は、計測不能状態と判定しベースデータの更新を行い（Ｓ６０５）、Ｓ６０６に移る。これに対しmaxSizeが、最大領域面積より小さい場合（Ｓ６０２：Ｎｏ）は、すべての連接領域Ｃの中で、その領域内に含まれるS(x,y)=1となる画素の数の最大値をmaxPointsとする（Ｓ６０３）。maxPointsより最大領域内画素数より大きい場合（Ｓ６０４）は、計測不能状態と判定しベースデータの更新を行い（Ｓ６０５）、Ｓ６０６に移る。これに対しmaxPointsが、最大領域内画素数より小さい場合（Ｓ６０４：Ｎｏ）は、計測が可能な状態であると判断して追跡および計数処理（Ｓ７００）に移ることとしている。Ｓ６０６では、予め設定されている計測不能状態でも計数を続けるか否かを判断し、計数するように設定されている場合（Ｓ６０６：Ｙｅｓ）は、追跡および計数処理（Ｓ７００）に移ることとしている。計数しない設定となっている場合（Ｓ６０６：Ｎｏ）は、平均輝度変化検出部へ戻るものである。以上で計測不能状態検出処理を終了する。
【００７９】
（追跡および計数処理について）
続いて、追跡および計数処理（Ｓ７００）について詳細に説明する。追跡及び計数処理では、ラベリング処理により抽出された現在のフレームの連接領域群と一つ前のフレームの連接領域群との比較を行い、移動している対象を検出する。ここで、アユを計数対象とした場合の特徴について簡単に説明しておくと、アユの場合には、うっすらとした魚影の形を変えつつしかもフレーム間で画面にとびとびに撮影されるほど高速に移動するという特徴があるため、このようなアユの様子を、画像の特徴に多くの共通性があることが前提で尚かつゆっくり移動する対象（例えば建物への侵入者など）を検出するために用いられる従来の移動体検出手法で処理しようとすると多数の処理漏れや過剰検出が発生してしまうおそれがある。これに対し、本実施形態においては、高速だがほぼ同じ速度で移動するというアユの性質を生かし、画像特徴の比較などを行わずに移動体を検出することで、精度が高く尚かつ高速な検出を実現している。以下に、本実施形態における追跡および計数の内容について説明する。
【００８０】
まず、魚影とそのほかの移動体を区別することである。区別すべき対象としては、動くワイヤー、水面の反射光、壁面のチラツキ、ゴミなどの流出物がある。従来の方法では川にながれるゴミなど、特にその大きさがアユと同様の範囲にあるものについても誤検出してしまう場合があった。これに対し、本実施形態では川を遡上するアユを計数対象としているため、川の流れる方向に移動する移動体を検出しないようにする必要がある。
【００８１】
魚影と他の移動体の間には、動きに関するいくつかの異なる特徴がある。遡上するアユは、下流から上流に向って移動するのに対し、ゴミや流出物は上流から下流に向って移動する。次にワイヤーによる変化や、壁面の模様変形は、一定の範囲を不規則に移動する。また流量が多い時の水面の乱反射も、移動方向はまちまちで不連続である。これに対しアユは連続した滑らかな動きで、水流が画面の下方から上方に流れている動画像においては、画面の上方から下方に滑らかに通過するものである。特許文献１の技術では、追跡時の方向は計数には無関係であり、上下左右いずれに移動しても計数しているため、例えばアユの大きさの近いゴミ等が水流に乗って流れてきた場合等に誤検出を起こす場合があった。
【００８２】
そこで、本実施形態では、移動方向条件を加え、対象となる移動体の移動方向に移動する移動体のみを計数対象としている。本実施形態では、川の流れに対して遡上するアユのみを計数対象とするものとしているため、下流から上流へと移動する移動体のみを計数対象とすることとしている。また例えば水面を流れる葉を計数対象とするのであれば、逆に上流から下流に流れる移動体のみを計数対象とすればよい。
【００８３】
本実施形態では、移動方向条件の追加は、例えば次のように行われる。まず、現在の画像の連接領域をＣc1,Ｃc2,…,Ｃcn、前フレームの連接領域をＣp1,Ｃp2,…,Ｃpmとする。次に、Ｃck(k＝1,2,…,n)と、Ｃpj(j＝1,2,…,m)の距離を、すべての組み合わせ（Ｃck,Ｃpj）に対して比較する。更に、本実施形態ではＣckの重心からＣpjの重心へのベクトルの向きを求め、かつＣck(k＝1,2,…,n)と、Ｃpj(j＝1,2,…,m)の距離が最短であるものを探索することとしている。ここで本実施形態では、当該ベクトルの向きに対して移動方向条件（移動方向フラグ）を設定し、連接領域の重心の画素位置を基準として、移動方向を判断することとしている。このように、ベクトルの向きから移動体の本来の移動方向のみの移動体を検出することができるので、例えば上流から下流へ水の流れに乗って流れるゴミ等の移動体を誤検出しないものとしている。尚、移動方向フラグは、川の流れ方向に移動する移動体を計数対象とする場合であれば、移動方向条件を川の流れ方向に設定するようにしても良いし、また移動方向条件を設定せずに計数を行うこととしても良い。
【００８４】
また、上記Ｃck(k＝1,2,…,n)と、Ｃpj(j＝1,2,…,m)の距離がある下限値（最小移動画素）以上、ある上限値（最大移動画素）以下の場合に、二つの領域は移動した同じ領域であると判定する。つまり距離をｄとし、上限をｄmax、下限をｄminとすると、ｄmin≦ｄ≦ｄmax  となるＣckとＣpjの組があった場合に、ＣckはＣpjが動くことによって生じた同じ対象についての連接領域であると判定する。ここで下限ｄminを設定するのは、移動量の少ないノイズ状の領域を削除するのが目的である。ノイズ状の領域としては、主に水面の反射や屈折、あるいは揺れ動く影などが該当する。一方、上限ｄmaxを設定するのは当該連接領域Ｃを別の対象と混同しないようにするためであり、この値をある程度大きくとった場合にはフレーム間で大きく移動する対象も漏れなく検出することが可能となるが、複数の対象が同時に画面に現れた場合にそれらを混同する場合があるので、上限ｄmaxをあまり大きくとることはせず、計数対象の移動速度に関する事前知識に基づき適切に設定することが望ましい。例えば、１／３０秒間における画像中での平均移動距離が１０画素で、標準偏差σが３画素であれば、１σとして７画素をｄmin、１３画素をｄmaxとする。条件を満たす組が複数存在する場合は、より近い方を選択する。
【００８５】
また、例えば色やテクスチャ（ここでいうテクスチャとは表面上の「きめ」や模様などのこと）など、画像の特徴にフレーム間で一貫性がある対象の場合には、ヒストグラムや相関などを利用した類似性判定を行って組み合わせの対象を限定することで精度を向上させるといった工夫も可能である。ただしこのような類似性判定を実施すると一般的に計算量が増えるため、計数・計測の目的に合わせて類似性判定を実施するかどうか適宜取捨選択することが好ましい。
【００８６】
上記手法により現在の画像における連接領域Ｃと前フレームの連接領域Ｃとが同一のアユの影を表していると判定できた場合を計数対象とすることとしている。しかしながら、例えば、特許文献１に記載の技術のように各フレーム毎に移動体の計数を行うとゴミ等の対象となる移動体以外を計数してしまうおそれが高い。そこで、本実施形態では、複数フレームに渡って検出された移動体のみを移動体として計数を行うこととしている。本実施形態では、例えば３フレームから１０フレーム程度連続して検出を行うこととしている。尚、追跡を行うフレーム数を、追跡コマ数として予め設定することとしている。
【００８７】
具体的には、追跡および計数処理において、予め追跡コマ数として設定されたフレーム数以上にわたって、現在の画像における連接領域Ｃと前フレームの連接領域Ｃとが同一のアユの影を表していると判定できた場合に、アユの計数をしたものとして、計数対象の計測数に１をカウントして増やす。このカウント済みの対象に関しては、カウント以降も計数対象領域Ｓから消えるまで追跡を継続するが再度のカウントは行わない。
【００８８】
本実施形態では、上記のように追跡コマ数を加え複数フレームに渡って追跡を行うことにより、例えばワイヤーの動きによる画面内の変化や、壁面の模様変形等の単発的な変化を魚影として誤検出することを防止している。これにより、アユのように連続した動きをするもののみを扱うことが可能となる。
【００８９】
尚、本明細書でいう「追跡」とは、連続するフレーム（例えばIkとIk+1）間において上述した距離に関する条件 ｄmin≦ｄ≦ｄmax を満たすｄを有するものを同一の計数対象であるとみなし、さらに、その次の連続するフレーム（Ik+1とIk+2）間において同一の計数対象（アユ）とみなすというように連続するフレームで計数対象を同定し続けることをいうものとする。また、本実施形態ではこのように判定時にカウントすることとしているが、この代わりに、画像中の計測可能限界まで追跡し、画像中から消滅した時にカウントする方法を採用することもできる。要は、計数対象となる連接領域一つに対し確実に１のカウントを実施できればよい。
【００９０】
また、魚影が重なった場合あるいは重なっている場合にどのように処理するかについて図８〜図１０を用いて説明する。魚影が途中で重なったり分離したりすると、魚影を表す連接領域は移動体として何であるかを確定することが困難であるが、本実施形態ではこのような場合に一定の処理を施すことによってより正確な計数ができるようにしている。図８〜図１０においては、移動体として未確定の連接領域を白抜きの矩形枠、移動体として確定した連接領域を黒塗りの矩形枠でそれぞれ表している。
【００９１】
まず、画像中に連接領域が出現してすぐに分離した場合には（図８）、分離後の連接領域のそれぞれを＋１とし、計２匹としてカウントする。またこれとは逆に、画像中に出現してからすぐに重なりその後は分離しない場合には（図９）、１匹としてカウントする。さらに、画像中に出現してすぐ重なり、その後二つに分離した場合には（図１０）、分離した方が未確定の領域となるが、その魚影を表す連接領域が動いたことが確認された時点でさらにカウントを増やす。これらの方法により、画面内に類似の対象が同時に複数撮影され、さらには対象数が増減した場合にも安定かつ迅速に計数することができる。なお、魚影を表す連接領域が分離した場合、いずれが分離した方なのかを判断する必要はなく、いずれか一方を分離した方とし、もう一方を元から泳いでいた方とするだけで足りる。この場合、いずれが分離した方になるかは処理の順番により決まり、尚かつ、いずれを先にしても計数結果に変わりはない。
【００９２】
さらに本実施形態では、移動体の移動方向に対して予め設定された移動距離条件以上移動したもののみをアユとして計数するようにしている。この条件を予めパラメータ（縦方向移動距離）として設定することとしている。移動体の移動距離を次のようにして求ることとができる。先ず、重心座標を（x0,y0）とし、nコマ追跡時の重心座標を(xn,yn)とする。次に、本実施形態のようにアユが画面の上方から下方に移動する場合は、｜xn−x0｜として縦方向の移動距離を求めるものである。尚、画面を横方向に移動する場合は、｜yn−y0 ｜として横方向の移動距離を求めることができる。これにより、例えば一定の範囲内で行ったりきたりするだけの移動体はアユとみなさなくなる。アユが夜間回遊を行う場合などの誤検出をなくすことができる。
【００９３】
図７にアユの計数結果画面の一例を示す。以上が動画像の１フレームに対する処理である。以上の実施した後、追跡及び計数処理は、計数結果２０および移動対象物の現時点での存在数等を出力装置の画面に表示する。尚、処理は動画像の終了までループ処理される。
【００９４】
以上のように、本発明の移動体の計数方法、移動体の計数装置、移動体の計数プログラムによれば、固定したビデオカメラで魚道を撮影した映像のみから、画像処理技術によりアユ遡上数を高精度に自動計測することを可能とするものである。しかも、計測装置が市販ないし既存のビデオカメラとＰＣ（パーソナルコンピュータ）のみで構成することも可能であるため導入が簡便であり、設置費用や設置の際の手間を抑えることが可能である。
【００９５】
なお、上述の実施形態は本発明の好適な実施の一例ではあるがこれに限定されるものではなく本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば上述した実施形態においては遡上するアユを計数対象とした場合について説明したが、アユ以外の魚類を対象とすることができることはもちろんのこと、魚類以外の生物、さらには例えば水面を流れる落ち葉など魚類等以外のものをも対象とし、上述した計測手順により一定時間内に計数対象領域Ｓ内を通過する数を自動計数することが可能である。
【００９６】
また、ビデオカメラにより撮影されるのがカラー映像であり、計数対象に色の特徴があるような状況（例えば川面を流れる落ち葉を計測する場合において、川面が灰色なのに対し落ち葉が赤茶けているという状況）であれば、Ｒ，Ｇ，Ｂ色空間を考慮し、背景が暗く計数対象が明るい場合であればそれぞれの最大値、逆に背景が明るく計数対象が暗い場合であればそれぞれの最小値を計測し、ベースデータＢをＢ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
【００９９】
また、本実施形態では動画像の記録において、以下のような機能を追加し実用化の際の利便を図ることとしている。
（１）タイマー録画機能
撮影開始時刻と撮影時間を指定して録画できる機能である。毎日や毎時といった指定も可能である。例えば、アユであれば、夜間は遡上しないことが知られているため、夜間の計測は原則として行う必要はない。よって夜間は、タイマー録画機能により録画を行わないことにすることができる。これにより、例えば電気代などの撮影にかかるコストの削減、また使用する補助記憶装置７等の容量を抑えること可能となる。
（２）計数時録画機能(トリガー録画)
移動体の計数プログラムが移動体を計数した時に録画を開始する機能である。計数が継続している限り、最大録画時間いっぱいまで録画し、計数が終了しても一定時間(終了後録画時間)は録画する機能である。最大録画時間や、終了後録画時間はユーザが任意に設定可能である。
（３）遠隔録画機能
計数を行う現場に設置された移動体の計数装置に遠隔で録画開始を指示する機能である。通常、現場試験の担当者は現場にはおらず無人であることが多い。また、現地との間には低速のネットワーク回線しかないため、低品質のストリーミング監視画像と計測記録を参考に試験状況を観察している。このような場合においても、担当者が目視による観察中に誤計測を発見する場合があり、後の現象再現のために、即座に映像を記録することができるものである。
【０１００】
また、本発明の移動体の計数プログラムが使用するパラメータについてまとめておく。以下のパラメータは予め記憶装置等に設定しておくものである。また、計数対象物及び計数環境によりパラメータの調整（チューニング）が不可欠である。
（１）平均輝度変化検出処理におけるパラメータ
平均輝度変化閾値：平均輝度の変化に関する閾値
（２）ベースデータ更新処理におけるパラメータ
背景更新フレーム数：作成時の使用フレーム数
最大無更新期間：更新後、何も変化がなくても強制的に更新するまでのフレーム数
（３）移動体候補画素抽出処理におけるパラメータ
背景差分閾値：背景差分の閾値
（４）残像効果処理におけるパラメータ
残像効果コマ数：残像効果処理条件
（５）ラベリング処理におけるパラメータ
点結合距離：画素登録ステップでの閾値
領域結合距離：領域統合ステップでの閾値
最小サイズ：移動体とみなす最小の画素数
最大サイズ：移動体とみなす最大の画素数
（６）計測不能状態検出処理におけるパラメータ
最大領域内画素数：最大領域内画素数を超える領域を検知した場合に背景更新を行う
最大領域面積：最大領域面積を超える領域を検知した場合に背景更新する
（７）追跡および計数処理におけるパラメータ
最小移動画素：フレーム間の最小移動距離
最大移動画素：フレーム間の最大移動距離
移動方向フラグ：移動体の移動方向
追跡コマ数：移動体の追跡コマ数の条件
縦方向移動距離：移動体の縦方向移動距離の条件
【０１０１】
また、閾値のチューニング等を行う際には、以下の点についても考慮に入れることが必要である。例えば、アユの遡上時期は大体、毎年４月から７月頃であるが、アユの成長により、遡上初期の4月のアユと、遡上末期の7月のアユでは大きさが違うことに留意する必要がある。画面内の画素数で倍近く違い、また遡上の移動速度も異なる。そのため、遡上初期のアユを考慮した厳しい条件で計数しようとすると、計数漏れを起こす場合があることがわかった。図１８に７月９日のアユ２１の遡上画像を示す。したがって、例えば７月頃のアユをも計数できるようにサイズ条件と速度条件の設定を緩和する必要がある。
【０１０２】
本発明の移動体の計数方法は、閾値の調整により、種々の移動体に対して、また様々な撮影環境にも柔軟に対応することが可能である。
【０１０３】
また、例えば、計数対象物が何であるか及び撮影環境を選択可能とすることで、予め最適化された閾値の組合せを画面に初期値として表示することで、ユーザの利便性を向上を図ることとしても良い。その場合には、予め複数の撮影環境と計数対象による閾値データの組合せを有するデータベースを作成して、補助記憶装置７に記憶させておき、当該データベースを移動体の計数プログラムの起動時に読み出すようにしても良い。
【０１０４】
尚、作業者が目視を行うにより移動体の計数を行う場合であっても、例えば水量が多く波立ちが激しい場合には、そもそもアユの魚影を肉眼で捉えることは困難である。このような場合には、画像処理による移動体の計数を行う本発明では、動画像においてもアユの魚影を捉えることは困難であり正確に計数を行うことができない。
【０１０５】
以上のように、本実施形態で説明した移動体の計数方法、装置、およびプログラムによれば、川を撮影するビデオカメラの映像のみから、画像処理により、川を流れる葉等の計数対象物をごみ等の非計数対象物とを区別して計数することができる。また、人の介在を排除し、計数処理を自動かつリアルタイムで処理をおこなうことが可能である。また、本発明の移動体の計数装置は市販ないし既存のビデオカメラとパーソナルコンピュータのみで構成されるため導入が簡便であり、設置費用や設置の際の手間を抑えることが可能である。
【実施例】
【０１０６】
（実施例１）
約３ヶ月の遡上期間にわたって本発明の移動体の計数プログラムの実験を行った。
【０１０７】
現場試験は２００５年のアユの遡上時期に実施した。その間、タイマー録画機能、計数時録画機能(トリガー録画)及び遠隔録画機能を用いて、動画像の記録を行った。現地には、アユの魚道を上から見下ろすビデオカメラを２台用意し、それぞれ魚道の左半分と右半分を撮影するようにした。ビデオカメラからはＩＥＥＥ１３９４経由で、屋内に設置した計測用ＰＣ、記録用ＰＣの２台のＰＣに接続した。ＰＣには本発明の移動体数プログラムをインストールし、リアルタイムでの計数処理と動画像の記録の双方を行った。動画像を記録した期間は、左半分が４月１２日から６月７日と、７月８日から７月１７日、右半分が４月１２日から６月７日と、７月８日から７月１３日である。尚、記録した動画像の総量は１．６ＴＢ、録画時間は延べ１３５時間であった。
【０１０８】
本発明の移動体の計数プログラムは、ビデオカメラが撮影中の映像をリアルタイムに処理して計数可能である。しかし、リアルタイム計数の精度を評価するには、同時に人間が目視により計数するか、または同じ時刻の動画像を別途記録して計数して精度を評価するが必要となる。
【０１０９】
現地試験は、現在、目視により行われている遡上数計測と同じ時間帯(毎日朝８時から２時間おきに１０分間)の動画像を記録した。本実施例では、移動体の計数プログラムが何かを見つけて計数した時の映像を記録した。その他、特に確認したい現象がある場合は、時間を指定して記録することとした。
【０１１０】
現地試験においては、タイマー録画機能による録画を基本とした。また、計数時録画機能(トリガー録画)は、プログラムが実際に計数している時の映像であるため、正しく計測しているか、または、過剰計測をしているかのいずれかであることが確実なため、過剰計測状況を発見するために記録をおこなった。
【０１１１】
以上の現場試験で取得した映像をもとに、適切なパラメータ値の組み合わせを多数検討し、高い精度を達成するパラメータ値の組み合わせを発見した。表１および表２に評価結果をまとめる。これらはすべて表３に示す同一のパラメータ値で計測した結果である。
【０１１２】
表１、２に本発明の移動体の計数プログラムによる計測性能評価結果を示す。サンプル動画像として、ゴミや虫などが発生した等の様々な課題に対応したもの（ゴミ、虫、壁面チラツキ等）と、通常の遡上映像(通常計測)および、通常の魚影のない映像(魚影なし)を用いた。サンプル動画像の選択方法として、人間が監視している８時、１０時、１２時、１４時、１６時の映像を４月から７月に渡って広範に選択し、その他に課題に相当する映像を選択した。本実施例では、総本数６７本、計５１２分のサンプル動画像を用いた。尚、記録時間は本格的な遡上に入るまでの時期（４月２７日まで）は５分間の記録を行い、４月２８日以降６月までは１０分間の記録を行った。また、記録時間が５分に満たない動画像は、計数時録画機能により録画されたものである。また、「カメラ」とは、魚道の右側、左側のどちらを映しているカメラなのかを示す。また、「実測」とは、人間がビデオ映像をコマ送りして数えたアユの数であり、「計数」とは、計測ソフトが結果として出力したアユの数である。また、「不足」とは計測ソフトが漏らした数を表し、「過剰」とは計測ソフトが余計に数えた数をあらわすものである。また、表３に計測性能評価時のパラメータ値を示す。
【表１】
2007206843.tif 000003
【表２】
2007206843.tif 000004
【表３】
2007206843.tif 000005
【０１１３】
６７本の動画像サンプルでの目視による実測遡上数は６２９匹であった。これに対し、本実験では移動体の計数プログラムは６０８匹と計数した。各動画像サンプル毎に不足数と過剰数を計算し合計すると、過剰数３３、不足数５４であった。よって再現率は、９１％(＝(６２９−５４)／６２９)、精度は、９５％(＝(６０８−３３)／６０８)となった。尚、再現は、不足数の少なさを表し再現率１００％で見落とし０匹を意味する。また精度は、過剰計数の少なさを表し精度１００%で過剰計数０匹を意味するものである。
【０１１４】
これにより、例えば実用化の指標となる再現率及び精度９０％以上をクリアすることができることが確認できた。本実験により、約３ヶ月の遡上期間にわたって作業者の目視による実測にかえて使用することができる実用的な方法として、本発明の移動体の計数プログラムによる自動計数を用いることが可能であることがわかった。
【図面の簡単な説明】
【０１１５】
【図１】本発明の移動体の計数装置の構成の一例を示す図である。
【図２】背景差分により魚影を抽出する方法を簡単に示す模式図である。
【図３】連続するフレーム画像からベースデータを作成する際の処理内容を簡単に示す図である。
【図４】連続する複数枚のフレーム画像を概念的に理解しやすく示す図である。
【図５】本発明にかかる移動体の計数システムによる計数処理の特徴的な概念を説明するためのグラフで、フレーム数１〜８の各フレーム画像中の同一座標(x,y)における画素の輝度ik(x,y)を表したものである。
【図６】アユの魚影と領域内画素数と長方形領域の面積の一例を示す画像である。
【図７】本発明の移動体の計数プログラムのユーザインタフェース画面の一例である。
【図８】移動体が重なる場合の処理例を説明するための図で、移動体が出現してすぐ離れる場合を示したものである。
【図９】移動体が重なる場合の処理例を説明するための図で、移動体が出現してすぐ重なる場合を示したものである。
【図１０】移動体が重なる場合の処理例を説明するための図で、移動体が出現してすぐ重なり、その後離れる場合を示したものである。
【図１１】本発明の一実施形態を示すフローチャートで、移動体の計数装置によりアユ遡上数を自動計数する際の全体の処理手順を表したものである。
【図１２】平均輝度変化検出処理の処理手順の一例を示すフローチャートである。
【図１３】ベースデータ更新処理の処理手順の一例を示すフローチャートである。
【図１４】残像効果処理の処理手順の一例を示すフローチャートである。
【図１５】ラベリング処理における画素登録処理の処理手順の一例を示すフローチャートである。
【図１６】ラベリング処理における連接領域統合処理の処理手順の一例を示すフローチャートである。
【図１７】計測不能状態検出処理の処理手順の一例を示すフローチャートである。
【図１８】アユの遡上画像の一例を示す画像である。
【符号の説明】
【０１１６】
９  ベースデータ更新手段
１０  移動体候補画素抽出手段
１１  ラベリング手段
１２  計測不能状態検出手段
１３  追跡および計数手段
２１  平均輝度変化検出手段
２２  残像効果手段
Ｂ  ベースデータ
Ｃ  連接領域
Ｉ  フレーム画像
Ｓ  計数対象領域
【図１】
2007206843.tif 000006
【図２】
2007206843.tif 000007
【図３】
2007206843.tif 000008
【図４】
2007206843.tif 000009
【図５】
2007206843.tif 000010
【図８】
2007206843.tif 000011
【図９】
2007206843.tif 000012
【図１０】
2007206843.tif 000013
【図１１】
2007206843.tif 000014
【図１２】
2007206843.tif 000015
【図１３】
2007206843.tif 000016
【図１４】
2007206843.tif 000017
【図１５】
2007206843.tif 000018
【図１６】
2007206843.tif 000019
【図１７】
2007206843.tif 000020
【図６】
2007206843.tif 000021
【図７】
2007206843.tif 000022
【図１８】
2007206843.tif 000023