河床や海底が緑(or 青)っぽく見える理由 | 山口大学 空中測量(UAV写真測量)研究室の技術ノート

山口大学 空中測量(UAV写真測量)研究室の技術ノート

UAV写真測量, ドローン測量, フォトグラメトリ, SfMなどと呼ばれる技術の情報を掲載します。
1. 効率化・高精度化に関する研究速報・マニュアル
2. SfM/MVSソフトAgisoft Metashapeの使い方
などなど。

※「ブログトップ」の注意・免責事項からご覧ください。

【このテーマの記事は、UAV写真測量について、日々の文献調査や研究で得た、PhotoScanに限らない一般的な情報を掲載していきます。用語の説明は「PhotoScanを極める」に譲ります。】

 

UAV写真測量による清澄な浅水底(河床や海底)の地形マッピングには、色々な難しさがある。その1つは、水深が深いほど水底が暗く青・緑がかって写り、色の多様性が失われてしまうために、点群の生成が難しくなることだ。

 

 

 

これは何故起こるのだろうか?

「空が青いのと同じ原理」

「赤い光は吸収されやすいから」
どちらも半分正しいが、片手落ちである。

 

水中の光の伝搬は私の本当の専門分野なので、わかりやすさを重視した説明が出来そうだ。
まず、UAVのカメラに入射する光は、下図のように、太陽光が水底面で反射した光、水中で散乱された光、水面で反射された光、の3成分からなる。
 

 

厳密には、

  • 水底面で反射してから水中で何回か散乱された光
  • 水面の下側での反射(内部反射)を経て水面と水底面を2往復した光
  • UAVより下の大気で散乱された光

などもカメラに入射するが、ここでは大雑把に上図の3成分のみを考える。

 

水中を1方向に進む光は、一部が吸収されて熱に変わったり、水などの分子や水中の粒子に散乱されて向きを変えたりすることで、進んだ距離に応じて指数関数的に減衰(消散)する。従って、カメラに到達する底面反射光の強さ(放射輝度)は、水深が大きい地点ほど小さくなり、およそ次式が成り立つ。

 

底面反射光の強さ = 水深0のときの底面反射光の強さ × exp(-消散係数A × 水深)

 

一方、水中散乱光に関しては、水深が大きい地点ほど、より深いところからの散乱光が加勢するため強くなり、およそ次式が成り立つ。

 

水中散乱光の強さ = 水深∞のときの水中散乱光の強さ × (1 - exp(-消散係数B × 水深))

 

上2式は、厳密には単波長(例:550 nm)の光に関する式だが、ここでは可視光(約400 - 700 nm)をカメラのイメージセンサに合わせて赤・緑・青の3波長帯に大別し、それぞれに適用できると考えよう。ここで、

消散係数A, Bとしたのは、光の波長、水質、太陽・UAVの位置、などに依存する係数だ。ただし普通は(UAV写真測量の対象となるような清澄な環境水では)いずれの消散係数も赤い光について大きく、緑・青の光について小さい。これは、水の吸収係数が、赤で大きく、緑・青と小さくなることが主要因だ。


そのため水深が大きい地点ほど、上2式の指数関数部分は赤い光について相対的に小さくなる。結果として、底面反射光は弱くなりつつ、赤成分が失われる。このとき、指数関数部分だけを見ていると、水中散乱光については、水深が大きい場所ほど強くなりつつ赤みがかりそうである。

 

しかし実は、「水深∞のときの水中散乱光の強さ 」は、一般的な環境水では赤より青・緑が強い。現に、船や飛行機から見える海の色は、赤より、青や緑が一般的だろう。水が綺麗で懸濁粒子が少ない水域では、水分子などによるレイリー散乱により、青色が卓越する。無機の懸濁粒子は少なくても、植物プランクトンがある程度いるような水域では、それら有機懸濁粒子によるミー散乱と、クロロフィルaなどに起因する赤・青成分の吸収によって、水中散乱光は緑っぽくなる。

 

結局、空中のUAVから見えるのは、それ自体が赤成分を中心に失った底面反射光に、青・緑成分を中心とする水中散乱光が乗っかったものだ。水深が大きいほど、底面反射光の赤成分はますます失われ、乗っかる青・緑成分の水中散乱光はますます強くなる。

 

以上が、水深が大きいほど水底が暗く、青・緑がかって見える理由だ。余談だが、私は学生時代、これを逆に利用した衛星画像による水深推定のアルゴリズムを研究していた。浅水中の光の伝搬(放射伝達)に関するモデルについて、より詳細な説明が必要な場合は、私の博士論文投稿論文(中身は日本語)が参考になるかもしれない、と宣伝しておく。