ATOMCam2で流れ星を自動観測してみた

ATOMCamで捉えた流れ星 Tips
この記事は約8分で読めます。

やりたいこと

ATOMCam2を使って流れ星を自動で検出したい。つまり、プログラムを動かしておくと自動で流れ星の動画が集まるようにしたい。

ある程度簡単に導入できますが、Pythonについて、コマンドラインについてある程度知っておくと、楽に導入できると思われる。
非公式ツールも使用するので、あくまでも自己責任でお願いします。

環境

  • PC(Windows10で動作確認)
    プログラム開発者の検証ではmacOS 11, 12 (Intel Mac, M1 Mac) , Ubuntu 20.04LTSで動作確認。
  • Python(Python3.9)
  • 各種ライブラリ(後述)
  • meteor-detect(検出プログラム)
  • atomcam-tools

セッティング

Pythonをインストールする

1.下記、サイトからPythonをインストールする。

2.ターミナルやPowerShell、コマンドラインにて動作確認
※Windowsキー+ R を同時に押して、検索窓に「 cmd 」と入力してからEnterを押す

>python --version

下記のように表示されたらOK

Python 3.9.13

うまくいかない場合は「Python インストール」とかで検索や下記サイトを参考に環境を構築する。

Pythonに各種ライブラリを導入

ターミナルやPowerShell、コマンドラインにて下記を上から実行する。つまり、1行ずつコピペしてEnterを押してください。
※Windowsキー+ R を同時に押して、検索窓に「 cmd 」と入力してからEnterを押す

> pip install ffmpeg
> pip install opencv-python
> pip install imutils

> pip install youtube_dl
> pip install pafy

atomcam_toolsをインストール

下記、プログラムのREAD MEを読んで、ATOMCam2へプログラムをコピーする。

meteor-detectを事前に設定

下記サイトからプログラムをダウンロードする

解凍し、わかりやすいところにおいておく。
使い方については、READ MEも参照のこと。

ダウンロードしたファイルを自分の環境に合わせセッティングする。atomcam.pyをテキストエディタ(メモ帳)で開き、編集できるようにし、下記を書き換える。
192.168.2.110となっているところをATOMCam2のIPアドレスを調べ書き換える。
なお、IPアドレスはATOMCamアプリの設定(右上歯車マーク)>デバイス情報>IPアドレスから調べられる。

###########24行目-26行目を抜粋############
# 自分の環境のATOM CamのIPに修正してください。
ATOM_CAM_IP = os.environ.get("ATOM_CAM_IP", "192.168.2.110")
ATOM_CAM_RTSP = "rtsp://{}:8554/unicast".format(ATOM_CAM_IP)

※atomcam_toolsを入れず、公式のRTSPを使用する人は、下記のように書き換える

###########24行目-26行目を抜粋############
# 自分の環境のATOM CamのIPに修正してください。
ATOM_CAM_IP = os.environ.get("ATOM_CAM_IP", "192.168.2.110")
ATOM_CAM_RTSP = "rtsp://6575:5525@{}/live".format(ATOM_CAM_IP)

meteor-detectを使用

ターミナルやPowerShell、コマンドラインにてmeteor-detectのあるディレクトリへ移動後、下記を実行。夜であれば実行され流星の検出が始まります。6:00に自動停止。

> python atomcam.py

その他、パラメータ等は下記の通り

> ./atomcam.py --help
usage: atomcam.py [-u URL] [-n] [-d DATE] [-h HOUR] [-m MINUTE] [-i INPUT] [-e EXPOSURE]
                  [-o OUTPUT] [-t TO] [--mask MASK] [--min_length MIN_LENGTH] [--verbose VERBOSE]
                  [--thread] [-c] [--help]

optional arguments:
  -u URL, --url URL     RTSPのURL、または動画(MP4)ファイル
  -n, --no_window       画面非表示
  -d DATE, --date DATE  Date in 'yyyymmdd' format (JST)
  -h HOUR, --hour HOUR  Hour in 'hh' format (JST)
  -m MINUTE, --minute MINUTE
                        minute in mm (optional)
  -i INPUT, --input INPUT
                        検出対象のTOPディレクトリ名
  -e EXPOSURE, --exposure EXPOSURE
                        露出時間(second)
  -o OUTPUT, --output OUTPUT
                        検出画像の出力先ディレクトリ名
  -t TO, --to TO        終了時刻(JST) "hhmm" 形式(ex. 0600)
  --mask MASK           mask image
  --min_length MIN_LENGTH
                        minLineLength of HoghLinesP
  -s, --suppress-warning
                        suppress warning messages
  --thread              スレッド版
  -c, --clock           カメラの時刻チェック
  --help                show this help message and exit
Q
検出された動画が短すぎる。
A

パラメータを付与。数字は動画の秒数。下記の場合3秒の動画となる

> atomcam.py -e 3
Q
検出された動画を任意のフォルダに入れたい
A

パラメータを付与。下記の場合同じディレクトリのoutputフォルダに格納される

> atomcam.py -o output

その他の使い方については、READ MEも参照
ATOMCamにて撮影した映像については下記参照

参考文献、謝辞

検出プログラムを開発し、公開してくださいました、kin-hasegawa様、ATOM Camにて機能追加を行なってくださいましたhoneylab様、誠にありがとうございます。

おまけ:似たようなツール、便利ツール

流星の軌道決定

Atomcam2関係