ATOM Camで流星観測-環境構築
バックアップ先に保存しているATOM Camの動画データから日時指定でのmeteor-detectによる流星検出する環境を構築します。
できること
ATOM Camの自動録画データを atomcam_tools + nas でフルバックアップ
Dockerコンテナ上に meteor-detect を実行環境含めて導入
meteor-detectコマンドで自動録画データからの流星検出
構成
https://gyazo.com/152bbb320215350d63121267291f6a18
SDカード
SMB1.0で接続
PC (Thinkpad X390 - Windows11で検証)
環境準備
NASの準備
ATOM Camのデータを保存する共有フォルダを作成
ATOM Cam用の接続ユーザ(ex. atomuser)を新規作成し、上記の共有フォルダへのアクセスのみ許可
ATOM Cam の準備
流星検出用途向けに設定を変更します
atomcam_toolsの導入
docker - meteor-detect 環境の構築
Docker をインストール
Dockerコンテナ設定
code:構成
(localPC)
./atomcam_detect
├ /meteor-detect
│ └ (meteor-detectプログラム展開場所)(a)
├ /atom_work
│ └ (meteor-detect検出結果出力場所)(b)
├ docker-compose.yml
├ .env
└ Dockerfile
(NAS)
//{NASDOMAIN}
└ /data
└ /mov_atom
└ /atomswing-1
└ (ATOM Cam自動撮影データ保管場所)(c)
(DockerContainer)
./root
├ /meteor-detect
│ └ (meteor-detectプログラム展開場所)(a)
├ /nas
│ └ /atomcamswing-1
│ └ (ATOM Cam自動撮影データ保管場所)(c)
└ /atom_work
└ (meteor-detect検出結果出力場所)(b)
code:docker-compose.yml
version: '3'
services:
meteor-detect:
build:
context: .
dockerfile: Dockerfile
container_name: 'meteor-detect'
working_dir: '/root/'
tty: true
environment:
TZ: Asia/Tokyo
volumes:
- ./meteor-detect:/root/meteor-detect
- ./atom_work:/root/atom_work
- nas_atomcamswing-1:/root/nas/atomcamswing-1
volumes:
nas_atomcamswing-1:
driver_opts:
type: cifs
o: 'ro,username=${NASUSER},password=${NASPASS},addr=${NASDOMAIN}'
device: "//${NASDOMAIN}/data/mov_atom/atomcamswing-1"
code:.env
NASDOMAIN=domain # NASのサーバ名
NASUSER=user # ATOMCam用アカウント名(ex. atomuser)
NASPASS=password # ATOMCam用アカウントパスワード
code:Dockerfile
FROM python:3
USER root
RUN apt-get update
RUN apt-get install -y vim
RUN apt-get install -y libgl1-mesa-dev
RUN apt-get install -y iputils-ping net-tools dnsutils
RUN pip install --upgrade pip
RUN pip install ffmpeg
RUN pip install opencv-python
RUN pip install imutils
RUN pip install youtube_dl
RUN pip install apafy
Dockerコンテナのビルド&起動
$ docker compose up -d --build
meteor-detectの導入
Dockerコンテナ内作業のため、コンテナにログイン
$ docker compose exec --user root meteor-detect bash
meteor-detect ダウンロード。配置。
観測
meteor-detectのリアルタイム検出は利用せず、コマンドにてによる流星検出
Dockerコンテナ内作業のため、コンテナにログイン
$ docker compose exec --user root meteor-detect bash
検出したい日時を指定して検出処理実行
# ~/meteor-detect/atomcam.py -o ~/work/ -d ~/nas/atomcamswing-1/record/20230122 -h 06
-o : 検出ファイル出力先
-d : 検出対象日付フォルダ指定
検出処理を行う日付フォルダ(ex. 20230118)を指定
-h : 検出対象時間指定
検出処理を行う時間(ex. 06)を指定
作業PC上に出力された結果データを目視にて流星/流星外の判定を行う
./atomcam_detect/atom_work 配下に流星を一つ検出するごとに下記の2ファイルが出力される
99999999999999.jpg : {年}{月}{日}{時}{分}{秒}.jpg
movie-99999999999999.mp4 : movie-{年}{月}{日}{時}{分}{秒}.mp4
参考
Dockerコンテナ操作コマンドリスト
コンテナの起動
$ docker compose up -d
コンテナのビルド&起動
$ docker compose up -d --build
コンテナへのログイン
$ docker compose exec --user root meteor-detect bash
コンテナからのログアウト
# exit
コンテナの停止
docker compose down