2023-10-01から1ヶ月間の記事一覧

AI4boundariesの.ncデータと.tiffデータを読み込んで比較する

from osgeo import gdal import numpy as np from netCDF4 import Dataset import matplotlib.pyplot as plt import rasterio from rasterio.plot import show # base_file = 'AT_900_S2_10m_256'; # base_file = 'AT_316_S2_10m_256'; # base_file = 'AT_53…

Pythonで衛星データの.nc画像を読み込んで表示する

from osgeo import gdal import numpy as np from netCDF4 import Dataset import matplotlib.pyplot as plt data = Dataset('image/AT_316_S2_10m_256.nc') print (data) #B2バンドを抽出 B2 = data['B2'] #Timeスライス(0~5の6枚から選ぶ) im = B2[3,:,:] …

ラマン分光法について

わかりやすい www.youtube.com

Tensorflowで画像セグメンテーション

www.tensorflow.orggithub.com

M1 MacのGPUでTensorflowを動かす

medium.com

U-NetでMultiple Outputの実装

ChatGPTの実装 Tensorflow/Kerasを用いている from tensorflow.keras.layers import Input, Conv2D, MaxPooling2D, UpSampling2D, Concatenate from tensorflow.keras.models import Model def unet_multi_output(input_shape, num_classes): inputs = Input…

AI4boundariesのSentinel-2データの解読

ここに.ncデータがある。B2,B3,B4,B8(B,G,R,NIR)の4バンドが含まれる。 ここに.tiffデータがある。extent, boundary, distanceの各バンドが含まれている。Extent Boundary Distance

Sentinelデータとeo-flowでParcel boundary detection

medium.comeo-flowにはVanilla U-NetとU-Resnet-aが実装されているので、これを使うのが良さそう。 AI4boundariesで提供されている10m-Sentinel2データ(空間分解能10m)と、GSAA Parcel dataをラベルとして用いる(Extent, Boundary, Distanceの3つがラベル…

ai4boundariesの.gpkgファイルをPythonで読み込む

import geopandas as pd data = gpd.read_file('/Users/shohei/Downloads/ai4boundaries_parcels_vector_sampled.gpkg')

Pytorchで衛星画像のセマンティックセグメンテーション

github.compytorch.orgwww.kaggle.comtowardsdatascience.comcuicaihao.com

Pytorchでセグメンテーションを行う

note-tech.comgithub.com

EOPatchの保存と読み込み

EOPatchの保存 eo-learn.readthedocs.io from eolearn.core import OutputTask, SaveTask, linearly_connect_tasks save = SaveTask("io_example") output_task = OutputTask("eopatch") from eolearn.core import LoadTask load = LoadTask("io_example") n…

eo-learnのProcessing APIを用いてSentinelのeopatchデータをダウンロードする

以下のコードが動いた。 eo-learn.readthedocs.io環境はdockerのsentinelhub/eolearn:latestを用いたeo-learnのバージョンは分からなかった。__version__属性がない?? from eolearn.core import __version__ print(__version__) ImportError: cannot impor…

Pytorchでモデルを読み込んでアーキテクチャをダンプする

import torch import torchvision device = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu') model=torchvision.models.detection.maskrcnn_resnet50_fpn(pretrained=True) model.load_state_dict(torch.load("oms_rcnn_weight…

waldnerf/decodeを動かす

github.com 以下の修正を加える examples/demo_instance_segmentation.ipynb - from decode.postprocessing import InstSegm + from postprocessing.instance_segmentation import InstSegm with rasterio.open(fn_preds,'r') as src: - r_xtt, r_bnd, r_dst…

近似直線位相IIRフィルタの時間領域設計(カルマンフィルタ利用)

こんな感じのカルマンフィルタで設計する。 計算したところ、あんまりうまくいかなかった。あとカルマンフィルタでやる必要あるのか?という点がいまいち納得できていない。 clear; close all; %Parks-McCllelan法による低域FIRフィルタの設計 wc = pi/2; wd…

MATLABでParks-McCllelanアルゴリズムを用いたFIRフィルタの設計

MATLABのfirpm()関数を使う。 コツはなるべく少ない点数でリファレンスとなる理想フィルタの挙動を指定すること。この例では4点を用いている。試しに30点でやるとリプルが非常に大きくなる。 追記:分割数が問題というより、刻みを大きくすると転移域の傾斜…

双一次Z変換によるチェビシェフIIRフィルタの設計

clear; close all; syms w; chebyshev = @(c1,c0) 2*w*c1 - c0; c0 = 1; c1 = w; cs = [c0 c1]; for n=2:10 cn_prev = cs(n-1); cn = cs(n); cn_next = chebyshev(cn, cn_prev); cs(end+1) = cn_next; end n = 8; xis = [0.1 0.5 1.0]; syms s z; T = 1e-4; …

双一次Z変換によるバタワースフィルタを利用したIIRフィルタの設計

ポイント プリワーピングによって、求めたいディジタルフィルタの遮断周波数fdをリファレンスとなるバタワースフィルタの遮断周波数faにあらかじめ変換しておく 伝達関数G(s)を求めたあと、s->zの双一次Z変換を行い、H(z)を求める clear; close all; T = 1e-…

ミニマックス法(Parks-McCllelanのアルゴリズム)によるFIRフィルタの設計

clear; close all; global delta_p delta_s; delta_p = 1; delta_s = 1; global wc; wc = 0.5*pi; wd = 0.6*pi; N = 31; M = (N-1)/2; %STEP1: ωiを初期化 %ωiを初期化: 当分割 epsilon = 0.001; if mod(M,2)==1 %M=奇数 wi_left = linspace(0+epsilon,wc,(M…

アナログフィルタとディジタルフィルタの比較

わかりやすい https://tech-blog.cerevo.com/archives/10159/

最小二乗法によるFIRフィルタの設計

clear; close all; N = 61; A = 0; b = 0; syms w; M = (N-1)/2; c = [w];%dummy for n=1:M c(end+1) = 2*cos(w*n); end c(1) = 1; c = fliplr(c); c = transpose(c); omega = linspace(0, pi, N+1); %遮断周波数の定義 delta_w = 0.1*pi;%転移域の幅 wc = 0…

窓関数をかけたディジタルフィルタ(LPF)の振幅特性

以下の3つのコードをマージする。 (理想ディジタルフィルタ(LPF)、カイザー窓関数、ドルフ・チェビシェフ窓関数) seinzumtode.hatenadiary.jp seinzumtode.hatenadiary.jp seinzumtode.hatenadiary.jp clear; close all; wc = pi/2; T = 1; % N=61; N=1…

カイザー窓の時間特性・周波数特性

clear; close all; % alpha = 0;%方形窓のときα=0 % alpha = 5.4414;%ハミング窓のときα=5.4414 % alpha = 8.885;%ブラックマン窓のときα=8.885 N = 127; M = (N-1)/2; n = -M:M; T=1; A =@(alpha) alpha * sqrt(1-(2*n/(N-1)).^2); Den =@(alpha) besseli(0…

ドルフ・チェビシェフ窓の時間特性・周波数特性

N=9(M=4)の場合、は以下のようになる。 k/n -4(=-M) -3 -2 -1 0 1 2 3 4(=M) 0 0 0 0 0 1 0 0 0 0 1 0 0 0 γ/2 γ-1 γ/2 0 0 0 2 0 0 γ^2/2 2γ^2 2(γ^2-2γ+1) 2γ^2 γ^2/2 0 0 3 0 □ □ □ □ □ □ □ 0 4=M □ □ □ □ □ □ □ □ □ clear; close all; N = 129; % N = …