2017年5月9日火曜日

半自動スタートラッカ 番外編

 スタートラッカによる火星の撮影| こちら「はやぶさ2」運用室 | JAXA はやぶさ2プロジェクト

 このブログにはやぶさ2のスタートラッカが撮影した写真がありますが、試しに作ってるソフトに食わせてみました。かなり余裕を持たせて、かつマッチ率閾値を下げてやればちゃんとマッチングできました。

背景画像:(C) 宇宙航空研究開発機構(JAXA)

 図の見方ですが、緑の丸がカタログから予想した星の位置、赤の丸が画像から解析した星の位置、オレンジの線がカタログ予想位置と回転・移動後の予想位置を繋ぐ線、という感じです。緑の線はマッチングに使った恒星の組み合わせです。
 オレンジの線の先端(緑丸の反対側)が画像の星の位置と近ければ、より正確に予想できている、ということになります。
 画像からの抽出がうまくできておらず、例えば右端のηは抽出できていません。このためマッチ率はあまり良くないです。

 今のところ、画像からの抽出は、まずノイズ対策のため閾値未満の輝点を切り捨て、その後残った輝度成分の一覧を作る、という流れになっています。一方、今回使った画像ではノイズ成分が多いので、閾値も高めに設定してあり、暗い星は検出できません。充分に明るいはずの星も見えてないのは謎ですが。
 でも、デジカメみたいな「ニセデータ」じゃない、本物のスタートラッカが宇宙から撮った画像でもちゃんとマッチングできたのは面白いです。
 ブログ内に書いてある情報では、画角は23.44°とのことですが、画角を0.88倍して計算しないとマッチングできませんでした。たぶん、僕のプログラムよりJAXAが出してる数字のほうが確度が高いはずなので、カタログから投影する際に何か誤差が出ているのかもしれません。デジカメの写真ではほぼ綺麗に一致しますが、スタートラッカの光学系はデジカメのそれとは違うのかもしれません。デジカメは周辺に寄ると角分解能が下がりますが、スタートラッカではできるだけ分解能がほしいはずで、なにかうまいこと処理されているのかもしれません。
 やはりさっくりとググって集めた情報だとすぐ限界が見えてきますね。
 中の人に知り合いでもいれば聞けるんだろうけど、聞いたところで教えてもらえるかは別問題だし。あるいは何かイベントが有る時にふらーっと立ち寄ったていを装って「そういえば僕の計算問わないんですけどぉ~どういうレンズなんですかね~」みたいな質問をするとか。

 ま、冗談はさておき、とりあえず今のプログラムでも半自動スタートラッカとして使えるのは間違いなさそうです。大体赤緯赤経で5°程度の誤差までは吸収できてる感じです。

 ちなみに計算時間は、画像解析で90msec、カタログからの投影で30msec、組み合わせの生成で2msec、マッチングで5msecくらいでした。相変わらずカタログの読み込みが1.5secで、結果画像の出力に50msecかかってますが。

 スタートラッカはおおよそ動くのがわかってきたので、次は画像解析の方も真面目にやっておく必要があるかもしれません。人間が見れば明らかにノイズですが、それをどうやってソフトウェアで除去するか。


 スタートラッカ画像が出てくると俺得なので、もっとガンガン出してほしいです。っていっても、例えばひまわり9とかのファーストライトのインパクトに比べれば、STTなんて取るに足らない画像なんだろうなぁ。

 昨年末にはESA(欧州宇宙機構)が打ち上げた衛星がSTT画像を出していました。
 ESA Science & Technology: LISA Pathfinder star tracker image
 この衛星は光学観測機器が搭載されていないらしく、「宇宙だぞ!」みたいな広報画像がSTTの写真しか無いようです。画像の大半が地球なので、STTテスト画像としては使いづらいかなぁ。

追記:2017/05/11
 STT画像をちゃんと図ってみると、解像度がおよそ767pxで、赤枠が1辺222pxくらいでした。ということで、767/222*5.86=20.246036°で、23.44*0.88=20.6272°とおおよそ一致します。実際、20.246036°でマッチングすると、正常に同定できました。
 写真をぱっとみた印象で300x300px(5.86x5.86°)が4x4で16枚だと思ってましたが、ちゃんと確認しておかないとダメですねぇ。0.9倍に違和感を全く感じなかったことに驚き。
 ということで、恒星の投影もJAXAの数値も僕のプログラムも問題なく、僕がポンコツだったという結果です。いやー、道具は使う人間の問題だってことを実感。

0 件のコメント:

コメントを投稿