【解決手段】領域特定情報生成装置は、特定対象領域内の内部の基準点から、各サンプリング点までの距離を演算する距離演算部31と、特定対象領域の周囲の一方向に並ぶ順番で配置された複数のサンプリング点に対する、基準点からの距離を表すデータの複数のピークを検出するピーク検出部32と、複数のピークに対応する位置情報に基づいて、領域特定情報を生成する情報生成部33とを含む。
前記情報生成部は、前記ピーク検出部によって検出された複数のピークのうち、ピーク幅が相対的に大きいかまたはピーク高さが相対的に大きい複数のピークを、それぞれ特徴点候補として選択し、選択された複数の特徴点候補に対応する位置情報に基づいて、前記領域特定情報を生成するように構成されている、請求項1に記載の領域特定情報生成装置。
前記第2情報生成部は、隣接する2つの特徴点候補の組み合わせ毎に、前記複数のサンプリング点によって規定される多角形の輪郭線のうち、当該組み合わせに対応する2つの特徴点候補の間の区間の長さと、当該組み合わせに対応する2つの特徴点候補間の距離との乖離度を演算し、得られた乖離度が相対的に大きい組み合わせに対応する2つの特徴点候補間に、少なくとも1つの新特徴点候補を追加するように構成されている、請求項3に記載の領域特定情報生成装置。
【発明を実施するための形態】
【0013】
以下では、この発明の実施形態を、添付図面を参照して詳細に説明する。
図1は、この発明の一実施形態に係る領域特定情報生成装置1の構成を示す模式図である。
この実施形態では、領域特定情報生成装置1は、例えばサトウキビを栽培する圃場を特定するための情報を生成するものとする。つまり、この実施形態では、領域を特定しようとする特定対象領域は、圃場である。
【0014】
領域特定情報生成装置1は、パーソナルコンピュータ(PC)10によって実現される。PC10には、ディスプレイ21、マウス22およびキーボード23が接続されている。PC10は、CPU11、メモリ12、ハードディスク13等を含む。また、PC10には、図示しないが、USB(Universal Serial Bus)ポートが設けられている。
ハードディスク13には、OS(オペレーションシステム)等の他、領域特定情報生成プログラムが格納されている。領域特定情報生成プログラムは、例えば、領域特定情報生成プログラムが格納されたUSBメモリ等の記憶媒体から取得したり、領域特定情報生成プログラムを提供しているウエブサイトからインタネット経由で取得したりすることが可能である。
【0015】
また、ハードディスク13には、領域を特定しようとする圃場(特定対象領域)の周囲の複数のサンプリング点の位置情報が記憶されているものとする。圃場の周囲の複数のサンプリング点は、圃場の輪郭上の複数の点(輪郭構成点)に相当する。また、ハードディスク13には、圃場を特定するための特徴点の総数の最大値(特徴点数最大値)Mが記憶されている。特徴点数最大値Mは、ユーザによって設定されてハードディスク13に記憶される。特徴点数最大値Mは、設定変更可能である。
【0016】
図2は、圃場の周囲の複数のサンプリング点の取得方法を取得するための模式図である。
図3は、
図2の圃場に対して取得されたサンプリング点を示す模式図である。
図2および
図3を参照して、圃場の周囲の複数のサンプリング点の取得方法について説明する。
圃場51の周囲の複数のサンプリング点は、例えば、測位衛星を利用して自己位置を測定する位置測定器2を用いて取得することができる。具体的には、例えば、ユーザ(測定者)は、位置測定器2を携帯し、位置測定を開始させるための測定開始指令を位置測定器2に入力した後、
図2に破線52で示すように、圃場51の周囲に沿って走行する。
図2では、圃場51の輪郭線(周囲)に対して破線52を識別可能に表示するために、破線52は圃場51の輪郭線上から離れて描かれているが、実際には、ユーザは圃場51の輪郭線の真上にできるだけ近い位置を歩行する。
【0017】
測定開始指令が入力されると、位置測定器2は、例えば所定時間毎に自己位置を測定して自己内のメモリ(例えば、不揮発性メモリ)に記憶する。そして、圃場51の周囲を一周すると、ユーザは測定を終了して位置情報を保存させるための測定終了指令を位置測定器2に入力する。測定終了指令が入力されると、位置測定器2は、測定開始指令から測定終了指令までにメモリに記憶された位置情報を、今回の測定結果データとしてメモリに保存する。
【0018】
これにより、
図3に示すように、圃場51の周囲の複数のサンプリング点S
1,S
2,S
3,…S
N−1,S
Nの位置情報からなる時系列データが、位置測定器2内のメモリに保存される。各サンプリング点Sの添字1〜Nは、当該サンプリング点が取得された順番を示す数字であり、この実施形態では、当該サンプリング点を識別するための識別子(以下、サンプリング番号という」として用いられる。以下において、全てのサンプリング点を総称するときには、サンプリング点Sという場合がある。
【0019】
位置情報は、例えば、緯度経度情報と高度情報と時刻情報とからなる。この実施形態では、説明の便宜上、位置情報は、緯度経度情報と時刻情報とからなるものとする。
ユーザは、例えば、PC10のUSBポートに位置測定器2を接続し、PC10を操作することにより、位置測定器2内のメモリに保存されている圃場51に対する時系列データをハードディスク13に格納する。以下、ハードディスク13に格納された圃場51に対する時系列データに基づいて、圃場51を特定するための領域特定情報を生成する場合のPC10の動作について、説明する。
【0020】
図4は、PC10の機能を説明するための機能ブロック図である。
PC10は、領域特定情報生成プログラムを実行することによって、複数の機能処理部として機能する。この機能処理部には、距離演算部31と、ピーク検出部32と、情報生成部33とが含まれる。
距離演算部31は、ハードディスク13に格納されている圃場51に対する時系列データに基づいて、圃場51内の内部の基準点から、圃場51の周囲の複数のサンプリング点Sまでの距離を演算する。
【0021】
ピーク検出部32は、圃場51の周囲の一方向に並ぶ順番で配置された複数のサンプリング点Sに対する、基準点からの距離を表すデータの複数のピークを検出する。
情報生成部33は、ピーク検出部32によって検出された複数のピークに対応する位置情報に基づいて、圃場51を特定するための領域特定情報を生成する。情報生成部33は、選択部41と、判別部42と、第1情報生成部43と、第2情報生成部44とを含む。
【0022】
以下、距離演算部31、ピーク検出部32および情報生成部33内の各部41,42,43,44の動作の詳細について説明する。
図5は、領域特定情報生成プログラムが起動されたときに、PC10によって実行される領域特定情報生成処理の手順を示すフローチャートである。
領域特定情報生成プログラムが起動されると、距離演算部31は、
図6に示すように、圃場51内の内部の基準点Qから、各サンプリング点Sまでの距離を演算する(ステップS1)。基準点Qは、圃場51の重心位置に設定される。圃場51の重心位置は、例えば、図形の輪郭構成点から当該図形の重心を求める公知方法と同様な方法によって、サンプリング点Sの位置情報から算出することができる。なお、基準点Qは、圃場51内の内部であれば、圃場51の重心位置以外の点に設定してもよい。
【0023】
次に、ピーク検出部32は、まず、圃場51の周囲の一方向に並ぶ順番で配置された複数のサンプリング点Sに対する、基準点Qからの距離を表すグラフ(折れ線グラフ)を作成する(ステップS2)。具体的には、ピーク検出部32は、複数のサンプリング点Sのサンプリング番号(識別子)を横軸とし、サンプリング点Sの基準点Qからの距離を縦軸とする座標系に、複数のサンプリング点Sに対応する距離をプロットし、プロットされた点を結ぶことによってグラフ(折れ線グラフ)を作成する。横軸には、複数のサンプリング点Sのサンプリング番号が、位置情報が取得された順番で配置される。複数のサンプリング点Sのサンプリング番号を、位置情報が取得された順とは反対の順番に横軸に配置してもよい。
【0024】
ステップS2で作成されるグラフの一例を
図7にU1で示す。ただし、
図7は、
図6に示される基準点Qから各サンプリング点Sまでの距離に基づいて作成されたグラフではない。したがって、
図7と
図6との間に相関性はない。
次に、ピーク検出部32は、ステップS2で作成されたグラフの平均値を求め、グラフのうち平均値以下の部分を、当該平均値を中心として上下に折り返すことによってピーク検出用グラフを作成する(ステップS3)。
【0025】
ステップS2で作成されたグラフが
図7のU1である場合には、ピーク検出用グラフは
図7のU2となる。
図7には、グラフU1の平均値(折り返し位置)を一点鎖線で示している。ただし、このピーク検出用グラフU2は、
図7のグラフU1のうち、その平均値以下の部分を、当該平均値を中心として上下に折り返した後、折り返し後のグラフを、−Y方向に前記平均値分だけシフトさせることにより作成されている。
【0026】
次に、ピーク検出部32は、ステップS3で得られたピーク検出用グラフの極大値の位置を、ステップS2で作成されたグラフのピークとして検出する(ステップS4)。なお、この際、頂上付近の斜度が所定値以下のなだらかな山の頂点が極大値として検出されないように極大値検出のためのパラメータが調整される。
次に、情報生成部33内の選択部41は、ステップS5の処理を実行する。つまり、選択部41は、まず、ピーク検出部32によって検出された複数のピークから、ピーク幅が相対的に大きいかまたはピーク高さが相対的に大きい複数のピークを特徴点候補ピークとして選択する。そして、選択部41は、複数の特徴点候補ピークに対応する複数のサンプリング点を特徴点候補として、メモリ12に記憶する。これにより、圃場51の輪郭線のうち、例えば、小刻みに方向が変化している部分のように、圃場51を特定するための重要な特徴点となる可能性の低いピークが、特徴点候補ピークとして選択されるのを抑制することができる。
【0027】
具体的には、選択部41は、例えば、ピーク検出部32によって検出された複数のピークの半値幅を算出し、半値幅の大きい上位所定数のピークに対応するサンプリング点を特徴点候補として選択する。所定数は、例えば5に設定される。
選択部41は、例えば、ピーク検出部32によって検出された複数のピークのプロミネンスを算出し、プロミネンスの大きい上位所定数のピークに対応するサンプリング点を特徴点候補として選択してもよい。所定数は、例えば5に設定される。
【0028】
次に、情報生成部33内の判別部42は、メモリ12に記憶されている複数の特徴点候補によって規定される多角形の周長L1と、オリジナルの複数のサンプリング点Sによって規定される多角形の周長L2との差分絶対値|L2−L1|が、閾値α以内である否かを判別する(ステップS6)。
以下において、メモリ12に記憶されている複数の特徴点候補によって規定される多角形を「注目多角形」といい、オリジナルの複数のサンプリング点Sによって規定される多角形を「基本多角形」という場合がある。
【0029】
ステップS6の処理を、より具体的に説明する。圃場51の形状および圃場51から取得されたオリジナルの複数のサンプリング点Sが、
図8に示すような形状であり、メモリ12に記憶されている複数の特徴点候補が、
図8にA〜Eで示される5つの点であるとする。選択部41は、注目多角形(
図8の例では、複数の特徴点候補A〜Eによって規定される多角形)の周長を第1周長L1として算出する。また、選択部41は、基本多角形の周長を第2周長L2として算出する。そして、選択部41は、第1周長L1と第2周長L2の差の絶対値|L2−L1|が、閾値α以内である否かを判別する。
【0030】
ステップS6において、絶対値|L2−L1|が閾値α以内であると判別された場合には(ステップS6:YES)、情報生成部33内の第1情報生成部43は、ステップS9の処理を実行する。つまり、第1情報生成部43は、メモリ12に記憶されている複数の特徴点候補に対応する位置情報を、圃場51の最終的な特徴点情報(領域特定情報)としてハードディスク13に格納する。そして、情報生成部33は、今回の処理を終了する。
【0031】
ステップS6において、絶対値|L2−L1|が第1閾値αよりも大きいと判別された場合には(ステップS6:NO)、情報生成部33内の第2情報生成部44は、特徴点候補を追加するための候補追加処理を行う(ステップS7)。候補追加処理について説明する。
第2情報生成部44は、まず、注目多角形の辺毎に、当該辺の長さと、基本多角形の輪郭線の当該辺に対応する区間の長さとの差分の絶対値を算出する。注目多角形の任意の一辺に対応する基本多角形の輪郭線の区間とは、基本多角形の輪郭線における当該一辺の両端の点に挟まれた2つの区間のうち、その区間の中間に特徴点候補が設定されていない方の区間をいう。
図8の例では、例えば、注目多角形における両端がA,Bである辺ABに対応する基本多角形の輪郭線の区間は、基本多角形の輪郭線上のAとBに挟まれた2つの区間のうち、その区間の中間に特徴点候補が設定されていない方の区間Rabとなる。
【0032】
次に、第2情報生成部44は、基本多角形の輪郭線において、差分絶対値が最も大きな区間の中点(区間の中央位置)に新たな特徴点候補を追加配置する。新たな特徴点候補は、オリジナルのサンプリング点Sとは異なる点であってもよいし、前記区間の中点に最も近いオリジナルサンプリング点Sであってもよい。前者の場合には、新たな特徴点候補の位置情報は、例えば、新たな特徴点候補の両隣にある2つのサンプリング点Sの位置情報に基づいて特定される。
【0033】
そして、第2情報生成部44は、差分絶対値が最も大きな区間の中点に追加配置された新たな特徴点候補を、メモリ12に記憶されている特徴点候補に加える。これにより、メモリ12内の特徴点候補が更新される。
図8の例では、注目多角形の各辺に対応する差分絶対値のうち、辺ABに対応する差分絶対値か最も大きくなるので、辺ABに対応する基本多角形の輪郭の区間Sabの中点に新たな特徴点候補Fが追加される。これにより、
図9に示すように、注目多角形の形状が変化する。
【0034】
次に、第2情報生成部44は、メモリ12内の特徴点候補の総数Tが特徴点数最大値Mに達したか否かを判別する(ステップS8)。特徴点数最大値は、例えば15に設定される。
メモリ12内の特徴点候補の総数Tが特徴点数最大値Mに達していなければ(ステップS8:NO)、第2情報生成部44は、ステップS7に戻る。そして、ステップS7の処理が再度行われる。なお、二回目のステップS7では、例えば、
図9に示すように、辺BCに対応する基本多角形の輪郭の区間Rbcの中点に新たな特徴点候補Gが追加される。これにより、
図10に示すように、注目多角形の形状が変化する。
【0035】
ステップS8において、メモリ12内の特徴点候補の総数Tが特徴点数最大値Mに達していると判別された場合には(ステップS8:YES)、第2情報生成部44は、ステップS9に移行する。ステップS9では、第2情報生成部44は、メモリ12に記憶されている複数の特徴点候補に対応する位置情報を、領域特定対象の圃場の最終的な特徴点情報(領域特定情報)としてハードディスク13に格納する。そして、情報生成部33は、今回の処理を終了する。
【0036】
前述の実施形態では、圃場51を特定するための情報(領域特定情報)を新規な方法で生成することができる。また、前述の実施形態では、圃場51の形状を特定するのに重要な特徴点を、圃場51を特定するための領域特定情報として生成することができる。
図11Aおよび11Bは、領域特定情報生成プログラムが起動されたときに、PC10によって実行される領域特定情報生成処理の他の例を示すフローチャートである。
【0037】
ステップS1からS4までの処理は、
図5のステップS1からS4までの処理と同様なのでその説明を省略する。
ステップS4の処理が終了すると、情報生成部33は、ステップS5Aに移行する。ステップS5Aでは、情報生成部33は、まず、
図5のステップS5と同様に、ピーク検出部32によって検出された複数のピークから、ピーク幅が相対的に大きいかまたはピーク高さが相対的に大きい複数のピークを特徴点候補ピークとして選択する。そして、情報生成部33は、複数の特徴点候補ピークに対応する複数のサンプリング点を初期特徴点候補として、メモリ12内の初期候補記憶エリアに記憶する。この点が、
図5のステップS5と異なる。
【0038】
次に、情報生成部33は、メモリ12内の初期候補記憶エリアに記憶されている複数の初期特徴点候補によって規定される多角形の周長L1と、オリジナルの複数のサンプリング点Sによって規定される多角形の周長L2との差分絶対値|L2−L1|が、閾値α以内である否かを判別する(ステップS6A)。
以下において、メモリ12内の初期候補記憶エリアに記憶されている複数の初期特徴点候補によって規定される多角形を「初期多角形」といい、オリジナルの複数のサンプリング点Sによって規定される多角形を「基本多角形」という場合がある。
【0039】
ステップS6において、絶対値|L2−L1|が閾値α以内であると判別された場合には(ステップS6A:YES)、情報生成部33は、ステップS7Aの処理を実行する。つまり、情報生成部33は、メモリ12内の初期候補記憶エリアに記憶されている複数の初期特徴点候補に対応する位置情報を、圃場51の最終的な特徴点情報(領域特定情報)としてハードディスク13に格納する。そして、情報生成部33は、今回の処理を終了する。
【0040】
ステップS6Aにおいて、絶対値|L2−L1|が第1閾値αよりも大きいと判別された場合には(ステップS6A:NO)、情報生成部33は、ソフトカウンタのカウント値Kを1に設定する(ステップS8A)。
次に、情報生成部33は、基本多角形の輪郭線上に、メモリ12の初期候補記憶エリアに記憶されている初期特徴点候補とは異なる新特徴点候補をランダムに追加配置する(ステップS9A)。追加配置される新特徴点候補の数は、特徴点数最大値Mから、ステップS5Aで抽出された初期特徴点候補の総数を差し引いた数に設定される。
【0041】
この際、情報生成部33は、初期多角形の辺毎に、当該辺の長さと、基本多角形の輪郭線の当該辺に対応する区間の長さとの差分の絶対値を乖離度として算出し、乖離度に応じて、新たな特徴点候補を追加配置する区間および分配数を決定してもよい。具体的には、乖離度が大きい区間ほど優先的に新特徴点候補が配置されることが好ましく、離度が大きい区間ほど新特徴点候補が多く配置されることが好ましい。
【0042】
次に、情報生成部33は、初期特徴点候補と今回追加された新特徴点候補とからなる候補セットを、メモリ12内の所定の候補セット記憶エリアに記憶する(ステップS10A)。候補セット記憶エリアは、後述する所定値N以上設けられており、ステップS9Aの処理が行われる毎に、それまでのステップS10Aの処理において、特徴点候補セットが記憶されていない候補セット記憶エリアに、今回の特徴点候補セットが記憶される。
【0043】
次に、情報生成部33は、ステップS10Aで所定の候補セット記憶エリアに記憶された候補セットによって規定される多角形の周長L3と、基本多角形の周長L2との差分絶対値|L2−L3|を乖離度γとして算出し、算出された乖離度γを当該候補セットに関連付けて記憶する(ステップS11A)。
次に、情報生成部33は、カウント値Kが所定値Nに達したか否かを判別する(ステップS12A)。所定値Nは、任意の数に設定することができる。
【0044】
カウント値Kが所定値N未満であれば(ステップS12A:NO)、情報生成部33は、カウント値Kを1だけインクリメントする(ステップS13A)。そして、情報生成部33は、ステップS9Aに戻る。これにより、ステップS9A以降の処理が再度実行される。
ステップS9A〜ステップS11Aの処理がN回行われると、ステップS12Aで肯定判定となるので、情報生成部33は、ステップ14Aに移行する。ステップ14Aでは、情報生成部33は、まず、メモリ12内の候補セット記憶エリア別に記憶されている候補セットのうち、乖離度γが最も小さい候補セットを選択する。そして、情報生成部33は、選択された候補セットに含まれる複数の特徴点候補の位置情報を、最終的な特徴点情報(領域特定情報)として、ハードディスク13に格納する。そして、情報生成部33は、今回の処理を終了する。
【0045】
図11Aおよび11Bに示される領域特定情報生成処理の変形例においても、圃場51を特定するための情報(領域特定情報)を新規な方法で生成することができる。また、この変形例でも、圃場51の形状を特定するのに重要な特徴点を、圃場51を特定するための領域特定情報として生成することができる。
以上、この発明の実施形態について説明したが、この発明はさらに他の形態で実施することもできる。例えば、
図5のステップS5によって選択された特徴点候補の位置情報を、常に、最終的な特徴点情報(領域特定情報)として生成するようにしてもよい。この場合には、
図5のステップS6〜S8の処理は省略される。
【0046】
また、前述の実施形態では、位置測定器2を携帯した測定者が、圃場51の周囲に沿って走行することによって、圃場51の周囲の複数のサンプリング点の位置情報を取得している。しかし、位置測定器2を車両等の移動体に搭載し、移動体を圃場51の周囲に沿って移動させることによって、圃場51の周囲の複数のサンプリング点の位置情報を取得するようにしてもよい。
【0047】
前述の実施形態では、特定対象領域は圃場であったが、特定対象領域は圃場以外の領域であってもよい。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。