未分類」カテゴリーアーカイブ

流星群の画像処理

比較明合成画像の作成

comp.sh
---------------------------------------------
#!/bin/bash
F=$1
# 現在のディレクトリ内のJPEGファイルを取得
images=($F*.jpg)
# 出力ファイル名
output="$F.jpg"

# 入力ファイルが1つもない場合はエラー終了
if [ ${#images[@]} -lt 2 ]; then
    echo "エラー: 比較明合成には2枚以上の画像が必要です。"
    exit 1
fi

# FFmpegコマンド用の入力とフィルタチェーンを構築
inputs=""
filter_complex=""
for i in "${!images[@]}"; do
    inputs="$inputs -i ${images[i]}"
    if [ $i -eq 0 ]; then
        filter_complex="[0:v]"
    else
        filter_complex="${filter_complex}[${i}:v]blend=all_mode=lighten"
        if [ $i -ne $((${#images[@]} - 1)) ]; then
            filter_complex="${filter_complex}[tmp$i];[tmp$i]"
        fi
    fi
done

# 最終的なコマンドの実行
ffmpeg $inputs -filter_complex "${filter_complex}" -y "$output"

echo "比較明合成が完了しました: $output"

複数のmp4動画を結合するためのリスを生成

mcomp.sh
----------------------------------------
#!/bin/bash
F=$1
# 現在のディレクトリ内のJPEGファイルを取得
images=($F*.jpg)
# 出力ファイル名
output="$F.jpg"

# 入力ファイルが1つもない場合はエラー終了
if [ ${#images[@]} -lt 2 ]; then
    echo "エラー: 比較明合成には2枚以上の画像が必要です。"
    exit 1
fi

# FFmpegコマンド用の入力とフィルタチェーンを構築
inputs=""
filter_complex=""
for i in "${!images[@]}"; do
    inputs="$inputs -i ${images[i]}"
    tmp=`echo ${images[i]} | sed s/jpg/mp4/`
    echo "file $tmp -vframes 10 -c:v copy "

リストの一例(mcomp.shの出力)

file ATOM-A_006_059_20241214_044836.mp4 -vframes 10 -c:v copy
file ATOM-A_004_049_20241214_050034.mp4 -vframes 10 -c:v copy
file ATOM-A_024_078_20241214_185304.mp4 -vframes 10 -c:v copy
file ATOM-A_010_045_20241214_202037.mp4 -vframes 10 -c:v copy
file ATOM-A_006_052_20241214_223628.mp4 -vframes 10 -c:v copy
file ATOM-A_011_057_20241214_223659.mp4 -vframes 10 -c:v copy
file ATOM-A_007_061_20241214_224544.mp4 -vframes 10 -c:v copy
file ATOM-A_005_043_20241214_224728.mp4 -vframes 10 -c:v copy
.....................

mp4動画の結合

video.sh  $1には、ATOM-A | ATOM-B
---------------------------------
#!/bin/bash

TGT=$1
OUT=$1.mp4
path=/var/www/html/meteor
$path/mcomp.sh $TGT | sed '1d' - >$1.txt
ffmpeg -f concat -safe 0 -i $1.txt -c copy $OUT

Install RTL_SDR Support

https://gist.github.com/derme302/a702e421b7cd133753e5ab87101a01c4

https://github.com/merbanan/rtl_433/tree/master

データの取得例

$ rtl_433  2>/dev/null
[SDR] Using device 0: Realtek, RTL2838UHIDIR, SN: 00000001, "Generic RTL2832U OEM"
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2024-11-12 21:58:45
model     : Emax-W6      id        : dd9
Channel   : 4            Battery_OK: 1             Temperature: 59.3 F       Humidity  : 81 %
Wind avg speed: 0.0 km/h Wind Direction: 228       Total rainfall: 0.2 mm    UV Index  : 1             Lux       : 0
Integrity : CHECKSUM
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2024-11-12 21:59:15
model     : Emax-W6      id        : dd9
Channel   : 4            Battery_OK: 1             Temperature: 59.1 F       Humidity  : 80 %
Wind avg speed: 0.0 km/h Wind Direction: 229       Total rainfall: 0.2 mm    UV Index  : 1             Lux       : 0
Integrity : CHECKSUM

$ rtl_433 2>/dev/null | python t.py

$ cat t.py
#!/usr/bin/python
import sys
for line in sys.stdin:
    #print(line.strip())
    res=line.split()
    if len(res) == 34:
        TT=round((float(res[6])-32)/1.8,1)
        HH=res[10]
        WS=round(float(res[15])/3600,1)
        WD=res[19]
        RR=res[22]
        UV=res[27]
        UL=res[30]
        print(TT,HH,WS,WD,RR,UV,UL)
mars@pi4Bu:~/rtl_433 $ rtl_433   2>/dev/null |python t.py
18.4 69 0.0 229 0.2 1 0
18.4 69 0.0 229 0.2 1 0
18.4 69 0.0 229 0.2 1 0
18.4 69 0.0 229 0.2 1 0
18.5 69 0.0 229 0.2 1 0
18.4 69 0.0 229 0.2 1 0
18.4 69 0.0 229 0.2 1 0
18.4 69 0.0 229 0.2 1 0

Apache2 の設定を確認する

  • Ubuntuでのapache2の設定確認方法について説明します:基本的な設定確認コマンド
    構文チェックbash
    sudo apachectl -t
    またはbash
    sudo apache2ctl configtest
  • 詳細な設定確認
    sudo apachectl -S # 仮想ホストの設定確認
  • sudo apachectl -M # 読み込まれているモジュールの確認

今年のノーベル賞はAI祭り

物理学賞2024年のノーベル物理学賞は,「人工ニューラルネットワークによる機械学習を可能にする基礎的発見と発明」の功績で,米プリンストン大学のホップフィールド(John Hopfield)名誉教授とカナダのトロント大学のヒントン(Geoffrey Hinton)名誉教授に授与される。 (日経サイエンス)

化学賞2024年のノーベル化学賞は「コンピューターを用いたタンパク質の設計」の功績で米ワシントン大学のベイカー(David Baker)教授に,「コンピューターを用いたタンパク質の構造予測」で英国Google DeepMindのハサビス(Demis Hassabis)氏とジャンパー(John Jumper)氏に授与される (日経サイエンス)

化学賞受賞のハサビス氏は、世界最高ランクの囲碁棋士である李世乭に5試合中4試合に勝利したAlphaGoプログラムを開発したほか、機械学習のスタートアップであるDeepMindテクノロジーズを共同で立ち上げCEOを務めた。

生成AIを利用した様々なサービスが利用できる昨今ですが、Googleが今のところ無料で公開しているnotebookLMを使ってみました。(料金については、Googleによると「NotebookLM はまだ早期テスト段階であるため、現時点では料金は発生しません」となっていますが、そのうちに課金の対象になるかも?)

Google NotebookLMは、ユーザがアップロードした資料に対して、要約や質問に対する回答などを得ることができます。試しに、自分が2008年に執筆した博士論文のpdf(約100ページ)をアップロードしてみました。Google NotebookLMの興味深い機能の一つに、男女2人が、アップロードしたファイルの内容についての説明・感想を数分程度の会話を音声で聞くことができます。アップロードした資料が日本語であっても、今のところ音声は英語だけなのが残念な点ですが、再生できるようにしてみました。

Google NotebookLMが処理した結果の「要約」は、次のようになりました。Google NotebookLMの出力は、飾りのないテキストなので、多少読みやすくなるよう手動で体裁を整えました。

マルウェア自動解析システムの研究

1. マルウェアの脅威と対策
 近年、マルウェアによる被害が急増しており、その種類や手法も多様化していることを説明。
従来のシグネチャベースの対策では未知のマルウェアへの対応が困難であることを指摘。
マルウェアの挙動解析に基づく自動解析システムの必要性を論述。

2. マルウェア自動解析システムの概要
 本研究で提案するマルウェア自動解析システムの全体構成を図を用いて説明。
システムの主要な機能である、マルウェアの動的解析、挙動データの収集、数値化と類似性判定、そして視覚化について概説。

3. マルウェアの動的解析
 サンドボックス環境を用いたマルウェアの動的解析手法について解説。
APIコール、レジストリへのアクセス、ネットワーク通信など、解析対象となるマルウェアの挙動を列挙。解析結果から得られる情報とその利点について説明。

4. 挙動データの数値化と類似性の判定
 マルウェアの挙動データを数値化するための特徴量抽出方法を説明。
使用する特徴量として、APIコール系列、レジストリキー、通信先ポート番号などを例示。
数値化された挙動データに基づいて、マルウェア間の類似性を判定するためのアルゴリズムを解説。具体的には、ユークリッド距離、マンハッタン距離、コサイン類似度などの距離尺度を用いた類似度計算方法を説明。

5. 挙動データの視覚化
 多次元尺度構成法 (MDS) を用いたマルウェア挙動の視覚化手法について説明。
MDS により、高次元の特徴量空間を2次元または3次元に写像することで、マルウェアの類似性を視覚的に表現。視覚化結果から、マルウェアの分類や未知マルウェアの検出が可能になることを示唆。

6. 実験と評価
 実験に用いたマルウェア検体データセットの概要を説明。
検体数は約8,000個体で、トレンドマイクロ・ウィルスバスター2007を用いてスキャンし、名前が判明したものを使用。提案システムの性能評価指標として、検出率、誤検知率、処理時間を設定。実験結果に基づいて、提案システムが従来手法と比較して高い検出率と低い誤検知率を達成したことを示す。処理時間についても、実用的な範囲内であることを確認。

7. PDBを用いたマルウェア挙動の可視化
 マルウェアの挙動を可視化するために、PDB (Position Dependent Bits) を導入。
PDBを用いることで、マルウェアの挙動をビット列として表現し、視覚的に比較分析することが可能になる。実際に、上位15種類のマルウェアについて、PDBへの変換結果を視覚化し、その特徴を分析。結果として、同種に分類されるマルウェアの挙動は一定ではないものの、利用ポートの状況など、種類ごとに特徴が認められることを示す。

8. 結論と今後の展望
 本研究では、マルウェアの挙動解析に基づく自動解析システムを提案し、その有効性を検証。
提案システムは、未知のマルウェアに対しても高い検出率を達成し、マルウェア対策への貢献が期待される。今後の課題として、解析精度の向上、処理速度の高速化、マルウェアの進化への対応などを挙げ、さらなる研究の必要性を論述。

9. 付録
 上位15種類のマルウェアのPDB可視化結果の詳細を掲載。実験対象とした検体の内訳を、AV製品ごとに「科名」と「科名+亜種名」で分類し、検体数を表示。特徴量抽出に用いたパラメータ (port100_md50_svcN_rootN_host_file4.hex) と、それによって得られたデータセットの分割方法について説明。各分割データセットにおける、F値、F&V値、F-STD、F&V-STD、Totalなどを表形式で表示。

参考文献
本研究に関連する参考文献を列挙。

Sirilによる画像処理手順

starnetファイルの準備

https://www.starnetastro.com/download/ からコマンドラインツールをダウンロードして、実行ファイルを登録する
ーーーーーーーーーーーーーーーーーーーーーーーーー
快適星活4回目 天体画像処理ソフトSirilの紹介
https://www.youtube.com/watch?v=OEn_rVE-yw0
ZWO SEESTAR S50 DATA POST PROCESSING

Fix your broken Seestar S50 astrophotography images with Siril

Seestar S50 Siril tutorial - easy astrophotography image processing

Using Deconvolution to Improve the Resolution of Deep-Sky Images in Siril


Conversion TAB
addfiles +
 ファイル一覧を選択して
add
シーケンス名を付けて、
debayerにチェックを入れて
Convert

Calibration TAB はスキップ(seestarの場合は、S50内で処理済)
Registration TAB
 Global Star Alignmentの選択を確認

Align 左画面に星が赤色で囲まれる

Plot TABで整列の様子をグラフ表示
左の画像を見るには、AutoStretchを実行
不要な画像をファイルを一枚毎確認しながら除外できる(当該ファイルの行でspace key)
上のStacking(整列) をクリック

必要に応じて、クロップ(左に表示される画像をマウス操作で選択し、、)
背景の除去(Background Extraction)
  一番暗い部分を選択して
 生成ボタン
 背景計算

 グリーンノイズの除去(必要に応じて?)

画像処理(左上)
 色補正
 画像パラメタで、対象の星雲名を入力して、検索をクリック
 見つかると、Rsolver Name の欄に名前が表示される
 OKボタン
上メニュー 保存

線形モードで表示
画像処理(右上)
 StarNet Star removal
   prestretch linear imageにチェックを入れる
  
  Hypabolic Stretch 
     Local Stretchスライダーを最大に
  Stretch Parametersスライダーで調整
  { 調整は、画面を見ながら試行錯誤 }

  カラーサチレーションで調整
  ノイズリダクション