木星や土星などの巨大ガス惑星への小天体の衝突による発光を検出するフリーソフト DeTeCt を使ってみました。
きっかけはもちろんこのニュース。
- Jupiter Impact 2019-08-07 4:07 UTC? by E.Chappel
- アメリカ・テキサス州のアマチュア天文家が、木星に、小天体の衝突によると思われる閃光を観測 - 星が好きな人のための新着情報(2019-08-12)
この観測で検出に使われたのが DeTeCt です。
GitHub に公式ドキュメントもあるのですが、これはほぼソースコードを読む人用のドキュメントになっていて使い方はほとんどわかりません… 名前が一般的な単語過ぎてなかなか情報が集められなかったのですが*1 結局以下からダウンロードできる Quick Users's Guide が一番わかりやすかったです。
- Jovian Impacts Detection Software (PVOL - Planetary Virtual Observatory and Laboratory)
- Quick User's Guide
インストールと起動
インストーラーはついていません。ダウンロードした zip をフォルダーに展開すると DeTeCt.exe が入っているのでそれをそのままダブルクリックして起動します。
起動するとメイン画面が表示されます。
ファイル・フォルダの選択
メニューの [File - Open video file] で動画ファイルを選択します。複数選択はできません。複数の動画をバッチ処理したい場合は [File - Open folder recursively] でフォルダを選択するとサブフォルダも含めたフォルダ内全ての動画が処理されます。
動画は AVI, SER の両方に対応しています。カラーカメラで撮った AVI の場合は設定でベイヤーパターンを指定する必要があります。[Preferences - Advenced settings] で以下の設定画面が開くので Other の Debeyering code で正しいベイヤーパターンを設定します。*2
その他の設定については通常はデフォルトのままで構いません。
ファイル・フォルダを選択するとメイン画面の Execution log に選択されたファイル名が表示されるので確認します。
検出の実行
ファイルが選択された状態でメイン画面下部の [Detect impacts] ボタンを押すと検出が開始します。
検出は結構時間がかかります。1024x768ピクセル3000フレームの動画1本を処理するのに5分10秒かかりました(Core i5 6600@3.3GHz)。衝突発光の候補が検出されると検出画像が表示されます。
これは3秒で閉じてしまいますが、結果フォルダ(後述)内に同じ画像があるので後から確認できます。
検出結果の報告画面も表示されます。
この報告内容は結果フォルダの output.log にも保存されます。
メイン画面の Execution log にも逐一結果が出力されるので、フォルダ指定でバッチ処理した場合はそちらをチェックすると処理途中でも個別ファイルの結果が確認できます。
検出結果の見方
検出結果はファイルにも出力されます。ファイルは検出の実行毎に作成される結果フォルダに出力されます。結果フォルダは動画ファイルのあるフォルダの下の Impact_detection_run@{実行日時}
という名前のフォルダです。
{動画ファイル名}_dtc_max-mean.jpg
が実行後に表示された検出画像です。
検出画像上には赤と緑の二つのクロスヘアが表示されていますが、赤が DeTeCt の検出アルゴリズムで衝突発光候補が検出された場所、緑が検出画像上の最大輝度の場所です。
二つのクロスヘアが一致あるいは非常に近い場合は本物の衝突かもしれません。全然別々の場所に表示されている場合は誤検出(ホットピクセルや雲の通過等のノイズによるもの)である可能性が高いです。
衝突検出の確からしさについては、発光の輝度や発光が続いたフレーム数などから判断した Confidence というスコアを参考にします。*3 Confidence は結果報告画面に表示される他、output.log にも記録されます。
2019-08-18 21:27:33 - 1 detected in frames ranging from 2108 to 2115 (max @ 2109). Confidence: 0.543392.
2019-08-18 21:27:33 - WARNING: impact detection algorithm and detection images are inconsistent.
2019-08-18 21:27:33 - Please check detection image.
今回の例では Confidence は0.543392なのですが、これは全然ダメみたいですね… Quick User's Guide によると1.5以下の Confidence は誤検出の可能性が高いとのこと。Quick User's Guide の p11 以降に本物の検出の例と誤検出の例が検出画像と Confidence 値付きで掲載されているので参考にしてみてください。
上の出力に出てくる「WARNING: impact detection algorithm and detection images are inconsistent.」という警告ですが、これはおそらく赤と緑のクロスヘアが離れている時に出るのだと思います。
結果フォルダにはもう一つ {動画ファイル名}_dtc_mean.jpg
という画像が出力されています。
これは動画の各フレームのピクセル輝度の平均値を記録したもので、概ね衝突発光の無い時の見え方を表すものです。センサー上のゴミやゴーストなどがあるとこの画像から確認できることがあります。
その他
検出結果の提出方法とか WinJUPOS との連携とか色々あるのですがそのへんは調べきれてません…
バッチ処理してみた結果…
試しに2019年6月13日夜に撮影した動画を全部処理してみました。どの動画(3000フレーム)でも衝突候補が1個報告されたのですが、ほとんどが Confidence が0.5前後、赤と緑のクロスヘアはバラバラだし画像上でもはっきりした発光は確認できず、誤検出のようでした。
Confidence 1.5 以上のものは5件、そのうち2.40707の1件はクロスヘアがぴったり一致していて、これは!?と思ったのですが、画像を見るとほとんど識別できないくらいの明るさで、持続時間は5フレーム(60fps)、動画を実際に見ても全くわからないものでした…
もう一つ、AVI動画処理のテスト用に2018年7月8日夜に撮った動画を1本処理したところいきなりクロスヘア一致、Confidence 3.28296 というベスト記録更新の候補が出てしまいました。
しかしこれも持続時間は5フレーム(60fps)で動画で見ても全くわからない代物でした。たぶん宇宙線か何かのノイズでしょうね…
というわけで、木星や土星の動画を溜め込んでる方は一度 DeTeCt を走らせてみてはいかがでしょう。ってみんな走らせてるけど見つからないから黙ってるだけだったりします?