(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024114658
(43)【公開日】2024-08-23
(54)【発明の名称】オブジェクトの計数装置、方法及び電子機器
(51)【国際特許分類】
G06T 7/60 20170101AFI20240816BHJP
G08G 1/04 20060101ALN20240816BHJP
【FI】
G06T7/60 110
G08G1/04 C
【審査請求】未請求
【請求項の数】10
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024017966
(22)【出願日】2024-02-08
(31)【優先権主張番号】202310099517.X
(32)【優先日】2023-02-10
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】ジャン・ナヌ
(72)【発明者】
【氏名】タヌ・ジミン
【テーマコード(参考)】
5H181
5L096
【Fターム(参考)】
5H181AA01
5H181CC04
5H181DD01
5H181EE03
5L096AA06
5L096BA04
5L096CA04
5L096EA43
5L096FA06
5L096FA18
5L096FA52
5L096HA02
(57)【要約】
【課題】本発明の実施例は、オブジェクトの計数装置、方法及び電子機器を提供する。
【解決手段】該オブジェクトの計数装置は、入力画像を二値化されたマスク画像(mask)に変換し、該マスク画像におけるオブジェクト輪郭(contours)を検出する第1の検出部と、各該マスク画像の該オブジェクト輪郭における第1の画素(即ち、白色の画素)の数に基づいて、ハイライト波形(highlightwave)を生成する第1の生成部と、該ハイライト波形に基づいて、オブジェクトを計数する第1の計数部と、を含む。本発明に係るオブジェクトの計数装置では、画素数から得られたハイライト波形に基づいて計数を行うことで、計数の正確性を向上させ、計算コストを低減させることができる。
【選択図】
図8
【特許請求の範囲】
【請求項1】
オブジェクトの計数装置であって、
入力画像を二値化されたマスク画像に変換し、前記マスク画像におけるオブジェクト輪郭を検出する第1の検出部と、
各前記マスク画像の前記オブジェクト輪郭における第1の画素の数に基づいて、ハイライト波形を生成する第1の生成部と、
前記ハイライト波形に基づいて、オブジェクトを計数する第1の計数部と、を含む、装置。
【請求項2】
前記マスク画像の前記オブジェクト輪郭における第1の画素の数と関心領域における画素の数との比率が第3の閾値よりも大きい場合、前記第1の生成部は、前記比率を前記ハイライト波形の1つのデータとする、請求項1に記載の装置。
【請求項3】
前記比率が第4の閾値よりも大きい場合、前記第1の生成部は、ピークフラグを1に設定する、請求項2に記載の装置。
【請求項4】
前記第1の計数部が前記ハイライト波形に基づいてオブジェクトを計数することは、
前記ハイライト波形におけるピークについて、該ピークの両側の所定値を有するデータに対応する2つのフレーム番号を決定することと、
前記2つのフレーム番号にそれぞれ対応するオブジェクト輪郭の外接境界枠を取得し、該2つの境界枠の位置を比較し、該ピークに対応するオブジェクトの移動方向及び移動距離を決定することと、
該ピークに対応するオブジェクトの移動方向と関心領域におけるオブジェクトの所定の移動方向とが一致し、且つ前記移動距離が距離閾値以上であると決定された場合、該関心領域を通過するオブジェクトの計数値を増加させることと、を含む、請求項1に記載の装置。
【請求項5】
前記入力画像に対して物体検出及び追跡を行った結果に基づいて、オブジェクトを計数する第2の計数部と、
前記ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合する併合部と、をさらに含む、請求項1に記載の装置。
【請求項6】
ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合することは、
追跡結果に基づいて計数する期間において、現在の関心領域の計数値が変化した場合、該期間に対応する波形計数フラグ値に対して数値増加の操作を行い、ハイライト波形に基づいて計数する際に、該波形計数フラグ値が初期値ではない場合、ハイライト波形に基づく計数値を変更しないこと、を含む、請求項5に記載の装置。
【請求項7】
ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合することは、
ハイライト波形に基づいて計数する期間において、前記マスク画像におけるオブジェクト輪郭の境界枠と、追跡により得られたオブジェクトの境界枠とを比較し、重なる場合、該追跡により得られたオブジェクトの計数フラグを第1の値に設定することと、
追跡結果に基づいて計数する際に、計数フラグが第1の値であるオブジェクトについて計数しないことと、を含む、請求項5に記載の装置。
【請求項8】
請求項1乃至7の何れかに記載のオブジェクトの計数装置を有する、電子機器。
【請求項9】
オブジェクトの計数方法であって、
入力画像を二値化されたマスク画像に変換し、前記マスク画像におけるオブジェクト輪郭を検出するステップと、
各前記マスク画像の前記オブジェクト輪郭における第1の画素の数に基づいて、ハイライト波形を生成するステップと、
前記ハイライト波形に基づいて、オブジェクトを計数するステップと、を含む、方法。
【請求項10】
前記入力画像に対して物体検出及び追跡を行った結果に基づいて、オブジェクトを計数するステップと、
前記ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合するステップと、をさらに含む、請求項9に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施例は、画像処理の技術分野に関する。
【背景技術】
【0002】
車両の計数は、高度道路交通システム(Intelligent Transport System:ITS)における最も重要な技術の1つである。これによって、交通の分布を分析し、交通渋滞という問題を解決することに役立つ。人工知能技術の発展に伴い、昼間の車両計数の正確性は益々高くなっている。
【0003】
なお、上述した技術背景の説明は、本発明の技術案を明確、完全に理解させるための説明であり、当業者を理解させるために記述されているものである。これらの技術案は、単なる本発明の背景技術部分として説明されたものであり、当業者により周知されたものではない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
夜間の車両計数は難題の1つである。高度なディープラーニング手法を使用しても、夜間に撮影された画像から車両の特徴を殆ど抽出できないため、車両の検出及び追跡は困難である。また、ヘッドライトが点灯している車両も検出結果に影響を与える。
【0005】
上記の技術的問題点の少なくとも1つを鑑み、本発明の実施例は、画素数から得られたハイライト波形に基づいて計数を行うことで、計数の正確性を向上させ、計算コストを低減させることができる、オブジェクトの計数装置、方法及び電子機器を提供する。
【課題を解決するための手段】
【0006】
本発明の実施例の1つの態様では、オブジェクトの計数装置であって、入力画像を二値化されたマスク画像(mask)に変換し、前記マスク画像におけるオブジェクト輪郭(contours)を検出する第1の検出部と、各前記マスク画像の前記オブジェクト輪郭における第1の画素(即ち、白色の画素)の数に基づいて、ハイライト波形(highlightwave)を生成する第1の生成部と、前記ハイライト波形に基づいて、オブジェクトを計数する第1の計数部と、を含む、装置を提供する。
【0007】
本発明の実施例のもう1つの態様では、オブジェクトの計数方法であって、入力画像を二値化されたマスク画像(mask)に変換し、前記マスク画像におけるオブジェクト輪郭(contours)を検出するステップと、各前記マスク画像の前記オブジェクト輪郭における第1の画素(即ち、白色の画素)の数に基づいて、ハイライト波形(highlightwave)を生成するステップと、前記ハイライト波形に基づいて、オブジェクトを計数するステップと、を含む、方法を提供する。
【0008】
本発明の実施例のもう1つの態様では、コンピュータプログラムが記憶されたメモリと、プロセッサとを含む電子機器であって、前記プロセッサは、前記コンピュータプログラムを実行して上記のオブジェクトの計数方法を実現するように構成される、電子機器を提供する。
【0009】
本発明の実施例の有利な効果の1つは以下の通りである。本発明に係るオブジェクトの計数方法では、画素数から得られたハイライト波形に基づいて計数を行うことで、計数の正確性を向上させ、計算コストを低減させることができる。
【0010】
本発明の特定の実施形態は、後述の説明及び図面に示すように、詳細に開示され、本発明の原理を採用されることが可能な方式を示している。なお、本発明の実施形態は、範囲上には限定されるものではない。本発明の実施形態は、添付されている特許請求の範囲の主旨及び内容の範囲内、各種の変更、修正、及び均等的なものが含まれる。
【図面の簡単な説明】
【0011】
ここで含まれる図面は、本発明の実施例を理解させるためのものであり、本明細書の一部を構成し、本発明の実施例を例示するためのものであり、文言の記載と合わせて本発明の原理を説明する。なお、ここに説明される図面は、単なる本発明の実施例を説明するためのものであり、当業者にとって、これらの図面に基づいて他の図面を容易に得ることができる。
【
図1】本発明の実施例に係るオブジェクトの計数方法の一例の概略図である。
【
図2】ステップ101において入力画像を二値化マスク(mask)画像に変換するステップの一例の概略図である。
【
図3】入力画像とマスク画像の一例の概略図である。
【
図5】ハイライト波形に基づいてオブジェクトを計数する方法の一例の概略図である。
【
図8】オブジェクトの計数装置の一例の概略図である。
【
図9】本発明の実施例に係る電子機器の概略図である。
【発明を実施するための形態】
【0012】
本発明の上記及びその他の特徴は、図面及び下記の説明により明確になる。明細書及び図面では、本発明の特定の実施形態、即ち本発明の原則に従う一部の実施形態を表すものを公開している。なお、本発明は説明される実施形態に限定されず、本発明は、特許請求の範囲内の全ての修正、変形されたもの、及び均等なものを含む。
【0013】
本発明の実施例では、用語「第1」、「第2」は異なる要素を名称で区分するためのものであり、これらの要素の空間的配列又は時間的順序などを意味するものではなく、これらの要素はこれらの用語に限定されない。用語「及び/又は」は列挙された用語の1つ又は複数のうち何れか及びその組み合わせを含む。用語「包括」、「含む」、「有する」は、説明された特徴、要素、素子又は部材の存在を意味するが、他の1つ又は複数の特徴、要素、素子又は部材の存在又は追加を排除するものではない。
【0014】
本発明の実施例では、単数形の「一」、「該」等は複数形を含み、「一種」又は「一類」を意味し、「1つ」に限定するものではない。また、用語「前記」は、文脈上明確に指示されない限り、単数形及び複数形両方を含む。また、文脈上明確に指示されない限り、用語「応じて」は「少なくとも部分的に応じて」を意味し、用語「に基づいて」は「少なくとも部分的に基づいて」を意味する。
【0015】
1つの実施形態について説明及び/又は示される特徴は、1つ又は複数の他の実施形態に同一又は同様な方式で使用され、他の実施形態における特徴と組み合わせ、或いは他の実施形態の特徴の代わりに使用してもよい。用語「包括」又は「含む」は、説明された特徴、要素、素子又は部材の存在を意味するが、他の1つ又は複数の特徴、要素、素子又は部材の存在又は追加を排除するものではない。
【0016】
<実施例1>
本発明の実施例は、オブジェクトの計数方法を提供する。
【0017】
図1は、本発明の実施例に係るオブジェクトの計数方法の一例の概略図である。
図1に示すように、オブジェクトの計数方法は、以下のステップを含む。
【0018】
ステップ101:入力画像を二値化されたマスク画像(mask)に変換し、該マスク画像におけるオブジェクト輪郭(contours)を検出する。
【0019】
ステップ102:各該マスク画像の該オブジェクト輪郭における第1の画素の数に基づいて、ハイライト波形(highlightwave)を生成する。
【0020】
ステップ103:該ハイライト波形に基づいて、オブジェクトを計数する。
【0021】
本発明の実施例1によれば、オブジェクトの計数方法では、画素数から得られたハイライト波形に基づいて計数を行うことで、計数の正確性を向上させ、計算コストを低減させることができる。本発明の方法は、特に夜間環境におけるオブジェクト計数結果を改善することができる。
【0022】
本発明では、オブジェクトは、車両などの乗り物又は他のオブジェクトであってもよい。車両などの乗り物は夜間に走行している際にライトを点灯させるため、本発明のオブジェクトの計数方法は、夜間に走行する乗り物又は発光可能なオブジェクトを計数することに特に適している。本発明の以降の説明では、該オブジェクトが乗り物であることを一例として説明するが、該説明は、該オブジェクトが他のオブジェクトである場合にも同様に適用される。また、該方法は、夜間のシナリオに限定されず、夜間よりも照明が十分な他のシナリオにも適用可能である。
【0023】
図2は、ステップ101において入力画像を二値化マスク(mask)画像に変換するステップの一例の概略図である。
図2に示すように、入力画像を二値化マスク(mask)画像に変換する方法は、以下のステップを含む。
【0024】
ステップ201:入力画像をグレースケール画像に変換する。
【0025】
ステップ202:閾値に基づいてグレースケール画像を二値画像に変換する。
【0026】
ステップ203:二値画像に対して膨張(dilate)処理を行い、該マスク画像を形成する。
【0027】
ステップ201では、入力画像は、カラー画像、例えば、RGBカラー画像であってもよい。該入力画像は、監視装置により撮影されたビデオの画像フレームからのものであってもよいし、記憶装置に記憶されたビデオの画像フレームからのものであってもよい。
【0028】
ステップ201における、入力画像であるカラー画像をグレースケール画像に変換する方法について、従来技術を参照してもよい。
【0029】
ステップ202では、グレースケール画像の各画素の画素値と閾値とをそれぞれ比較してもよい。該画素の画素値が閾値以上である場合、該画素が第1の画素値(例えば、第1の画素値は、白色の画素に対応する画素値である)を有するように設定し、該画素の画素値が閾値未満である場合、該画素が第2の画素値(例えば、第2の画素値は、黒色の画素に対応する画素値である)を有するように設定してもよい。
【0030】
少なくとも1つの態様では、各グレースケール画像に使用される閾値は、調整されてもよい。具体的には、該グレースケール画像に使用される閾値は、グレースケール画像より前の複数のフレームの入力画像に対応するグレースケール画像における所定の画素の比率に基づいて設定されてもよい。
【0031】
例えば、現在のグレースケール画像より前の複数の入力画像について、それに対応するグレースケール画像における画素値が第1の所定値(例えば、第1の所定値は60である)よりも小さい画素の数が第2の所定値(例えば、第2の所定値は、グレースケール画像における全数の80%である)よりも大きく、且つ該複数の入力画像の継続時間が第3の所定値(例えば、第3の所定値は30秒である)を超えた場合、該現在のグレースケール画像に使用される閾値を第1の閾値(例えば、第1の閾値は220である)に設定し、そうでない場合、該現在のグレースケール画像に使用される閾値を第2の閾値(例えば、第2の閾値は180である)に設定する。ここで、第1の閾値は、第2の閾値よりも大きい。
【0032】
ステップ203では、ステップ202により生成された二値画像に対して膨張(dilate)処理を行い、マスク(mask)画像を形成する。これによって、二値画像におけるノイズの一部をフィルタリングにより除去することができる。ここで、二値画像に対する膨張処理の具体的な手法について、関連技術を参照してもよい。
【0033】
ステップ101では、ステップ203により生成されたマスク画像について、該マスク画像におけるオブジェクト輪郭(contours)を検出し、検出された輪郭をフィルタリングしてもよい。例えば、輪郭の画素の数が第4の所定値(例えば、第4の所定値は10である)よりも小さく、或いは輪郭の幅又は高さが第5の所定値(例えば、第5の所定値は30である)よりも小さい場合、該輪郭を削除する。これによって、画像における例えば光ムラなどによるノイズによる誤検出を回避することができる。
【0034】
ステップ101では、マスク画像、及びマスク画像におけるオブジェクト輪郭の情報を出力してもよい。該オブジェクト輪郭の情報は、例えば、オブジェクト輪郭の外接境界枠(bounding box)であってもよい。
【0035】
図3は、入力画像とマスク画像の一例の概略図である。
図3の(a)に示すように、入力画像300は、2つの関心領域(ROI)301及び302を有してもよい。入力画像300に対してステップ101の動作を実行した後に、
図3の(b)に示すマスク画像303を形成することができる。マスク画像303の関心領域302(
図3の(a)に示すように)はオブジェクト輪郭304を有し、該オブジェクト輪郭304の境界枠は305として表される。
【0036】
ステップ102では、マスク画像内の第1の画素(例えば、第1の画素は白色の画素である)の数に基づいて、ハイライト波形(highlightwave)を生成する。
【0037】
少なくとも1つの態様では、マスク画像の各関心領域(ROI)は、1つのハイライト波形にそれぞれ対応してもよい。例えば、ベクトルバッファ(vector buffer)を利用してマスク画像の関心領域におけるハイライト領域の情報を保存して、該ハイライト領域の情報に基づいてハイライト波形を生成してもよい。ハイライト波形における各ピーク(peak)は、該関心領域を通過する1つのオブジェクト(例えば、オブジェクトは車両などの乗り物である)に対応してもよい。
【0038】
図4は、ハイライト波形の一例の概略図である。
図4では、曲線401はハイライト波形(highlightwave)を表す。
【0039】
ここで、横軸は入力画像のフレーム番号であり、フレーム番号が小さい順に配列され、時間が増加することを示す。また、横軸はフレーム番号に対応する他のパラメータであってもよいが、本発明はこれに限定されない。
図4では、縦軸は正規化された画素値である。例えば、縦軸はhlratioとして表されてもよく、hlratio=hlcount/roiarea、ここで、hlcountは、該マスク画像の該関心領域のオブジェクト輪郭における第1の画素(例えば、白色の画素)の数であり、roiareaは、該マスク画像の関心領域における画素の数である。例えば、
図3の(b)におけるマスク画像303の場合、関心領域302(例えば、
図3の(a)に示す)における画素の数に対するオブジェクト輪郭304における第1の画素の数の比率hlratioは、0.35である。
【0040】
ステップ102では、各入力画像に対応するマスク画像のhlratioをデータとして、ハイライト波形を形成してもよい。ここで、該マスク画像のhlratioが第3の閾値(例えば、第3の閾値は0.09である)よりも大きい場合、該マスク画像のhlratioをハイライト波形の1つのデータとして、該データを用いてハイライト波形を形成する。また、該マスク画像のhlratioが第3の閾値以下である場合、該マスク画像のhlratioをハイライト波形の1つのデータとしない。hlratioが小さいものがマスク画像におけるノイズに対応する可能性があるため、第3の閾値よりも大きいhlratioをハイライト波形のデータとして選択することで、ノイズの干渉をさらに回避し、演算量及びメモリ量を低減することができる。
【0041】
例えば、364番目のフレームから358番目のフレームでは、各フレームのマスク画像における第2の関心領域におけるオブジェクト輪郭(contours)における第1の画素の数hlcountと、該第2の関心領域における画素の数roiareaとの比率hlratioは、それぞれ0.06、0.1、0.2、0.26、0.31、0.33、0.35であり、364番目のフレームに対応するhlratioは0.06であり、第3の閾値よりも小さく、365番目のフレームから358番目のフレームに対応するhlratioは全て第3の閾値より大きいため、365番目のフレームから358番目のフレームに対応するhlratio(即ち、0.1、0.2、0.26、0.31、0.33、0.35)をデータとして、ハイライト波形を形成する。該データは、ハイライト波形データバッファ(例えば、highlightwave buffer)に記憶されてもよく、ここで、各データの識別子(ID)は、該データの入力画像のフレーム番号に対応してもよい。
【0042】
ステップ102では、入力画像に対応するマスク画像のhlratioが第4の閾値(例えば、第4の閾値は0.4である)よりも大きい場合、該hlratioがハイライト波形におけるピークに対応すると決定してもよい。例えば、現在のハイライト波形のデータがピークに対応することを示すために、ピークフラグ(peakflag)を1に設定してもよい。本発明では、入力画像における関心領域ごとにピークフラグを個別に維持してもよく、これによって、ピークフラグは配列であってもよく、該配列のサイズは関心領域の数である。また、各関心領域に対応するピークフラグの初期値は0であってもよい。
【0043】
各入力画像に対応するマスク画像のhlratioが第3の閾値以下まで徐々に小さくなっており、且つピークフラグpeakflag=1である場合、ハイライト波形に既に1つのピークが現れた、即ち、関心領域にオブジェクト(例えば、車両)が通過したと判断する。この際に、ステップ103を実行してもよく、即ち、ハイライト波形に基づいてオブジェクトの計数を行ってもよい。
【0044】
ステップ103では、ハイライト波形のピークは、該関心領域におけるオブジェクトの通過に対応してもよく、例えば、ハイライト波形における1つのピークは、関心領域における1つのオブジェクトの通過に対応してもよい。従って、少なくとも1つの態様では、ハイライト波形に1つのピークが出現する場合、該関心領域を通過するオブジェクトの計数値を1だけ増加させてもよい。
【0045】
本発明では、干渉を回避し、オブジェクトの計数の正確性を向上させるために、ハイライト波形におけるピークに対応するオブジェクトの移動方向を判断し、移動方向の判断結果に基づいて、オブジェクトの計数値を決定してもよい。例えば、該ハイライト波形におけるピークに対応するオブジェクトの移動方向が該関心領域におけるオブジェクトの所定の移動方向と一致しているか否かを判断し、一致している場合、該ピークが該関心領域を通過するオブジェクトに対応すると判断し、該関心領域を通過するオブジェクトの計数値を増加させ(例えば、1だけ増加させ)、一致していない場合、該ピークが該関心領域を通過するオブジェクトに対応しないと判断し、該関心領域を通過するオブジェクトの計数値を1だけ増加させない。
【0046】
また、幾つかの態様では、ハイライト波形におけるピークに対応するオブジェクトの移動方向及び移動距離の両方に基づいて、オブジェクトの計数値を決定してもよい。例えば、該ハイライト波形におけるピークに対応するオブジェクトの移動方向が該関心領域におけるオブジェクトの所定の移動方向と一致しており、且つ該オブジェクトの移動距離が距離閾値以上である場合、該ピークが該関心領域を通過するオブジェクトに対応すると判断し、該関心領域を通過するオブジェクトの計数値を増加させる(例えば、1だけ増加させる)。そうでない場合、該ピークが該関心領域を通過するオブジェクトに対応しないと判断し、該関心領域を通過するオブジェクトの計数値を1だけ増加させない。
【0047】
図5は、ハイライト波形に基づいてオブジェクトを計数する方法の一例の概略図である。
図5に示すように、ハイライト波形に基づいてオブジェクトを計数する方法は、以下のステップを含む。
【0048】
ステップ501:ハイライト波形におけるピークについて、該ピークの両側の所定値を有するデータに対応する2つのフレーム番号を決定する。
【0049】
ステップ502:該2つのフレーム番号にそれぞれ対応するオブジェクト輪郭の外接境界枠(bounding box)を取得し、該2つの境界枠の位置を比較し、該ピークに対応するオブジェクトの移動方向及び移動距離を決定する。
【0050】
ステップ503:該ピークに対応するオブジェクトの移動方向と関心領域におけるオブジェクトの所定の移動方向とが一致し、且つ該移動距離が距離閾値以上であると決定された場合、該関心領域を通過するオブジェクトの計数値を増加させる。
【0051】
図6は、ステップ501の一例の概略図である。
図6に示すように、ステップ501では、ハイライト波形におけるピーク601について、該ピークの両側の所定の値を有するデータ602及び603に対応するフレーム番号f1及びf2を決定してもよい。ここで、データ602は、ピーク601の左側の最初の閾値T以上のデータであってもよく(例えば、閾値Tは、0.2であってもよい)、データ603は、ピーク601の右側の最後の閾値T以上のデータであってもよい。
【0052】
図7は、ステップ502の一例の概略図である。
図7に示すように、ステップ502では、ステップ501により決定されたフレーム番号f1及びf2について、フレーム番号がf1の入力画像701がオブジェクト輪郭の外接境界枠(bounding box)7011に対応し、フレーム番号がf2の入力画像702がオブジェクト輪郭の外接境界枠(bounding box)7021に対応すると決定する。
【0053】
ステップ502では、外接境界枠7011と外接境界枠7021との所定方向における距離を計算し、
図7では、該所定方向は、入力画像の高さ方向である。また、該所定方向は、入力画像の幅方向であってもよいし、高さ方向又は幅方向と所定角度をなす方向であってもよい。
【0054】
外接境界枠7011の上縁と外接境界枠7021の上縁との距離はdy1であってもよく(例えば、外接境界枠7021の上縁の座標値から外接境界枠7011の上縁の座標値を減算して、dy1を取得する)、外接境界枠7011の下縁と外接境界枠7021の下縁との距離はdy2であってもよい(例えば、外接境界枠7021の下縁の座標値から外接境界枠7011の下縁の座標値を減算して、dy2を取得する)。これによって、外接境界枠7011と外接境界枠7021との該所定方向における距離dyは、dy1及びdy2のうちの最大値であり、即ち、dy=max(dy1,dy2)となる。
【0055】
ステップ502では、外接境界枠7011と外接境界枠7021との所定方向における距離は正の値であり、即ち、入力画像の高さ方向において、オブジェクトが下から上に向かう方向に移動する。距離dyの絶対値は、例えば、距離閾値以上である。該距離閾値は、関心領域700のサイズに関連してもよく、例えば、該距離閾値は、0.2*roi_lengthに等しくてもよい。ここで、roi_lengthは、関心領域700の高さに等しくてもよい。
【0056】
図7では、外接境界枠7011、7021が所在する関心領域700においても、オブジェクトの所定移動方向は、画像の高さ方向において下から上に向かう方向である。
図7では、ステップ502により決定されたオブジェクトの移動方向が関心領域700におけるオブジェクトの所定の移動方向と一致しており、且つ、|dy|≧0.2*roi_lengthとなるため、
図6のピーク601は、関心領域700において通過するオブジェクトに対応し、ステップ503において、該関心領域700を通過するオブジェクトの計数値を増加させる(例えば、該関心領域700のオブジェクトの計数値を1だけ増加させる)。
【0057】
本発明の少なくとも1つの態様では、
図1に示すように、オブジェクトの計数方法は、以下のステップをさらに含んでもよい。
【0058】
ステップ104:入力画像に対して物体検出(object detection)及び追跡(object tracking)を行った結果に基づいて、オブジェクトを計数する。
【0059】
ステップ105:ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合する。
【0060】
ステップ104では、入力画像に対してオブジェクト検出及び追跡を行って、各オブジェクトの軌跡情報を取得してもよい。また、該オブジェクトが画像内の所定位置(例えば、所定位置は、画像内に予め設定された計数ラインであってもよい)に到達したと検出された場合、1回の計数を行い、即ち、該関心領域を通過するオブジェクトの計数値に1を加算してもよい。各関心領域について、1つの計数値をそれぞれ維持する。ステップ104の詳細な説明について、関連技術を参照してもよく、本発明の実施例では詳細な説明を省略する。
【0061】
ステップ105では、ハイライト波形に基づく計数結果(例えば、ステップ103の計数結果)と、追跡に基づく計数結果(例えば、ステップ104の計数結果)とを併合する。例えば、ハイライト波形に基づく計数結果と追跡に基づく計数結果とを加算し、合計の計数結果を取得する。また、ステップ105では、重複カウントを回避するために、ハイライト波形に基づく計数及び/又は追跡に基づく計数を処理してもよい。
【0062】
ステップ105の少なくとも1つの態様では、重複カウントを回避する方法は、以下の方法であってもよい。第1の期間内に、追跡結果に基づく計数の操作について、現在の関心領域の計数値が変化した場合、該第1の期間に対応する波形計数フラグ値(wavetimetrackcnt)に対して数値増加の操作を行う(例えば、1を加算する)。また、第1の期間のデータについてハイライト波形に基づいて計数する際に、該第1の期間に対応する該波形計数フラグ値(wavetimetrackcnt)が初期値ではない(例えば、初期値は0である)場合、ハイライト波形に基づく計数値を変更せず、即ち、該第1の期間のデータを用いてハイライト波形に基づく計数を行わず、或いは、該第1の期間のデータを用いたハイライト波形に基づく計数値をリセットする。
【0063】
例えば、該第1の期間のデータを用いてハイライト波形に基づく計数を行う前に、波形計数フラグ値(wavetimetrackcnt)が初期値であるか否かを確認し、波形計数フラグ値(wavetimetrackcnt)が初期値である場合、該第1の期間のデータを用いてハイライト波形に基づく計数を行い、波形計数フラグ値(wavetimetrackcnt)が初期値ではない(例えば、初期値よりも大きい)場合、該第1の期間のデータを用いてハイライト波形に基づく計数を行わないようにしてもよい。
【0064】
また、例えば、該第1の期間のデータを用いてハイライト波形に基づく計数を行った後に、波形計数フラグ値(wavetimetrackcnt)が初期値であるか否かを確認し、波形計数フラグ値(wavetimetrackcnt)が初期値である場合、該第1の期間のデータを用いてハイライト波形に基づく計数を行うことを保留し、波形計数フラグ値(wavetimetrackcnt)が初期値ではない(例えば、初期値よりも大きい)場合、該第1の期間のデータを用いたハイライト波形に基づく計数値をリセットしてもよい。
【0065】
ステップ105の少なくとももう1つの態様では、重複カウントを回避する方法は、以下の方法であってもよい。ハイライト波形に基づいて計数する期間において、マスク画像におけるオブジェクト輪郭の境界枠(例えば、highlight boxと称される)と、追跡により得られたオブジェクトの境界枠とを比較し、重なる場合、該追跡により得られたオブジェクトの計数フラグ(countflag)を第1の値(例えば、第1の値は1であってもよい)に設定し、また、追跡結果に基づいて計数する際に、計数フラグ(countflag)が第1の値であるオブジェクトについて計数しない。
【0066】
例えば、ハイライト波形に基づく計数を行っている期間(例えば、第2の期間)に、現在の入力画像フレームに対応するマスク画像におけるオブジェクト輪郭の境界枠(例えば、highlight boxと称される)と、現在の入力画像フレームにおける追跡により得られた各オブジェクトの境界枠とを比較し、両境界枠が重なる(例えば、重なる面積又は重なる比率が所定の値よりも大きい)場合、該追跡により得られたオブジェクトの計数フラグ(countflag)を第1の値に設定する。また、現在の入力画像フレームに対応するマスク画像におけるオブジェクト輪郭の境界枠(highlight box)と、現在の入力画像フレームにおける追跡により得られた各オブジェクトの境界枠とが何れも重なっていない場合、該第2の期間のハイライト波形データのうちの最初の閾値T(例えば、閾値Tは0.2であってもよい)以上のデータのフレーム番号f1(例えば、
図6に示すフレーム番号f1)を決定し、該フレーム番号f1に対応するマスク画像におけるオブジェクト輪郭の境界枠が、フレーム番号f1の入力画像における追跡により得られた各オブジェクトの境界枠と重なるか否かを判断し、境界枠がマスク画像におけるオブジェクト輪郭の境界枠と重なるオブジェクトがある場合、フレーム番号がf1の入力画像における追跡により得られた該オブジェクトの計数フラグ(countflag)を第1の値に設定する。また、追跡結果に基づく計数を行う際に、計数フラグ(countflag)が第1の値であるオブジェクトについて、計数を行わず、計数フラグ(countflag)が第1の値ではないオブジェクトについて、追跡結果に基づく計数を行う。
【0067】
以上は、単に本発明に関連するステップ又はプロセスを説明しており、本発明はこれに限定されない。オブジェクトの計数方法は、他のステップ又はプロセスをさらに含んでもよく、これらのステップ又はプロセスの具体的な内容について、従来技術を参照してもよい。また、以上は、単にオブジェクトの計数方法により使用されるモデルの幾つかの構造を例として本発明の実施例を例示的に説明しており、本発明は、これらの構造に限定されず、これらの構造に適切な変形を行ってもよく、これらの変形は、本発明の実施例の範囲内に含まれるべきである。
【0068】
上記の各実施例は、単に本発明の実施例を例示的に説明するものであり、本発明はこれらに限定されず、上記の様々な実施例に基づいて適切な変形を行ってもよい。例えば、上記の各実施例を単独で使用してもよいし、上記の各実施例の1つ又は複数を組み合わせて使用してもよい。
【0069】
本発明の実施例によれば、オブジェクトの計数方法では、画素数から得られたハイライト波形に基づいて計数を行うことで、計数の正確性を向上させ、計算コストを低減させることができる。本発明の方法は、特に夜間環境におけるオブジェクト計数結果を改善することができる。
【0070】
<実施例2>
本発明の実施例は、実施例1に係るオブジェクトの計数方法に対応するオブジェクトの計数装置を提供する。実施例2の実施例1と同様な内容についてその説明を省略する。
【0071】
図8は、オブジェクトの計数装置の一例の概略図である。
図8に示すように、オブジェクトの計数装置800は、第1の検出部801、第1の生成部802及び第1の計数部803を含む。
【0072】
第1の検出部801は、入力画像を二値化されたマスク画像(mask)に変換し、該マスク画像におけるオブジェクト輪郭(contours)を検出する。
【0073】
第1の生成部802は、各該マスク画像の該オブジェクト輪郭における第1の画素(即ち、白色の画素)の数に基づいて、ハイライト波形(highlightwave)を生成する。
【0074】
第1の計数部803は、該ハイライト波形に基づいて、オブジェクトを計数する。
【0075】
少なくとも1つの態様では、第1の検出部801が入力画像を二値化されたマスク画像(mask)に変換することは、該入力画像をグレースケール画像に変換することと、閾値に基づいてグレースケール画像を二値画像に変換することと、二値画像に対して膨張(dilate)処理を行い、前記マスク画像を形成することと、を含む。
【0076】
少なくとも1つの態様では、グレースケール画像における画素値が第1の所定値(例えば、60)よりも小さい画素の数が第2の所定値(例えば、80%)よりも大きく、且つ持続時間が第3の所定値(例えば、30秒)を超えた場合、該閾値を第1の閾値(例えば、220)に設定し、そうでない場合、該閾値を第2の閾値(例えば、180)に設定し、該第1の閾値は、該第2の閾値よりも大きい。
【0077】
少なくとも1つの態様では、輪郭の画素の数が第4の所定値(例えば、10)よりも小さく、或いは、該輪郭の境界枠の幅又は高さが第5の所定値(例えば、30)よりも小さい場合、第1の検出部801は、該輪郭を削除する。
【0078】
少なくとも1つの態様では、該マスク画像の前記オブジェクト輪郭(contours)における第1の画素の数と関心領域(ROI)における画素の数との比率(hlratio)が第3の閾値(例えば、0.09)よりも大きい場合、第1の生成部は、該比率を該ハイライト波形の1つのデータとする。
【0079】
少なくとも1つの態様では、該比率が第4の閾値(例えば、0.4)よりも大きい場合、第1の生成部は、ピークフラグ(peakflag)を1に設定する。
【0080】
少なくとも1つの態様では、第1の計数部803が該ハイライト波形に基づいてオブジェクトを計数することは、該ハイライト波形におけるピークについて、該ピークの両側の所定値を有するデータに対応する2つのフレーム番号を決定することと、該2つのフレーム番号にそれぞれ対応するオブジェクト輪郭の外接境界枠(bounding box)を取得し、該2つの境界枠の位置を比較し、該ピークに対応するオブジェクトの移動方向及び移動距離を決定することと、該ピークに対応するオブジェクトの移動方向と関心領域におけるオブジェクトの所定の移動方向とが一致し、且つ該移動距離が距離閾値以上であると決定された場合、該関心領域を通過するオブジェクトの計数値を増加させることと、を含む。
【0081】
図8に示すように、オブジェクトの計数装置800は、以下の各部をさらに含む。
【0082】
第2の計数部804は、該入力画像に対して物体検出(object detection)及び追跡(object tracking)を行った結果に基づいて、オブジェクトを計数する。
【0083】
併合部805は、該ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合する。
【0084】
少なくとも1つの態様では、ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合することは、追跡結果に基づいて計数する期間において、現在の関心領域の計数値が変化した場合、該期間に対応する波形計数フラグ値(wavetimetrackcnt)に対して数値増加の操作を行い、ハイライト波形に基づいて計数する際に、該波形計数フラグ値(wavetimetrackcnt)が初期値ではない場合、ハイライト波形に基づく計数値を変更しないこと、を含む。
【0085】
少なくとも1つの態様では、ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合することは、ハイライト波形に基づいて計数する期間において、該マスク画像におけるオブジェクト輪郭(contours)の境界枠(highlight boxes)と、追跡により得られたオブジェクトの境界枠とを比較し、重なる場合、該追跡により得られたオブジェクトの計数フラグ(countflag)を第1の値に設定することと、追跡結果に基づいて計数する際に、計数フラグ(countflag)が第1の値であるオブジェクトについて計数しないことと、を含む。
【0086】
なお、以上は、単に本発明に関連する各構成要素又はモジュールを説明しており、本発明はこれに限定されない。オブジェクトの計数装置800は、他の構成要素又はモジュールを含んでもよく、これらの構成要素又はモジュールの具体的な内容について、関連技術を参照してもよい。
【0087】
簡単にするために、
図8は、単に各構成要素又はモジュール間の接続関係又は信号方向を例示的に示しており、バス接続などの様々な関連技術を使用できることは当業者にとって明らかである。上記の様々な構成要素又はモジュールは、プロセッサ及びメモリなどのハードウェア装置により実現されてもよく、本発明の実施例はこれに限定されない。
【0088】
上記の各実施例は、単に本発明の実施例を例示的に説明するものであり、本発明はこれらに限定されず、上記の様々な実施例に基づいて適切な変形を行ってもよい。例えば、上記の各実施例を単独で使用してもよいし、上記の各実施例の1つ又は複数を組み合わせて使用してもよい。
【0089】
<実施例3>
本発明の実施例は、実施例2に記載されたオブジェクトの計数装置800を含む電子機器を提供し、ここでその内容を援用する。該電子機器は、例えばコンピュータ、サーバ、ワークステーション、ラップトップコンピュータ、スマートフォンなどであってもよいが、本発明の実施例はこれらに限定されない。
【0090】
図9は、本発明の実施例に係る電子機器の概略図である。
図9に示すように、本発明の実施例に係る電子機器900は、プロセッサ(例えば、中央処理装置(CPU))910、及びメモリ920を含む。メモリ920は、プロセッサ910に接続される。メモリ920は、様々なデータを記憶してもよく、情報処理のプログラム921をさらに記憶してもよい。プロセッサ910の制御により該プログラム921を実行する。
【0091】
幾つかの態様では、オブジェクトの計数装置800の機能はプロセッサ910に統合されてもよい。ここで、プロセッサ910は、実施例1に記載されたオブジェクトの計数方法を実現するように構成されてもよい。
【0092】
幾つかの態様では、オブジェクトの計数装置800はプロセッサ910とそれぞれ配置されてもよく、例えば、オブジェクトの計数装置800はプロセッサ910に接続されたチップであり、プロセッサ910の制御によりオブジェクトの計数装置800の機能を実現するように構成されてもよい。
【0093】
例えば、該プロセッサ910は、入力画像を二値化されたマスク画像(mask)に変換し、該マスク画像におけるオブジェクト輪郭(contours)を検出するステップと、各該マスク画像の該オブジェクト輪郭における第1の画素(即ち、白色の画素)の数に基づいて、ハイライト波形(highlightwave)を生成するステップと、該ハイライト波形に基づいて、オブジェクトを計数するステップと、を実行するように構成されてもよい。
【0094】
少なくとも1つの態様では、入力画像を二値化されたマスク画像(mask)に変換するステップは、該入力画像をグレースケール画像に変換するステップと、閾値に基づいてグレースケール画像を二値画像に変換するステップと、二値画像に対して膨張(dilate)処理を行い、該マスク画像を形成するステップと、を含む。
【0095】
少なくとも1つの態様では、該グレースケール画像における画素値が第1の所定値(例えば、60)よりも小さい画素の数が第2の所定値(例えば、80%)よりも大きく、且つ持続時間が第3の所定値(例えば、30秒)を超えた場合、該閾値を第1の閾値(例えば、220)に設定し、そうでない場合、該閾値を第2の閾値(例えば、180)に設定し、該第1の閾値は、該第2の閾値よりも大きい。
【0096】
少なくとも1つの態様では、該マスク画像におけるオブジェクト輪郭(contours)を検出するステップにおいて、該輪郭の画素の数が第4の所定値(例えば、10)よりも小さく、或いは、該輪郭の境界枠の幅又は高さが第5の所定値(例えば、30)よりも小さい場合、該輪郭を削除する。
【0097】
少なくとも1つの態様では、該ハイライト波形を生成するステップにおいて、該マスク画像の該オブジェクト輪郭(contours)における第1の画素の数と関心領域(ROI)における画素の数との比率(hlratio)が第3の閾値(例えば、0.09)よりも大きい場合、該比率を該ハイライト波形の1つのデータとする。
【0098】
少なくとも1つの態様では、該比率が第4の閾値(例えば、0.4)よりも大きい場合、ピークフラグ(peakflag)を1に設定する。
【0099】
少なくとも1つの態様では、該ハイライト波形に基づいてオブジェクトを計数するステップは、該ハイライト波形におけるピークについて、該ピークの両側の所定値を有するデータに対応する2つのフレーム番号を決定するステップと、該2つのフレーム番号にそれぞれ対応するオブジェクト輪郭の外接境界枠(bounding box)を取得し、該2つの境界枠の位置を比較し、該ピークに対応するオブジェクトの移動方向及び移動距離を決定するステップと、該ピークに対応するオブジェクトの移動方向と関心領域におけるオブジェクトの所定の移動方向とが一致し、且つ該移動距離が距離閾値以上であると決定された場合、該関心領域を通過するオブジェクトの計数値を増加させるステップと、を含む。
【0100】
少なくとも1つの態様では、該方法は、該入力画像に対して物体検出(object detection)及び追跡(object tracking)を行った結果に基づいて、オブジェクトを計数するステップと、該ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合するステップと、をさらに含む。
【0101】
ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合するステップは、追跡結果に基づいて計数する期間において、現在の関心領域の計数値が変化した場合、該期間に対応する波形計数フラグ値(wavetimetrackcnt)に対して数値増加の操作を行い、ハイライト波形に基づいて計数する際に、該波形計数フラグ値(wavetimetrackcnt)が初期値ではない場合、ハイライト波形に基づく計数値を変更しないステップ、を含む。
【0102】
少なくとも1つの態様では、ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合するステップは、ハイライト波形に基づいて計数する期間において、該マスク画像におけるオブジェクト輪郭(contours)の境界枠(highlight boxes)と、追跡により得られたオブジェクトの境界枠とを比較し、重なる場合、該追跡により得られたオブジェクトの計数フラグ(countflag)を第1の値に設定するステップと、追跡結果に基づいて計数する際に、計数フラグ(countflag)が第1の値であるオブジェクトについて計数しないステップと、を含む。
【0103】
また、
図9に示すように、電子機器900は、入力出力(I/O)装置930及びディスプレイ940などをさらに含んでもよい。ここで、該構成部の機能は従来技術と同様であり、ここでその説明を省略する。なお、電子機器900は、
図9に示す全ての構成部を含まなくてもよい。また、電子機器900は、
図9に示していない構成部を含んでもよく、従来技術を参考してもよい。
【0104】
本発明の実施例は、電子機器においてプログラムを実行する際に、コンピュータに該電子機器において実施例1に記載のオブジェクトの計数方法を実行させる、コンピュータ読み取り可能なプログラムを提供する。
【0105】
本発明の実施例は、コンピュータに電子機器において実施例1に記載のオブジェクトの計数方法を実行させるためのコンピュータ読み取り可能なプログラムが記憶されている、記憶媒体をさらに提供する。
【0106】
本発明の以上の装置及び方法は、ハードウェアにより実現されてもよく、ハードウェアとソフトウェアを併合して実現されてもよい。本発明はコンピュータが読み取り可能なプログラムに関し、該プログラムは論理部により実行される時に、該論理部に上述した装置又は構成要件を実現させる、或いは該論理部に上述した各種の方法又はステップを実現させることができる。本発明は上記のプログラムを記憶するための記憶媒体、例えばハードディスク、磁気ディスク、光ディスク、DVD、フラッシュメモリ等に関する。
【0107】
本発明の実施例を参照しながら説明した方法/装置は、ハードウェア、プロセッサにより実行されるソフトウェアモジュール、又は両者の組み合わせで実施されてもよい。例えば、図面に示す機能的ブロック図における1つ若しくは複数、又は機能的ブロック図の1つ若しくは複数の組み合わせは、コンピュータプログラムのフローの各ソフトウェアモジュールに対応してもよいし、各ハードウェアモジュールに対応してもよい。これらのソフトウェアモジュールは、図面に示す各ステップにそれぞれ対応してもよい。これらのハードウェアモジュールは、例えばフィールド・プログラマブル・ゲートアレイ(FPGA)を用いてこれらのソフトウェアモジュールをハードウェア化して実現されてもよい。
【0108】
ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、モバイルハードディスク、CD-ROM又は当業者にとって既知の任意の他の形の記憶媒体に位置してもよい。プロセッサが記憶媒体から情報を読み取ったり、記憶媒体に情報を書き込んだりするように該記憶媒体をプロセッサに接続してもよいし、記憶媒体がプロセッサの構成部であってもよい。プロセッサ及び記憶媒体はASICに位置する。該ソフトウェアモジュールは移動端末のメモリに記憶されてもよいし、移動端末に挿入されたメモリカードに記憶されてもよい。例えば、機器(例えば移動端末)が比較的に大きい容量のMEGA-SIMカード又は大容量のフラッシュメモリ装置を用いる場合、該ソフトウェアモジュールは該MEGA-SIMカード又は大容量のフラッシュメモリ装置に記憶されてもよい。
【0109】
図面に記載されている1つ以上の機能ブロック及び/又は機能ブロックの1つ以上の組合せは、本発明に記載されている機能を実行するための汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲートアレイ(FPGA)又は他のプログラマブル論理デバイス、ディスクリートゲート又はトランジスタ論理装置、ディスクリートハードウェアコンポーネント、又はそれらの任意の適切な組み合わせで実現されてもよい。図面に記載されている1つ以上の機能ブロック及び/又は機能ブロックの1つ以上の組合せは、例えば、コンピューティング機器の組み合わせ、例えばDSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSP通信と組み合わせた1つ又は複数のマイクロプロセッサ又は他の任意の構成で実現されてもよい。
【0110】
以上、具体的な実施形態を参照しながら本発明を説明しているが、上記の説明は、例示的なものに過ぎず、本発明の保護の範囲を限定するものではない。本発明の趣旨及び原理を離脱しない限り、本発明に対して各種の変形及び変更を行ってもよく、これらの変形及び変更も本発明の範囲に属する。
【0111】
また、上述の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
オブジェクトの計数装置であって、
入力画像を二値化されたマスク画像(mask)に変換し、前記マスク画像におけるオブジェクト輪郭(contours)を検出する第1の検出部と、
各前記マスク画像の前記オブジェクト輪郭における第1の画素(即ち、白色の画素)の数に基づいて、ハイライト波形(highlightwave)を生成する第1の生成部と、
前記ハイライト波形に基づいて、オブジェクトを計数する第1の計数部と、を含む、装置。
(付記2)
前記第1の検出部が入力画像を二値化されたマスク画像(mask)に変換することは、
前記入力画像をグレースケール画像に変換することと、
閾値に基づいてグレースケール画像を二値画像に変換することと、
二値画像に対して膨張(dilate)処理を行い、前記マスク画像を形成することと、を含む、付記1に記載の装置。
(付記3)
前記グレースケール画像における画素値が第1の所定値(例えば、60)よりも小さい画素の数が第2の所定値(例えば、80%)よりも大きく、且つ持続時間が第3の所定値(例えば、30秒)を超えた場合、前記閾値を第1の閾値(例えば、220)に設定し、
そうでない場合、前記閾値を第2の閾値(例えば、180)に設定し、
前記第1の閾値は、前記第2の閾値よりも大きい、付記2に記載の装置。
(付記4)
前記輪郭の画素の数が第4の所定値(例えば、10)よりも小さく、或いは、前記輪郭の境界枠の幅又は高さが第5の所定値(例えば、30)よりも小さい場合、前記第1の検出部は、該輪郭を削除する、付記1に記載の装置。
(付記5)
前記マスク画像の前記オブジェクト輪郭(contours)における第1の画素の数と関心領域(ROI)における画素の数との比率(hlratio)が第3の閾値(例えば、0.09)よりも大きい場合、前記第1の生成部は、前記比率を前記ハイライト波形の1つのデータとする、付記1に記載の装置。
(付記6)
前記比率が第4の閾値(例えば、0.4)よりも大きい場合、前記第1の生成部は、ピークフラグ(peakflag)を1に設定する、付記5に記載の装置。
(付記7)
前記第1の計数部が前記ハイライト波形に基づいてオブジェクトを計数することは、
前記ハイライト波形におけるピークについて、該ピークの両側の所定値を有するデータに対応する2つのフレーム番号を決定することと、
前記2つのフレーム番号にそれぞれ対応するオブジェクト輪郭の外接境界枠(bounding box)を取得し、該2つの境界枠の位置を比較し、該ピークに対応するオブジェクトの移動方向及び移動距離を決定することと、
該ピークに対応するオブジェクトの移動方向と関心領域におけるオブジェクトの所定の移動方向とが一致し、且つ前記移動距離が距離閾値以上であると決定された場合、該関心領域を通過するオブジェクトの計数値を増加させることと、を含む、付記1に記載の装置。
(付記8)
前記入力画像に対して物体検出(object detection)及び追跡(object tracking)を行った結果に基づいて、オブジェクトを計数する第2の計数部と、
前記ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合する併合部と、をさらに含む、付記1に記載の装置。
(付記9)
ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合することは、
追跡結果に基づいて計数する期間において、現在の関心領域の計数値が変化した場合、該期間に対応する波形計数フラグ値(wavetimetrackcnt)に対して数値増加の操作を行い、ハイライト波形に基づいて計数する際に、該波形計数フラグ値(wavetimetrackcnt)が初期値ではない場合、ハイライト波形に基づく計数値を変更しないこと、を含む、付記8に記載の装置。
(付記10)
ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合することは、
ハイライト波形に基づいて計数する期間において、前記マスク画像におけるオブジェクト輪郭(contours)の境界枠(highlight boxes)と、追跡により得られたオブジェクトの境界枠とを比較し、重なる場合、該追跡により得られたオブジェクトの計数フラグ(countflag)を第1の値に設定することと、
追跡結果に基づいて計数する際に、計数フラグ(countflag)が第1の値であるオブジェクトについて計数しないことと、を含む、付記8に記載の装置。
(付記11)
オブジェクトの計数方法であって、
入力画像を二値化されたマスク画像(mask)に変換し、前記マスク画像におけるオブジェクト輪郭(contours)を検出するステップと、
各前記マスク画像の前記オブジェクト輪郭における第1の画素(即ち、白色の画素)の数に基づいて、ハイライト波形(highlightwave)を生成するステップと、
前記ハイライト波形に基づいて、オブジェクトを計数するステップと、を含む、方法。
(付記12)
入力画像を二値化されたマスク画像(mask)に変換するステップは、
前記入力画像をグレースケール画像に変換するステップと、
閾値に基づいてグレースケール画像を二値画像に変換するステップと、
二値画像に対して膨張(dilate)処理を行い、前記マスク画像を形成するステップと、を含む、付記11に記載の方法。
(付記13)
前記グレースケール画像における画素値が第1の所定値(例えば、60)よりも小さい画素の数が第2の所定値(例えば、80%)よりも大きく、且つ持続時間が第3の所定値(例えば、30秒)を超えた場合、前記閾値を第1の閾値(例えば、220)に設定し、
そうでない場合、前記閾値を第2の閾値(例えば、180)に設定し、
前記第1の閾値は、前記第2の閾値よりも大きい、付記12に記載の方法。
(付記14)
前記マスク画像におけるオブジェクト輪郭(contours)を検出するステップにおいて、
前記輪郭の画素の数が第4の所定値(例えば、10)よりも小さく、或いは、前記輪郭の境界枠の幅又は高さが第5の所定値(例えば、30)よりも小さい場合、該輪郭を削除する、付記11に記載の方法。
(付記15)
前記ハイライト波形を生成するステップにおいて、
前記マスク画像の前記オブジェクト輪郭(contours)における第1の画素の数と関心領域(ROI)における画素の数との比率(hlratio)が第3の閾値(例えば、0.09)よりも大きい場合、前記第1の生成部は、前記比率を前記ハイライト波形の1つのデータとする、付記11に記載の方法。
(付記16)
前記比率が第4の閾値(例えば、0.4)よりも大きい場合、ピークフラグ(peakflag)を1に設定する、付記15に記載の方法。
(付記17)
前記ハイライト波形に基づいてオブジェクトを計数するステップは、
前記ハイライト波形におけるピークについて、該ピークの両側の所定値を有するデータに対応する2つのフレーム番号を決定するステップと、
前記2つのフレーム番号にそれぞれ対応するオブジェクト輪郭の外接境界枠(bounding box)を取得し、該2つの境界枠の位置を比較し、該ピークに対応するオブジェクトの移動方向及び移動距離を決定するステップと、
該ピークに対応するオブジェクトの移動方向と関心領域におけるオブジェクトの所定の移動方向とが一致し、且つ前記移動距離が距離閾値以上であると決定された場合、該関心領域を通過するオブジェクトの計数値を増加させるステップと、を含む、付記11に記載の方法。
(付記18)
前記入力画像に対して物体検出(object detection)及び追跡(object tracking)を行った結果に基づいて、オブジェクトを計数するステップと、
前記ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合するステップと、をさらに含む、付記11に記載の方法。
(付記19)
ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合するステップは、
追跡結果に基づいて計数する期間において、現在の関心領域の計数値が変化した場合、該期間に対応する波形計数フラグ値(wavetimetrackcnt)に対して数値増加の操作を行い、ハイライト波形に基づいて計数する際に、該波形計数フラグ値(wavetimetrackcnt)が初期値ではない場合、ハイライト波形に基づく計数値を変更しないステップ、を含む、付記18に記載の方法。
(付記20)
ハイライト波形に基づく計数結果と追跡に基づく計数結果とを併合するステップは、
ハイライト波形に基づいて計数する期間において、前記マスク画像におけるオブジェクト輪郭(contours)の境界枠(highlight boxes)と、追跡により得られたオブジェクトの境界枠とを比較し、重なる場合、該追跡により得られたオブジェクトの計数フラグ(countflag)を第1の値に設定するステップと、
追跡結果に基づいて計数する際に、計数フラグ(countflag)が第1の値であるオブジェクトについて計数しないステップと、を含む、付記18に記載の方法。
(付記21)
コンピュータ読み取り可能なプログラムが記憶された記憶媒体であって、前記コンピュータ読み取り可能なプログラムは、該記憶媒体に接続されたプロセッサに付記11乃至20の何れかに記載のオブジェクトの計数方法を実行させる、記憶媒体。
【外国語明細書】