(57)【要約】【課題】情報処理プログラムにおいて、画像に写るコントラストの小さい境界線を検出し、画像から境界線を特定する精度を高めることを目的とする。【解決手段】画像に写る境界線を特定する情報処理プログラムであって、コンピュータに、画像における画素のエッジベクトルを画像の所定方向に射影した射影ベクトルの正規化によって得られる特徴量を、画像における画素毎に計算する計算処理と、画像において所定方向に定められる複数の走査線毎に走査線上にある複数の画素の特徴量を統計処理することで得られる統計分布における極大値に基づいて、境界線を特定する特定処理とを実行させることを特徴とする情報処理プログラムが、提供される。【選択図】図２３
2019117578.tif 000002
【特許請求の範囲】
【請求項１】
画像に写る境界線を特定する情報処理プログラムであって、
コンピュータに、
前記画像における画素のエッジベクトルを前記画像の所定方向に射影した射影ベクトルの正規化によって得られる特徴量を、前記画像における画素毎に計算する計算処理と、
前記画像において前記所定方向に定められる複数の走査線毎に走査線上にある複数の画素の前記特徴量を統計処理することで得られる統計分布における極大値に基づいて、前記境界線を特定する特定処理と
を実行させることを特徴とする情報処理プログラム。
【請求項２】
前記統計分布は、前記複数の走査線毎に前記走査線上にある前記複数の画素についての前記特徴量を加算することで得られるヒストグラムであって、
前記特定処理は、前記ヒストグラムにおいて所定の閾値以上の値を有する１つ以上の極大値のうち、前記画像の特定の側面に最も近い位置に現れる極大値に対応する走査線の位置を、前記境界線の位置として特定する処理である
ことを特徴とする請求項１に記載の情報処理プログラム。
【請求項３】
前記所定の閾値は、前記ヒストグラムにおける前記複数の走査線毎の前記特徴量を加算した値の各々に基づく平均値である
ことを特徴とする請求項２に記載の情報処理プログラム。
【請求項４】
前記統計分布は、前記所定方向を基準に前記画像を所定の角度回転させる前に計算された前記特徴量に基づく第１統計分布であって、
前記情報処理プログラムは、前記コンピュータに、
前記画像を所定の角度回転させる回転処理を更に実行させ、
前記特定処理は、前記回転処理によって前記画像を前記所定の角度回転させた後に前記計算処理により計算された特徴量を統計処理することで第２統計分布を取得する処理を含み、前記第１統計分布における前記極大値と前記第２統計分布の極大値との何れか大きい方に基づいて前記境界線を特定する処理である
ことを特徴とする請求項１〜３何れか１項に記載の情報処理プログラム。
【請求項５】
前記情報処理プログラムは、前記画像と同じ撮像対象が写る他の画像における境界線を特定する際に、前記コンピュータに、
前記特定処理において大きい極大値を有すると判断された統計処理に対応する角度で、前記他の画像を回転させ、回転された前記他の画像に対して前記計算処理及び前記特定処理を施して前記他の画像に写る境界線を特定させる処理を実行させる
ことを特徴とする請求項４に記載の情報処理プログラム。
【請求項６】
前記特定処理は、前記第１統計分布と前記第２統計分布のうち一方には前記閾値以上の値を有する極大値が２つ以上あり、前記第１統計分布と前記第２統計分布の他方には前記閾値以上の値を有する極大値が１つある場合、前記閾値以上の値を有する極大値が１つある統計分布を用いて前記境界線を特定する処理を含む
ことを特徴とする請求項４又は５に記載の情報処理プログラム。
【請求項７】
前記情報処理プログラムは、前記コンピュータに、
前記計算処理の前に、前記画像のうち前記境界線を含む前記画像の一部の領域を切り出す切り出し処理を更に実行させ、
前記計算処理が処理対象とする前記画像は、前記切り出し処理により切り出された前記一部の領域である
ことを特徴とする請求項１〜６何れか１項に記載の情報処理プログラム。
【請求項８】
前記計算処理は、前記所定方向の単位ベクトルと前記画素毎のエッジベクトルとの内積を、前記エッジベクトルの大きさで除することで前記特徴量を計算する
ことを特徴とする請求項１〜７何れか１項に記載の情報処理プログラム。
【請求項９】
前記複数の走査線は、前記画像において前記所定方向に直行する方向に並ぶ複数の走査線である
ことを特徴とする請求項１〜８の何れか１項に記載の情報処理プログラム。
【請求項１０】
前記所定方向は、前記画像において前記境界線が延在すると推定される方向である
ことを特徴とする請求項１〜９何れか１項に記載の情報処理プログラム。
【請求項１１】
前記境界線は、喫水線である
ことを特徴とする請求項１〜１０何れか１項に記載の情報処理プログラム。
【請求項１２】
前記情報処理プログラムは、前記コンピュータに、
前記画像を含む特定の撮像対象について異なる時間毎に撮像した複数の画像に対して前記計算処理及び前記特定処理により前記境界線を各々特定し、各々特定した複数の境界線を用いて、警報を出力するか否かを判断する判断処理を更に実行させる
ことを特徴とする請求項１〜１１何れか１項に記載の情報処理プログラム。
【請求項１３】
前記判断処理では、前記複数の画像の１つである第１画像において特定された第１境界線の位置と、前記第１画像よりも後に撮像された第２画像において特定された第２境界線の位置との差が、予め設定された所定の閾値以上の値である場合に警報を出力すると判断する
ことを特徴とする請求項１２に記載の情報処理プログラム。
【請求項１４】
画像に写る境界線を特定する情報処理装置であって、
前記画像における画素のエッジベクトルを前記画像の所定方向に射影した射影ベクトルの正規化によって得られる特徴量を、前記画像における画素毎に計算する計算部と、
前記画像において前記所定方向に定められる複数の走査線毎に走査線上にある複数の画素の前記特徴量を統計処理することで得られる統計分布における極大値に基づいて、前記境界線を特定する特定部と
を備えることを特徴とする情報処理装置。
【請求項１５】
画像に写る境界線を特定する情報処理システムであって、
特定の撮像対象について画像を撮像する撮像装置と、
前記撮像装置から入力された前記画像における画素のエッジベクトルを前記画像の所定方向に射影した射影ベクトルの正規化によって得られる特徴量を、前記画像における画素毎に計算する計算部と、前記画像において前記所定方向に定められる複数の走査線毎に走査線上にある複数の画素の前記特徴量を統計処理することで得られる統計分布における極大値に基づいて、前記境界線を特定する特定部とを有する情報処理装置と
を備えることを特徴とする情報処理システム。
【請求項１６】
前記情報処理装置は、前記計算部と前記特定部により、前記特定の撮像対象について異なる時間毎に撮像した複数の画像に対して前記境界線を各々特定し、特定した複数の境界線を用いて警報を出力するか否かを判断する判断部を更に有し、
前記判断部の判断に従って警報を出力する警報装置を更に備える
ことを特徴とする請求項１５に記載の情報処理システム。
【請求項１７】
画像に写る境界線を特定する情報処理方法であって、
前記画像における画素のエッジベクトルを前記画像の所定方向に射影した射影ベクトルの正規化によって得られる特徴量を、前記画像における画素毎に計算し、
前記画像において前記所定方向に定められる複数の走査線毎に走査線上にある複数の画素の前記特徴量を統計処理することで得られる統計分布における極大値に基づいて、前記境界線を特定する
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理装置、情報処理システム、情報処理方法に関する。
【背景技術】
【０００２】
河川やダム等の水位（喫水線）が危険水位を超えたか否かを検出するために、専用のフロート等の水位の監視を行う専用装置や量水標によって喫水線を観測することが行われている。しかし、専用装置は高額であり、また、河川の流速が大きい等の原因からそれら装置の設置が困難な場合がある。一方で、河川等を監視するカメラにより撮像された画像や映像に写る喫水線を、画像処理によって特定する方法が知られている。このような画像処理を用いる方法は、河川等から離れた場所にカメラを設置してもよく、河川の周囲特有の環境の影響を受けないといった優位な点がある。
【０００３】
画像処理を用いて水面と陸地との境界線である喫水線を特定する方法として、画像を構成する画素の有する輝度・色相等の画素値の勾配によって定義されるエッジ強度を使って喫水線を特定する方法が知られている。毎（例えば、特許文献１、２を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７‐２１２２３８号公報
【特許文献２】特開２０１２‐１８５０６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
撮像時の天候や時間帯、周囲の照明等の影響を受けることで、画像に写る境界線のコントラストが小さくなることがある。この場合、境界線における画素値の勾配は小さいため、エッジ強度は小さくなり、境界線を特定する際の精度が下がる。
【０００６】
一つの側面では、本発明は、境界線を特定する際の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
一つの様態によると、画像に写る境界線を特定する情報処理プログラムであって、コンピュータに、画像における画素のエッジベクトルを画像の所定方向に射影した射影ベクトルの正規化によって得られる特徴量を、画像における画素毎に計算する計算処理と、画像において所定方向に定められる複数の走査線毎に走査線上にある複数の画素の特徴量を統計処理することで得られる統計分布における極大値に基づいて、境界線を特定する特定処理とを実行させる情報処理プログラムが、提供される。
【発明の効果】
【０００８】
一つの側面では、本発明により、境界線を特定する際の精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１実施形態にかかる情報処理システムの全体構成を示す図である。
【図２】図２は、第１実施形態にかかる情報処理装置のハードウェア構成を示すブロック図である。
【図３】図３は、第１実施形態にかかる情報処理装置の機能的構成を示すブロック図である。
【図４】図４は、処理対象の一例である河川画像の一例を示す図である。
【図５】図５は、河川画像の一例に対応する一つの画素とその周辺画素を示す図である。
【図６】図６は、河川画像の一例の一つの画素におけるエッジベクトルを示す図である。
【図７】図７は、河川画像の一例の画素毎のエッジ強度をグレースケールで表したエッジ強度画像を示す図である。
【図８】図８は、河川画像の一例について作成されたエッジ強度ヒストグラムを示す図である。
【図９】図９は、照明の暗い環境で撮像された河川画像の一例について作成されたエッジ強度ヒストグラムを示す図である。
【図１０】図１０は、処理対象の一例である河川画像の他の例を示す図である。
【図１１】図１１は、河川画像の他の例の画素毎のエッジ強度をグレースケールで表したエッジ強度画像を示す図である。
【図１２】図１２は、河川画像の他の例について作成されたエッジ強度ヒストグラムを示す図である。
【図１３】図１３は、河川画像の他の例について作成されたエッジ強度ヒストグラムの拡大図である。
【図１４】図１４は、河川画像の他の例に写る場所毎のエッジベクトルの方向と大きさを示す図である。
【図１５】図１５は、第１実施形態にかかる情報処理装置による処理手順を示すフローチャートである。
【図１６】図１６は、第１実施形態にかかる情報処理装置の処理対象画像作成部が行う処理を示すフローチャートである。
【図１７】図１７は、第１実施形態にかかる情報処理装置の計算部が行う処理を示すフローチャートである。
【図１８】図１８は、第１実施形態にかかる情報処理装置の計算部のうち勾配計算部が行う処理を示すフローチャートである。
【図１９】図１９は、第１実施形態にかかる情報処理装置の計算部のうち特徴量計算部が行う処理を示すフローチャートである。
【図２０】図２０は、第１実施形態にかかる情報処理装置の計算部が計算する特徴量を説明する図である。
【図２１】図２１は、第１実施形態にかかる情報処理装置の特定部が行う処理を示すフローチャートである。
【図２２】図２２は、第１実施形態にかかる情報処理装置の特定部のうち統計分布作成部が行う処理を示すフローチャートである。
【図２３】図２３は、第１実施形態にかかる情報処理装置の特定部のうち統計分布作成部が、河川画像の他の例について作成するヒストグラムを示す図である。
【図２４】図２４は、第１実施形態にかかる情報処理装置の特定部のうち統計分布作成部が、河川画像の他の例について作成されたヒストグラムの拡大図である。
【図２５】図２５は、第１実施形態にかかる情報処理装置の計算部が計算する特徴量について、喫水線に対応する画素と手すりに対応する画素とをそれぞれ示す図である。
【図２６】図２６は、第１実施形態にかかる情報処理装置の計算部が計算する特徴量について、喫水線に対応する画素と水面に対応する画素とをそれぞれ示す図である。
【図２７】図２７は、第１実施形態にかかる情報処理装置の特定部のうちピーク検出部が行う処理を示すフローチャートである。
【図２８】図２８は、第１実施形態にかかる情報処理装置の特定部のうち境界線候補検出部が行う処理を示すフローチャートである。
【図２９】図２９は、第１実施形態にかかる情報処理装置の特定部の計算する境界線候補を河川画像の他の例に重畳表示した図である。
【図３０】図３０は、第２実施形態にかかる情報処理システムの全体構成を示す図である。
【図３１】図３１は、第２実施形態にかかる情報処理装置の機能的構成を示すブロック図である。
【図３２】図３２は、第２実施形態にかかる情報処理装置の処理手順を示すフローチャートである。
【図３３】図３３は、第２実施形態にかかる情報処理装置の警報判断部が行う処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
第１実施形態にかかる情報処理装置、情報処理プログラム、情報処理システム、情報処理方法について、図１〜図２８を参照して説明する。
【００１１】
第１実施形態にかかる情報処理装置は、画像の境界線を特定する境界線特定装置として用いられる。情報処理装置は、例えば、河川画像の喫水線を特定する。
【００１２】
（システム構成）
はじめに、第１実施形態の構成について、図１〜図３を用いて説明する。
【００１３】
図１は、第１実施形態にかかる情報処理システム（境界線特定システム１００）の全体構成を示す図である。図１に示すように、境界線特定システム１００は、撮像部１０１と画像送信部１０２とを有する端末１０３と、情報処理装置１２０と、情報表示装置１０５とを備える。端末１０３は、例えば、河川付近に設置されたカメラである。端末１０３と情報処理装置１２０と情報表示装置１０５は、ネットワーク１０４を介して相互に通信可能となっている。端末１０３はデータを取得し、情報処理装置１２０にデータを送信する。データの取得は、撮像部１０１が撮像することによって行われる。撮像部１０１で撮像され、情報処理装置１２０にて処理されるデータとは、画像や映像である。情報処理装置１２０は送信されたデータについて情報処理を行い、処理結果を情報表示装置１０５に送信する。情報表示装置１０５は送信された処理結果について表示する。情報表示装置１０５は、端末１０３や情報処理装置１２０に備えられていてもよい。
【００１４】
（ハードウェア構成）
図２は、第１実施形態にかかる情報処理装置のハードウェア構成を示すブロック図である。情報処理装置１２０は、例えば、サーバーであり、図２に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２２と、補助記憶デバイス１２３と、ネットワーク１０４に接続された通信制御デバイス１２４と、入力デバイス１２５と、出力デバイス１２６と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２７とを構成部として備える。また、各構成部はバス１２８によってそれぞれ接続されている。
【００１５】
ＣＰＵ１２１が、ＲＯＭ１２２や補助記憶デバイス１２３やＲＡＭ１２７の少なくとも何れか１つに格納された第１実施形態のプログラムを読み出して実行することで、後述するように、情報処理装置１２０は処理対象に写る境界線を特定する機能を実現する。ＲＡＭ１２７は、例えば、ＤＲＡＭやフラッシュメモリであって、ＣＰＵ１２１のワークエリアとしても使用される。補助記憶デバイス１２３は、例えば、ハードディスクドライブやフラッシュメモリであって、ＣＰＵ１２１の計算結果をデータとして記録する装置としても利用される。なお、ＣＰＵ１２１が補助記憶デバイス１２３に記録されたデータを読み出すこともある。入力デバイス１２５は、例えば、キーボード、マウス、スキャナである。出力デバイス１２６は、例えば、ディスプレイ、プリンタである。出力デバイス１２６は、情報処理装置１２０とは別に、境界線特定システム１００に備えられた情報表示装置１０５である場合もある。通信制御デバイス１２４は、例えば、モデムやＬＡＮアダプタ等のネットワークインターフェースカードであって、情報処理装置１２０は通信制御デバイス１２４を介してネットワーク１０４に接続され、ネットワーク１０４を介して他の情報処理装置と通信する。
【００１６】
（機能部の構成）
図３は、第１実施形態にかかる情報処理装置の機能的構成を示すブロック図である。情報処理装置１２０は、処理対象画像作成部１４０と、記録部１５０と、計算部１６０と、特定部１７０と、出力部１８０とを機能部として有する。
【００１７】
処理対象画像作成部１４０は、図１に示される撮像部１０１によって撮像されたデータである画像や映像等について、所定方向を基準として角度の補正を行い、後述する画像処理を行う処理対象範囲を決定することで処理対象画像を作成する機能を有する。
【００１８】
記録部１５０は、撮像部１０１にて撮像され、入力されたデータや処理対象画像作成部１４０にて作成された処理対象画像を記録する機能を有する。また、記録部１５０は、計算部１６０にて計算された計算結果や特定部１７０にて特定された境界線を記録する機能を有する。記録部１５０は、例えば、ＲＡＭ１２７や補助記憶デバイス１２３である。
【００１９】
計算部１６０は、処理対象画像作成部１４０にて作成された処理対象画像に対し、後述する特定部１７０にて境界線候補を検出するために用いる特徴量を計算する機能を有する。
【００２０】
特定部１７０は、計算部１６０にて計算された特徴量を用いて、境界線候補を検出し、画像に写る境界線を特定する機能を有する。
【００２１】
処理対象画像作成部１４０と、記録部１５０と、計算部１６０と、特定部１７０は、ＣＰＵ１２１が実施形態にかかるプログラムを実行することによって実現される。
【００２２】
出力部１８０は、特定部１７０にて特定された境界線の情報を出力する機能を有する。出力部１８０は、出力デバイス１２６によって実現される。出力部１８０は、記録部１５０に記録されたデータや処理対象画像に対して、特定された境界線を重畳表示する等の処理を施して出力してもよい。
【００２３】
計算部１６０は、画素値計算部１６１と、勾配計算部１６２と、エッジベクトル計算部１６３と、特徴量計算部１６４とを有する。
【００２４】
画素値計算部１６１は、処理対象画像作成部１４０にて作成された処理対象画像に対し、画素毎の明度、色相、輝度等を数値化した値を、画素毎の画素値として計算する機能を有する。画素値計算部１６１は、例えば、処理対象画像の画素毎の明度を画素値として計算する。また、画素値計算部１６１は、画素毎の画素値に基づいて処理対象画像をグレースケールで表した画素値画像を作成してもよい。
【００２５】
勾配計算部１６２は、画素値計算部１６１にて計算された画素値を用いて、周辺画素値の画素値勾配を画素毎に計算する機能を有する。
【００２６】
エッジベクトル計算部１６３は、勾配計算部１６２にて計算された画素毎の画素値勾配を用いて、画素毎のエッジベクトルを計算する機能を有する。
【００２７】
特徴量計算部１６４は、後述する統計分布作成部１８１にて統計分布を作成するための特徴量を画素毎に計算する機能を有する。特徴量は、画素毎のエッジベクトルを画像の所定方向に射影した射影ベクトルの正規化によって得られる。
【００２８】
特定部１７０は、統計分布作成部１７１と、ピーク検出部１７２と、境界線候補検出部１７３と、境界線決定部１７４とを有する。
【００２９】
統計分布作成部１７１は、計算部１６０にて計算された画素毎の特徴量について、統計処理を行うことで統計分布を作成する機能を有する。統計分布作成部１７１は、例えば、一次射影加算の処理によってヒストグラムを作成する。統計分布は、画像において所定方向に定められる複数の走査線毎に走査線上にある複数の画素の特徴量を統計処理し、走査線ごとの特徴量の強度について計算することで得られる。
【００３０】
ピーク検出部１７２は、統計分布作成部１７１にて作成された統計分布の極大値のうち、強度の大きい１以上の極大値をピークとして検出する機能を有する。
【００３１】
境界線候補検出部１７３は、ピーク検出部１７２にて検出されたピークを用いて、境界線候補を検出する機能を有する。境界線候補は、検出されたピークに対応する走査線上にある複数の画素の座標を取得することで得られる。境界線候補検出部１７３は、記録部１５０に記録された処理対象画像を読み込み、ピークに対応する位置に境界線候補を重畳表示してもよい。
【００３２】
境界線決定部１７４は、境界線候補検出部１７３にて計算された境界線候補のうち一つを選択し、境界線として決定する機能を有する。
【００３３】
各々の機能部が実行する処理は、図１５〜図１９、図２１、図２２、図２７、図２８に示した処理の説明に併せて後述する。
【００３４】
（処理対象画像の一例）
次に、第１実施形態にかかる情報処理装置の処理対象となる画像の一例について、図４〜図９を用いて説明する。
【００３５】
図４は、処理対象の一例である河川画像の一例を示す図である。河川画像２００には画像Ｙ方向の下から、河川の水面と、陸地（河川敷と緑地）とが写っている。また、図４に示された点線は、河川画像２００に写る、水面と陸地との境界線である喫水線２０１とその延長線である。情報処理装置１２０の検出対象は、河川画像２００に写る喫水線２０１である。
【００３６】
図５は、河川画像の一例を構成 する一つの画素とその周辺画素を示す図である。河川画像２００が画像データとして処理された際の、河川画像２００を構成する画素１つ１つを正方形で表しており、画素それぞれに付された文字（ｉ、ｊ）等は、河川画像２００を構成する画素の座標を示す。例えば、画素２１１は、河川画像２００のｉ行目、ｊ列目の位置にある。画素２１２〜２１９は、画素２１１を取り囲む８つの画素であって、画素２１１に対する周辺画素である。例えば、画素２１１に対する周辺画素は、同様に、画素２１２を取り囲む８つの画素となる。河川画像２００を構成する画素はそれぞれ、画素値計算部１６１によって明度、色相、輝度等を数値化可能な値である画素値を有する。
【００３７】
図６は、河川画像の一例における一つの画素のエッジベクトルを示す図である。河川画像２００を構成する画素はそれぞれ、勾配計算部１６２によって画素値勾配を計算され、エッジベクトル計算部１６３によって画素毎のエッジベクトルが計算される。ここで、エッジベクトルとは、画素値勾配の方向と直交する方向に定義されるベクトルである。計算された画素毎のエッジベクトルの大きさと方向は、対応する画素の座標にに対応させて記録される。図６では、画素２１１に対応するエッジベクトル２２３を示している。エッジベクトル２２３は、Ｘ方向成分ベクトル２２１と、Ｙ方向成分ベクトル２２２とを足し合わせることで得られる。ここで、エッジベクトル２２３とは、画素２１１に着目し、画素２１１に対する周辺画素２１２〜２１９の画素値に基づく画素値勾配が計算され、画素値勾配の方向と直交する方向に定義されるベクトルである。エッジベクトル２２３に付された文字は、エッジベクトル２２３の成分を示す。ここで、詳細は後述するが、Ｘ方向成分ベクトル２２１は、周辺画素２１２〜２１９の画素値に基づく画素値勾配を河川画像２００のＸ方向に対して用いて求められたベクトルであり、Ｙ方向成分ベクトル２２２は周辺画素２１２〜２１９の画素値に基づく画素値勾配を河川画像２００のＸ方向と垂直なＹ方向に対して求めたベクトルである。エッジベクトル２２３の大きさ｜ｖ｜がエッジ強度として下記式（１）により定義される。 
【００３８】
【数１】
2019117578.tif 000003
【００３９】
画像データに写る境界線に対応する画素は、周辺画素の画素値の変化が所定方向に沿って急峻であり、その結果、画素値勾配が大きくエッジ強度も大きくなる。このように、境界線では、写る物体の違いによる、明るさの違い等のコントラストが、画素値勾配の大きさとして表れる。
【００４０】
図７は、河川画像の一例の画素毎のエッジ強度をグレースケールで表したエッジ強度画像を示す図である。エッジ強度画像２００ａは、河川画像２００について画素毎のエッジ強度をグレースケールで表すよう画像変換を行ったものである。また、図７に示された点線は、エッジ強度画像２００ａに写る、水面と陸地との境界線である喫水線２０１とその延長線である。喫水線２０１に対応する座標の画素は、エッジ強度の大きい画素として白く表示されている。
【００４１】
図８は、河川画像の一例について作成されたエッジ強度ヒストグラムを示す図である。ヒストグラム２６０は、例えば、河川画像２００の画素毎のエッジ強度を特徴量として、河川画像２００において所定方向に定められる複数の走査線２５０について、複数の走査線２５０毎に走査線上にある複数の画素の特徴量を加算することで得られる。ヒストグラム２６０は、特徴量の加算値の強度分布を示す。ヒストグラムを作成する際の特徴量は、例えば、下記式（２）で表される。所定方向は、河川画像において喫水線が延在すると推定される方向である。複数の走査線は、河川画像において所定方向に直行する方向に並ぶ複数の走査線である。 
【００４２】
【数２】
2019117578.tif 000004
【００４３】
ｖｉｊ：ｉ行ｊ列の画素におけるエッジベクトル
【００４４】
ヒストグラム２６０は、河川画像２００のＹ方向に並ぶ複数の走査線２５０の位置と、複数の走査線２５０毎の走査線上にある複数の画素の特徴量の加算値とを軸にとっている。ヒストグラム２６０は、喫水線に対応する位置の極大値２６１を有する。河川画像２００において所定方向に定められる複数の走査線２５０のうち、喫水線２０１の位置で走査される喫水線に対応する走査線２５０ａの位置に対応する。対応喫水線に対応する位置の極大値２６１は、ヒストグラム２６０の他の極大値よりも十分大きく、ピーク検出部１７２によってピークとして検出される。情報処理装置１２０は、ピークとして検出される喫水線に対応する位置の極大値２６１に対応する、喫水線に対応する走査線２５０ａ上の画素を喫水線候補として検出するため、河川画像２００のように、河川画像２００から作成されたヒストグラム２６０に喫水線に対応する位置の極大値２６１に対応が一つのピークとして表れる場合、喫水線の特定は容易である。
【００４５】
しかし、撮像時の天候や時間帯、周囲の照明等の影響を受けることで、画像に写る境界線のコントラストが小さくなることがある。
【００４６】
図９は、照明の暗い環境で撮像された河川画像の一例について作成されたエッジ強度ヒストグラムを示す図である。エッジ強度画像２００ｂは、照明の暗い環境で撮像された河川画像の他の例について画素毎のエッジ強度をグレースケールで表したものである。エッジ強度画像２００ｂは、図７のエッジ強度画像２００ａの喫水線２０１と比較して、喫水線２０１ｂの周囲とのコントラストが小さい。エッジ強度画像２００ｂについて作成されたヒストグラム２６０ｂの喫水線に対応する位置の極大値２６１ｂは、図８のヒストグラム２６０の喫水線に対応する位置の極大値２６１と比較して、強度が小さくヒストグラム２６０ｂに現れる他の極大値と区別ができずピーク検出部１７２がピークとして検出できない可能性がある。
【００４７】
（処理対象画像の他の例）
次に、第１実施形態にかかる情報処理装置の処理対象となる画像の他の例について、図１０〜図１４を用いて説明する。
【００４８】
図１０は、処理対象の一例である河川画像の他の例を示す図である。河川画像３００には画像Ｙ方向の下から、河川の水面と、陸地（河川敷と緑地）と、陸地に設置された手すりとが写っている。また、図１０に示された画像Ｙ方向のもっとも下にある点線は、河川画像３００に写る、水面と陸地との境界線である喫水線３０１とその延長線である。また、図１０に示された画像Ｙ方向の上から３本の点線は、河川画像３００に写る、陸地に設置された手すりの３本のライン３０２とそれらの延長線である。ライン３０２の周囲とのコントラストは、情報処理装置１２０の検出対象である喫水線３０１の周囲とのコントラストよりも大きい。
【００４９】
図１１は、河川画像の他の例の画素毎のエッジ強度をグレースケールで表したエッジ強度画像を示す図である。
【００５０】
図１１に示された画像Ｙ方向のもっとも下にある点線は、エッジ強度画像３００ａに写る、水面と陸地との境界線である喫水線３０１とその延長線である。また、図１１に示された画像Ｙ方向の上から３本の点線は、河川画像３００ａに写る、陸地に設置された手すりの３本のライン３０２とそれらの延長線である。ライン３０２に対応する座標の画素は、極端にエッジ強度の大きい画素として白く表示されている。
【００５１】
図１２は、河川画像の他の例について作成されたエッジ強度ヒストグラムを示す図である。河川画像３００から作成されたヒストグラム３６０は、喫水線に対応する位置の極大値３６１と、ラインに対応する位置の極大値３６２とを有する。喫水線に対応する位置の極大値３６１は、河川画像３００において所定方向に定められる複数の走査線３５０のうち、喫水線３０１の位置で走査される喫水線に対応する走査線３５０ａの位置に対応する。ラインに対応する位置の極大値３６２は、河川画像３００において所定方向に定められる複数の走査線３５０のうち、ライン３０２の位置で走査される走査線の位置に対応する。ラインに対応する位置の極大値３６２は、ヒストグラム３６０の他の極大値よりも極端に強度が大きく、ピーク検出部１７２によってピークとして検出される。河川画像３００のように、喫水線３０１の他に、周囲とのコントラストが大きいライン３０２が写っている場合、ライン３０２のエッジ強度が極端に大きいため、喫水線３０１のエッジ強度は相対的に小さくなり、喫水線に対応する位置の極大値３６１は小さく表れる。喫水線に対応する位置の極大値３６１は、強度が小さくヒストグラム３６０に表れる他の極大値と区別ができずピーク検出部１７２がピークとして検出できない可能性がある。
【００５２】
図１３は、河川画像の他の例について作成されたエッジ強度ヒストグラムの拡大図である。
【００５３】
図１４は、河川画像の他の例に写る場所毎のエッジベクトルの方向と大きさを示す図である。画素群３７１、３７２、３７３はそれぞれ、河川画像３００に写る喫水線、手すり、水面の位置に対応する画素を含む。画素群３７１に含まれる画素３１１、３１２、３１３はそれぞれ、互いに方向が揃ったエッジベクトルを有する。画素群３７１に含まれる画素３１１、３１２、３１３はそれぞれ、互いに方向が揃ったエッジベクトルを有し、画素群３７２の画素よりもエッジベクトルの大きさは相対的に大きい。画素群３７１に含まれる画素３１１、３１２、３１３はそれぞれ、方向が揃っていないエッジベクトルを有する。
【００５４】
エッジ強度ヒストグラムを用いて河川画像３００の喫水線３０１を画像処理によって特定しようとする場合、エッジベクトルの大きさが極端に大きいライン３０２が写っていることで、エッジベクトルの大きさが相対的に小さい喫水線３０１の検出が行えないため、このような場合、喫水線を特定する際の精度が下がるという課題がある。
【００５５】
（処理手順）
次に、第１実施形態にかかる情報処理装置による処理手順を説明する。
【００５６】
図１５は、第１実施形態にかかる情報処理装置による処理手順を示すフローチャートである。
【００５７】
図１５に示すように、まず、処理対象画像作成部１４０が入力されたデータを取得する（ステップＳ１００）。処理対象となるデータは、撮像部１０１にて撮像されたデータが入力されてもよいし、記録部１５０から読み出されてもよい。そして、ステップＳ１００にて取得されたデータを用いて処理対象画像作成部１４０が処理対象画像を作成する（ステップＳ２００）。ステップＳ２００にて作成された処理対象画像を記録部１５０が記録する（ステップＳ３００）。ステップＳ２００にて作成された処理対象画像について計算部１６０が画素毎の特徴量を計算する（ステップＳ４００）。ステップＳ４００にて計算された特徴量を用いて特定部１７０が境界線を特定する（ステップＳ５００）。ステップＳ５００にて特定された境界線について出力部１８０が出力し（ステップＳ６００）、一連の処理を終了する。出力部１８０は、特定された境界線を記録部１５０から読み出される処理対象画像と併せて出力してもよい。
【００５８】
以下、図１５において処理対象画像作成部が処理を行うステップＳ２００について、図１６に沿って詳細に説明する。
【００５９】
図１６は、第１実施形態にかかる情報処理装置の処理対象画像作成部が行う処理（ステップＳ２００）の詳細な処理を示すフローチャートである。ステップＳ１００にて取得されたデータを対象として処理が開始され、この入力されたデータが映像データか否かを判断する（ステップＳ２１０）。入力されたデータが映像データでない場合（ステップＳ２１０：Ｎｏ）、ステップＳ２２０を飛ばし、入力されたデータを画像１として記録する（ステップＳ２４０）。一方、入力されたデータが映像データである場合（ステップＳ２１０：Ｙｅｓ）、映像データのフレーム平均をとり画像データを作成する（ステップＳ２２０）。次いで、ステップＳ２２０により作成された画像データを記録部１５０に画像１として記録する（ステップＳ２４０）。次いで、画像１をθだけ回転させることで所定の角度θの角度補正を行い、画像２を作成する（ステップＳ２５０）。画像１を所定の角度θだけ回転させる処理は、下記式（３）で表されるような角度補正オペレータによって計算する。所定の角度θを決定する方法は後述する。 
【００６０】
【数３】
2019117578.tif 000005
【００６１】
次いで、ステップＳ２５０にて作成された画像２の一部領域を切り出して画像３を作成する（ステップＳ２６０）。切り出す一部領域は境界線を含むように選択され、一部領域を選択する方法は後述する。ステップＳ２６０にて作成された画像３を処理対象画像として決定する（ステップＳ２７０）。元の画像データの一部領域を処理対象画像とすることで、後述する情報処理装置の処理を行う対象のデータが小さくなり、境界線を特定するまでの処理の速度が高まる。
【００６２】
以下、図１５において計算部が処理を行うステップＳ４００について、図１７に沿って詳細に説明する。
【００６３】
図１７は、第１実施形態にかかる情報処理装置の計算部が行う処理（ステップＳ４００）を示すフローチャートである。ステップＳ３００にて処理対象画像が記録されたことを契機に処理が開始され、処理対象画像の画素毎の画素値について画素値計算部１６１が計算を行う（ステップＳ４１０）。画素値計算部１６１は、計算した画素値に基づいて、処理対象画像を画素値のグレースケールで表した画素値画像に変換を行ってもよい。処理対象画像を画素値画像に変換することで、後述する情報処理装置の処理を行う対象のデータが小さくなり、境界線を特定するまでの処理の速度が高まる。ステップＳ４１０にて計算された画素値を用いて勾配計算部１６２が処理対象画像の画素毎の画素値勾配を計算する（ステップＳ４２０）。ステップＳ４２０にて計算された画素値勾配を用いてエッジベクトル計算部１６３が画素毎のエッジベクトルを計算する（ステップＳ４３０）。画素毎のエッジベクトルは、画素値勾配の所定方向成分を用いて定義されるエッジベクトル成分を足し合わせることによって計算される。ステップＳ４３０にて計算されるエッジベクトルを用いて特徴量計算部１６４が画素毎の特徴量を計算する（ステップＳ４４０）。
【００６４】
以下、図１７において勾配計算部１６２が処理を行うステップＳ４２０について、図１８に沿って詳細に説明する。
【００６５】
図１８は、第１実施形態にかかる情報処理装置の計算部のうち勾配計算部が行う処理（ステップＳ４２０）を示すフローチャートである。ステップＳ４１０にて画素値が計算されたことを契機に処理が開始され、画素毎の画素値を計算された処理対象画像について、画像Ｘ方向第ｉ番目（第ｉ行目）、画像Ｙ方向第ｊ番目（第ｊ列目）の画素Ｐｉｊを選択する（ステップＳ４２１）。ステップＳ４２１にて選択された画素Ｐｉｊと画素Ｐｉｊの周辺画素に、画素値の勾配を計算する第１オペレータを適用する（ステップＳ４２２）。第１オペレータは、例えば、画像Ｘ方向について画素値のＸ方向勾配を計算する。第１オペレータとして、下記式（４）で表されるようなＰｒｅｗｉｔｔフィルタが用いられる。
【００６６】
【数４】
2019117578.tif 000006
【００６７】
画素Ｐｉｊと画素Ｐｉｊの周辺画素に、画素値の勾配を計算する第２オペレータを適用する（ステップＳ４２３）。第２オペレータは、例えば、画像Ｙ方向について画素値のＹ方向勾配を計算する。第２オペレータとして、下記式（５）で表されるような、第１オペレータと垂直方向の勾配を計算するＰｒｅｗｉｔｔフィルタが用いられる。 
【００６８】
【数５】
2019117578.tif 000007
【００６９】
画素値の勾配を計算するオペレータは、Ｐｒｅｗｉｔｔフィルタに限られず、例えば、下記式（６）に表されるようなＳｏｂｅｌフィルタや下記式（７）に表されるような微分フィルタを用いてもよい。 
【００７０】
【数６】
2019117578.tif 000008
【００７１】
【数７】
2019117578.tif 000009
【００７２】
次いで、ステップＳ４２２、Ｓ４２３の計算結果である画素値勾配の大きさと方向を画素Ｐｉｊに対応させて記録部１５０に記録する（ステップＳ４２４）。そして、処理対象画像を構成する画素の行番号であるｉをインクリメントし（ステップＳ４２５）、行番号ｉがｉ＞Ｉであるか否かを判断する（ステップＳ４２６）。ここで、Ｉは、処理対象画像を構成する画素の行数である。ｉ＞Ｉでない場合（ステップＳ４２６：Ｎｏ）、ステップＳ４２２に戻る。一方、ｉ＞Ｉである場合（ステップＳ４２６：Ｙｅｓ）、処理対象画像を構成する画素の列番号ｊをインクリメントし（ステップＳ４２７）、列番号ｊがｊ＞Ｊであるか否かを判断する（ステップＳ４２８）。ここで、Ｊは、処理対象画像を構成する画素の列数である。ｊ＞Ｊでない場合（ステップＳ４２８：Ｎｏ）、ステップＳ４２２に戻る。一方、ｊ＞Ｊである場合（ステップＳ４２８：Ｙｅｓ）、処理対象画像を構成する画素全てについて画素値勾配の計算が終了したとして、繰り返し処理を終了する。
【００７３】
以下、図１７において特徴量計算部１６４が処理を行うステップＳ４４０について、図１９に沿って詳細に説明する。
【００７４】
図１９は、第１実施形態にかかる情報処理装置 の計算部のうち特徴量計算部が行う処理（ステップＳ４４０）を示すフローチャートである。特徴量計算部１６４にて計算される特徴量は、後述する走査線が走査される所定方向が決定され、画素毎のエッジベクトルが所定方向に射影され、かつ正規化されることで求められる。計算される特徴量は、例えば、下記式（８）で表されるような、所定方向の単位ベクトルと画素毎のエッジベクトルとの内積を、エッジベクトルの大きさで除することで計算される。 
【００７５】
【数８】
2019117578.tif 000010
【００７６】
αｉｊ：ｉ行ｊ列の画素におけるエッジベクトルｖｉｊと所定方向との成す角度
ｅ：所定方向の単位ベクトル 
【００７７】
ステップＳ４３０にて画素毎のエッジベクトルが計算されたことを契機に処理が開始され、処理対象画像に対して、所定方向を決定する（ステップＳ４４１）。所定方向は、例えば、処理対象画像の側面の方向で、処理対象画像を構成する画素が並ぶ行方向である。また、所定方向は、処理対象画像において境界線が延在すると推定される方向として予め設定してもよい。
【００７８】
処理対象画像について、処理対象画像Ｘ方向第ｉ番目（第ｉ行目）、処理対象画像Ｙ方向第ｊ番目（第ｊ列目）の画素Ｐｉｊを選択する（ステップＳ４４２）。ステップＳ４４２にて選択された画素Ｐｉｊのエッジベクトルの大きさと方向とを取得する（ステップＳ４４３）。ステップＳ４４３にて取得されたエッジベクトルを用いて、画素Ｐｉｊのエッジベクトルと所定方向との成す角度αｉｊを計算する（ステップＳ４４４）。ステップＳ４４４にて計算された角度αｉｊを用いて、画素Ｐｉｊのエッジベクトルを所定方向に射影した射影ベクトルについて計算し、射影ベクトルをエッジベクトルの大きさで除することで正規化を行う（ステップＳ４４５）。そして、処理対象画像を構成する画素の行番号であるｉをインクリメントし（ステップＳ４４６）、行番号ｉがｉ＞Ｉであるか否かを判断する（ステップＳ４４７）。ｉ＞Ｉでない場合（ステップＳ４４７：Ｎｏ）、ステップＳ４４３に戻る。一方、ｉ＞Ｉである場合（ステップＳ４４７：Ｙｅｓ）、処理対象画像を構成する画素の列番号ｊをインクリメントし（ステップＳ４４８）、列番号ｊがｊ＞Ｊであるか否かを判断する（ステップＳ４４９）。ｊ＞Ｊでない場合（ステップＳ４４９：Ｎｏ）、ステップＳ４４３に戻る。一方、ｊ＞Ｊである場合（ステップＳ４４９：Ｙｅｓ）、処理対象画像を構成する画素全てについて特徴量の計算が終了したとして、繰り返し処理を終了する。計算された特徴量は、画素の座標に対応づけて記録部１５０に記録される。
【００７９】
図２０は、第１実施形態にかかる情報処理装置の計算部が計算する特徴量を説明する図である。図２０では、図１４にて説明される河川画像３００の喫水線に対応する位置の画素群３７１を示しており、画素群３７１に含まれる画素３１１、３１２、３１３と、画素３１１、３１２、３１３とそれぞれ対応したエッジベクトル３２１、３２２、３２３と、河川画像３００の所定方向に定められる複数の走査線のうち喫水線の位置に対応する走査線４５０ａと、エッジベクトル３２１、３２２、３２３をそれぞれ所定方向に射影した射影ベクトル３８１、３８２、３８３とを示している。喫水線の位置に対応する走査線４５０ａは点線で示される。エッジベクトルと射影ベクトルはそれぞれ、対応する画素の中心の黒丸を始点とした実線で示される。画素群３７１に含まれる画素３１１、３１２、３１３はそれぞれ、勾配計算部１６２によって画素値勾配を計算され、エッジベクトル計算部１６３によって画素毎のエッジベクトルが計算される。計算されたエッジベクトル３２１、３２２、３２３の大きさと方向は、対応する画素３１１、３１２、３１３の座標に対応させて記録部１５０に記録される。喫水線に対応する走査線４５０ａは、画素３１１、３１２、３１３と重なる。エッジベクトル３２１、３２２、３２３は、所定方向の単位ベクトルと角度α１、α２、α３を成す。角度α１、α２、α３に基づいて、エッジベクトル３２１、３２２、３２３を所定方向に射影した射影ベクトル３８１、３８２、３８３が計算される。射影ベクトル３８１、３８２、３８３はそれぞれ、エッジベクトル３２１、３２２、３２３の大きさで除することによって正規化される。つまり、求められる特徴量は、画素毎のエッジベクトルと所定方向とが成す角度に基づく値であり、例えば、エッジベクトル３２１、３２２、３２３と所定方向との成す角度の余弦の絶対値である。エッジベクトル３２１、３２２、３２３と所定方向との成す角度が小さい、つまりエッジベクトル３２１、３２２、３２３が所定方向と揃っているときに特徴量は最大値を示す。
【００８０】
ここで、所定方向と角度α１を成すエッジベクトル３２１を有する画素３１１の特徴量と、角度α１と同じ成す角度α２を有し、エッジベクトル３２１よりも大きいエッジベクトル３２２を有する画素３１２の特徴量とを比較する。エッジベクトル３２２の大きさはエッジベクトル３２１よりも大きいため、射影ベクトル３８２の大きさも射影ベクトル３８１よりも大きくなるが、それぞれのエッジベクトルの大きさで除することで正規化されるため、所定方向と同じ角度を成す画素３１１の特徴量と画素３１２の特徴量は等しくなる。
【００８１】
このような特徴量の計算方法によって、大きさが小さく所定方向と方向の揃ったエッジベクトルを有する画素の特徴量と、極端に大きいエッジベクトルを有する画素の特徴量を、所定方向と成す角度のみに基づいて計算することができる。
【００８２】
このような特徴量を用いることで、コントラストの小さい喫水線に対応する画素の特徴量強度が相対的に小さくなることなく、統計分布にて十分に大きい極大値を示しピークとして検出されるので、喫水線を検出することができる。
【００８３】
以下、図１５において特定部１７０が処理を行うステップＳ５００について、図２１に沿って詳細に説明する。
【００８４】
図２１は、第１実施形態にかかる情報処理装置の特定部が行う処理（ステップＳ５００）を示すフローチャートである。ステップＳ４００にて画素毎の特徴量が計算されたことを契機に処理が開始され、特徴量を用いて統計分布作成部１７１が統計分布を作成する（ステップＳ５１０）。統計分布は極大値を有するものであり、例えば、特徴量の加算値を強度で示したヒストグラムである。統計分布の極大値からピーク検出部１７２がピークを検出し（ステップＳ５２０）、検出されたピークを用いて境界線候補検出部１７３が境界線候補を検出する（ステップＳ５３０）。次いで、境界線決定部１７４が境界線候補のうちひとつを境界線として決定する（ステップＳ５４０）。ここで、境界線決定部１７４は、ステップＳ５３０にて検出された境界線候補のうち、処理対象画像の特定の側面に最も近い位置に現れる境界線候補を境界線として決定する。例えば、境界線決定部１７４は、処理対象画像Ｙ方向のもっとも下方に現れる境界線候補を境界線として決定する。これは、情報処理装置１２０の処理対象画像である河川画像が、特徴量強度の小さい水面を下方にして撮像されるため、検出される境界線候補が１以上ある場合、真の境界線は処理対象画像のもっとも下方に現れると推定されるためである。また、境界線決定部１７４は、決定した境界線について、記録部１５０に記録させてもよい。
【００８５】
以下、図２１において統計分布作成部１７１が処理を行うステップＳ５１０について、図２２に沿って詳細に説明する。
【００８６】
図２２は、第１実施形態にかかる情報処理装置の特定部のうち統計分布作成部が行う処理（ステップＳ５１０）を示すフローチャートである。ステップＳ４００にて画素毎の特徴量が計算されたことを契機に処理が開始され、処理対象画像の所定方向にＫ本の走査線を走査する（ステップＳ５１１）。走査線の走査される所定方向とは、図２０にて説明した射影ベクトルを射影する所定方向である。複数の走査線は、処理対象画像において所定方向に直行する方向に並ぶ複数の走査線である。走査された走査線のうち、処理対象画像の側面の端から第ｋ番目の走査線Ｓｋを選択する（ステップＳ５１２）。第ｋ番目の走査線Ｓｋ上の第ｌ番目の画素Ｐｌを選択し、記録部１５０に記録された画素Ｐｋｌの特徴量を取得する（ステップＳ５１３）。そして、第ｋ番目の走査線Ｓｋ上の画素の番号であるｌをインクリメントし（ステップＳ５１４）、番号ｌがｌ＞Ｌｋであるか否かを判断する（ステップＳ５１５）。ここで、Ｌｋは、第ｋ番目の走査線Ｓｋ上の画素数である。ｌ＞Ｌｋでない場合（ステップＳ５１５：Ｎｏ）、ステップＳ５１３に戻る。一方、ｌ＞Ｌｋである場合（ステップＳ５１５：Ｙｅｓ）、第ｋ番目の走査線Ｓｋ上の画素全てについて特徴量の計算が終了したとして、繰り返し処理を終了する。次いで、ステップＳ５１３〜Ｓ５１５にて取得された第ｋ番目の走査線上のＬ個の画素の特徴量を加算することで、総和Ｔｋを計算する（ステップＳ５１６）。そして、Ｋ本の走査線の番号であるｋをインクリメントし（ステップＳ５１７）、番号ｋがｋ＞Ｋであるか否かを判断する（ステップＳ５１８）。ｋ＞Ｋでない場合（ステップＳ５１８：Ｎｏ）、ステップＳ５１３に戻る。一方、ｋ＞Ｋである場合（ステップＳ５１８：Ｙｅｓ）、Ｋ本の走査線上の画素の特徴量の総和全てについて計算が終了したとして、繰り返し処理を終了する。計算された走査線上の特徴量の総和は、走査線に対応づけて記録部１５０に記録される。
【００８７】
図２３は、第１実施形態にかかる情報処理装置の特定部のうち統計分布作成部が、河川画像の他の例について作成するヒストグラムを示す図である。統計分布作成部１７１によって河川画像３００から作成されたヒストグラム４６０は、喫水線に対応する位置の極大値４６１と、ラインに対応する位置の極大値４６２とを有する。喫水線に対応する位置の極大値４６１は、河川画像３００において所定方向に定められる複数の走査線４５０のうち、喫水線３０１の位置で走査される喫水線に対応する走査線４５０ａの位置に対応する。ラインに対応する位置の極大値４６２は、河川画像３００において所定方向に定められる複数の走査線４５０のうち、ライン３０２の位置で走査される走査線の位置に対応する。
【００８８】
図２４は、第１実施形態にかかる情報処理装置の特定部のうち統計分布作成部が、河川画像の他の例について作成されたヒストグラムの拡大図である。所定の閾値Ｔｈの値に対応する位置に点線４６３が示されている。喫水線に対応する位置の極大値４６１とラインに対応する位置の極大値４６２とは、点線４６３の縦軸方向の高さよりも高い位置に頂点を有する。
【００８９】
喫水線に対応する位置の画素は、所定方向に定められる複数の走査線と成す角度が小さいことから、大きい特徴量の値を示すため、喫水線に対応する位置の極大値４６１はヒストグラム４６０のノイズとなる極大値よりも十分大きく、ピーク検出部１７２によってピークとして検出される。ヒストグラム４６０の極大値をピークとノイズとに区別するために、例えば、所定の閾値Ｔｈを設定し、Ｔｈ以上の値を有する極大値をピークとして検出する。図１０に説明される河川画像３００のような、喫水線３０１の他に周囲とのコントラストが大きくエッジ強度が大きいライン３０２が写っている場合でも、喫水線３０１を喫水線候補として検出できる。
【００９０】
図２５は、第１実施形態にかかる情報処理装置の計算部が計算する特徴量について、喫水線に対応する画素と手すりに対応する画素とをそれぞれ示す図である。図２５では、図２０にて説明される画素群３７１と、図１４にて説明されるラインに対応する位置の画素群３７２を示しており、画素群３７２に含まれる画素３１４、３１５、３１６と、画素３１４、３１５、３１６とそれぞれ対応するエッジベクトル３２４、３２５、３２６と、河川画像３００の所定方向に定められる複数の走査線４５０と、エッジベクトル３２４、３２５、３２６をそれぞれ所定方向に射影した射影ベクトル３８４、３８５、３８６とを示している。河川画像３００の所定方向に定められる複数の走査線４５０は、画素３１４、３１５、３１６と重なる。エッジベクトル３２４、３２５、３２６は、所定方向の単位ベクトルと角度α４、α５、α６を成す。角度α４、α５、α６に基づいて、エッジベクトル３２４、３２５、３２６を所定方向に射影した射影ベクトル３８４、３８５、３８６が計算される。射影ベクトル３８４、３８５、３８６はそれぞれ、エッジベクトル３２４、３２５、３２６の大きさで除することによって正規化される。
【００９１】
ここで、所定方向と角度α１を成すエッジベクトル３２１から求められる画素３１１の特徴量と、角度α１と同じ成す角度α４を成す、エッジベクトル３２１よりも極端に大きいエッジベクトル３２４から求められる画素３１４の特徴量とを比較する。エッジベクトル３２４の大きさはエッジベクトル３２１よりも極端に大きいため、射影ベクトル３８４の大きさも射影ベクトル３８１よりも極端に大きくなるが、それぞれのエッジベクトルの大きさで除することで正規化されるため、所定方向と同じ角度を成す画素３１１の特徴量と画素３１４の特徴量は等しくなる。
【００９２】
射影ベクトルを正規化することによって所定方向と成す角度のみに基づいて計算することができ、極端に大きいエッジベクトルを有する画素について、特徴量の強度が極端に大きく計算されることを防ぐ。
【００９３】
図２６は、第１実施形態にかかる情報処理装置の計算部が計算する特徴量について、喫水線に対応する画素と水面に対応する画素とをそれぞれ示す図である。図２６では、図２０にて説明される画素群３７１と、図１４にて説明される水面に対応する位置の画素群３７３を示しており、画素群３７３に含まれる画素３１７、３１８、３１９と、画素３１７、３１８、３１９とそれぞれ対応するエッジベクトル３２７、３２８、３２９と、河川画像３００の所定方向に定められる複数の走査線４５０と、エッジベクトル３２７、３２８、３２９をそれぞれ所定方向に射影した射影ベクトル３８７、３８８、３８９とを示している。河川画像３００の所定方向に定められる複数の走査線４５０は、画素３１７、３１８、３１９と重なる。エッジベクトル３２７、３２８、３２９は、所定方向の単位ベクトルと角度α７、α８、α９を成す。角度α７、α８、α９に基づいて、エッジベクトル３２７、３２８、３２９を所定方向に射影した射影ベクトル３８７、３８８、３８９が計算される。ここで、角度α９は２７０°であり、射影ベクトル３８９の大きさは０となるので、図２６に射影ベクトル３８９は図示しない。他にも、エッジベクトルが所定方向と直行する場合（エッジベクトルと所定方向とが成す角度が９０°、２７０°となる場合）、射影ベクトルの大きさは０となる。射影ベクトル３８７、３８８、３８９はそれぞれ、エッジベクトル３２７、３２８、３２９の大きさで除することによって正規化される。
【００９４】
水面に対応する位置の画素３１７、３１８、３１９のエッジベクトル３２７、３２８、３２９は所定方向と方向が揃っておらず、画素群３７３に含まれる画素３１７、３１８、３１９のエッジベクトル３２７、３２８、３２９は、所定方向と成す角度α７、α８、α９は、画素群３７１に含まれる画素のエッジベクトルの成す角度と比較して大きい。このため、画素３１７、３１８、３１９の特徴量は小さく計算され、図２４にて説明されるヒストグラム４６０においてピークを示さない。
【００９５】
以下、図２１においてピーク検出部１７２が処理を行うステップＳ５２０について、図２７に沿って詳細に説明する。
【００９６】
図２７は、第１実施形態にかかる情報処理装置の特定部のうちピーク検出部が行う処理（ステップＳ５２０）を示すフローチャートである。ステップＳ５１０にて統計分布が作成されたことを契機に処理が開始され、所定の閾値Ｔｈを決定する（ステップＳ５２１）。ここで、所定の閾値Ｔｈとして、統計分布の平均値が用いられる。所定の閾値Ｔｈは、例えば、一次射影加算の処理によって作成されたヒストグラムにおける、複数の走査線毎の特徴量を加算した値の各々に基づく平均値である。次いで、Ｋ本の走査線のうち、処理対象画像の側面の端から第ｋ番目の走査線Ｓｋを選択する（ステップＳ５２２）。記録部１５０に記録された、第ｋ番目の走査線Ｓｋ上の画素の特徴量の総和Ｔｋについて取得し（ステップＳ５２３）、総和ＴｋがＴｋ＞Ｔｈであるか否かを判断する（ステップＳ５２４）。Ｔｋ＞Ｔｈである場合（ステップＳ５２４：Ｙｅｓ）、第ｋ番目の走査線Ｓｋをピークとして記録部１５０に記録する（ステップＳ５２５）。一方、Ｔｋ＞Ｔｈでない場合（ステップＳ５２４：Ｎｏ）、ステップＳ５２５を飛ばし、走査線の番号であるｋをインクリメントし（ステップＳ５２６）、番号ｋがｋ＞Ｋであるか否かを判断する（ステップＳ５２７）。ｋ＞Ｋでない場合（ステップＳ５２７：Ｎｏ）、ステップＳ５２３に戻る。一方、ｋ＞Ｋである場合（ステップＳ５２７：Ｙｅｓ）、Ｋ本の走査線全てについてピークか否かの判断が終了したとして、繰り返し処理を終了する。
【００９７】
以下、図２１において境界線候補検出部１７３が処理を行うステップＳ５３０について、図２８に沿って詳細に説明する。
【００９８】
図２８は、第１実施形態にかかる情報処理装置の特定部のうち境界線候補検出部が行う処理（ステップＳ５３０）を示すフローチャートである。ステップＳ５２０にてピークが検出されたことを契機に処理が開始され、ピークとして記録された走査線Ｓｋ上の記録部１５０に記録された画素の座標を全て取得する（ステップＳ５３１）。次いで、記録部１５０に記録された処理対象画像を取得する（ステップＳ５３２）。取得した処理対象画像の画素と、走査線Ｓｋ上の画素とを対応づける（ステップＳ５３３）。特徴量の総和が十分大きくピークとして検出された走査線を境界線候補とし、走査線を構成する画素の座標を取得することによって、処理対象画像上の喫水線候補を検出する。
【００９９】
図２９は、第１実施形態にかかる情報処理装置の特定部の計算する境界線候補を河川画像の他の例に重畳表示した図である。図２９に示すように、処理対象画像３００の手すりと喫水線に対応する位置に、喫水線候補４９１、４９２が重畳表示される。
【０１００】
（複数回処理）
上記のような一連の処理は、一つの画像に対して複数回行ってもよい。一つの画像に対して複数回一連の処理を行うときに、画像の境界線を特定するために計算された計算結果を記録部１５０に記録し、続く処理に用いることで、境界線の特定する精度を高めることができる。
【０１０１】
処理対象画像作成部１４０は、ステップＳ２５０にて所定の角度θを決定するときに、記録部１５０に記録された計算結果を用いることができる。処理対象画像作成部１４０は、処理対象画像に対する所定方向に定められる複数の走査線を用いて作成された統計分布を、記録された計算結果である第１統計分布として、記録部１５０から読み出す。そして、所定方向に対して所定の角度θだけ回転させることで処理対象画像を作成する。作成された処理対象画像を用いて統計分布作成部１７１は統計処理を行い、第２統計分布を作成する。第１統計分布における極大値と第２統計分布の極大値との何れか大きい方に基づいて、特定部１７０は境界線の特定を行う。特定部１７０は、境界線を特定するための特徴量として、所定方向に対する画素毎のエッジベクトルの角度に基づく値を用いているため、画像を所定方向に対して所定の角度θだけ回転させる前後で、画素毎の特徴量は変化し、統計分布作成部１７１が作成する統計分布の値は変化する。境界線の方向と所定方向とが揃っているほど、処理対象画像について作成された統計分布は鋭く大きなピークを示す。そのため、一連の処理を複数回行う際に、処理対象画像について作成された統計分布が大きなピークを示すような所定の角度θだけ回転させることで、境界線を特定する精度が高まる。
【０１０２】
また、画像を所定方向に対して所定の角度θだけ回転させる前後で、所定の閾値以上の値を有する極大値の数が変化する場合がある。境界線と複数のラインが写っている場合、所定方向に対して所定の角度θだけ回転させる前後の画像からそれぞれ得られる第１統計分布と第２統計分布は、一方には所定の閾値以上の値を有する極大値が２つ以上、他方には前記閾値以上の値を有する極大値が１つ現れる。このとき、特定部１７０は、閾値以上の値を有する極大値が１つ現れる統計分布を用いて境界線の特定を行う。境界線と複数のラインが写っている場合とは、例えば、河川画像において喫水線と、喫水線と異なる角度の人工物のラインとが写っている場合である。上記の処理によって、ピークが一つ現れる統計分布から容易に境界線を特定できる。
【０１０３】
（複数画像処理）
また、上記のような一連の処理は、境界線を特定した画像を含む、特定の撮像対象について異なる時間毎に撮像した複数の画像に対して境界線を各々特定する場面に用いてもよい。特定の撮像対象について異なる時間毎に撮像した複数の画像は、例えば、所定の場所に固定されたカメラによって、河川の同じ場所について異なる時間毎に撮像された複数の河川画像である。
【０１０４】
処理対象画像作成部１４０が画像を回転させる所定の角度θを得るために、一つの処理対象画像に対して複数回一連の処理を行う代わりに、特定の撮像対象について異なる時間毎に撮像した複数の画像に対して処理を行い、その結果を用いてもよい。
【０１０５】
また、処理対象画像作成部１４０は、ステップＳ２６０にて境界線を含む一部領域を切り出すときに、記録部１５０に記録された複数の画像についての計算結果を用いることができる。複数の画像についての計算結果を用いて、特定された境界線に対応する画素を含むように一部領域を切り出すことで、情報処理装置の処理を行う対象のデータが小さくなり、境界線を決定するまでの処理の速度が高まり、かつ境界線を特定する精度が高まる。
【０１０６】
第２実施形態にかかる情報処理装置及び情報処理方法について、図３０〜図３３を参照して説明する。第１実施形態と共通する要素については説明を割愛する。第２実施形態にかかる情報処理装置は、複数の画像における境界線の移動量を計算し、警報を出力するか否か判断する装置として用いられる。第１実施形態にかかる情報処理装置と同様に画像の境界線を特定することに加え、境界線を特定した画像と同じ撮像対象が写る画像について境界線を特定し、境界線の位置の移動が所定の位置に達するまでの移動であると判断した場合に、近隣に警報を鳴らす機能を備える。例えば、河川の同じ場所を異なる時間毎に撮像した複数の河川画像について喫水線を特定し、異なる時間毎の喫水線の位置を記録し、喫水線の位置の移動量から、河川の氾濫する危険水位に達すると判断されたときに、近隣に警報を出力する。
【０１０７】
図３０は、第２実施形態にかかる情報処理システム（警報システム５００）の全体構成を示す図である。図３０に示すように、警報システム５００は、撮像部１０１と画像送信部１０２とを有する端末５０３と、情報処理装置５２０と、警報出力装置５０６とを備える。端末５０３と情報処理装置５２０と警報出力装置５０６とは、ネットワーク１０４を介して相互に通信可能となっており、撮像部１０１によって撮像されたデータが画像送信部１０２から情報処理装置５２０に送信され、情報処理装置５２０にて警報を出力する判断がなされた場合、警報出力装置５０６に出力命令が送信される。図示しないが、警報システム５００は、情報出力装置を備え、情報処理装置５２０の処理結果を情報出力装置によって表示してもよい。
【０１０８】
図３１は、第２実施形態にかかる情報処理装置の機能的構成を示すブロック図である。情報処理装置５２０は、第１実施形態にかかる情報処理装置の出力部１８０に代わり、警報判断部５８０を機能部として有する。警報判断部５８０は、特定部１７０にて特定された境界線を用いて、警報を出力するか否か判断する機能を有する。警報判断部５８０は、警報出力装置５０６に警報を出力する命令を出してもよい。警報判断部５８０は、特定部１７０にて特定された境界線と、記録部１５０に記録された境界線について比較することで所定位置に達するまでの境界線の移動があるか否かを判断する機能を有する。各々の機能部が実行する処理は、図３２で説明する処理と併せて後述する。警報判断部５８０は、ＣＰＵ１２１が実施形態にかかるプログラムを実行することによって実現される。
【０１０９】
図３２は、第２実施形態にかかる情報処理装置の処理手順を示すフローチャートである。第１実施形態にかかる情報処理装置の処理手順におけるステップＳ６００の代わりに、ステップＳ５００にて特定された境界線を用いて警報判断部５８０が警報を出力するか否かを判断し（ステップＳ７００）、一連の処理を終了する。
【０１１０】
以下、図３２において警報判断部５８０が処理を行うステップＳ７００について、図３３に沿って詳細に説明する。
【０１１１】
図３３は、第２実施形態にかかる情報処理装置の警報判断部が行う処理（ステップＳ７００）を示すフローチャートである。ステップＳ５００にて境界線が特定されたことを契機に処理が開始され、記録部１５０に記録された境界線の位置を第ｍ番目の境界線Ｂｍの位置として取得する（ステップＳ７１０）。このとき、記録部１５０は、特定の撮像対象を異なる時間毎に撮像した複数の画像について各々特定された境界線を記録している。次いで、ステップＳ７１０にて取得された境界線Ｂｍの位置と、画像の所定位置との差Ｄを計算する（ステップＳ７２０）。画像の所定位置は、例えば、河川画像における氾濫危険水位の位置である。次いで、記録された画像について、所定の移動量閾値Ｍを設定する（ステップＳ７３０）。所定の移動量閾値Ｍは、ステップＳ７２０にて計算された、境界線Ｂｍの位置と画像の所定位置との差Ｄよりも小さい値が設定される。所定の移動量閾値Ｍは、例えば、河川画像において短時間で危険水位に達することが予測されるような、急峻な喫水線の移動を示す移動量が設定される。次いで、ステップＳ５００にて特定された境界線の位置を第ｍ＋１番目の境界線Ｂｍ＋１の位置と決定し（ステップＳ７４０）、境界線Ｂｍの位置と境界線Ｂｍ＋１の位置との差である境界線の移動量Ｍｍを計算する（ステップＳ７５０）。境界線の移動量ＭｍについてＭｍ＞Ｄか否か判断する（ステップＳ７６０）。Ｍｍ＞Ｄである場合（ステップＳ７６０：Ｙｅｓ）、警報を出力すると判断し（ステップＳ７７０）、一連の処理を終了する。一方、Ｍｍ＞Ｄでない場合（ステップＳ７６０：Ｎｏ）、境界線の移動量ＭｍについてＭｍ＞Ｍか否か判断する（ステップＳ７８０）。Ｍｍ＞Ｍである場合（ステップＳ７８０：Ｙｅｓ）、警報を出力すると判断し（ステップＳ７７０）、一連の処理を終了する。一方、Ｍｍ＞Ｍでない場合（ステップＳ７８０：Ｎｏ）、ステップＳ７７０を飛ばし、一連の処理を終了する。
【０１１２】
上記のような処理を行う警報装置は、境界線の位置が所定の位置に達していない場合でも、境界線の位置の移動量が大きいときに予備的な警報を出力することができる。例えば、河川の急激な喫水線の移動、つまり水位の上昇を検出して予備的な警報を鳴らすことができる。
【符号の説明】
【０１１３】
１００  境界線特定システム
１０１  撮像部
１０２  画像送信部
１０３  端末
１０４  ネットワーク
１０５  情報表示装置
１２０  情報処理装置
１２１  ＣＰＵ
１２２  ＲＯＭ
１２３  補助記憶デバイス
１２４  通信制御デバイス
１２５  入力デバイス
１２６  出力デバイス
１２７  ＲＡＭ
１２８  バス
１４０  処理対象画像作成部
１５０  記録部
１６０  計算部
１６１  画素値計算部
１６２  勾配計算部
１６３  エッジベクトル計算部
１６４  特徴量計算部
１７０  特定部
１７１  統計分布作成部
１７２  ピーク検出部
１７３  境界線候補検出部
１７４  境界線決定部
１８０  出力部
２００  河川画像
２００ａ、２００ｂ  エッジ強度画像
２０１  喫水線
２１１〜２１９  画素
２２１  Ｘ方向成分ベクトル
２２２  Ｙ方向成分ベクトル
２２３  エッジベクトル
２５０  複数の走査線
２５０ａ  喫水線に対応する走査線
２６０  ヒストグラム
２６１  喫水線に対応する位置の極大値
３００  河川画像
３００ａ  エッジ強度画像
３０１  喫水線
３０２  ライン
３１１〜３１９  画素
３２１〜３２９  エッジベクトル
３５０  複数の走査線
３５０ａ  喫水線に対応する走査線
３６０  ヒストグラム
３６１  喫水線に対応する位置の極大値
３６２  ラインに対応する位置の極大値
３７１〜３７３  画素群
３８１〜３８８  射影ベクトル
４５０  複数の走査線
４５０ａ  喫水線に対応する走査線
４６０  ヒストグラム
４６１  喫水線に対応する位置の極大値
４６２  ラインに対応する位置の極大値
４９１、４９２  境界線候補
５００  警報システム
５０３  端末
５０６  警報出力装置
５２０  情報処理装置
５８０  警報判断部
【図１】
2019117578.tif 000011
【図２】
2019117578.tif 000012
【図３】
2019117578.tif 000013
【図４】
2019117578.tif 000014
【図５】
2019117578.tif 000015
【図６】
2019117578.tif 000016
【図７】
2019117578.tif 000017
【図８】
2019117578.tif 000018
【図９】
2019117578.tif 000019
【図１０】
2019117578.tif 000020
【図１１】
2019117578.tif 000021
【図１２】
2019117578.tif 000022
【図１３】
2019117578.tif 000023
【図１４】
2019117578.tif 000024
【図１５】
2019117578.tif 000025
【図１６】
2019117578.tif 000026
【図１７】
2019117578.tif 000027
【図１８】
2019117578.tif 000028
【図１９】
2019117578.tif 000029
【図２０】
2019117578.tif 000030
【図２１】
2019117578.tif 000031
【図２２】
2019117578.tif 000032
【図２３】
2019117578.tif 000033
【図２４】
2019117578.tif 000034
【図２５】
2019117578.tif 000035
【図２６】
2019117578.tif 000036
【図２７】
2019117578.tif 000037
【図２８】
2019117578.tif 000038
【図２９】
2019117578.tif 000039
【図３０】
2019117578.tif 000040
【図３１】
2019117578.tif 000041
【図３２】
2019117578.tif 000042
【図３３】
2019117578.tif 000043