2021年4月28日水曜日

Poles and Zeros

以前から、「地震計の極とゼロって、何を表すのか知りたいなあ」とぼんやり考えていました。

Hi-netの場合、「使わないからいいや」と寝かせていました。が、F-net では機器特性ファイルに示されており、利用されています。

これ、先日の Hi-net と F-net の比較時に教科書を買って読んでいたところ、しっかり書いてありました。学部生レベルの知識のようです(基礎が足りない (´;ω;`)ウゥゥ )。
定義はコチラ↓。

システムの伝達関数
H(s)=入力 x(t) と出力 y(t) のラプラス変換の比=Y(s)/X(s)
H(s)の零点: Y(s)の根
H(s)の極: X(s)の根

z変換も同じ形で示されています。

ん?では F-net の poles and zeros はどちら用でしょう?
と思ったら、精密版に明示されていました。

簡易版
Transfer function type: A

精密版
Transfer function type: A [Laplace Transform (Rad/sec)]

名前の由来は何でしょう?
計算には関係ないので再び寝かしておきましょうか。


2021年4月27日火曜日

ライセンス

ライブラリを使用する際には、そのライセンスを確認しておく必要があります。
サンプルコードにライセンスが明示されていなければ、流用を避けた方が良いでしょう。

というのはわかっているのですが、実際、細部まで確認するのはなかなか難しい。ライブラリがライブラリを読み込むことは一般的ですし、それらのライセンスを順に追って調べていくのは骨が折れます(調べてくれるツールもあります)。オープンソースと言いながらも、そのライセンスの種類は様々で、覚えられません。

これらの問題は、エンジニアさんにとって死活問題のようで、いろいろなところで整理されていました。

個人的に利用しやすかったのがコチラ↓。ライブラリの動的リンクの扱いについて書かれています。
https://future-architect.github.io/articles/20200821/

古い情報ですが、
OSSライセンスの比較、利用動向および係争に関する調査
p2に概要、p46に一覧
https://www.ipa.go.jp/files/000028335.pdf

NECさんの説明
https://jpn.nec.com/oss/osslc/doc/LC20080911Bassui.pdf

GitHub で利用されているライセンス割合
https://github.blog/2015-03-09-open-source-license-usage-on-github-com/

書籍では、コチラ↓。
IT エンジニアのためのやさしい法律Q&A

「はじめに」p3より

法律に関する知識は、トラブルになった後ではなく、トラブルになる前、例えば、受託の話がクライアントと平和的に進んでいる時こそ、必要なのです。

ごもっとも。自衛しましょう。

2021年4月25日日曜日

Hi‐net で F-net をシミュレート その2

続きです。

文献を読み直してみました。
流れは単純なのですが、数式は理解できませんでした。 うーん。

 ★方針

  • 地震計は、その固有周波数と減衰係数によって特徴付けられる
  • 地震計の固有周期よりも長い周期の地震動は、その特性により減衰される(振り子も地面と一緒にゆっくり動いてしまうので、差が生じないイメージ)。
  • 短周期地震計の記録から長周期の地上運動を再構築するためには、観測されたデータをその応答でデコンボルブする必要がある。
  • 時間領域でのフィルターを開発し、ブロードバンド地震計をシミュレートする。


★フィルター

  • 1自由度減衰強制振動式を使って、ラプラス変換により地震計の伝達関数(入出力比)を表現。
  • ブロードバンド記録に変換する関数を作成(F-netの伝達関数/Hi-netの伝達関数)。
  • 離散データに適用するためz変換を利用。関数を式6に書き換え。


★hinet-decon https://github.com/tktmyd/hinet_decon

  '-o  outfile'   ( indicate output sac filename <sacfile.out>          )
  '-f0 freq'      ( eigen frequency of input signal <1.0>               )
  '-h0 damp'      ( damping constant of input signal <0.7>              )
  '-f1 freq'      ( eigen frequency of output signal <0.00833333>       )
  '-h1 damp'      ( damping constant of output signal <0.707>           )
  '-decon'        ( deconvolve without simulation seismometer           )
  '-int'          ( output displacement record by numerical integration )
  '-fint freq'    ( corner frequency of low-cut filter for integration  )
  '-hint damp'    ( damping constant of low-cut filter for integration  )

f0,h0:Hi-netの地震計特性(概ね、この値です。)
f1,h1:F-netの地震計特性(シミュレートしたい計器の値:JIZFの固有周期は120秒=0.008333Hz、地震計によっては大きく異なっています。)
下3つはまだ理解できていません。使うことはないので寝かしましょう。

 

★不明点

  • 「デコンボリューション」の和訳(カタカナ語としてそのまま使われている文献を見かけましたが)
  • 式2の分母(線形常微分方程式のラプラス変換とすると、iはどこから?符号はどこで入れ替わった?)
  • 式5の導出(古い文献か洋書)

 

★要確認
Fortaranソース(計算の流れ)

2021年4月24日土曜日

Hi‐net で F-net をシミュレート

久しぶりに、楽しめた文献です。

Maeda et al., Interference of long-period seismic wavefield observed by dense Hi-net array in Japan, J. Geophys. Res., 116, B10303, 2011.
http://dx.doi.org/10.1029/2011JB008464

いえ、中身を理解しているわけではありません。が、ここに書かれているような比較をするしかない、とプロと話をしていた直後に見つけた文献でしたので、とても心惹かれました。

Hi‐net と F-net の地震計の伝達関数を組み合わせることで、時間領域でのフィルターを作成。Hi‐net のデータから 100秒までの低周波領域を再現できた、という内容です。2007年のスマトラ島沖地震を例に、とある Hi-net の観測局のデータにフィルターをかけた波形と、そこに近接する F-net 観測局の波形を比較することで妥当性を確認されています。
GitHub にコードが掲載されています。

hinet_decon
https://github.com/tktmyd/hinet_decon

A fortran2003 code to deconvolve Hi-net velocity record by its seismometer response by using inverse filtering technique. 

最終更新が7年前。需要がないのか、より良い手法が出たのかわかりませんが、メジャーにはなっていないようです。

ひとまず、手を動かしてみることに。

*** Ubuntu20.04です。**********************************************

a. Hinet の HP から win32tools をDL、make
b. GIthub から hinet_decon をDL、make

conda で仮想環境構築
Python 3.8 を install
pip obspy hinetpy pandas jupyter

a.で作成したcatwin32、win2sac_32をフォルダにまとめ、パスを通す。
home./profile の最後に書き込み。
export PATH="$PATH:/home/hinet/win32tools/" など

条件設定:震央の緯度経度、データ取得開始時間、スパンなど

HinetPy  で読み込み、SAC変換。

b.で作成した hinet_decon で時間領域フィルターをかける。

ObsPy で BPフィルター& record section 作画。

******************************************************************************

Fortaran、c、Python で準備されたライブラリやソフトを Python で繋ぐ感覚です。半日で組みあがり、一つのノートブックに仕上がりました。意外と単純で簡単でしたね。条件を指定した後はデータダウンロードから作画までほぼ自動です。各々の作者に感謝。

で、再現した画像がコチラ。データは防災科学技術研究所 Hi-net を使用。
まずは Fig.6(a) 50~100秒(軸が90度回転しています)。
P波は見えませんが、S波とレーリー波は見えます。文献と時間がずれているのは起点の時間が異なるのでしょう。

次は Fig.6(b) 20~50秒。こちらはP波も見えます。

さらに N.JIZH のみを拡大し、Fig.3と比較。完全に再現できています。コードにミスはなく、ライブラリも正しく動いたようです。この分野でよく利用されているらしい SAC 形式で(結果的に)処理したのが良かったのかな?
https://phreeqc.blogspot.com/2019/08/obspy-2.html

676か所の観測局のデータを DL して描き終わるまで、10分もかかっていなかったと感じます(計っていませんでした)。便利な時代です。

あとは頭がついていくかどうか。
hinet_decon の設定はデフォのまま。まだ理解できていない部分があるので、もう一度読み直してみましょう。

 

2021年4月23日金曜日

GEO_Kit 2020.6

今年度からCIM関連も兼務することに。
これで3つ目の兼務。お給金は据え置き。お得です。どなたか買いませんか?

CIM に関しては、5~6年前に全国的な講習がありました(もっと前でしたか?)。その講習に参加しようとしたら executive から「待った」がかかりました。今回は何も言われなかったので、考えが変わったのでしょう。

4月に入り落ち着いたので、毎年恒例のソフトを更新。あわせて V-nasClair の GEO_Kit も入れてみました。GEORAMA 2021 が単独で CIM に対応していませんので、コチラはどうか?知りたいというのもありました。

GEO_Kit には解説とサンプルデータが付属しています。お昼休みに一通り試すことのできる分量でした。
残念ながら、できることはまだ非常に少ない状況でした。が、操作性は良好。模式柱状図の土質をクリックして層の位置を修正する仕様は見事。各種仕様に応じた支持層サーフェスの作成も、日本の需要にフィットしています。

簡単な操作で人をつかみつつ、機能を向上させる方針はありですね。多機能でも複雑なツールは敬遠されがちですから。
GEORAMA が追い越されるのも時間の問題でしょうか。


2021年4月17日土曜日

Log into Ubuntu from Win via SSH

Ubuntu20.04 に、Windows10 から ssh して Jupyter notebook を動かしてみました。

以前から、Ubuntu の Python 環境を Windows10 から使いたいなと考えていました。ライブラリの OS 対応状況が異なっており、ラップトップの Win10 では制約が生まれていたためです。GUI 接続は遅いし、ラップトップをデュアル OS にしても GPU を使えないし、ということで、SSH の出番です。
(これらの内容は web 上に情報があふれていますので、最低限と思われる部分のみをメモしておきます。)


まずは、ホスト側の準備。(Ubuntu20.04)
Ubuntu に OpenSSH server をいれます(入れていませんでした)。
$ sudo apt install openssh-server

サーバーを起動。
$ sudo systemctl  start ssh

鍵を作成。
秘密鍵「id_rsa」と公開鍵「id_rsa.pub」が作成されます。
※秘密鍵はローカルホストに保存します。隠しファイルを表示しないと見えません。
$ ssh-keygen -t rsa

「id_rsa.pub」を「authorized_keys」にリネーム。
$ cd ~/.ssh
$ mv id_rsa.pub authorized_keys


次に、クライアント側(Win10)。
ローカルホストに秘密鍵「id_rsa」を保存します。cdコマンドを打たなくてもよいように、同パスにcmd.exe をコピー。そこから立ち上げて ssh の流れです。

余談ですが、AWSのEC2でも ssh 接続の場合は同じようにコマンドを打つだけでしたね。AWSの場合は接続まで仮想ネットワークを構築する作業が必要でしたけど。
https://phreeqc.blogspot.com/2018/10/aws-2.html
・セキュリティ
 Multi-Factor Authentication (MFA), security group (インスタンスの仮想 FireWall)
・アカウント
 AWS Identity and Access Management (IAM) ユーザー (group, policy)
・ネットワーク
 Amazon Virtual Private Cloud (Amazon VPC: IP, subnet, route table, internet gateway), elastic IP
・仮想マシン
 EC2
・ssh
 ssh -i ~/.ssh/Key.pem ec2-user@IP
うーん、なんだか実機にアクセスするよりもセキュリティーが厳しいような。というか、これが普通で、実機が甘いのでしょうね。

Win10 も RS4(1803) で SSH に標準対応していたそうです(Windows Subsystem for Linux + Ubuntu は不要でした)。
https://phreeqc.blogspot.com/2018/10/aws.html
cmd.exe から以下をたたいて接続。ポートフォワーディング機能を使います。
※cmd.exe と 秘密鍵を同じパスにおいておけば、-i オプションも不要
$ ssh -L 8888:localhost:8888 pc-user@IP

これでJupyter notebook をたたけばサーバーが立ち上がります。あとはクライアント側のブラウザでサーバーにアクセスすればOK。
AWSではここで手こずりましたが、実機ではあっさり動きました。config 作っていたかな?
https://phreeqc.blogspot.com/2019/01/ec2-h2o-jupyter.html

 

****************************
ファイルの転送は WinSCP のままです。Jupyter 用途だと、あまり使わないですかね。


異常検知(動画)

動画での異常検知といえば DL ベース。

と思いきや、その他の手法も健在のようです。土木分野では単純な映像処理が好まれているようですね。最近見かけたものを書き残しておきます。

******************************************************

【土砂移動検知を目的とした既往研究】
五十嵐ら(2017)画像のRGB値・輝度値に着目した,山地河川における流況変化の自動検知アルゴリズム構築の試み,平成29年度砂防学会研究発表会概要集,p.8―9
五十嵐ら(2017)山地河川の濁りによるRGB値に着目した土石流発生検知手法開発に向けた試み,土木技術資料,Vol.59,No.6,p.20―23

  • 手法:画素情報の輝度値・RGB値を用いた流況変化の検知
  • 検証対象:北海道黒岳沢川の土石流動画(2016年8月23日)。
  • 課題:4分間という短い映像時間を用いての解析であったため,自然光の日較差の影響を考慮できていない。画素情報には,日射による違いが及ぼす影響が課題として挙がっており,監視技術を確立する上で検討すべき重要な課題である。

五十嵐ら(2019)画像の RGB 空間における濁水の立体分布と3次元ベクトル空間モデルを用いた流況変化検知手法の基礎的検討

  • 手法:RGB値を単位ベクトル化。RGB輝度の合成ベクトルの大きさではなく方向を導くことで,日射量(光の強度)の影響を軽減。
  • 検証対象:利根川水系大谷川支流稲荷川(流砂量観測渓流)2011年9月2日に発生した土石流のCCTV映像(AM6:32:11~AM6:36:00,30fps)を示す。
  • 課題:
    ・カメラ機器の違いを分析する必要がある。
    ・閾値を適切に設定することで,土石流が発生した際に,前兆現象の濁水発生を検知できる可能性が期待される。
    ・濁度との相関の他,水位変化などと組み合わせたアルゴリズム構築と閾値の設定などが必要。
    ・夜間は不可。夜間間降雨時の照明環境下では,雨滴等による照明の乱反射の影響や,照明コストといった課題が残る。
    ・白波の影響除去。
    ・夕日の映り込みは濁水発生の誤検知が懸念されるため,朝日の反射光も含め光源条件の影響を精査する必要がある。
    ・濁度計測値と RGB 値の変化との関係について今後検討。

辻野ら(2017)住民の迅速な避難行動に資する土砂災害避難警報装置の開発

  • 手法:ウェブカメラ映像のリアルタイム差分による崩壊斜面上のターゲット移動および落石の検知(OpenCV利用)。検知メール転送可。悪天候時、雨粒や雪による影響を受けない。検知範囲11m。
  • 検証対象:崩壊斜面(設定範囲内)
  • 課題:記載なし


【土砂移動検知への流用可能な既往研究】
大石ら(2019)CCTVを用いた画像解析による河岸・堤防侵食の返上検知とアラート配信に関する検討,寒地土木研究所月報 No.798 2019年11月

  • 手法:画像の背景差分(OpenCV の BackGroundSubtractorMOG2、マスク処理、平滑化処理含む)による河岸侵食のリアルタイム変状検知とアラートメール配信システムの開発。土石流やアイスジャムなどに特化した開発も可能。
  • 検討対象:試行:十勝川本川の千代田実験水路脇に盛土を敷設、検証:
  • 課題:精度向上。運用する上での信頼性は十分とは言えない。AI技術の活用など開発を検討

上石(2004)セ ンサーを用いた雪崩の検知・予知技術

  • 雪崩検知を目的とした事例のレビュー。振動センサーや画像検知システムが列挙されている。


【動画の異常検知】(近年、深層学習が主体)
https://paperswithcode.com/sota/abnormal-event-detection-in-video-on-ubi
dataset:UBI-Fights:AUC:0.906
Weakly and Partially Supervised Learning Frameworks for Anomaly Detection
https://github.com/DegardinBruno/human_self_learning_anomaly
Iterative weak/self-supervised classification framework for abnormal events detection
For abnormal events detection purposes

  • [3] temporal auto-encoder that is exclusively fed with normal events.
  • +GAN[15], conditional GANs(cGANs), [14]
  • HOF+AutoEncoder[19]
  • [17] method to learn anomalies through leveraging weakly labeled normal and abnormal videos under a multiple instance learning (MIL) paradigm.
    Dividing each video into non-overlapping temporal segments, each video represents a bag, where the temporal segments are used as instances. Since the specific information of a video containing an anomaly (positive bag) is not provided, the implemented loss function uses the maximum score in each bag to learn a ranking model, producing low scores and high scores for negative and positive instances, respectively, and improving the state-of-the-art performance significantly.

参考
FULLY CONVOLUTIONAL MULTI-CLASS MULTIPLE INSTANCE LEARNING
https://arxiv.org/pdf/1412.7144.pdf
Multiple instance classification: Review, taxonomy and comparative study
https://www.sciencedirect.com/science/article/pii/S0004370213000581
https://lionbridge.ai/ja/articles/weakly-supervised-learning/

  • 画像内の物体のリスト(画像レベルのアノテーション)
  • マルチインスタンス学習は、インスタンスに個別にアノテーション付けしないタイプの学習フレームワークです。
  • 個別にラベル付けする代わりに、バッグと呼ばれるインスタンスの集合にアノテーションを付与します。
  • バイナリ分類の場合、少なくとも一つのインスタンスが正であれば、正のバッグ、バッグ内の全てのインスタンスが負であれば、負のバッグとします。
  • ラベル付けされた一連のバッグから、個々のインスタンスのアノテーションを推測しようと試みます。
  • 画像の全ピクセルを「インスタンス」、画像そのものを「バッグ」と捉えると、画像レベルのアノテーションはバッグのアノテーションとして機能します。


AUC0.892    
Real-world Anomaly Detection in Surveillance Videos
https://paperswithcode.com/paper/real-world-anomaly-detection-in-surveillance#code

  • We propose a MIL solution to anomaly detection by leveraging only weakly labeled training videos. We propose a MIL ranking loss with sparsity and smoothness constraints for a deep learning network to learn anomaly scores for video segments.

C3D feature extraction for each video segment

2021年4月4日日曜日

コーダ波

地震のプロと議論していた内容で、噛み合わないところがありました。

地震屋サンは地震の評価を強振動部分(PS)を含めて使用されます。各地震の特徴や違いを把握する目的です。
一方、地盤屋サンは地震で損傷した地盤に注目したいので、地震後の波形に着目します。が、イベント波形データには含まれていません。連続データから切り出すのも手間。
折衷案として、「コーダ波を使うかな?」と言われていました。

先日、文献を整理していて関連する記述を見つけました。書き残しておきます。( ..)φ

澤崎 郁「大地震に伴う地下構造変化とその回復過程について」
https://www.jstage.jst.go.jp/article/zisin/70/0/70_57/_article/-char/ja/

 ここで述べる非線形応答とは,地震動による動的歪に応じて地盤浅部の物性が変化し,地盤増幅特性が強震時と弱震時とで異なる現象のことである.典型的には,地盤に加わるせん断動的歪が大きくなると,地盤の剛性率が低下(したがってS波速度が低下)し内部減衰が増加するため,地盤増幅の固有周波数が低周波側に移動し,高周波帯域では増幅率が低下する.現在では,ある程度以上の強さの地震動が発生すると必ずと言っていいほど非線形応答が発生することが知られるようになった[例えば,Régnieretal.(2013)].地盤の非線形応答についての初期の包括的な報告については,翠川 (1993) やBeresnev and Wen(1996)などを参照されたい.通常,地盤の非線形応答の研究では,強震動の継続中に生じる地盤物性の変化を扱う.しかし,強震動により地盤が剛性を失い液状化(剛性率が0)に近い状態になった場合,その地盤の物性は強震動が収まった後も直ちには元に戻らず,長い時間をかけて回復することが,Aguirre and Irikura (1997) や Pavlenko and Irikura(2002)等の研究で明らかになった.本稿では,この長い時間をかけた回復過程を,強震動の継続中に生じる地盤の非線形応答とは異なる現象として扱う.

小地震記録を用いて速度変化を検出する際には,地震動の継続中に生じる非線形応答による速度低下と,強震後も残る速度低下とを区別する必要がある.そのためには,非線形応答が問題となるような振幅の大きい波形を解析に用いるべきではない.

 

2021年4月3日土曜日

PCR 検査の FNR

年度末、体調を崩し気味になる方が周りで増えていました。

3月、私も喉を少し痛めました。ほぼ毎年かかる扁桃が少し腫れた状態です。軽い風邪なのかPM2.5なのか、花粉症なのか。発熱はありません。コロナに該当するといわれる症状が喉以外に見あたりません。が、万が一の場合のリスク(周りの方々への御迷惑云々)を考え、仕事帰りにPCR検査を受けました。

規模の大きな病院だったためか非接触が徹底されています。web問診、web診断でPCR受検が決まり、キットに唾液を入れて、最後にアクリル越しの対面診断という流れでした。医師、看護師の安全を最優先という方針がよく伝わりました。たった1年で全国にこのような仕組みが作られていることに感心。各自治体がもっと住民にアピールした方が良いと思います。HPだけだと詳細がわからないですからね。動画なりTV番組なりで周知すべきです(私が知らなかっただけかもしれませんが)。

今回、受診する際に知ったのですが、PCR検査は医師でなくても取り扱い可能なようです。医療とは無関係な民間事業者もサービスとして多く参入しています。低価格を売りにしている事業者も見かけました。
急に事業者が増え、安い検査が出てくると、受ける側としては精度の担保が気になりますね。ま、情報がないので、診断を提供する医療と安心を提供するサービスといった、2種類の別の検査があると思っていた方が良いのかもしれません。どちらも需要はありますので、使い分ければ良いのでしょう。テレワークを導入できない企業のリスク管理、BCPとしての需要は大きなはずです。従業員全員が定期的に安価な民間検査を受ける、風邪の初期症状のようなものがあれば随時医療機関で検査を受ける、というのがそういった企業での一管理手法でしょうか。

結果は翌日に判明。慎ましく生活していたためか、予想通り陰性でした。が、FNR(偽陰性率)について気になったので調べてみました。

2020/8/18
日本疫学会
https://jeaweb.jp/covid/qa/index.html
https://www.acpjournals.org/doi/10.7326/M20-1495

PCR検査の感度は?についての結論ですが、PCR検査の感度については、PCR検査自体以外の要因の影響が大きいこともあり、一概に感度は何パーセントであると言い切れないのが実情です。
あえて、Kucirkaらの結果から感度を示すとすると、感染から8日目(症状発現の3日後)に偽陰性割合が最も低くなり、その値が、20% (95%信頼区間:12% ― 30%)となることから、感度として一番よい値になるのが、感染から8日目(症状発現の3日後)の80%(95%信頼区間:70%-88%)となります。
2020/9/28
北海道大学
https://www.huhp.hokudai.ac.jp/wp-content/uploads/2020/09/release_20200928.pdf
https://academic.oup.com/cid/advance-article/doi/10.1093/cid/ciaa1388/5911780
陽性者は唾液 48 例、鼻咽頭ぬぐい液 46 例であり、それぞれの感度は 83-97%対 77-93%、特異度は両者ともに 99.9%以上でした。

評価するには陽性数が少ないと思われますが、昨年9月時点の値としてはFNR=約1~2割のようですね。うーん、スクリーニングなのでもう少し拾っているのかと思っていましたが、そうでもないようです。他に良い手法がないのでしょうね。というか、被検者の感染からの日数が見かけ上の値を左右しているようなので、検査手法自体の評価はできないのでしょう。
そのうち、データが覆されるということは十分に考えられますし、改良されたり良い手法がデフォになるかもしれません。そう思うと、今一番良い選択肢はリモートなんですよね(私の勤め先では、陰性で出社という決まりで選択できませんが)。

後日、周りの体調を崩されている方に受検を勧めたら「いや、受けないよ!」となぜか拒否反応でした。普段、防災に携わっている方々でも、バイアスを取り除くのは難しいようです。

***************************
20210404追記

医師曰く、今年はインフルエンザ患者が非常に少なかったようです。それに対し、コロナ患者さんが一定数出ていますので、感染力は後者の方が相対的に高いといえるようです。

 

Rain detection

写真や動画からゴミを抜いたり、機械学習で補正したりといった話は、よく聞きます。

動画で雨の影響を取り除くことについて機械学習分野では目にしていましたが、これ、昔から様々な手法が考案されてきたようです。
今日、良いレビューを見かけましたので、そこから読み始めた資料を書き留めておきます(まだまだあると思います)。

・レビュー
A Survey on Rain Removal from Video and Single Image
・Time Domain
・Frequency Domain
・Low Rank and Sparsity
・Deep Learning
https://arxiv.org/pdf/1909.08326.pdf

https://github.com/hongwang01/Video-and-Single-Image-Deraining 

レビューではオンタイムでの判定が念頭に置かれています。
周波数領域ではエラーの出るケースが紹介されています。
手法の比較では、Low Rank and Sparsity が優秀でした。なんでしょう、これ。スパース性と検出が結びつきません。読んでみましょうか。

・自動車の自動運転では雨滴の検出も重要
On the Impact of Varying Region Proposal Strategies for Raindrop Detection and Classification using Convolutional Neural Networks
https://breckon.org/toby/publications/papers/guo18raindrop.pdf
https://github.com/tobybreckon/raindrop-detection-cnn 

近年ではレーンキープをはじめ自動運転など、雨の映像への影響は考慮済みであり、実用化されています。自動車業界では死活問題ですから進んでいるのでしょう。

・ヒストグラム利用
Rain or Snow Detection in Image Sequences through use of a Histogram of Orientation of Streaks
http://perso.lcpc.fr/tarel.jean-philippe/publis/jpt-ijcv11.pdf 

 レビューの中でもヒストグラムの利用は紹介されています。時間領域やピクセル検出を前処理と考えると、コチラが本命という扱いになるのでしょう。組み合わせ自由ですね。

・Detection and removal of rain from videos
Algorithm for Detection and Removal of Rain from Videos
(a)前後フレームの輝度の変化を使用して、雨の影響を受けるピクセルを特定。雨のピクセルを白で表示。いくつかの誤検知(非雨ピクセル)あり。
(b)輝度に制約式を適用し、誤検知を削減。
(c)線状ピクセル(streak)を検出。
(d)Rを3×3メッシュで30フレーム加算。明るいピクセルは強い相関関係=雨ピクセルを表し、雨以外のピクセルは強度値が低くなる。
https://www.cs.columbia.edu/CAVE/projects/rain_detection/ 

レビューによれば、Video Deraining Methods の中で最も古い手法といえます。比較対象になっていましたが、残念ながら良い結果とは言えませんでした。
streakという単語は頻繁に出てきます。computer vision の分野ではデフォなのでしょう。

番外編:ハードウェアで解決
車のレインセンサーを付けた方が安価では?
How detect rain on camera vision using OpenCV in C++
https://stackoverflow.com/questions/44430881/how-detect-rain-on-camera-vision-using-opencv-in-c

As for the rain, I guess there's no simple answer that can be given in a few sentences. There are some articles available in the web though. That said, I would guess it would be simpler and cheaper to detect rain by just installing external rain sensors (like the ones activating wipers in a car) rather than trying to do it by developing your own computer vision algorithm for that purpose.

2021年4月1日木曜日

地震波とAIC

 地震波のPS判定にAICが使われている例があると聞きました。

どうやるのだろう?と不思議に思っていたのですが、どうやらスパースモデリングのように変数を絞り込む使い方ではなかったようです。見つかったのがコチラ。

地震波自動処理システムにおける読み取りおよび評価
Automatic Event Identification From Tectonic Earthquakes with Modified Akaike Information Criterion (mAIC)

このような使い方であれば、今ならCVでしょうか。AIC自体は数学的ですが、分析対象に合うか合わないかは別ですので。
以下の文献では、低い部類に入っていますが、実際はどうなのでしょう?

Earthquake transformer—an attentive deep-learning model for simultaneous earthquake detection and phase picking

いずれにしても、波動論などの理屈で決定という方向は難しいようで、それっぽいところを抽出するのに精度が高かった手法を使っているという状況。コンペにかけてプロが続々参入すると、簡単に精度が上がるような気がします。