注目され始めたSAR画像×船舶×機械学習を概観する
SAR画像が良く使われる対象となる船舶。その基本や機械学習の事例について詳しくまとめました。
1. はじめに
近年、衛星データ×機械学習を用いたアプリケーションが数多く出てきました。例えば、石油タンクの浮き屋根を解析して石油貯蔵量を推定したり、駐車場の駐車率を解析して商業施設の需要を推定したり、海上の船舶を解析して海洋状況を推定したりするアプリケーションが出てきています。これらは共通して、地球を俯瞰できる衛星データの強みを活かしており、おおよそ人手では解析に時間のかかる広大な土地を解析対象として設定しています。
特に海洋は、その面積が広大(地球上の大陸:海洋の面積の割合は3:7)であることに加え、地上と比較してノイズが少ないため解析対象としては、機械学習との相性が大変によいです。
今回はこの海洋を舞台に、世界ではどのような衛星データ解析技術が登場してきていて、今後どのようなアプリケーションに発展していくのかを解説していきたいと思います。
1-1. 海洋上での解析対象は船舶
海洋上で解析対象となるのは船舶、ブイ、オイルなど様々ですが、船舶が最も多く解析されています。このため、今回は船舶を中心に話を進めて行きます。
船舶を解析するにあたって解析の種類を大きく2つに分けると「船舶検出」と「船舶識別」があります。
「船舶検出」は海上にいる船舶を見つけること、すなわち位置を検出することです。「船舶識別」は海上にいる船舶を見つけ、その上で種類(次で詳しく説明します)を識別すること。
ここでは簡単に、「船舶検出」は船舶の位置を推定し、「船舶識別」は船舶の位置+船舶の種類(次からは「船種」といいます)を推定すると理解しておいてください。
1-2. 船舶検出と船舶識別
先ほどの説明から、船舶識別が出来れば、船舶検出は必要ないのではないかと思われるかもしれません。
しかし、衛星データの性質上、船舶識別が困難な場合があります。船舶検出及び船舶識別、これらを選り分けるために重要な衛星データの指標は「分解能」と「バンド帯」で、特に「分解能」が支配的です。
分解能
「分解能」とはどれくらいの大きさのものを見ることができるかを示す指標で、画像の「解像度」と思っていただければと思います。「分解能」が低いと、画像としては粗くなるため船種を識別することはできず、船舶検出までしかできないということになります。
バンド帯(観測周波数)
「バンド帯」は、衛星がどのような周波数を使って観測しているか、ということを表します。よく用いられているSAR画像にはXバンド、Cバンド、Lバンドがあります。
SARの仕組み上、「バンド帯」によって「分解能」が変化するわけではありませんが、ノイズが大きく変わります。一般的にはXバンド、Cバンド、Lバンドの順でノイズが大きくなります。また、SAR画像において、バンド帯の違いで、対象となる物体での反射や拡散の挙動が異なってくるため、SAR画像としての見え方が違ってきます。
しかし、海洋ではバンド帯に依らず、海面は電波を鏡面反射(衛星に電波が戻っていかない)もしくは吸収(濁っている場合)、拡散(荒波などにより散乱が大きくなる場合)するので暗く写り、鋼鉄製の船舶は電波をよく反射(散乱やコーナーターンなど)するので明るく写るといった見え方は大きくかわりません。このため、バンド帯による見え方の違いはあまり気にしなくて良いでしょう。
「分解能」と「バンド帯」によるSAR画像の違いについて、次の章で実際に画像を見ながら、その特性を理解していきたいと思います。
2. 分解能とバンド帯から見るSAR画像
Xバンド、Cバンド、Lバンド毎にSAR画像の特性を見ていき、船舶検出に向いているのか、船舶識別に向いているのかを分けていきます。
漁船の多くは20~40mであることが多いため、3m程度の分解能がなければ、船種を識別することはできません。
これから紹介するSAR画像は、あくまで参考の情報です。SARの性能を比較するためには、同じ観測条件(衛星の角度、船舶の素材や長さ)をそろえる必要があるため、純粋な比較を行うのは非常に困難です。このため、一般的に言われているXバンド、Cバンド、Lバンドの順でノイズが少ないという部分当てはまらない場合もあります。
2-1.Xバンド
イタリア宇宙機関(ASI)が保有するCOSMO-SkyMedにはXバンドの合成開口レーダが搭載されています。Spotlightモードでは分解能が1m以下で観測幅が10㎞、Strip Mapでは分解能が3-15mで観測幅が40㎞、Wide Regionでは分解能が30m、観測幅が100㎞です。Huge Regionでは分解能が100m、観測幅が200㎞です。
COSMO-SkyMed(Xバンド)の観測モードと船舶検出・船舶識別の適用性
観測モード | 分解能 | 観測幅 | 船舶検出 | 船舶識別 |
Spotlight | 1m以下 | 10km | ◎ | ◎ |
Strip Map | 3m-15m | 40km | 〇 | 〇~△ |
Wide Region | 30m | 100km | 〇 | × |
Huge Region | 100m | 200km | △ | × |
実際のSARでは以下のように映ります。この画像はStrip MapのSAR画像です。Spotlightになると、より細かく船舶の特徴が出てくることとなります。
XバンドのSAR衛星は他に、Tellusでも画像が確認できるASNARO-2(JEOSS)や、25cmの分解能を達成したICEYE、ドイツのTerraSAR-Xなどがあります。
2-2.Cバンド
ESAが保有するSentinel-1にはCバンドの合成開口レーダが搭載されています。Strip Mapでは分解能が5mで観測幅が80kmです。Extra-wide Swathモードでは分解能が20m×40mで観測幅が400㎞です。
Sentinel-1(Cバンド)の観測モードと船舶検出・船舶識別の適用性
観測モード | 分解能 | 観測幅 | 船舶検出 | 船舶識別 |
Strip Map | 5m | 80km | 〇 | 〇 |
Extra-wide Swath | 20m×40m | 400㎞ | 〇 | × |
実際のSARでは以下のように映ります。この画像はStrip MapのSAR画像です。
CバンドのSAR衛星は他に、カナダのRADARSATシリーズがあります。
2-3.Lバンド
JAXAが保有するALOS-2にはLバンドの合成開口レーダが搭載されています。Spotlightでは分解能が3mで観測幅が25㎞、Strip Mapでは分解能が3m~10mで観測幅が50㎞~70㎞、Scan SARでは分解能が100m、観測幅が350㎞です。
ALOS-2(Lバンド)の観測モードと海洋での利用用途
観測モード | 分解能 | 観測幅 | 船舶検出 | 船舶識別 |
Spotlight | 3m | 25㎞ | 〇 | △ |
Strip Map | 3m~10m | 50㎞~70㎞ | 〇 | △~× |
SCAN SAR | 100m | 350㎞ | △ | × |
実際のSARでは以下のように映ります。この画像はStrip Map(10m)のSAR画像です。
3. SAR画像における船舶の特徴とAISについて
3-1. 船舶の特徴
まず、船舶の見方を説明します。以下の画像をご覧ください。
こちらはCバンドで観測された、移動中の船舶のSAR画像です。船舶の進行方向とは逆側(A、B、Dと書かれている文字の方向)にV字が見えます。これを船舶の通った跡という意味で「航跡」と言います。
より具体的に、物体が移動して出来る波をケルビン波(航跡波)といいます。ケルビン波のパターンを理解することで船舶のより詳細な情報が見えてきます。
ケルビン波のパターンは大きく分けて「縦波」と「横波」があります。縦波は船舶の進行方向に対して後方に広がるV字です。これは航跡源から発生する拡散波が連なって出来たものです。V字の角度は約39度と言われています。
続いて、横波は船舶の進行方向に対して直交する線です。また、縦波と横波が交わる箇所をカスプと言います。これらパターンは航跡源の速さや大きさには依存しません。一方、波高は船の長さや航行速度に比例します(造波抵抗)。
このように一見、流氷や他の構造物に見えたとしても、船舶のケルビン波を理解していれば、船舶か否か、ひいては船首や進路など、様々な情報が見えてきます。
3-2. SAR画像のノイズ
海洋及び船舶をSARによって観測した場合に発生するノイズは、大気の対流、海面クラッタ、コーナーターン、サイドローブなどがあります。大気の対流を除けば、どれも反射を原因とするノイズです。
海面クラッタ
海面クラッタ(sea-clutter)は、海面の様々な波(の面)の複雑なパターンがSARの電波に対して様々な反射/散乱を与えることを起因に発生します。例えば、電波に不要な干渉を与えてスペックルノイズを発生させたり、衛星方向に向けて電波を鏡面反射して白くSAR画像に写ってしまったりするなどです。
コーナーターン
コーナーターンは2面体反射、3面体反射などによって発生します。船舶の形状上、非常に起こりやすい反射です。
サイドローブ
SARは電波を使って観測していますが、意図したパターン(メインローブ)ではない、副次的なパターンの電波(サイドローブ)も出てしまいます。
SAR画像のノイズの一つである「サイドローブ」という現象は、電波のメインローブよりもサイドローブが先に反射して返ってきてしまうために起こります。サイドローブの発生が分かりやすいSAR画像は以下です。
この十字架に見える部分は船舶の構造物が不用意にSARの電波を反射させたことによるサイドローブのノイズです。
衛星からの電波の放射角度(オフナディア角)を大きくすると、サイドローブは発生しやすくなります。すなわち、地球の中心に向かう方向(ナディア方向)ではなく、地平線方向に電波が飛ぶ場合です。
また、海洋の傍に港などがある(高低差のある建物が多い)となおさら起こりやすいです。衛星の観測条件を変化させたSAR画像が以下です。
右側の26度の時よりも、中央の59度の時の方がサイドローブを大きく発生させているのが分かります。
3-3. SAR画像の学習データとなり得るAISと船舶の種類
AIS(Automatic Identification System)とは自動船舶識別装置といい、電波を利用して船舶情報(後述)を相互交換するものです。この装置は国際海事機関がテロリズムへの対処を目的として設置を義務付けています。
設置義務があるのは300総トン数以上の国際航海する船舶、500総トン数以上の非国際航海の船舶、国際航海の全旅客船と、テロの脅威がある大型船舶に限られています。
漁業船などは設置義務がありませんが、AISを取り付けることで海難事故の防止にも繋がるので、小型でも搭載している船舶は多いです。
AISの船舶情報には識別符号、船名、位置、針路、速力、目的地、船種などが含まれています。このAIS情報はSAR画像と併せて用いられることが多いです。その用途は学習データの生成です。特に船種の情報は重宝されています。AISの船種を示すデータはShip typeといいます。実際のShip typeには以下のようなものがあります。
識別番号 | 船種 |
0 | Not available (default) |
1-19 | Reserved for future use |
20 | Wing in ground (WIG), all ships of this type |
21 | Wing in ground (WIG), Hazardous category A |
22 | Wing in ground (WIG), Hazardous category B |
23 | Wing in ground (WIG), Hazardous category C |
24 | Wing in ground (WIG), Hazardous category D |
25 | Wing in ground (WIG), Reserved for future use |
26 | Wing in ground (WIG), Reserved for future use |
27 | Wing in ground (WIG), Reserved for future use |
28 | Wing in ground (WIG), Reserved for future use |
29 | Wing in ground (WIG), Reserved for future use |
30 | Fishing |
31 | Towing |
32 | Towing: length exceeds 200m or breadth exceeds 25m |
33 | Dredging or underwater ops |
34 | Diving ops |
35 | Military ops |
36 | Sailing |
37 | Pleasure Craft |
38 | Reserved |
39 | Reserved |
40 | High speed craft (HSC), all ships of this type |
41 | High speed craft (HSC), Hazardous category A |
42 | High speed craft (HSC), Hazardous category B |
43 | High speed craft (HSC), Hazardous category C |
44 | High speed craft (HSC), Hazardous category D |
45 | High speed craft (HSC), Reserved for future use |
46 | High speed craft (HSC), Reserved for future use |
47 | High speed craft (HSC), Reserved for future use |
48 | High speed craft (HSC), Reserved for future use |
49 | High speed craft (HSC), No additional information |
50 | Pilot Vessel |
51 | Search and Rescue vessel |
52 | Tug |
53 | Port Tender |
54 | Anti-pollution equipment |
55 | Law Enforcement |
56 | Spare – Local Vessel |
57 | Spare – Local Vessel |
58 | Medical Transport |
59 | Noncombatant ship according to RR Resolution No. 18 |
60 | Passenger, all ships of this type |
61 | Passenger, Hazardous category A |
62 | Passenger, Hazardous category B |
63 | Passenger, Hazardous category C |
64 | Passenger, Hazardous category D |
65 | Passenger, Reserved for future use |
66 | Passenger, Reserved for future use |
67 | Passenger, Reserved for future use |
68 | Passenger, Reserved for future use |
69 | Passenger, No additional information |
70 | Cargo, all ships of this type |
71 | Cargo, Hazardous category A |
72 | Cargo, Hazardous category B |
73 | Cargo, Hazardous category C |
74 | Cargo, Hazardous category D |
75 | Cargo, Reserved for future use |
76 | Cargo, Reserved for future use |
77 | Cargo, Reserved for future use |
78 | Cargo, Reserved for future use |
79 | Cargo, No additional information |
80 | Tanker, all ships of this type |
81 | Tanker, Hazardous category A |
82 | Tanker, Hazardous category B |
83 | Tanker, Hazardous category C |
84 | Tanker, Hazardous category D |
85 | Tanker, Reserved for future use |
86 | Tanker, Reserved for future use |
87 | Tanker, Reserved for future use |
88 | Tanker, Reserved for future use |
89 | Tanker, No additional information |
90 | Other Type, all ships of this type |
91 | Other Type, Hazardous category A |
92 | Other Type, Hazardous category B |
93 | Other Type, Hazardous category C |
94 | Other Type, Hazardous category D |
95 | Other Type, Reserved for future use |
96 | Other Type, Reserved for future use |
97 | Other Type, Reserved for future use |
98 | Other Type, Reserved for future use |
99 | Other Type, no additional information |
https://api.vtexplorer.com/docs/ref-aistypes.html
実際にこれらのデータを使うときは、全て使うことはありません。例えば、60-69の旅客船は同じ旅客船クラスとしてまとめて使うことが多いです。というのも、この番号は10段階刻みで船種が設定されているからです。識別番号を十の位と一の位に分けて見ます。十の位(メジャー番号)がメジャーな船種です。一の位(マイナー番号)がその船種の中でのマイナータイプです。マイナータイプでは主に危険度を示しています。
まずメジャー番号は以下の通りです。
1: 予約済み
2: 地面効果翼機
3: 特殊船
4: 高速船
5: 特殊船
6: 旅客船
7: 貨物船
8: タンカー
9: その他
次にマイナー番号は以下の通りです。
1: Major Hazard (Haz A)
2: Hazard (Haz B)
3: Minor Hazard (Haz C)
4: Recognisable Hazard (Haz D)
扱いが困る船種としては、ブイや自走できないホッパー船などがあります。これらは59番に登録されているで、データを隈なく走査して開発予定のタスクに必要なデータと不必要なデータを分ける必要があります。不必要なものは、その他クラスでまとめてもよいかもしれません。
4. 利用用途
船舶検出(探知)や船舶識別(認識)の最終目的は海洋状況把握(MDA: Maritime Domain Awareness)です。MDAは衛星開発が進むとともに、日本を含め各国で積極的に取り組まれています。日本では、内閣府の海洋政策において、第3期海洋基本計画(2018)にMDAの強化を重点施策の一つとして位置付けることが決定されました。このMDAを達成する上で最も重要な技術が船舶検出と船舶識別なのです。具体的なMDAの仕組みにおいては、以下のようなシステムを基本構成とする場合が多いです。
主な流れは、SAR画像から船舶を検出・識別してAISと比較して異常を見つけて、アクションを起こすといった具合です。この流れの中でSAR画像の解析をどれだけ詳細に出来るかで、その先の用途(アクション)が変わってくるということになります。
以下に船舶検出及び船舶識別でMDAにおける利用用途にどのような差があるのかを説明します。
4-1. 船舶検出
一般的な利用用途としては、船舶検出の方が多いです。こちらは船舶の細かな情報(種類など)を気にしないので、主に量を見る用途に用いられます。
・港湾の出入り量の監視
・港湾の混雑率監視
・密輸、密航、密漁などの監視(船舶の場所から目的を推定)
MAXAR社ではSAR画像や航空機画像を用いて、海事向けのサービスを展開しています。以下は漁業監視のサービスです(航空機画像)。
こちらは港湾監視(SAR画像)です。
4-2. 船舶識別
船舶識別では、得られた船種を使って船の特定やさらにトラッキングなどが行われます。利用用途としては、防衛関係が多くなります。
・不審船(海賊など)の監視及び特定
・密輸、密航、密漁などの監視及びトラッキング(船舶の場所と種類から目的を推定)
・船舶の運航監視及びトラッキング
・物流管理
AIRBUS社のOceanFinderというサービスでは、光学画像、及びSAR画像並びにAIS情報を用いて上述したサービスの殆どを提供しています。
4-3. その他
他にはSAR画像及びAISを複合的に用いることで、船舶の行動予測や好漁場の予測など、様々な利用用途が考えられています。
5. 解析技術の紹介
5-1. 船舶検出
船舶検出は分解能の低いSAR画像を対象とするため、一般的な画像の物体検出で行われるような形やパターンをあまり見ません。このため、信号処理的に船舶を検出する技術が数多くあります。信号処理手法の代表的なところで「CA-CFAR」、「標準偏差フィルタ」の2つを紹介します。
CA-CFAR
CFARは信号処理のピーク値を検出する手法です。このCFARには数多くの亜種が存在しており、その最も代表的な手法が「CFAR」ないしCA-CFARです。Cell Averaging Constant False Alarm Rateといいます。以下の図をご覧ください。
得られた信号からピークを検出するためには、閾値を決めなければなりません。しかし、信号は動的に変化するため、固定の閾値では対応できません。そこで、直近の信号の平均を計算し閾値として、それを上回った値をピーク値とするといったような処理を加えます。その結果が、上記の画像のオレンジ色のライン(閾値)とピーク値です。
これを2次元に発展させたものが2-Dimentional CA-CFARという名称になり、SAR画像解析に用いられます。これを用いることで、海面クラッタなどをあらかた無視して船舶のみを抽出する識別器が作られるわけです。以下が2-Dimentional CA-CFARを採用して、船舶検出を行った結果です。
漏れなく船舶を抽出できています。しかし、航跡あたりに発生した海面クラッタを起因とするノイズにも反応してしまっています。これはCFARを用いるとよくあることです。ここでは掲載しませんが、この論文ではSAR画像を加工してノイズを低減させてからCFARを用いるという手法でこの課題に取り組んでいます。このように、CFARをメインに前処理を入れるような研究もあります。
標準偏差フィルタ
上記から信号処理の全体像がつかめてきたのではないかなと思います。つまり、閾値をどのように設定するかが重要なわけです。そこで次は純粋な平均ではなく標準偏差を用いようとした研究があります。以下の画像をご覧ください。
これは単純に標準偏差から平均値を引いたものです(画像一番下)。しかし、ピークが際立って表現されており、閾値を簡単に決定できそうです。これをSAR画像に適用すると以下のような結果が得られます。
先ほどのCA-CFARよりも綺麗に船舶が検出できていると思います。
CNN
船舶検出は信号処理を使えば簡単にできました。しかし1つだけ問題があったのです。それは流氷(iceberg)です。こればかりは信号処理では見分けがつきません。
この問題は以前から議論されていましたが、具体的な解決策が見つかっていませんでした。その時、Kaggleで船舶とIceburgを見分けるコンテストが開かれました。このコンテストの上位入賞者は総じて機械学習を使っており、それにより高精度で船舶とIceburgを識別しています。多くの構成は深層学習のCNNと機械学習のXG Boostという手法を組み合わせたハイブリッドによるものでした。具体的な説明はこちらでされているためここでは割愛します。
5-2. 船舶識別
船舶識別はCNNが誕生してから様々な研究が登場してきています。そのうちのいくつかを紹介したいと思います。
AIS+SAR画像を用いた複合型CNN(1隻毎の識別)
この手法はCFARなどの船舶検出アルゴリズムを用いてSAR画像から船舶を抽出し、レーダ情報などから船の大きさ、材質、強度などの変数を出力し、その中から重要な変数をニューラルネットワークで選択的に抽出及び解析し、4つの船種を識別するという手法です。この4つの船種は、貨物、客船、タンカー、小型船です。このような分類は多くの論文で見られます。テストデータセットにはSentinel-1のSA画像(10m分解能)を用いて全体で198隻の船を使って識別タスクを解きました。以下で示すようなデータです。
このデータを識別した結果、89%もの精度で船種を識別することができました。以下に混合行列を示します。
我々がSAR画像を見ても何の船舶かわからないですが、レーダ情報を併用してニューラルネットワークに解析させることで、4つの船種に識別できるのは凄いですね。
Real-time object detectionを用いたSAR画像解析(同時に複数の船舶を識別)
SSD(Single Shot MultiBox Detector)という複数の物体を同時に識別できるCNNをベースにした研究です。
一般的なCNNでは入力にRGB画像、すなわち3チャンネル使いますが、SAR画像は1チャンネルしかありません。そこで、この研究ではSAR画像の分解能別画像を3枚用意して入力とすることで、ノイズや分解能の粗さに冗長性を持たせた構成としています。分解能別画像は純粋な拡縮などではなく、フーリエ変換で周波数に分解し、ローパスフィルタをかけ、元画像のサイズを維持したまま分解能を落とすという工夫をしています。Multi-Resolution処理を加えるということで、MR-SSDと命名しています。
これにより高精度にSAR画像の船舶を識別できるようになりました。以下に結果を示します。識別対象は、Cargo、Contatiner、Tower(送電線)、Platform(石油船)、Tanker、Windmill(風車)の6つです。
各精度は以下の通りで、既存のSSDやFaster-RCNNという手法を圧倒しています。
使用したSAR画像はGaofen-3という比較的最近打ち上げた中国の衛星で、Cバンド帯で最小分解能は1mの衛星です。このため、データセットの品質もよく、船種識別の精度も高くなったと言えます。
5-3. その他
他に、SAR画像からは少し離れますが衛星から得た船舶のAISデータを使って、行動を予測するなどの研究もあります。
行動予測
以下はAISから取得された船舶の軌跡です。
これを見ると、何の印もない海ですが、決まった航路ないし水路が見えてきますね。これをLSTMという時系列予測に特化したニューラルネットワークを使って、船舶の初期行動から将来的な行動を予測できないかと挑戦した論文があります。
入力データは以下の赤色の部分です。赤色を入力し、後は自己回帰を繰り返していき、青色の部分を予測していきます。
学習させるときは、移動シーケンス中のある点を入力にし、出力はそれよりも+1先の点を設定しデータセットとします。この論文では、オルンシュタイン=ウーレンベック過程(OU)という確率過程の手法とLSTMの2手法を試して比較しています。船舶の行動を予測した結果が以下です。
オレンジ色が入力データで灰色が正解データです。オレンジ色より先は、緑がOUによる予測、赤がLSTMによる予測です。OUでは時間発展かつカーブが加わっていくと誤差が大きくなってしまっています。それに比べてLSTMは、正解データに限りなくフィッティングしています。
この手法を用いることで、船舶の行動予測ができますし、それから大きくそれた船舶が居た場合は、異常な行動をとっている、すなわち不審船という検知もできるわけです。
6. おわりに
今回は「SAR画像×船舶×機械学習」の動向について解説をしてきました。一見、船舶検出・識別のタスクは単純・簡単そうに見えますが、各タスクの利用用途の違いから始まり、船舶の特徴、ノイズの発生、様々な検出・識別技術の紹介等を通して、その奥深さの一端を垣間見ることができたのではないでしょうか。
今後、SAR衛星のコンステレーション打ち上げ等に伴い、この分野はより発展していくことが予想されています。何よりも日本のEEZ(排他的経済水域)は世界の中でも上位に位置されていますから、今回紹介したような技術は特に重要になってくることでしょう。
今回は船舶検出・識別を重点的に紹介しましたが、海洋状況把握の一環で船舶動向の監視や海洋汚染監視の一環でオイル流出の検知等、新しいアプリケーションも次々と生まれ始めてきています。皆様もこのビジネスチャンスを生かしてみては如何でしょうか。
【宙畑のSAR関連記事】
合成開口レーダ(SAR)のキホン~事例、分かること、センサ、衛星、波長~