JP2004302557A - 高輝度反射物体画像処理システム及び船舶画像処理システム及び高輝度反射物体画像処理方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体及びプログラム - Google Patents
高輝度反射物体画像処理システム及び船舶画像処理システム及び高輝度反射物体画像処理方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体及びプログラム Download PDFInfo
- Publication number
- JP2004302557A JP2004302557A JP2003091675A JP2003091675A JP2004302557A JP 2004302557 A JP2004302557 A JP 2004302557A JP 2003091675 A JP2003091675 A JP 2003091675A JP 2003091675 A JP2003091675 A JP 2003091675A JP 2004302557 A JP2004302557 A JP 2004302557A
- Authority
- JP
- Japan
- Prior art keywords
- ship
- image
- area
- region
- assumed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
- Radar Systems Or Details Thereof (AREA)
- Image Analysis (AREA)
Abstract
【課題】画像データから船舶候補領域を抽出し、船舶を判定する船舶画像処理システムに係り、船舶候補領域から抽出された船舶諸元を用いて船舶判定することで、自動判定の精度を向上させることを課題とする。
【解決手段】フレーム決定部4と領域画素抽出部5と被覆矩形切出処理部5からなる領域抽出判定部3により、画像データから船舶候補領域を抽出し、船舶判定処理部7は、当該船舶候補領域から想定される船舶に関する船舶諸元を算出し、当該主成分に基づいて、前記船舶候補領域が船舶の画像であるか否かを判定する。船舶諸元は、重心座標、全長方向、全長、全幅などである。
【選択図】 図1
【解決手段】フレーム決定部4と領域画素抽出部5と被覆矩形切出処理部5からなる領域抽出判定部3により、画像データから船舶候補領域を抽出し、船舶判定処理部7は、当該船舶候補領域から想定される船舶に関する船舶諸元を算出し、当該主成分に基づいて、前記船舶候補領域が船舶の画像であるか否かを判定する。船舶諸元は、重心座標、全長方向、全長、全幅などである。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、衛星画像データ中に存在する船舶候補領域を抽出し、船舶を判定する船舶画像処理システム、及び船舶画像処理方法に関する。船舶画像処理システム、及び船舶画像処理方法は、衛星画像データ中に存在する高輝度反射物体領域を抽出し、想定される物体を判定する高輝度反射物体画像処理システム、及び高輝度反射物体画像処理の例である。
【0002】
【従来の技術】
船舶の検出や領域の抽出に利用される衛星画像データには、主に、画素値が輝度値の光学センサ画像と、画素値が振幅値のSAR(Synthetic Aperture Radar)画像とがある。これらの衛星画像データは、一般の画像データと比べて画素数が多く、非常に広範囲を撮像することが可能である。
【0003】
しかし、上記のように衛星画像データから船舶候補領域を領域抽出し、抽出した船舶候補領域に基づいてそれが船舶であるか否かの判定は、人間が目視で行っていた。そのため、多くの時間と労力を要した。
【0004】
例えば特開2000−353234号公報のように衛星画像データ中から船舶候補領域を捉えて船舶の位置を自動的に検出する方法も考案されているが、必ずしも正確ではない。
【0005】
【特許文献1】
特開2000−353234号公報
【0006】
【発明が解決しようとする課題】
衛星画像データにおいては、艦橋、マスト等構造物の影になってしまう部分は船舶を構成する画素であっても画素値が閾値未満となるので、正しく船舶の成分と判定されずに実際には一つの船舶候補領域であるにもかかわらず、この領域を誤って複数の領域として抽出してしまうことがある。又、撮像時の気象条件により画素値が全体的に低く撮像されている衛星画像データの場合に、船舶検出をし易くするために閾値を低くすると、逆に衛星画像データ中に混在するノイズを拾ってしまい、船舶候補領域の成分ではない画素を誤って前記船舶候補領域を構成する画素として抽出してしまうことがある。そのため従来は、船舶候補領域を正確に抽出することができず、正確に船舶を検出・判定することができないという問題点があった。
【0007】
本発明はこのような問題を解決するためになされたもので、船舶候補領域から抽出された船舶諸元を用いて船舶判定することで、自動判定の精度を向上させることである。
【0008】
【課題を解決するための手段】
本発明に係る高輝度反射物体画像処理システムは、
以下の要素を有することを特徴とする
(1)画像データから高輝度反射物体領域を抽出する高輝度反射物体領域抽出部(2)当該高輝度反射物体領域から想定される物体に関する諸元を算出し、当該諸元に基づいて、前記高輝度反射物体領域が上記想定される物体の画像であるか否かを判定する船舶判定処理部。
【0009】
本発明に係る船舶画像処理システムは、
以下の要素を有することを特徴とする
(1)画像データから船舶候補領域を抽出する船舶候補領域抽出部
(2)当該船舶候補領域から想定される船舶に関する諸元を算出し、当該諸元に基づいて、前記船舶候補領域が船舶の画像であるか否かを判定する船舶判定処理部。
【0010】
当該諸元は、想定される船舶の全長であることを特徴とする。
【0011】
当該諸元は、想定される船舶の全幅であることを特徴とする。
【0012】
当該諸元は、想定される船舶の面積であることを特徴とする。
【0013】
当該諸元は、想定される船舶の全長と全幅であって、
前記船舶判定処理部は、想定される船舶の全長と全幅の比に従って判定することを特徴とする。
【0014】
本発明に係る高輝度反射物体画像処理方法は、
以下の要素を有することを特徴とする
(1)画像データから高輝度反射物体領域を抽出する工程
(2)当該高輝度反射物体領域から想定される物体に関する諸元を算出し、当該諸元に基づいて、前記高輝度反射物体領域が上記想定される物体の画像であるか否かを判定する工程。
【0015】
本発明に係るプログラムを記録したコンピュータ読み取り可能な記録媒体は、高輝度反射物体画像処理システムとなるコンピュータに、以下の処理を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする
(1)画像データから高輝度反射物体領域を抽出する処理
(2)当該高輝度反射物体領域から想定される物体に関する諸元を算出し、当該諸元に基づいて、前記高輝度反射物体領域が上記想定される物体の画像であるか否かを判定する処理。
【0016】
本発明に係るプログラムは、
高輝度反射物体画像処理システムとなるコンピュータに、以下の手順を実行させるためのプログラムであることを特徴とする
(1)画像データから高輝度反射物体領域を抽出する手順
(2)当該高輝度反射物体領域から想定される物体に関する諸元を算出し、当該諸元に基づいて、前記高輝度反射物体領域が上記想定される物体の画像であるか否かを判定する手順。
【0017】
【発明の実施の形態】
実施の形態1.
図1は、この発明の実施の形態1である船舶画像処理システムの全体構成を示す図である。図において、1は、衛星運用機関からCD−ROM、磁気テープ等の媒体によって提供される位置情報を含む衛星画像データである。衛星画像に含まれる位置情報をメタデータと呼び、このメタデータには衛星画像の四隅の緯度・経度、ピクセル数(Pixel_Num)、ライン数(Line_Num)、ピクセルスペーシング(画像データ中の一画素に相当する長さ)が含まれる。このうち、ピクセル数(Pixel_Num)にライン数(Line_Num)を掛け合わせた数、即ち(Pixel_Num x Line_Num)の値(以下、「画像領域サイズ」という。)は、当該衛星画像データに含まれる画素数であり、以後のデータ処理に際して確保される配列領域の要素数を規定する値である。
【0018】
2は、衛星画像データ1を読み込み、衛星画像データ中から船舶の成分と予想される船舶候補としての代表点を検出する代表点検出処理部である。
【0019】
3は、検出された代表点を元に船舶候補領域を抽出し、その船舶候補領域の被覆矩形を切出す領域抽出判定部である。この領域抽出判定部3は、代表点を囲む所定範囲のフレームを決定するフレーム決定部4、フレーム内部の所定閾値以上の画素群からなる第1領域と、フレーム外部の所定閾値以上の画素群であって各画素が互いに隣接するとともにフレームに少なくとも1点で隣接する第2の領域とを抽出し、これら第1、第2の領域を結合したものを船舶候補領域として抽出する領域画素抽出処理部5、船舶候補領域に対する被覆矩形を切り出す被覆矩形切出処理部6で構成されている。
【0020】
船舶判定処理部7は、船舶候補領域が船舶であるか否かを判定するとともに、船舶諸元を出力する船舶判定処理部である。
【0021】
8は、船舶判定処理部7が出力する処理の結果であり、衛星画像データ1から抽出した船舶候補領域が船舶であるか否かの判定結果、船舶諸元などの情報が含まれる。9は、入力データ、出力データ、途中処理のデータ等の表示を行う表示装置である。
【0022】
次に動作について説明する。図2は船舶画像処理システムの処理の概要を示すフローチャートである。図に示すように、衛星画像データ入力(S1)において、衛星画像データ1を画像領域サイズ分の二次元配列である実画像領域Aに入力し、代表点検出処理部2において、この衛星画像データ1から船舶である可能性が高い画素を代表点として検出し、検出した各代表点に対し順番に番号を付し、画像サイズと同じサイズの代表点検出領域(L1)に格納する。代表点検出領域(L1)には、代表点に対応する位置にその番号を付し、他の位置にヌル値(0)を格納するものとし、SHIP_NUM=(抽出した代表点数)を設定する(代表点検出処理)(Step2)。なお、代表点の抽出方法としては、例えば画素値が周辺の領域と比較して高いものを代表点にする等、公知の手法を用いれば良い。
【0023】
そして、領域抽出判定部3において、抽出された代表点を元に船舶候補領域を抽出し、その船舶候補領域の被覆矩形を切出す領域抽出判定を行い(Step3)、船舶判定処理部7において、船舶諸元を抽出し、船舶か否か判定する船舶判定処理(Step4)を行う。
【0024】
以下、本発明の特徴となる各処理について詳述する。
まず、領域抽出判定部3のメインをなすStep3の領域抽出判定の詳細を説明する。図3は、領域抽出判定の内部処理フローを示す図である。図中のShip_Cntは、一時記憶領域に記憶される変数であり、SHIP_NUMは、入力パラメータである処理対象船舶数である。
領域抽出判定では、まず、図3に示すように、画像領域サイズ分の二次元配列のラベリング領域(L2)を確保し、ヌル値(0)による初期化を行う(Step5)。次に、処理対象船舶カウンタの初期化を行う。即ち、ループ処理に入る前に、現在何番目の船舶候補を処理中であるかを示す処理対象船舶カウンタ(Ship_Cnt)を、1で初期化する(Step10)。
それに続いて、フレーム決定処理(Step20)、領域画素抽出処理(Step30)、及び被覆矩形切出し処理(Step40)を実行し、その後、全ての領域抽出・判定の処理が終了したか、即ち、SHIP_NUM≦Ship_Cntを満たすかを判定し(Step50)、満たす場合には処理を終了し、そうでない場合には、Ship_Cntに1を加算し(Step60)、以後、処理対象船舶カウンタ(Ship_Cnt)がSHIP_NUMに達するまで、フレーム決定処理(Step20)、領域画素抽出処理(Step30)、及び被覆矩形切出し処理(Step40)を実行する。
【0025】
尚、ここでは説明上このような処理の順番をとっているが、フレーム決定処理(Step20)、領域画素抽出処理(Step30)をループさせることにより全ての船舶候補領域を抽出した後で、被覆矩形切り出し処理(Step40)をまとめて行ってもよい。
【0026】
フレーム決定処理(Step20)は、船舶候補領域を抽出する処理のベースとなる代表点検出処理(Step2)で検出した代表点の位置を中心にして一定の範囲を有するフレーム(以下、「検出フレーム」という。)を決定し、決定された検出フレーム内の全画素(ラベリング領域(L2))に当該船舶候補領域の識別番号(処理順に1から順に値を割振る。以下、「船舶候補識別番号」という。)を書き込む処理である。
図7を用いてイメージを説明すると、10の(黒三角)は検出された代表点であり、それを中心とする一辺が7画素の正方形の領域(図中灰色の領域。)が検出フレーム11である。なお、検出フレーム11の範囲は、処理の対象となる船舶の種類・サイズ、1画素の面積等に応じて経験的に設定される。又、形状は正方形に限らないが、ここでは正方形として処理を説明する。
【0027】
領域画素抽出処理(Step30)は、フレーム決定処理(Step20)で決定された検出フレーム内部の画素のうち所定閾値以上の画素値を有するものを抽出し、前記閾値以上の画素からなる画素群を第1の領域として抽出する第1の領域抽出処理と、検出フレームに隣接し、かつ連続する前記閾値以上の画素を抽出し、以後、この抽出した画素又は抽出した画素に隣接する閾値以上の画素からなる画素群を第2の領域として抽出する第2の領域抽出処理と、さらに、これら抽出された第1、第2の領域を船舶候補領域として結合する処理である。
このように、検出フレームの内外で抽出方法を変えることで、船舶構造物の影等の影響を受けて船舶候補領域中に画素値が閾値より低い領域が形成される場合に、実際は1つの船舶候補領域を2つ以上として抽出してしまう(以下、「領域分割抽出」という。)ことを防ぐことができる。
【0028】
被覆矩形切出し処理(Step40)は、領域画素抽出処理(Step30)で抽出された船舶候補領域を全て内包できる被覆矩形を決定し、この被覆矩形に囲まれる実画像領域A上のデータを、処理用の領域として別途確保する画像一時領域にコピーする処理である。
【0029】
次に、図3中に示したフレーム決定処理(Step20)の詳細を説明する。図4はフレーム決定処理の詳細を示すフローチャートである。図4に示すように、Step2の代表点検出処理で検出した全ての船舶候補のうち、Ship_Cnt番目の代表点を中心とする正方形の検出フレーム(一辺がパラメータ、C_SQUARE_SIZE。)を、ラベリング領域(L2)上に設定する。
尚、x、y、xl、yl、Label_Flagは、書き換え可能な記憶領域に記憶される変数であり、Pixel_Num、Line_Num、C_SQUARE_SIZEは、記憶領域に記憶されている定数である。
【0030】
先ず、走査開始位置を設定した(Step201)後に、代表点検出処理(Step2)から渡された代表点検出領域(L1)上の全画素について原点から走査しながら、Step202の代表点判定において下記条件式(1)を満足するか否かをチェックする。下記条件式(1)を満足した座標位置が、(事前に検出された全ての代表点のうち)処理対象船舶カウンタ(Ship_Cnt)に等しい代表点であり、フレーム決定処理の処理対象となる。下記条件式(1)を満足しない場合は、Step203から206までの処理により代表点検出領域(L1)上の走査をさらに続ける。
L1(x、y)=Ship_Cnt 条件式(1)
【0031】
下記条件式(1)を満足する代表点L1(x、y)を発見したら、ラベリング領域(L2)を参照しながらStep207のラベリング実施条件判定処理で、下記条件式(2)により当該代表点(x、y)が、既に他の船舶候補領域の周辺海域と比べて高い画素値を有する成分画素であるとして処理されている(<0)、又は未処理である(=0)、いずれかの条件を満足するか否か(以下、「ラベリング実施条件」という。)を判定する。
L2(x、y)≦0 条件式(2)
【0032】
ここでラベリング実施条件を満足する代表点が続く処理の対象となる。(満足しない場合、当該代表点は、既に他の船舶候補領域抽出のために処理済み且ついずれの船舶候補の成分画素にもならなかったと判断し、処理済フラグ処理(Step208)において処理済フラグ(Label_Flag)に1を代入してフレーム決定処理(Step20)を終了する。これにより以後の無駄な処理が不要になる。仮に処理済みであっても、他の船舶候補領域の成分画素(<0)と判定された場合には処理を継続することが本発明のポイントの一つであり、これによって実際は同一の船舶の領域を構成する成分画素群であるにも拘わらず、検出フレーム11の範囲設定やたまたま検出された代表点の位置や数に影響されて「別船舶の領域である」と判定されかけた成分画素群を、同一船舶のものとして結合(以下、「船舶候補領域結合」という。)して抽出することが可能になる。
【0033】
ラベリング実施条件を満足する場合、ラベリング領域(L2)上のL2(x、y)を中心とし、一辺をC_SQUARE_SIZE画素とする正方形の検出フレーム11を決定する(Step209)。そしてラベリング領域(L2)上の検出フレーム11に含まれる全画素につき、処理対象船舶カウンタ(Ship_Cnt)の値を、下記代入式(3)により代入する(Step210)。
L2(xl,yl)=Ship_Cnt 代入式(3)
ラベリングとは、ラベリング領域(L2)上の配列要素に、処理対象船舶カウンタ(Ship_Cnt)の値、即ち以後の処理の対象となる船舶候補の船舶候補識別番号(処理順に1〜SHIP_NUMの値)を代入する(目印を付ける)Step210の処理をいう。Step211から214の処理によって検出フレーム11内の全画素についてラベリングを終了した後、フレーム決定処理(Step20)を終了する。
【0034】
次に、成分画素を抽出する領域画素抽出処理(Step30)の詳細を、図5のフローにより説明する。領域画素抽出処理(Step30)は、フレーム決定処理(Step20)によりラベリングされた検出フレーム11内部に含まれる全画素、当該検出フレーム11に隣接する画素、及び前記隣接画素に連続する画素のうち、画素値が閾値(Threshold)以上の画素を、同一船舶を構成する成分画素として抽出する。領域画素抽出処理の詳細動作を以下に説明する。
尚、x、y、Label_Flag、Ship_Cntは、書き換え可能な記憶領域に記憶される変数であり、Pixel_Num、Line_Num、Thresholdは、記憶領域に記憶されている定数である。Aは、実画像領域である。
【0035】
Step300のラベリング実施判定において処理済フラグを参照し、代表点がラベリング実施条件を満足しているか否かを、下記条件式(4)によって判断する。
Label_Flag=1 条件式(4)
条件式(4)に該当すれば、前記ラベリング実施条件を満足していないとして領域画素抽出処理を終了する。条件式(4)に該当しなければ、処理をさらに続ける。走査開始座標を設定した(Step310)後に、ラベリング領域(L2)内の各画素を原点から走査しながら、下記条件式(5)及び(6)を同時に満たす(現在処理対象である検出フレーム11内にある、後述するStep340のペイント処理が未完了且つ画素値が閾値以上である)画素(x、y)を、処理対象船舶判定(Step320)及び成分画素判定(Step330)により得る。ここで、A(x、y)は実画像領域中の画素値である。
L2(x、y)=Ship_Cnt 条件式(5)
A(x、y)≧Threshold 条件式(6)
条件式(5)と条件式(6)を満たす画素(x、y)であれば、その画素(x、y)を種子点としてStep340のペイント処理を行う。
【0036】
図6によりペイント処理(S340)の詳細を説明する。ペイント処理(S340)は、成分画素群(船舶候補領域)を抽出するための塗りつぶしを行う処理であり、再帰的な構造をとる。
尚、x、y、Ship_Cntは、書き換え可能な記憶領域に記憶される変数であり、Thresholdは、記憶領域に記憶されている定数である。Aは、ラベリング領域(L2)で座標ごとに記憶している画素値である。
先ず、種子点ペイント処理(Step341)は、ラベリング領域(L2)の種子点(x、y)に、処理対象船舶カウンタを下記(7)に示すように負に変換した値(−Ship_Cnt)を、無条件に代入する。
L2(x、y)=−Ship_Cnt 代入式(7)
この代入(書き換え)によって、この画素は、処理対象船舶カウンタが示す船舶候補領域の成分画素として塗りつぶされる。既に別の船舶候補領域の成分画素と判定された画素に対しても上書され、これにより船舶候補領域結合が可能になるのである。種子点ペイント処理の後、種子点の右・左・上・下の順で、自らを再帰的にコールしながら、当該処理対象船舶について、「ペイント処理が未完了又は他の船舶候補領域の成分画素として判定済みで、且つその画素値が閾値以上」(以下、「ペイント処理コール条件」という。)の画素に前記負値を代入する。「ペイントする」とは、このように処理対象船舶カウンタ(Ship_Cnt)の負値即ち船舶候補識別番号の負値を、ラベリング領域(L2)上の(当該船舶候補領域を構成する成分画素に対応する)配列要素に代入することをいう。
【0037】
前記再帰についてさらに説明を行う。種子点ペイント処理(Step341)の後、ペイント処理実施判定(Step342)において、種子点(x、y)の右の画素につき、ペイント処理コール条件を、下記条件式(8)により判定する。条件式(8)を満足すれば、当該右画素を種子点として更にペイント処理をコールする(Step343)。
L2(x+1,y)≠ −Ship_Cnt 且つ
A(x+1,y)≧ Threshold 条件式(8)
【0038】
次に、ペイント処理実施判定(Step344)において、種子点(x、y)の左の画素につき、ペイント処理コール条件を下記条件式(9)により判定する。条件式(9)を満足すれば、当該左画素を種子点として更にペイント処理をコールする(Step345)。
L2(x−1,y)≠−Ship_Cnt 且つ
A(x−1,y)≧Threshold 条件式(9)
【0039】
次に、ペイント処理実施判定(Step346)において、種子点(x、y)の上の画素につき、ペイント処理コール条件を下記条件式(10)により判定する。条件式(10)を満足すれば、当該上画素を種子点として更にペイント処理をコールする(Step347)。
L2(x1,y+1)≠−Ship_Cnt 且つ
A(x、y+1)≧Threshold 条件式(10)
【0040】
次に、ペイント処理実施判定(Step348)において、種子点(x、y)の下の画素につき、ペイント処理コール条件を下記条件式(11)により判定する。条件式(11)を満足すれば、当該下画素を種子点として更にペイント処理をコールする(Step349)。
L2(x1,y−1)≠−Ship_Cnt 且つ
A(x、y−1)≧Threshold 条件式(11)
このようにペイント処理の結果のイメージを表現したものが、図7上の黒色に塗られた代表点10を含む画素群である。
【0041】
先にも述べた通り、領域画素抽出処理(S30)において検出フレーム11を使用し、それに含まれ、且つ画素値が所定閾値以上であれば、ペイント処理が必ずコールされて当該処理対象船舶の成分画素としてペイントされることが重要である。つまり、検出フレーム11は、前出の領域分割抽出の発生を防止するのに有効である。尚、このような利点の反面検出フレーム11の使用は、2つの船舶を無理に1つに結合してその領域を抽出してしまう危険性も存在するが、検出フレーム11は通常数m(メートル)の範囲内で設定され、(港湾内停泊中はともかく)船舶が海洋上において数m以内に近づいて航行する場面が通常は非常に少ないこと、本発明が衛星画像データ中の海上に存在する船舶候補領域の抽出精度を上げるためのものであることから大きな問題ではない。
【0042】
又、代表点10及び検出フレーム11をベースとする領域抽出に、前出の船舶候補領域結合を併用することにより、画素値が衛星画像データ上に分布する状態によってたまたま同一船舶において複数の代表点を検出してしまうようなケースを補い、船舶候補領域の抽出精度をさらに上げることができる。さらに又、代表点10を囲う検出フレーム11を中心とする領域に焦点を当てて処理を行い、他の船舶候補領域の抽出処理で既に得られた結果をも利用するので、処理の重複を削減して、使用メモリ、計算量を節約することにつながり、船舶候補領域を抽出する精度の向上に加えて計算機の処理時間も短縮できる。
【0043】
尚、領域画素抽出処理(Step30)において、最終的に抽出した成分画素群に囲まれ、水平方向に1点連続せずに孤立して存在する前記閾値未満の画素は、例外的にペイントする穴埋め処理を追加することも、衛星画像データに含まれる影の影響を少なくすることに役立つ。
【0044】
次に、被覆矩形切出し処理(Step40)について詳述する。図8は、被覆矩形切出し処理(Step40)の処理の詳細を示す図である。「被覆矩形の切出し」とは、領域画素抽出処理(Step30)までの処理により抽出された船舶候補領域を全て内包できるラベリング領域(L2)上の矩形領域の位置情報(領域四隅の座標位置)を算出し、当該矩形領域内部のペイント情報を、画像一時領域に複写する(切出す)ことをいう。被覆矩形切出し処理の動作を以下に説明する。
尚、x、y、Xmax、Xmin、Ymax、Ymin、Ship_Cntは、書き換え可能な記憶領域に記憶される変数であり、Pixel_Num、Line_Numは、記憶領域に記憶されている定数である。Bは、画像一時領域に確保される配列である。
【0045】
先ず、領域画素抽出処理(Step30)と同様にStep400のラベリング実施判定において処理済フラグを参照し、代表点がラベリング実施条件を満足しているか否かを、前記条件式(4)によって判断する。条件式(4)に該当すれば、前記ラベリング実施条件を満足していないとして被覆矩形切出し処理を終了する。条件式(4)に該当しなければ、処理をさらに続ける。
【0046】
Step401、402において処理に必要となる変数の初期化を行った後、ラベリング領域(L2)上の各画素につき原点から順に走査しながら、Step403の判定において、下記条件式(13)により各画素について処理対象船舶カウンタ(Ship_Cnt)の負値でもってペイントされているか(処理対象となっている船舶候補の成分画素であるか)否かの判定を行いながら、404から407の処理により全画素の走査を終えるまでループし、条件に該当する成分画素群の最大・最小のx座標、y座標を求める。
L2(x、y)=−Ship_Cnt 条件式(13)
このようにして求められた4点、即ち(x最小値、y最大値)、(x最大値、y最大値)、(x最大値、y最小値)、(x最小値、y最小値)によって囲まれる領域が被覆矩形となる。
【0047】
条件式(13)を満足し、「ペイントされている」と判定されると、続いて座標判定(Step408、409、410、411)において下記条件式(14)、(15)、(16)、及び(17)を満足するか否かをチェックし、満足する場合はそれぞれ、Step412、413、414、415においてx座標の最大値、x座標の最小値、y座標の最大値、y座標の最小値を成分画素の座標値で更新する。
x>Xmax 条件式(14)
x<Xmin 条件式(15)
y>Ymax 条件式(16)
y<Ymin 条件式(17)
この処理を処理対象となっている抽出された船舶候補領域の全画素について実行すれば、船舶候補領域の最大・最小のx座標、y座標が求められ、最小の被覆矩形を形成する座標を得ることができる。
【0048】
以上のようにして得られた被覆矩形の4点の座標から、船舶候補の成分画素群を被覆する最小の矩形サイズ(横:Xmax−Xmin、縦:Ymax−Ymin)を求め、画像一時領域確保処理(Step416)において、画像一時領域(配列B(Xmax−Xminの差分値、Ymax−Yminの差分値))を確保する。尚、後述する船舶判定処理(Step4)の処理の都合(アルゴリズム)に合わせて、ここで求められた最小被覆矩形よりも大きめに画像一時領域を確保することも可能である。次に、成分画素群複写処理(Step417)において、前記画像一時領域に、上で求めた被覆矩形に含まれる(船舶候補領域の)成分画素群をコピーする。又、この画素群のコピーに合わせて前記画像一時領域上の成分画素以外の部分をヌル値(0)等で初期化することにより船舶判定処理の準備(初期化処理)を行うことも可能である。
このように、船舶判定処理(Step4)に先行して被覆矩形切出し処理(Step40)によって船舶候補領域の成分画素群の切出しを行うことによって、処理に要するメモリ及び計算量の削減、処理の高速化、船舶判定処理の簡素化・単純化を実現できる。
【0049】
次に、船舶判定処理(Step4)の詳細を、図9を参照にしながら説明する。
船舶判定処理(Step4)は、被覆矩形切出し処理(Step40)によってコピーされた画像一時領域の船舶候補領域から船舶諸元を算出し、当該船舶候補領域が船舶であるか否かの判定を行う処理である。
【0050】
先ず、主成分分析処理(Step510)を行う。主成分分析処理は、船舶候補領域の成分画素群から船舶諸元の算出を行う処理である。次に、Step520の船舶判定処理が、算出された船舶諸元の値をもとに当該船舶候補が真に船舶であるかの判定を行う。本判定により最終的に船舶であると判定された場合、船舶諸元出力処理(Step530)を実施する。船舶ではないと判定された場合、そのことを判定結果として出力する。
【0051】
主成分分析処理(Step510)を、図10を用いて詳細に説明する。尚、x1、x2、…xn、y1、y2、…yn、μx、μy、Δx1、Δx2、…、Δxn、Δy1、Δy2、…、Δyn、C11、C12、C21、C22、p1、q1、p2、q2、L、Bは、書き換え可能な記憶領域に記憶される変数であり、sは、記憶領域に記憶されている定数である。
先ず、重心算出処理(Step511)において、成分画素群のX座標の平均値μx、及びY座標の平均値μyを算出し、成分画素群からなる領域の重心の座標(μx、μy)を求める。
成分画素群の画素数をn、各画素の座標を(x1、y1)、(x2、y2)、…、(xn、yn)とするとき、μx及びμyは下記(19)、(20)式により算出する。
μx=(x1+x2+…+xn)/n (19)
μy=(y1+y2+…+yn)/n (20)
【0052】
重心算出処理(Step511)の手順を、図11に示す。図中のsigma_x、sigma_y、nは、一時記憶領域に記憶される変数である。最小矩形内の各座標について(S603)、目標船舶に含まれる場合に(S604)、座標値を合算し(S605)、その結果としてsigma_xとsigma_yを求め、それぞれ合算した座標数nで割って(S606)、重心のx座標μxとy座標μyを求めている(S607)。
【0053】
次に、相関行列の計算(Step512〜Step514)により、相関行列を求める。その為、先ず偏差算出処理(Step512)において、成分画素群の各画素の前記重心からの偏差(Δx1,Δy1)〜(Δxn、Δyn)を算出する。各偏差は、重心(μx,μy)を座標原点とみなしたときの座標値にあたる。Δxi及びΔyi(1≦i≦n)は下記式(21)、(22)により算出する。
Δxi=xi−μx (21)
Δyi=yi−μy (22)
【0054】
次に、偏差のベクトル化処理(Step513)において、偏差のx成分からベクトルΔxを、偏差のy成分からベクトルΔyを得る。Δx及びΔyは下記式(23)、(24)により定義される。
Δx=(Δx1、Δx2、…、Δxn) (23)
Δy=(Δy1、Δy2、…、Δyn) (24)
【0055】
次に、相関行列算出処理(Step514)において、ΔxとΔyの、2行2列の相関行列Cを算出する。Cの各成分はそれぞれ以下のように算出する。(・はベクトル内積の演算子である。)
C11 = Δx・Δx (25)
C12 = Δx・Δy (26)
C21 = Δy・Δx (27)
C22 = Δy・Δy (28)
【0056】
図12は、相関行列算出処理の詳細を示す図である。尚、x1、x2、…xn、y1、y2、…yn、μx、μy、C11、C12、C21、C22は、書き換え可能な記憶領域に記憶される変数である。
先ず、C11、C12、C22を0に初期化し(S701)、最小矩形内の各座標について(S702)、目標船舶に含まれる場合に(S703)、xとμxの差分を求め、その差分を一時記憶し、その差分の二乗を求め、その二乗値を一時記憶し、その二乗値をC11に加算する。また、yとμyの差分を求め、その差分を一時記憶し、xとμxの差分とyとμyの差分を積算し、その積を一時記憶し、その積をC12に加算する。更に、yとμyの差分の二乗を求め、その二乗値を一時記憶し、その二乗値をC22に加算する(S704)。
【0057】
次に、固有値及び固有ベクトルの計算(S515,S516)について説明する。先ず、全長方向算出処理(Step515)において、相関行列Cの最大固有値λ1、及びそれに対応する固有ベクトル(p1,q1)を算出する。最大固有値λ1は下式により算出することができる。(尚、sqrt(X)はXの平方根を表す。)
上式(29)で求めたλ1を用いて、p1及びq1を下式により算出することができる。
ここで求まる(p1、q1)の向きは、船舶候補の成分画素群からなる領域の全長方向になる。何故ならば、重心(μx、μy)を通る直線に投影した各成分画素の直線上における位置(重心を基準点として一方を正方向、もう一方を負方向とする)の分散は、直線の方向が(p1、q1)の向きに一致するとき最大になるからである。このようにして、q1/p1により、船舶候補領域の進行方向を求めることができる。
【0058】
同様に、全幅方向算出処理(Step516)において、相関行列Cの最小固有値λ2とそれに対応する固有ベクトル(p2、q2)を算出する。最小固有値λ2は下式により算出することができる。
式(32)で求めたλ2を用いてp2及びq2は下式により算出することができる。
(p2、q2)の向きは、船舶候補領域の全幅方向になる。重心(μx、μy)を通る直線に投影した各成分画素の直線上における位置の分散は、直線の方向が(p2、q2)の向きに一致するとき最小になるからである。又、このようにして算出した全幅方向は、上で求めた全長方向と常に直交するという性質を持つ。
【0059】
図13は、固有値及び固有ベクトルの計算処理を示す図である。尚、C11、C12、C22、λ1、λ2、divisor11、divisor12、divisor21、divisor22、p1、q1、p2、q2は、書き換え可能な記憶領域に記憶される変数である。
まず、λ1とλ2を求める(S801)。C11とC22の差を求め、その差を一時記憶し、その差の二乗を求め、C11とC22の差の二乗値を一時記憶し、更に、C12の二乗を求め、C12の二乗値を一時記憶する。C11とC22の差の二乗値とC12の二乗値を加算し、その和を一時記憶し、その和の平方根を求め、その平方根を一時記憶し、C11とC22とその平方根を合算し、その結果の1/2をλ1として記憶する。また、C11とC22を加算し、その和から前述の平方根を差し引いて、その結果の1/2をλ2として記憶する。
【0060】
次に、divisor11、divisor12、divisor21、及びdivisor22を求める(S802)。C11からλ1を引いて、その差を一時記憶し、C11とλ1の差の二乗を求め、その二乗値を一時記憶する。その二乗値をC12の二乗値に加え、その和を一時記憶し、その和の平方根を求め、その平方根をdivisor11として記憶する。
C22からλ1を引いて、その差を一時記憶し、C22とλ1の差の二乗を求め、その二乗値を一時記憶する。その二乗値をC12の二乗値に加え、その和を一時記憶し、その和の平方根を求め、その平方根をdivisor12として記憶する。
C11からλ2を引いて、その差を一時記憶し、C11とλ2の差の二乗を求め、その二乗値を一時記憶する。その二乗値をC12の二乗値に加え、その和を一時記憶し、その和の平方根を求め、その平方根をdivisor21として記憶する。
C22からλ2を引いて、その差を一時記憶し、C22とλ2の差の二乗を求め、その二乗値を一時記憶する。その二乗値をC12の二乗値に加え、その和を一時記憶し、その和の平方根を求め、その平方根をdivisor22として記憶する。
【0061】
divisor11とdivisor12がともに0の場合、あるいは、divisor21とdivisor22がともに0の場合は(S803)、固有ベクトルの方向が不定と判断する(S804)。それ以外の場合は、p1とq1を求め、更に、p2とq2を求める。
divisor11>divisor12の場合には(S805)、C12をdivisor11で割り、その結果をp1として記憶し、λ1からC11を引き、その差を一時記憶し、その差をdivisor11で割り、その結果をq1として記憶する(S806)。divisor11<divisor12の場合には(S805)、λ1からC22を引き、その差を一時記憶し、その差をdivisor12で割り、その結果をp1として記憶し、C12をdivisor12で割り、その結果をq1として記憶する(S807)。
divisor21>divisor22の場合には(S808)、C12をdivisor21で割り、その結果をp2として記憶し、λ2からC11を引き、その差を一時記憶し、その差をdivisor21で割り、その結果をq2として記憶する(S809)。divisor21<divisor22の場合には(S808)、λ2からC22を引き、その差を一時記憶し、その差をdivisor22で割り、その結果をp2として記憶し、C12をdivisor22で割り、その結果をq2として記憶する(S810)。
【0062】
次に、長さ・幅の計算の処理(S517,S518)について説明する。先ず、全長算出処理(Step517)において、全長Lを算出する。全長Lの算出は下式による。
但し、iは1〜n(nは成分画素群の画素数)についてとる。また、sは、衛星画像データのピクセルスペーシングであり、衛星画像データの1画素の一辺の長さである。全長Lは、重心(μx、μy)を通り、全長方向に平行な直線に投影した成分画素群の画素2点間の最大距離である。
【0063】
次に、全幅算出処理(Step518)において、全幅Bを算出する。全幅Bの算出は下式による。
但し、iは1〜n(nは成分画素群の画素数)についてとる。全幅Bは重心(μx、μy)を通り全幅方向に平行な直線に投影した船舶画素群の画素2点間の最大距離である。
【0064】
図14は、長さ・幅の計算処理を示す図である。尚、min_z1、max_z1、min_z2、max_z2、z1、z2、x、y、μx、μy、p1、q1、p2、q2、length、widthは、書き換え可能な記憶領域に記憶される変数である。
先ず、min_z1、max_z1、min_z2、max_z2を0に初期化し(S1401)、最小矩形内の各座標について(S1402)、目標船舶に含まれる場合に(S1403)、z1とz2を算出し(S1404)、z1がmin_z1より小さい場合に(S1405)、min_z1にz1を記憶し(S1406)、z1がmax_z1より大きい場合に(S1407)、max_z1にz1を記憶し(S1408)、z2がmin_z2より小さい場合に(S1409)、min_z2にz2を記憶し(S1410)、z2がmax_z2より大きい場合に(S1411)、max_z2にz2を記憶する(S1412)。
z1とz2は、以下の処理により算出する。xからμxを引いて、その差を一時記憶し、
yからμyを引いて、その差を一時記憶する。そして、p1にxとμxの差を乗じて、p1・(x−μx)の積を一時記憶し、q1にyとμyの差を乗じて、q1・(y−μy)の積を一時記憶し、p1・(x−μx)の積とq1・(y−μy)の積を加算し、その和をz1として記憶する。また、p2にxとμxの差を乗じて、p2・(x−μx)の積を一時記憶し、q2にyとμyの差を乗じて、q2・(y−μy)の積を一時記憶し、p2・(x−μx)の積とq2・(y−μy)の積を加算し、その和をz2として記憶する。
最後に、max_z1からmin_z1を引いて、その差をlengthとして記憶し、max_z2からmin_z2を引いて、その差をwidthとして記憶する(S1414)。
【0065】
以上のようにして算出した、重心座標(μx,μy)、全長方向(p1、q1)、全長L、全幅B等の船舶諸元の値により(船舶候補領域が真に船舶領域であるか否かを判定する)船舶判定処理(Step520)を行う。機能上、船舶は通常構造的に縦長になるようになっている。又、その全長、全幅、面積等の値にも下限・上限がある。そこで、船舶判定処理において、抽出した成分画素群からなる領域が真に船舶領域であるか否かを、以下(37)、(38)、(39)、(40)に示すような判定条件により判定する。(下記条件式の面積は、成分画素群の画素数に衛星画像データ1の1画素の面積s2を乗ずることにより得られる。)
最小全長≦L≦最大全長 条件式(37)
最小全幅≦B≦最大全幅 条件式(38)
最小面積≦面積≦最大面積 条件式(39)
最小LB比≦L/B≦最大LB 条件式(40)
(または、最小BL比≦B/L≦最大BL)
上記の条件式を満足する船舶候補領域を、最終的に船舶領域と判定する。
【0066】
尚、上記最小全長、最大全長、最小全幅、最大全幅、最小面積、最大面積、最小LB比、最大LB比はパラメータであり、判定対象とする船種や船舶のサイズの範囲に応じて設定すればよい。抽出した船舶候補領域が最終的に船舶領域(船舶)であると判定された場合は、船舶諸元出力処理(Step530)で、「船舶である。」との判定結果と共に、船舶諸元データを出力する。
【0067】
このように算出された船舶諸元の値による判定を加えることにより、単に船舶候補領域と周辺領域の画素値との比較による船舶検出・判定を行うよりも精度の高い検出・判定が可能になる。又、特定の船種に絞った検出・判定を行うことも可能になる。さらに、船舶諸元の値による判定が加わることで、衛星画像データ中の局所的に非常に高い画素値を示す個所、例えばノイズを含む画素や、真値であってもブイや養殖いかだのような船舶以外の目的物を、船舶として検出・判定してしまうことを防げる。さらに又、求められた船舶諸元の値を活用して船舶の個別識別を行うような応用も考えられる。
【0068】
船舶画像処理システムは、高輝度反射物体画像処理システムの例であり、船舶以外の高輝度に反射する物体に用いても構わない。例えば、飛行機や建造物などの構造体、動植物や人などの生物、或いは岩石や蒸気などの自然物に用いることも考えられる。
【0069】
船舶画像処理システムは、コンピュータであり、各要素はプログラムにより処理を実行することができる。また、プログラムを記憶媒体に記憶させ、記憶媒体からコンピュータに読み取られるようにすることができる。
【0070】
【発明の効果】
以上のように、この発明は、船舶候補領域から想定される船舶に関する諸元を算出し、当該船舶諸元に基づいて、前記船舶候補領域が船舶の画像であるか否かを判定するので、船舶候補領域から抽出された船舶諸元を用いて船舶判定することで、自動判定の精度を向上させることである。
【図面の簡単な説明】
【図1】衛星画像データ中に存在する船舶領域を判定するシステムの全体構成図である。
【図2】衛星画像データ中に存在する船舶領域を抽出するシステムの処理の流れを示すフローチャートである。
【図3】船舶領域を抽出するシステムを構成する領域抽出判定の処理の流れを示すフローチャートである。
【図4】領域抽出判定を構成するフレーム決定処理の処理の流れを示すフローチャートである。
【図5】領域抽出判定を構成する領域画素抽出処理の処理の流れを示すフローチャートである。
【図6】領域画素抽出処理を構成するペイント処理の処理の流れを示すフローチャートである。
【図7】衛星画像データ上の代表点10、検出フレーム11のイメージを示す図である。
【図8】領域抽出判定を構成する被覆矩形切出し処理の処理の流れを示すフローチャートである。
【図9】領域抽出判定を構成する船舶判定処理の処理の流れを示すフローチャートである。
【図10】船舶判定処理を構成する全長・全幅計算処理の処理の流れを示すフローチャートである。
【図11】重心の計算の処理の流れを示すフローチャートである。
【図12】相関行列の計算の処理の流れを示すフローチャートである。
【図13】固有値及び固有ベクトルの計算の処理の流れを示すフローチャートである。
【図14】長さ・幅の計算の処理の流れを示すフローチャートである。
【符号の説明】
1 衛星画像データ、2 代表点検出処理部、3 領域抽出判定部、4 フレーム決定部、5 領域画素抽出処理部、6 被覆矩形切出処理部、7 船舶判定処理部、8 船舶諸元データ等、9 表示装置、10 代表点、11 検出フレーム、20 gate、21 target、30 代表点検出領域(L1)記憶部、31 ラベリング領域(L2)記憶部、32 画像一時領域。
【発明の属する技術分野】
本発明は、衛星画像データ中に存在する船舶候補領域を抽出し、船舶を判定する船舶画像処理システム、及び船舶画像処理方法に関する。船舶画像処理システム、及び船舶画像処理方法は、衛星画像データ中に存在する高輝度反射物体領域を抽出し、想定される物体を判定する高輝度反射物体画像処理システム、及び高輝度反射物体画像処理の例である。
【0002】
【従来の技術】
船舶の検出や領域の抽出に利用される衛星画像データには、主に、画素値が輝度値の光学センサ画像と、画素値が振幅値のSAR(Synthetic Aperture Radar)画像とがある。これらの衛星画像データは、一般の画像データと比べて画素数が多く、非常に広範囲を撮像することが可能である。
【0003】
しかし、上記のように衛星画像データから船舶候補領域を領域抽出し、抽出した船舶候補領域に基づいてそれが船舶であるか否かの判定は、人間が目視で行っていた。そのため、多くの時間と労力を要した。
【0004】
例えば特開2000−353234号公報のように衛星画像データ中から船舶候補領域を捉えて船舶の位置を自動的に検出する方法も考案されているが、必ずしも正確ではない。
【0005】
【特許文献1】
特開2000−353234号公報
【0006】
【発明が解決しようとする課題】
衛星画像データにおいては、艦橋、マスト等構造物の影になってしまう部分は船舶を構成する画素であっても画素値が閾値未満となるので、正しく船舶の成分と判定されずに実際には一つの船舶候補領域であるにもかかわらず、この領域を誤って複数の領域として抽出してしまうことがある。又、撮像時の気象条件により画素値が全体的に低く撮像されている衛星画像データの場合に、船舶検出をし易くするために閾値を低くすると、逆に衛星画像データ中に混在するノイズを拾ってしまい、船舶候補領域の成分ではない画素を誤って前記船舶候補領域を構成する画素として抽出してしまうことがある。そのため従来は、船舶候補領域を正確に抽出することができず、正確に船舶を検出・判定することができないという問題点があった。
【0007】
本発明はこのような問題を解決するためになされたもので、船舶候補領域から抽出された船舶諸元を用いて船舶判定することで、自動判定の精度を向上させることである。
【0008】
【課題を解決するための手段】
本発明に係る高輝度反射物体画像処理システムは、
以下の要素を有することを特徴とする
(1)画像データから高輝度反射物体領域を抽出する高輝度反射物体領域抽出部(2)当該高輝度反射物体領域から想定される物体に関する諸元を算出し、当該諸元に基づいて、前記高輝度反射物体領域が上記想定される物体の画像であるか否かを判定する船舶判定処理部。
【0009】
本発明に係る船舶画像処理システムは、
以下の要素を有することを特徴とする
(1)画像データから船舶候補領域を抽出する船舶候補領域抽出部
(2)当該船舶候補領域から想定される船舶に関する諸元を算出し、当該諸元に基づいて、前記船舶候補領域が船舶の画像であるか否かを判定する船舶判定処理部。
【0010】
当該諸元は、想定される船舶の全長であることを特徴とする。
【0011】
当該諸元は、想定される船舶の全幅であることを特徴とする。
【0012】
当該諸元は、想定される船舶の面積であることを特徴とする。
【0013】
当該諸元は、想定される船舶の全長と全幅であって、
前記船舶判定処理部は、想定される船舶の全長と全幅の比に従って判定することを特徴とする。
【0014】
本発明に係る高輝度反射物体画像処理方法は、
以下の要素を有することを特徴とする
(1)画像データから高輝度反射物体領域を抽出する工程
(2)当該高輝度反射物体領域から想定される物体に関する諸元を算出し、当該諸元に基づいて、前記高輝度反射物体領域が上記想定される物体の画像であるか否かを判定する工程。
【0015】
本発明に係るプログラムを記録したコンピュータ読み取り可能な記録媒体は、高輝度反射物体画像処理システムとなるコンピュータに、以下の処理を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする
(1)画像データから高輝度反射物体領域を抽出する処理
(2)当該高輝度反射物体領域から想定される物体に関する諸元を算出し、当該諸元に基づいて、前記高輝度反射物体領域が上記想定される物体の画像であるか否かを判定する処理。
【0016】
本発明に係るプログラムは、
高輝度反射物体画像処理システムとなるコンピュータに、以下の手順を実行させるためのプログラムであることを特徴とする
(1)画像データから高輝度反射物体領域を抽出する手順
(2)当該高輝度反射物体領域から想定される物体に関する諸元を算出し、当該諸元に基づいて、前記高輝度反射物体領域が上記想定される物体の画像であるか否かを判定する手順。
【0017】
【発明の実施の形態】
実施の形態1.
図1は、この発明の実施の形態1である船舶画像処理システムの全体構成を示す図である。図において、1は、衛星運用機関からCD−ROM、磁気テープ等の媒体によって提供される位置情報を含む衛星画像データである。衛星画像に含まれる位置情報をメタデータと呼び、このメタデータには衛星画像の四隅の緯度・経度、ピクセル数(Pixel_Num)、ライン数(Line_Num)、ピクセルスペーシング(画像データ中の一画素に相当する長さ)が含まれる。このうち、ピクセル数(Pixel_Num)にライン数(Line_Num)を掛け合わせた数、即ち(Pixel_Num x Line_Num)の値(以下、「画像領域サイズ」という。)は、当該衛星画像データに含まれる画素数であり、以後のデータ処理に際して確保される配列領域の要素数を規定する値である。
【0018】
2は、衛星画像データ1を読み込み、衛星画像データ中から船舶の成分と予想される船舶候補としての代表点を検出する代表点検出処理部である。
【0019】
3は、検出された代表点を元に船舶候補領域を抽出し、その船舶候補領域の被覆矩形を切出す領域抽出判定部である。この領域抽出判定部3は、代表点を囲む所定範囲のフレームを決定するフレーム決定部4、フレーム内部の所定閾値以上の画素群からなる第1領域と、フレーム外部の所定閾値以上の画素群であって各画素が互いに隣接するとともにフレームに少なくとも1点で隣接する第2の領域とを抽出し、これら第1、第2の領域を結合したものを船舶候補領域として抽出する領域画素抽出処理部5、船舶候補領域に対する被覆矩形を切り出す被覆矩形切出処理部6で構成されている。
【0020】
船舶判定処理部7は、船舶候補領域が船舶であるか否かを判定するとともに、船舶諸元を出力する船舶判定処理部である。
【0021】
8は、船舶判定処理部7が出力する処理の結果であり、衛星画像データ1から抽出した船舶候補領域が船舶であるか否かの判定結果、船舶諸元などの情報が含まれる。9は、入力データ、出力データ、途中処理のデータ等の表示を行う表示装置である。
【0022】
次に動作について説明する。図2は船舶画像処理システムの処理の概要を示すフローチャートである。図に示すように、衛星画像データ入力(S1)において、衛星画像データ1を画像領域サイズ分の二次元配列である実画像領域Aに入力し、代表点検出処理部2において、この衛星画像データ1から船舶である可能性が高い画素を代表点として検出し、検出した各代表点に対し順番に番号を付し、画像サイズと同じサイズの代表点検出領域(L1)に格納する。代表点検出領域(L1)には、代表点に対応する位置にその番号を付し、他の位置にヌル値(0)を格納するものとし、SHIP_NUM=(抽出した代表点数)を設定する(代表点検出処理)(Step2)。なお、代表点の抽出方法としては、例えば画素値が周辺の領域と比較して高いものを代表点にする等、公知の手法を用いれば良い。
【0023】
そして、領域抽出判定部3において、抽出された代表点を元に船舶候補領域を抽出し、その船舶候補領域の被覆矩形を切出す領域抽出判定を行い(Step3)、船舶判定処理部7において、船舶諸元を抽出し、船舶か否か判定する船舶判定処理(Step4)を行う。
【0024】
以下、本発明の特徴となる各処理について詳述する。
まず、領域抽出判定部3のメインをなすStep3の領域抽出判定の詳細を説明する。図3は、領域抽出判定の内部処理フローを示す図である。図中のShip_Cntは、一時記憶領域に記憶される変数であり、SHIP_NUMは、入力パラメータである処理対象船舶数である。
領域抽出判定では、まず、図3に示すように、画像領域サイズ分の二次元配列のラベリング領域(L2)を確保し、ヌル値(0)による初期化を行う(Step5)。次に、処理対象船舶カウンタの初期化を行う。即ち、ループ処理に入る前に、現在何番目の船舶候補を処理中であるかを示す処理対象船舶カウンタ(Ship_Cnt)を、1で初期化する(Step10)。
それに続いて、フレーム決定処理(Step20)、領域画素抽出処理(Step30)、及び被覆矩形切出し処理(Step40)を実行し、その後、全ての領域抽出・判定の処理が終了したか、即ち、SHIP_NUM≦Ship_Cntを満たすかを判定し(Step50)、満たす場合には処理を終了し、そうでない場合には、Ship_Cntに1を加算し(Step60)、以後、処理対象船舶カウンタ(Ship_Cnt)がSHIP_NUMに達するまで、フレーム決定処理(Step20)、領域画素抽出処理(Step30)、及び被覆矩形切出し処理(Step40)を実行する。
【0025】
尚、ここでは説明上このような処理の順番をとっているが、フレーム決定処理(Step20)、領域画素抽出処理(Step30)をループさせることにより全ての船舶候補領域を抽出した後で、被覆矩形切り出し処理(Step40)をまとめて行ってもよい。
【0026】
フレーム決定処理(Step20)は、船舶候補領域を抽出する処理のベースとなる代表点検出処理(Step2)で検出した代表点の位置を中心にして一定の範囲を有するフレーム(以下、「検出フレーム」という。)を決定し、決定された検出フレーム内の全画素(ラベリング領域(L2))に当該船舶候補領域の識別番号(処理順に1から順に値を割振る。以下、「船舶候補識別番号」という。)を書き込む処理である。
図7を用いてイメージを説明すると、10の(黒三角)は検出された代表点であり、それを中心とする一辺が7画素の正方形の領域(図中灰色の領域。)が検出フレーム11である。なお、検出フレーム11の範囲は、処理の対象となる船舶の種類・サイズ、1画素の面積等に応じて経験的に設定される。又、形状は正方形に限らないが、ここでは正方形として処理を説明する。
【0027】
領域画素抽出処理(Step30)は、フレーム決定処理(Step20)で決定された検出フレーム内部の画素のうち所定閾値以上の画素値を有するものを抽出し、前記閾値以上の画素からなる画素群を第1の領域として抽出する第1の領域抽出処理と、検出フレームに隣接し、かつ連続する前記閾値以上の画素を抽出し、以後、この抽出した画素又は抽出した画素に隣接する閾値以上の画素からなる画素群を第2の領域として抽出する第2の領域抽出処理と、さらに、これら抽出された第1、第2の領域を船舶候補領域として結合する処理である。
このように、検出フレームの内外で抽出方法を変えることで、船舶構造物の影等の影響を受けて船舶候補領域中に画素値が閾値より低い領域が形成される場合に、実際は1つの船舶候補領域を2つ以上として抽出してしまう(以下、「領域分割抽出」という。)ことを防ぐことができる。
【0028】
被覆矩形切出し処理(Step40)は、領域画素抽出処理(Step30)で抽出された船舶候補領域を全て内包できる被覆矩形を決定し、この被覆矩形に囲まれる実画像領域A上のデータを、処理用の領域として別途確保する画像一時領域にコピーする処理である。
【0029】
次に、図3中に示したフレーム決定処理(Step20)の詳細を説明する。図4はフレーム決定処理の詳細を示すフローチャートである。図4に示すように、Step2の代表点検出処理で検出した全ての船舶候補のうち、Ship_Cnt番目の代表点を中心とする正方形の検出フレーム(一辺がパラメータ、C_SQUARE_SIZE。)を、ラベリング領域(L2)上に設定する。
尚、x、y、xl、yl、Label_Flagは、書き換え可能な記憶領域に記憶される変数であり、Pixel_Num、Line_Num、C_SQUARE_SIZEは、記憶領域に記憶されている定数である。
【0030】
先ず、走査開始位置を設定した(Step201)後に、代表点検出処理(Step2)から渡された代表点検出領域(L1)上の全画素について原点から走査しながら、Step202の代表点判定において下記条件式(1)を満足するか否かをチェックする。下記条件式(1)を満足した座標位置が、(事前に検出された全ての代表点のうち)処理対象船舶カウンタ(Ship_Cnt)に等しい代表点であり、フレーム決定処理の処理対象となる。下記条件式(1)を満足しない場合は、Step203から206までの処理により代表点検出領域(L1)上の走査をさらに続ける。
L1(x、y)=Ship_Cnt 条件式(1)
【0031】
下記条件式(1)を満足する代表点L1(x、y)を発見したら、ラベリング領域(L2)を参照しながらStep207のラベリング実施条件判定処理で、下記条件式(2)により当該代表点(x、y)が、既に他の船舶候補領域の周辺海域と比べて高い画素値を有する成分画素であるとして処理されている(<0)、又は未処理である(=0)、いずれかの条件を満足するか否か(以下、「ラベリング実施条件」という。)を判定する。
L2(x、y)≦0 条件式(2)
【0032】
ここでラベリング実施条件を満足する代表点が続く処理の対象となる。(満足しない場合、当該代表点は、既に他の船舶候補領域抽出のために処理済み且ついずれの船舶候補の成分画素にもならなかったと判断し、処理済フラグ処理(Step208)において処理済フラグ(Label_Flag)に1を代入してフレーム決定処理(Step20)を終了する。これにより以後の無駄な処理が不要になる。仮に処理済みであっても、他の船舶候補領域の成分画素(<0)と判定された場合には処理を継続することが本発明のポイントの一つであり、これによって実際は同一の船舶の領域を構成する成分画素群であるにも拘わらず、検出フレーム11の範囲設定やたまたま検出された代表点の位置や数に影響されて「別船舶の領域である」と判定されかけた成分画素群を、同一船舶のものとして結合(以下、「船舶候補領域結合」という。)して抽出することが可能になる。
【0033】
ラベリング実施条件を満足する場合、ラベリング領域(L2)上のL2(x、y)を中心とし、一辺をC_SQUARE_SIZE画素とする正方形の検出フレーム11を決定する(Step209)。そしてラベリング領域(L2)上の検出フレーム11に含まれる全画素につき、処理対象船舶カウンタ(Ship_Cnt)の値を、下記代入式(3)により代入する(Step210)。
L2(xl,yl)=Ship_Cnt 代入式(3)
ラベリングとは、ラベリング領域(L2)上の配列要素に、処理対象船舶カウンタ(Ship_Cnt)の値、即ち以後の処理の対象となる船舶候補の船舶候補識別番号(処理順に1〜SHIP_NUMの値)を代入する(目印を付ける)Step210の処理をいう。Step211から214の処理によって検出フレーム11内の全画素についてラベリングを終了した後、フレーム決定処理(Step20)を終了する。
【0034】
次に、成分画素を抽出する領域画素抽出処理(Step30)の詳細を、図5のフローにより説明する。領域画素抽出処理(Step30)は、フレーム決定処理(Step20)によりラベリングされた検出フレーム11内部に含まれる全画素、当該検出フレーム11に隣接する画素、及び前記隣接画素に連続する画素のうち、画素値が閾値(Threshold)以上の画素を、同一船舶を構成する成分画素として抽出する。領域画素抽出処理の詳細動作を以下に説明する。
尚、x、y、Label_Flag、Ship_Cntは、書き換え可能な記憶領域に記憶される変数であり、Pixel_Num、Line_Num、Thresholdは、記憶領域に記憶されている定数である。Aは、実画像領域である。
【0035】
Step300のラベリング実施判定において処理済フラグを参照し、代表点がラベリング実施条件を満足しているか否かを、下記条件式(4)によって判断する。
Label_Flag=1 条件式(4)
条件式(4)に該当すれば、前記ラベリング実施条件を満足していないとして領域画素抽出処理を終了する。条件式(4)に該当しなければ、処理をさらに続ける。走査開始座標を設定した(Step310)後に、ラベリング領域(L2)内の各画素を原点から走査しながら、下記条件式(5)及び(6)を同時に満たす(現在処理対象である検出フレーム11内にある、後述するStep340のペイント処理が未完了且つ画素値が閾値以上である)画素(x、y)を、処理対象船舶判定(Step320)及び成分画素判定(Step330)により得る。ここで、A(x、y)は実画像領域中の画素値である。
L2(x、y)=Ship_Cnt 条件式(5)
A(x、y)≧Threshold 条件式(6)
条件式(5)と条件式(6)を満たす画素(x、y)であれば、その画素(x、y)を種子点としてStep340のペイント処理を行う。
【0036】
図6によりペイント処理(S340)の詳細を説明する。ペイント処理(S340)は、成分画素群(船舶候補領域)を抽出するための塗りつぶしを行う処理であり、再帰的な構造をとる。
尚、x、y、Ship_Cntは、書き換え可能な記憶領域に記憶される変数であり、Thresholdは、記憶領域に記憶されている定数である。Aは、ラベリング領域(L2)で座標ごとに記憶している画素値である。
先ず、種子点ペイント処理(Step341)は、ラベリング領域(L2)の種子点(x、y)に、処理対象船舶カウンタを下記(7)に示すように負に変換した値(−Ship_Cnt)を、無条件に代入する。
L2(x、y)=−Ship_Cnt 代入式(7)
この代入(書き換え)によって、この画素は、処理対象船舶カウンタが示す船舶候補領域の成分画素として塗りつぶされる。既に別の船舶候補領域の成分画素と判定された画素に対しても上書され、これにより船舶候補領域結合が可能になるのである。種子点ペイント処理の後、種子点の右・左・上・下の順で、自らを再帰的にコールしながら、当該処理対象船舶について、「ペイント処理が未完了又は他の船舶候補領域の成分画素として判定済みで、且つその画素値が閾値以上」(以下、「ペイント処理コール条件」という。)の画素に前記負値を代入する。「ペイントする」とは、このように処理対象船舶カウンタ(Ship_Cnt)の負値即ち船舶候補識別番号の負値を、ラベリング領域(L2)上の(当該船舶候補領域を構成する成分画素に対応する)配列要素に代入することをいう。
【0037】
前記再帰についてさらに説明を行う。種子点ペイント処理(Step341)の後、ペイント処理実施判定(Step342)において、種子点(x、y)の右の画素につき、ペイント処理コール条件を、下記条件式(8)により判定する。条件式(8)を満足すれば、当該右画素を種子点として更にペイント処理をコールする(Step343)。
L2(x+1,y)≠ −Ship_Cnt 且つ
A(x+1,y)≧ Threshold 条件式(8)
【0038】
次に、ペイント処理実施判定(Step344)において、種子点(x、y)の左の画素につき、ペイント処理コール条件を下記条件式(9)により判定する。条件式(9)を満足すれば、当該左画素を種子点として更にペイント処理をコールする(Step345)。
L2(x−1,y)≠−Ship_Cnt 且つ
A(x−1,y)≧Threshold 条件式(9)
【0039】
次に、ペイント処理実施判定(Step346)において、種子点(x、y)の上の画素につき、ペイント処理コール条件を下記条件式(10)により判定する。条件式(10)を満足すれば、当該上画素を種子点として更にペイント処理をコールする(Step347)。
L2(x1,y+1)≠−Ship_Cnt 且つ
A(x、y+1)≧Threshold 条件式(10)
【0040】
次に、ペイント処理実施判定(Step348)において、種子点(x、y)の下の画素につき、ペイント処理コール条件を下記条件式(11)により判定する。条件式(11)を満足すれば、当該下画素を種子点として更にペイント処理をコールする(Step349)。
L2(x1,y−1)≠−Ship_Cnt 且つ
A(x、y−1)≧Threshold 条件式(11)
このようにペイント処理の結果のイメージを表現したものが、図7上の黒色に塗られた代表点10を含む画素群である。
【0041】
先にも述べた通り、領域画素抽出処理(S30)において検出フレーム11を使用し、それに含まれ、且つ画素値が所定閾値以上であれば、ペイント処理が必ずコールされて当該処理対象船舶の成分画素としてペイントされることが重要である。つまり、検出フレーム11は、前出の領域分割抽出の発生を防止するのに有効である。尚、このような利点の反面検出フレーム11の使用は、2つの船舶を無理に1つに結合してその領域を抽出してしまう危険性も存在するが、検出フレーム11は通常数m(メートル)の範囲内で設定され、(港湾内停泊中はともかく)船舶が海洋上において数m以内に近づいて航行する場面が通常は非常に少ないこと、本発明が衛星画像データ中の海上に存在する船舶候補領域の抽出精度を上げるためのものであることから大きな問題ではない。
【0042】
又、代表点10及び検出フレーム11をベースとする領域抽出に、前出の船舶候補領域結合を併用することにより、画素値が衛星画像データ上に分布する状態によってたまたま同一船舶において複数の代表点を検出してしまうようなケースを補い、船舶候補領域の抽出精度をさらに上げることができる。さらに又、代表点10を囲う検出フレーム11を中心とする領域に焦点を当てて処理を行い、他の船舶候補領域の抽出処理で既に得られた結果をも利用するので、処理の重複を削減して、使用メモリ、計算量を節約することにつながり、船舶候補領域を抽出する精度の向上に加えて計算機の処理時間も短縮できる。
【0043】
尚、領域画素抽出処理(Step30)において、最終的に抽出した成分画素群に囲まれ、水平方向に1点連続せずに孤立して存在する前記閾値未満の画素は、例外的にペイントする穴埋め処理を追加することも、衛星画像データに含まれる影の影響を少なくすることに役立つ。
【0044】
次に、被覆矩形切出し処理(Step40)について詳述する。図8は、被覆矩形切出し処理(Step40)の処理の詳細を示す図である。「被覆矩形の切出し」とは、領域画素抽出処理(Step30)までの処理により抽出された船舶候補領域を全て内包できるラベリング領域(L2)上の矩形領域の位置情報(領域四隅の座標位置)を算出し、当該矩形領域内部のペイント情報を、画像一時領域に複写する(切出す)ことをいう。被覆矩形切出し処理の動作を以下に説明する。
尚、x、y、Xmax、Xmin、Ymax、Ymin、Ship_Cntは、書き換え可能な記憶領域に記憶される変数であり、Pixel_Num、Line_Numは、記憶領域に記憶されている定数である。Bは、画像一時領域に確保される配列である。
【0045】
先ず、領域画素抽出処理(Step30)と同様にStep400のラベリング実施判定において処理済フラグを参照し、代表点がラベリング実施条件を満足しているか否かを、前記条件式(4)によって判断する。条件式(4)に該当すれば、前記ラベリング実施条件を満足していないとして被覆矩形切出し処理を終了する。条件式(4)に該当しなければ、処理をさらに続ける。
【0046】
Step401、402において処理に必要となる変数の初期化を行った後、ラベリング領域(L2)上の各画素につき原点から順に走査しながら、Step403の判定において、下記条件式(13)により各画素について処理対象船舶カウンタ(Ship_Cnt)の負値でもってペイントされているか(処理対象となっている船舶候補の成分画素であるか)否かの判定を行いながら、404から407の処理により全画素の走査を終えるまでループし、条件に該当する成分画素群の最大・最小のx座標、y座標を求める。
L2(x、y)=−Ship_Cnt 条件式(13)
このようにして求められた4点、即ち(x最小値、y最大値)、(x最大値、y最大値)、(x最大値、y最小値)、(x最小値、y最小値)によって囲まれる領域が被覆矩形となる。
【0047】
条件式(13)を満足し、「ペイントされている」と判定されると、続いて座標判定(Step408、409、410、411)において下記条件式(14)、(15)、(16)、及び(17)を満足するか否かをチェックし、満足する場合はそれぞれ、Step412、413、414、415においてx座標の最大値、x座標の最小値、y座標の最大値、y座標の最小値を成分画素の座標値で更新する。
x>Xmax 条件式(14)
x<Xmin 条件式(15)
y>Ymax 条件式(16)
y<Ymin 条件式(17)
この処理を処理対象となっている抽出された船舶候補領域の全画素について実行すれば、船舶候補領域の最大・最小のx座標、y座標が求められ、最小の被覆矩形を形成する座標を得ることができる。
【0048】
以上のようにして得られた被覆矩形の4点の座標から、船舶候補の成分画素群を被覆する最小の矩形サイズ(横:Xmax−Xmin、縦:Ymax−Ymin)を求め、画像一時領域確保処理(Step416)において、画像一時領域(配列B(Xmax−Xminの差分値、Ymax−Yminの差分値))を確保する。尚、後述する船舶判定処理(Step4)の処理の都合(アルゴリズム)に合わせて、ここで求められた最小被覆矩形よりも大きめに画像一時領域を確保することも可能である。次に、成分画素群複写処理(Step417)において、前記画像一時領域に、上で求めた被覆矩形に含まれる(船舶候補領域の)成分画素群をコピーする。又、この画素群のコピーに合わせて前記画像一時領域上の成分画素以外の部分をヌル値(0)等で初期化することにより船舶判定処理の準備(初期化処理)を行うことも可能である。
このように、船舶判定処理(Step4)に先行して被覆矩形切出し処理(Step40)によって船舶候補領域の成分画素群の切出しを行うことによって、処理に要するメモリ及び計算量の削減、処理の高速化、船舶判定処理の簡素化・単純化を実現できる。
【0049】
次に、船舶判定処理(Step4)の詳細を、図9を参照にしながら説明する。
船舶判定処理(Step4)は、被覆矩形切出し処理(Step40)によってコピーされた画像一時領域の船舶候補領域から船舶諸元を算出し、当該船舶候補領域が船舶であるか否かの判定を行う処理である。
【0050】
先ず、主成分分析処理(Step510)を行う。主成分分析処理は、船舶候補領域の成分画素群から船舶諸元の算出を行う処理である。次に、Step520の船舶判定処理が、算出された船舶諸元の値をもとに当該船舶候補が真に船舶であるかの判定を行う。本判定により最終的に船舶であると判定された場合、船舶諸元出力処理(Step530)を実施する。船舶ではないと判定された場合、そのことを判定結果として出力する。
【0051】
主成分分析処理(Step510)を、図10を用いて詳細に説明する。尚、x1、x2、…xn、y1、y2、…yn、μx、μy、Δx1、Δx2、…、Δxn、Δy1、Δy2、…、Δyn、C11、C12、C21、C22、p1、q1、p2、q2、L、Bは、書き換え可能な記憶領域に記憶される変数であり、sは、記憶領域に記憶されている定数である。
先ず、重心算出処理(Step511)において、成分画素群のX座標の平均値μx、及びY座標の平均値μyを算出し、成分画素群からなる領域の重心の座標(μx、μy)を求める。
成分画素群の画素数をn、各画素の座標を(x1、y1)、(x2、y2)、…、(xn、yn)とするとき、μx及びμyは下記(19)、(20)式により算出する。
μx=(x1+x2+…+xn)/n (19)
μy=(y1+y2+…+yn)/n (20)
【0052】
重心算出処理(Step511)の手順を、図11に示す。図中のsigma_x、sigma_y、nは、一時記憶領域に記憶される変数である。最小矩形内の各座標について(S603)、目標船舶に含まれる場合に(S604)、座標値を合算し(S605)、その結果としてsigma_xとsigma_yを求め、それぞれ合算した座標数nで割って(S606)、重心のx座標μxとy座標μyを求めている(S607)。
【0053】
次に、相関行列の計算(Step512〜Step514)により、相関行列を求める。その為、先ず偏差算出処理(Step512)において、成分画素群の各画素の前記重心からの偏差(Δx1,Δy1)〜(Δxn、Δyn)を算出する。各偏差は、重心(μx,μy)を座標原点とみなしたときの座標値にあたる。Δxi及びΔyi(1≦i≦n)は下記式(21)、(22)により算出する。
Δxi=xi−μx (21)
Δyi=yi−μy (22)
【0054】
次に、偏差のベクトル化処理(Step513)において、偏差のx成分からベクトルΔxを、偏差のy成分からベクトルΔyを得る。Δx及びΔyは下記式(23)、(24)により定義される。
Δx=(Δx1、Δx2、…、Δxn) (23)
Δy=(Δy1、Δy2、…、Δyn) (24)
【0055】
次に、相関行列算出処理(Step514)において、ΔxとΔyの、2行2列の相関行列Cを算出する。Cの各成分はそれぞれ以下のように算出する。(・はベクトル内積の演算子である。)
C11 = Δx・Δx (25)
C12 = Δx・Δy (26)
C21 = Δy・Δx (27)
C22 = Δy・Δy (28)
【0056】
図12は、相関行列算出処理の詳細を示す図である。尚、x1、x2、…xn、y1、y2、…yn、μx、μy、C11、C12、C21、C22は、書き換え可能な記憶領域に記憶される変数である。
先ず、C11、C12、C22を0に初期化し(S701)、最小矩形内の各座標について(S702)、目標船舶に含まれる場合に(S703)、xとμxの差分を求め、その差分を一時記憶し、その差分の二乗を求め、その二乗値を一時記憶し、その二乗値をC11に加算する。また、yとμyの差分を求め、その差分を一時記憶し、xとμxの差分とyとμyの差分を積算し、その積を一時記憶し、その積をC12に加算する。更に、yとμyの差分の二乗を求め、その二乗値を一時記憶し、その二乗値をC22に加算する(S704)。
【0057】
次に、固有値及び固有ベクトルの計算(S515,S516)について説明する。先ず、全長方向算出処理(Step515)において、相関行列Cの最大固有値λ1、及びそれに対応する固有ベクトル(p1,q1)を算出する。最大固有値λ1は下式により算出することができる。(尚、sqrt(X)はXの平方根を表す。)
上式(29)で求めたλ1を用いて、p1及びq1を下式により算出することができる。
ここで求まる(p1、q1)の向きは、船舶候補の成分画素群からなる領域の全長方向になる。何故ならば、重心(μx、μy)を通る直線に投影した各成分画素の直線上における位置(重心を基準点として一方を正方向、もう一方を負方向とする)の分散は、直線の方向が(p1、q1)の向きに一致するとき最大になるからである。このようにして、q1/p1により、船舶候補領域の進行方向を求めることができる。
【0058】
同様に、全幅方向算出処理(Step516)において、相関行列Cの最小固有値λ2とそれに対応する固有ベクトル(p2、q2)を算出する。最小固有値λ2は下式により算出することができる。
式(32)で求めたλ2を用いてp2及びq2は下式により算出することができる。
(p2、q2)の向きは、船舶候補領域の全幅方向になる。重心(μx、μy)を通る直線に投影した各成分画素の直線上における位置の分散は、直線の方向が(p2、q2)の向きに一致するとき最小になるからである。又、このようにして算出した全幅方向は、上で求めた全長方向と常に直交するという性質を持つ。
【0059】
図13は、固有値及び固有ベクトルの計算処理を示す図である。尚、C11、C12、C22、λ1、λ2、divisor11、divisor12、divisor21、divisor22、p1、q1、p2、q2は、書き換え可能な記憶領域に記憶される変数である。
まず、λ1とλ2を求める(S801)。C11とC22の差を求め、その差を一時記憶し、その差の二乗を求め、C11とC22の差の二乗値を一時記憶し、更に、C12の二乗を求め、C12の二乗値を一時記憶する。C11とC22の差の二乗値とC12の二乗値を加算し、その和を一時記憶し、その和の平方根を求め、その平方根を一時記憶し、C11とC22とその平方根を合算し、その結果の1/2をλ1として記憶する。また、C11とC22を加算し、その和から前述の平方根を差し引いて、その結果の1/2をλ2として記憶する。
【0060】
次に、divisor11、divisor12、divisor21、及びdivisor22を求める(S802)。C11からλ1を引いて、その差を一時記憶し、C11とλ1の差の二乗を求め、その二乗値を一時記憶する。その二乗値をC12の二乗値に加え、その和を一時記憶し、その和の平方根を求め、その平方根をdivisor11として記憶する。
C22からλ1を引いて、その差を一時記憶し、C22とλ1の差の二乗を求め、その二乗値を一時記憶する。その二乗値をC12の二乗値に加え、その和を一時記憶し、その和の平方根を求め、その平方根をdivisor12として記憶する。
C11からλ2を引いて、その差を一時記憶し、C11とλ2の差の二乗を求め、その二乗値を一時記憶する。その二乗値をC12の二乗値に加え、その和を一時記憶し、その和の平方根を求め、その平方根をdivisor21として記憶する。
C22からλ2を引いて、その差を一時記憶し、C22とλ2の差の二乗を求め、その二乗値を一時記憶する。その二乗値をC12の二乗値に加え、その和を一時記憶し、その和の平方根を求め、その平方根をdivisor22として記憶する。
【0061】
divisor11とdivisor12がともに0の場合、あるいは、divisor21とdivisor22がともに0の場合は(S803)、固有ベクトルの方向が不定と判断する(S804)。それ以外の場合は、p1とq1を求め、更に、p2とq2を求める。
divisor11>divisor12の場合には(S805)、C12をdivisor11で割り、その結果をp1として記憶し、λ1からC11を引き、その差を一時記憶し、その差をdivisor11で割り、その結果をq1として記憶する(S806)。divisor11<divisor12の場合には(S805)、λ1からC22を引き、その差を一時記憶し、その差をdivisor12で割り、その結果をp1として記憶し、C12をdivisor12で割り、その結果をq1として記憶する(S807)。
divisor21>divisor22の場合には(S808)、C12をdivisor21で割り、その結果をp2として記憶し、λ2からC11を引き、その差を一時記憶し、その差をdivisor21で割り、その結果をq2として記憶する(S809)。divisor21<divisor22の場合には(S808)、λ2からC22を引き、その差を一時記憶し、その差をdivisor22で割り、その結果をp2として記憶し、C12をdivisor22で割り、その結果をq2として記憶する(S810)。
【0062】
次に、長さ・幅の計算の処理(S517,S518)について説明する。先ず、全長算出処理(Step517)において、全長Lを算出する。全長Lの算出は下式による。
但し、iは1〜n(nは成分画素群の画素数)についてとる。また、sは、衛星画像データのピクセルスペーシングであり、衛星画像データの1画素の一辺の長さである。全長Lは、重心(μx、μy)を通り、全長方向に平行な直線に投影した成分画素群の画素2点間の最大距離である。
【0063】
次に、全幅算出処理(Step518)において、全幅Bを算出する。全幅Bの算出は下式による。
但し、iは1〜n(nは成分画素群の画素数)についてとる。全幅Bは重心(μx、μy)を通り全幅方向に平行な直線に投影した船舶画素群の画素2点間の最大距離である。
【0064】
図14は、長さ・幅の計算処理を示す図である。尚、min_z1、max_z1、min_z2、max_z2、z1、z2、x、y、μx、μy、p1、q1、p2、q2、length、widthは、書き換え可能な記憶領域に記憶される変数である。
先ず、min_z1、max_z1、min_z2、max_z2を0に初期化し(S1401)、最小矩形内の各座標について(S1402)、目標船舶に含まれる場合に(S1403)、z1とz2を算出し(S1404)、z1がmin_z1より小さい場合に(S1405)、min_z1にz1を記憶し(S1406)、z1がmax_z1より大きい場合に(S1407)、max_z1にz1を記憶し(S1408)、z2がmin_z2より小さい場合に(S1409)、min_z2にz2を記憶し(S1410)、z2がmax_z2より大きい場合に(S1411)、max_z2にz2を記憶する(S1412)。
z1とz2は、以下の処理により算出する。xからμxを引いて、その差を一時記憶し、
yからμyを引いて、その差を一時記憶する。そして、p1にxとμxの差を乗じて、p1・(x−μx)の積を一時記憶し、q1にyとμyの差を乗じて、q1・(y−μy)の積を一時記憶し、p1・(x−μx)の積とq1・(y−μy)の積を加算し、その和をz1として記憶する。また、p2にxとμxの差を乗じて、p2・(x−μx)の積を一時記憶し、q2にyとμyの差を乗じて、q2・(y−μy)の積を一時記憶し、p2・(x−μx)の積とq2・(y−μy)の積を加算し、その和をz2として記憶する。
最後に、max_z1からmin_z1を引いて、その差をlengthとして記憶し、max_z2からmin_z2を引いて、その差をwidthとして記憶する(S1414)。
【0065】
以上のようにして算出した、重心座標(μx,μy)、全長方向(p1、q1)、全長L、全幅B等の船舶諸元の値により(船舶候補領域が真に船舶領域であるか否かを判定する)船舶判定処理(Step520)を行う。機能上、船舶は通常構造的に縦長になるようになっている。又、その全長、全幅、面積等の値にも下限・上限がある。そこで、船舶判定処理において、抽出した成分画素群からなる領域が真に船舶領域であるか否かを、以下(37)、(38)、(39)、(40)に示すような判定条件により判定する。(下記条件式の面積は、成分画素群の画素数に衛星画像データ1の1画素の面積s2を乗ずることにより得られる。)
最小全長≦L≦最大全長 条件式(37)
最小全幅≦B≦最大全幅 条件式(38)
最小面積≦面積≦最大面積 条件式(39)
最小LB比≦L/B≦最大LB 条件式(40)
(または、最小BL比≦B/L≦最大BL)
上記の条件式を満足する船舶候補領域を、最終的に船舶領域と判定する。
【0066】
尚、上記最小全長、最大全長、最小全幅、最大全幅、最小面積、最大面積、最小LB比、最大LB比はパラメータであり、判定対象とする船種や船舶のサイズの範囲に応じて設定すればよい。抽出した船舶候補領域が最終的に船舶領域(船舶)であると判定された場合は、船舶諸元出力処理(Step530)で、「船舶である。」との判定結果と共に、船舶諸元データを出力する。
【0067】
このように算出された船舶諸元の値による判定を加えることにより、単に船舶候補領域と周辺領域の画素値との比較による船舶検出・判定を行うよりも精度の高い検出・判定が可能になる。又、特定の船種に絞った検出・判定を行うことも可能になる。さらに、船舶諸元の値による判定が加わることで、衛星画像データ中の局所的に非常に高い画素値を示す個所、例えばノイズを含む画素や、真値であってもブイや養殖いかだのような船舶以外の目的物を、船舶として検出・判定してしまうことを防げる。さらに又、求められた船舶諸元の値を活用して船舶の個別識別を行うような応用も考えられる。
【0068】
船舶画像処理システムは、高輝度反射物体画像処理システムの例であり、船舶以外の高輝度に反射する物体に用いても構わない。例えば、飛行機や建造物などの構造体、動植物や人などの生物、或いは岩石や蒸気などの自然物に用いることも考えられる。
【0069】
船舶画像処理システムは、コンピュータであり、各要素はプログラムにより処理を実行することができる。また、プログラムを記憶媒体に記憶させ、記憶媒体からコンピュータに読み取られるようにすることができる。
【0070】
【発明の効果】
以上のように、この発明は、船舶候補領域から想定される船舶に関する諸元を算出し、当該船舶諸元に基づいて、前記船舶候補領域が船舶の画像であるか否かを判定するので、船舶候補領域から抽出された船舶諸元を用いて船舶判定することで、自動判定の精度を向上させることである。
【図面の簡単な説明】
【図1】衛星画像データ中に存在する船舶領域を判定するシステムの全体構成図である。
【図2】衛星画像データ中に存在する船舶領域を抽出するシステムの処理の流れを示すフローチャートである。
【図3】船舶領域を抽出するシステムを構成する領域抽出判定の処理の流れを示すフローチャートである。
【図4】領域抽出判定を構成するフレーム決定処理の処理の流れを示すフローチャートである。
【図5】領域抽出判定を構成する領域画素抽出処理の処理の流れを示すフローチャートである。
【図6】領域画素抽出処理を構成するペイント処理の処理の流れを示すフローチャートである。
【図7】衛星画像データ上の代表点10、検出フレーム11のイメージを示す図である。
【図8】領域抽出判定を構成する被覆矩形切出し処理の処理の流れを示すフローチャートである。
【図9】領域抽出判定を構成する船舶判定処理の処理の流れを示すフローチャートである。
【図10】船舶判定処理を構成する全長・全幅計算処理の処理の流れを示すフローチャートである。
【図11】重心の計算の処理の流れを示すフローチャートである。
【図12】相関行列の計算の処理の流れを示すフローチャートである。
【図13】固有値及び固有ベクトルの計算の処理の流れを示すフローチャートである。
【図14】長さ・幅の計算の処理の流れを示すフローチャートである。
【符号の説明】
1 衛星画像データ、2 代表点検出処理部、3 領域抽出判定部、4 フレーム決定部、5 領域画素抽出処理部、6 被覆矩形切出処理部、7 船舶判定処理部、8 船舶諸元データ等、9 表示装置、10 代表点、11 検出フレーム、20 gate、21 target、30 代表点検出領域(L1)記憶部、31 ラベリング領域(L2)記憶部、32 画像一時領域。
Claims (9)
- 以下の要素を有することを特徴とする高輝度反射物体画像処理システム
(1)画像データから高輝度反射物体領域を抽出する高輝度反射物体領域抽出部
(2)当該高輝度反射物体領域から想定される物体に関する諸元を算出し、当該諸元に基づいて、前記高輝度反射物体領域が上記想定される物体の画像であるか否かを判定する船舶判定処理部。 - 以下の要素を有することを特徴とする船舶画像処理システム
(1)画像データから船舶候補領域を抽出する船舶候補領域抽出部
(2)当該船舶候補領域から想定される船舶に関する諸元を算出し、当該諸元に基づいて、前記船舶候補領域が船舶の画像であるか否かを判定する船舶判定処理部。 - 当該諸元は、想定される船舶の全長であることを特徴とする請求項2記載の船舶画像処理システム。
- 当該諸元は、想定される船舶の全幅であることを特徴とする請求項2記載の船舶画像処理システム。
- 当該諸元は、想定される船舶の面積であることを特徴とする請求項2記載の船舶画像処理システム。
- 当該諸元は、想定される船舶の全長と全幅であって、
前記船舶判定処理部は、想定される船舶の全長と全幅の比に従って判定することを特徴とする請求項2記載の船舶画像処理システム。 - 以下の要素を有することを特徴とする高輝度反射物体画像処理方法
(1)画像データから高輝度反射物体領域を抽出する工程
(2)当該高輝度反射物体領域から想定される物体に関する諸元を算出し、当該諸元に基づいて、前記高輝度反射物体領域が上記想定される物体の画像であるか否かを判定する工程。 - 高輝度反射物体画像処理システムとなるコンピュータに、以下の処理を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
(1)画像データから高輝度反射物体領域を抽出する処理
(2)当該高輝度反射物体領域から想定される物体に関する諸元を算出し、当該諸元に基づいて、前記高輝度反射物体領域が上記想定される物体の画像であるか否かを判定する処理。 - 高輝度反射物体画像処理システムとなるコンピュータに、以下の手順を実行させるためのプログラム
(1)画像データから高輝度反射物体領域を抽出する手順
(2)当該高輝度反射物体領域から想定される物体に関する諸元を算出し、当該諸元に基づいて、前記高輝度反射物体領域が上記想定される物体の画像であるか否かを判定する手順。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003091675A JP2004302557A (ja) | 2003-03-28 | 2003-03-28 | 高輝度反射物体画像処理システム及び船舶画像処理システム及び高輝度反射物体画像処理方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003091675A JP2004302557A (ja) | 2003-03-28 | 2003-03-28 | 高輝度反射物体画像処理システム及び船舶画像処理システム及び高輝度反射物体画像処理方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004302557A true JP2004302557A (ja) | 2004-10-28 |
Family
ID=33404991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003091675A Pending JP2004302557A (ja) | 2003-03-28 | 2003-03-28 | 高輝度反射物体画像処理システム及び船舶画像処理システム及び高輝度反射物体画像処理方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004302557A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007279930A (ja) * | 2006-04-05 | 2007-10-25 | Hitachi Ltd | 画像処理プログラム、画像処理装置 |
-
2003
- 2003-03-28 JP JP2003091675A patent/JP2004302557A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007279930A (ja) * | 2006-04-05 | 2007-10-25 | Hitachi Ltd | 画像処理プログラム、画像処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shao et al. | Saliency-aware convolution neural network for ship detection in surveillance video | |
CN109615611B (zh) | 一种基于巡检影像的绝缘子自爆缺陷检测方法 | |
KR20210002104A (ko) | 목표 검출 및 목표 검출 네트워크의 훈련 | |
CN110163904A (zh) | 对象标注方法、移动控制方法、装置、设备及存储介质 | |
CN109460754B (zh) | 一种水面异物检测方法、装置、设备及存储介质 | |
CN110717489A (zh) | Osd的文字区域的识别方法、装置及存储介质 | |
KR20110127202A (ko) | 장면 해석과 등록 수행 평가를 위한 2차원 전기광학 이미지와 3차원 포인트 클라우드 데이터의 융합 | |
CN110443201B (zh) | 基于多源影像联合形状分析与多属性融合的目标识别方法 | |
Crommelinck et al. | SLIC superpixels for object delineation from UAV data | |
GB2520338A (en) | Automatic scene parsing | |
CN114677554A (zh) | 一种基于YOLOv5与Deepsort的统计滤波红外小目标检测跟踪方法 | |
WO2021134285A1 (zh) | 图像跟踪处理方法、装置、计算机设备和存储介质 | |
US20050036688A1 (en) | Evaluation of edge direction information | |
CN108986152A (zh) | 一种基于差分图像的异物检测方法及装置 | |
CN113191174B (zh) | 物品定位方法和装置、机器人及计算机可读存储介质 | |
CN113591592B (zh) | 水上目标识别方法、装置、终端设备及存储介质 | |
Anai et al. | Automatic exterior orientation procedure for low-cost UAV photogrammetry using video image tracking technique and GPS information | |
CN112633274A (zh) | 一种声呐图像目标检测方法、装置、电子设备 | |
CN112184765A (zh) | 一种基于视觉的水下航行器自主跟踪方法 | |
KR102278674B1 (ko) | 해수면을 고려한 항만 및 선박 모니터링 방법 및 장치 | |
CN113128430B (zh) | 人群聚集检测方法、装置、电子设备和存储介质 | |
Martens et al. | Cross domain matching for semantic point cloud segmentation based on image segmentation and geometric reasoning | |
Liu et al. | Improvement of detection accuracy of aircraft in remote sensing images based on YOLOV5 model | |
CN116935369A (zh) | 基于计算机视觉的船舶水尺读数方法及系统 | |
JP4270923B2 (ja) | 高輝度反射物体画像処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051124 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081021 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090414 |