73
長崎大学大学院工学研究科研究報告第54巻第102号

令和6年1月シャッタースピードを考慮したUAV による反射率の算出について
小形幸平 ＊ ・全炳徳 ＊＊Calculation of Reflectance by UAVs Considering Shutter Speed
byKohei OGATA*, Byungdug JUN**
This paper discusses a method for calculating the reflectance of a UAV considering the shutter
speed, especially for calculating the reflectance accurately from a single image taken by DJI's MAVIC
3M UAV. First, vignetting correction must be performed as a pre-processing step. Next, lens distortionwas corrected, and reflectance was calculated based on the irradiance and shutter speed values finally.
Key words : UAV, Remote Sensing, Mavic-3M, Image Processing

１．序論

上の例えば茶園などを撮影した際に，マルチバンド近年，UAV(Unmanned Aerial Vehicle)を応用したデータのシャッタースピードが固定できない技術的リモートセンシング技術が農業分野において利用さ欠点を補うためのものである．この手法により標準れている．特に，代表的な指数として，以下の正規反射板やオルソ画像の構築において，複雑な作業が化植生指標 (Normalized Difference Vegetation

省力化できる．

Index：NDVI)式（１）が用いられる．

実際，近年の UAV の撮影技術の向上により，様々なセンサーが取り付けられている．それらを用いる!"#% #&'𝑁𝐷𝑉𝐼 = !"#!"# ( #&'!"#!"#!"#(1)

ことで，付帯設備の標準反射板や複数枚の画像などを使わずに，一枚の画像で正確な反射率を測ることができるのではないかと考えた．

ここで，𝑁𝐼𝑅#)* と𝑅𝐸𝐷#)* はそれぞれ，近赤外線バ

本論では，農業の航空測量のために開発された UAVンドと赤バンドによる反射率である．これらからもである「MAVIC 3M」（DJI 社）で撮影された画像からわかるように，植生などの把握を行うためには，計反射率を算出する方法を論じる．本論においては，測対象物の反射率を正確に測る必要がある．

DJI 社が提供している「Mavic 3M Image Processing

一般的な手法として，UAV の画像の反射率補正を行Guide」 3)を参考にして作成している．

うには，藤原ら 1)が行っているように，標準反射板（グレー色）を使って，放射率を補正する手法など

２．材料と方法が提案されてある．その他，複数枚のドローン画像

本研究において，使用した UAV は「MAVIC 3M」（DJIを用いて，オルソ画像を生成する手法もある．村井社）である．「MAVIC 3M」は，RGB の可視光のカメラと2)

ら は，UAV 撮影時における BRF(bidirectional

4 つのマルチスペクトルカメラを搭載している．4 つのreflectance distribution factor)を考慮したオル

マルチスペクトルカメラが対応している波長はグリー

ソ画像を構築する手法を発表している．

ン(560 ± 16 nm)，レッド(650 ± 16 nm)，レッドエッ

本論ではこれらの手法とは異なるもので，カメラジ(730 ± 16 nm)，そして近赤外(860 ± 26 nm)の４の機能として捕らえたセンサー情報を直接用いて植種類である．また，本研究における解析では，主にコン生指数を算出するものである．本研究の目的は，マピュータビジョン向けライブラリである OpenCV を使用

ルチスペクトルカメラを搭載した UAV において，地している．

令和 5 年 12 月 18 日受理＊

工学研究科博士後期課程（Graduated School of Engineering）＊＊

総合生産科学域（Institute of Integrated Science and Technology）

74
小形幸平・全炳徳

2.1 レンズ周辺減光(optical vignetting)の補正
レンズ周辺減光とは，画像の中心から周辺にかけての輝度値が減少するビネッティング（Vignetting）と呼ばれる現象である．これを補正するには，「 MAVIC 3M」
における[Vignetting Data]の補正係数を下記の式(2)に用いることで算出できる．
I+ (x, y) = I(x, y) × (k[5] ∗ r , + k[4] ∗ r - + k[3]∗ r . + k[2] ∗ r / + k[1] ∗ r 0 + k[0] ∗ r+ 1.0)

(2)

ここで，I+ (x, y)とは，X の波長におけるレンズ周辺減
図 1

MAVIC 3M のレンズ配置

光補正を施した座標(𝑥, 𝑦)における輝度値を表し，𝐼(𝑥, 𝑦)とは，任意のピクセル座標(𝑥, 𝑦)における輝度値

本手法の大まかな流れについて説明する．まず，を表している．また，𝑟とは，画像の中心から任意の「MAVIC 3M」に搭載されているセンサーの情報を Exifピクセル(𝑥, 𝑦)までの距離を表しており，下記の式(2)

情報から読み取る．Exif 情報を参照して，レンズ周辺で表される．また，k[0]~k[5]は，Exif 情報にある減光(optical vignetting)の処理を行い，次に，レン[VignettingData]内から取得できる．

ズ固有の歪みを補正する．その後，シャッタースピー
r = A(x − CenterX)0 + (y − CenterY)0ド（exposure time）を考慮した反射率を算出する．

(3)

ここで，「MAVIC 3M」の搭載しているセンサーから得られる Exif 情報について，本論で特に用いた値につい2.2

レンズ固有の歪みの補正

次に，レンズ固有の歪みを補正する．これは，レンて，以下に簡単に紹介しておく．

ズに固有の歪みが存在する場合に，歪みを補正するも
表 1

本論で扱う主な Exif 情報の値あるため，そちらを参照する．焦点距離(𝑓𝑥, 𝑓𝑦)と，光【XMP】drone-dji
名称型

Calibrated

float

Opticalのである．こちらも Exif 情報内の[DewarpData]に値が意味
画像上における中心の X
座標

学距離(𝑐𝑥, 𝑐𝑦)を基に，カメラマトリックスを構築する．
一般にカメラマトリックスは，下記の行列式(4)で表される．

CenterX
Calibrated

float

Optical座標

CenterY
Vignetting

string レンズ周辺減光の補正係

Data
DewarpData数
string レンズに固有の補正パラメーター

Irradiance

float

放射照度

Sensor Gain

float

マルチスペクトルカメラに固有の補正係数

Sensor Gain
Adjustment

𝑓𝑥
𝑐𝑎𝑚𝑒𝑟𝑎 𝑚𝑎𝑡𝑟𝑖𝑥 = P 00

画像上における中心の Y

float

標準 NIR モジュールに対するマルチスペクトル画

0 𝐶𝑒𝑛𝑡𝑒𝑟𝑋 + 𝑐𝑥
𝑓𝑦 𝐶𝑒𝑛𝑡𝑒𝑟𝑌 + 𝑐𝑦U01(4)また，Exif 情報内の[DewarpData]には，レンズ歪み補正に伴う[k1,k2,p1,p2,k3]のパラメーターも記載してある．特に，k1,k2,k3 は，ラディアル歪み係数といわれ,p1,p2 は，切断歪み係数といわれている．これらのパラメーターを OpenCV の undistort 関数で用いる
ことで，レンズ固有の歪みを補正する．
2.3

シャッタースピードを考慮した反射率の算出

次に，シャッタースピードを考慮する反射率の算出を行う．下記の式(5)で表される．

像センサーの補正係数
ExposureTime

Integer シャッタースピード

Black Current

integer ブラックレベル!

𝑋!"# =(%! &%"#$%&'()(# )/()*$+, ∗ (-+.(1 )∗+,-.)/0[%00-12-34"]∗62+-,3.

(5)

75
シャッタースピードを考慮したUAVによる反射率の算出について

なお，式(5)のそれぞれの変数は下記の通りである．

次に，レンズ歪み補正を行ったが，レンズ周辺減光補正と変わらなかったため，画像は割愛する．最後𝑋#)* : X 波長における反射率に，シャッタースピードを考慮した反射率を計算した

𝐼1 : X 波長における輝度値値を図 4 で確認することができる．最後に，同時刻

𝐼234567)8)3 : X 波長におけるブラックレベルに撮影された Red バンドにも同様の処理を施し，NDVI

𝜌𝐶𝑎𝑚𝑋 : マルチスペクトルカメラ固有の補正係数を求めて図 5 に示す．

𝑋94:; : 標準 NIR モジュールに対するマルチスペク
トル画像センサーの補正係数𝑋)<:=) : シャッタースピード

４．結論
本論では，主に DJI 社が提供している「Mavic 3M[𝐼𝑟𝑟𝑎𝑑𝑖𝑎𝑛𝑐𝑒] : 放射照度

Image Processing Guide」3)を参考にして，画像処理を𝑏𝑖𝑡𝑛𝑢𝑚:画像のビット数進めてきた．本論で紹介した前処理の他にも，カメラの光学精度などの違いの補正をする手法や画像の位置３．結果合わせの手法が紹介されていたが，1 枚の画像におけ本手法を用いて，宮崎県日南市酒谷地方にある「山る反射率の計算であったため，本論では割愛した．今口製茶」の圃場において，2023 年 4 月 8 日に撮影した後の研究課題として，これらの手法を用いた反射率の画像について適用した．まず，図 2 はレンズ周辺減光処理結果と，正確な反射率を計測するマルチスペクト補正を行う以前の UAV による撮影画像である．わかりルフォトメーターなどの値との比較を行うことにより，やすいように輝度値をカラーバーで表示している．レ

処理をした画像の結果を検証する必要がある．今後のンズ周辺減光補正を行った図 3 は中心から外側にかけ課題にしておきたい．ての輝度値が上がっているのが確認できる．

図 2 レンズ周辺減光補正前の NIR の輝度値

図 3 レンズ周辺減光補正後の NIR の輝度値

図 4

図 5

シャッタースピードを補正した NIR の輝度値

本手法を適用した茶園における NDVI 結果

76
小形幸平・全炳徳params = [float(param) for param in付録
ここでは，付録として補正を行った際のコードを記

params_str.split(",")]

載しておく．但し，言語は Python を用いている．

fx, fy, cx, cy = params[0], params[1],【Exif 情報の取得】

k1, k2, p1, p2, k3 = params[4],from PIL import Image, ImageTkparams[5], params[6], params[7],from PIL.ExifTags import TAGS, GPSTAGS

params[8]params[2], params[3]image = Image.open(image_path)camera_matrix = np.array([[fx, 0,
def get_exif(x):exif_dict = x.getexif()

centerX + cx], [0, fy, century + cy],[0, 0, 1]])

exif = [TAGS.get(k, "Unknown")+ f":{str(v)}" for k, v in exif_dict.items()]
exif_str = "¥n".join(exif)

dist_coeffs = np.array([k1, k2, p1, p2,k3])

return exif_str
print(get_exif(image))

undistorted_image =cv2.undistort(VignettingCollction_array_【レンズ周辺減光補正処理】

nir, camera_matrix, dist_coeffs)

k = [-0.000016779, 1.386650e-06, 4.019088e-09, 6.862371e-12, -5.235157e-【シャッタースピードを考慮した反射率の算出】

15, 1.481126e-18]

I_BlackLevel = 3200

centerX = 1296.000000

nir_gain = 1.021

centerY = 972.000000

r_gain = 1.000

height, width = dn_values.shape

nir_etime = 1094
r_etime = 1514

distances = np.zeros((height, width))

nir_irradiancce = 11467.438477

for y in range(height):

r_irradiancce = 14887.082031

for x in range(width):
distances [y, x] = np.sqrt((x -pCamNIR = 1.036728
pCamR = 0.535415

centerX)**2 + (y - centerY)**2)
height_r, width_r = dn_values_r.shape

X_Ref = (I_X I_BlackLevel)*10**6*pCamX/(X_gain*X_etimVignettingCollction_array =e*X_irradiancce*2**16)

dn_values*(k[5] *distances**6 + k[4]*distances**5 + k[3] *distances**4 +k[2] *distances**3 + k[1] *distances**2+ k[0] *distances +1.0)

参考文献
1) 藤原洋一, 塚口直史, 長野峻介 : 普及型マルチス
ペクトルカメラによる水稲生育診断, 農業農村工学会, 87巻2号, p. IV_7, 2019.

【レンズの固有の歪みの補正】

2) 村井亮介, 高木方隆 : UAVを用いたBRFを考慮した

dewarp_data = "2022-08-

オ ル ソ 画 像 生 成 手 法 , 日 本 写 真 測 量 学 会 , 62 (1),02;2170.000000000000,2170.000000000000,0.000000000000,0.000000000000,0.000000000
000,0.000000000000,0.000000000000,0.0000

pp.22-29, 2023.
3) DJI : Mavic_3M_Image_Processing_Guide_EN, DJI,
pp.1-10, 2023.

00000000,0.000000000000"

https://dl.djicdn.com/downloads/DJI_Mavic_3_Enterpri

date_str, params_str =se/20230829/Mavic_3M_Image_Processing_Guide_EN.

dewarp_data.split(";")

pdf (参照 2023-12-17)