2023年3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

« 2021年9月 | トップページ | 2021年11月 »

2021年10月

2021年10月28日 (木)

・Photoshopの新機能 風景ミキサー とGANの仕組み

Photoshop2022で風景ミキサーという新機能が搭載されました。
風景の季節を変えてしまうというものです。

元画像
Resize177010


Resize177009


Resize177008


Resize177013


Resize177006

人物が入っているときは被写体を選択にチェックを入れないとホラーになる

Resize177005

被写体を選択
Resize177003

そのまま
Resize177004

被写体の選択もAIを使っていると思われます。
被写体を選択するAIとしてはBASnetと呼ばれるものがGithubにあります。

また、この季節を変更する技術は
Cycle-Ganと呼ばれるAIが使われていると思われます。
以前に紹介したGANの応用で、
異なる二枚の画像を互いの特徴量を抽出して似せるという技術です。

写真をゴッホ風とかに変換したりアニメ調にしたり
馬をシマウマに変換したりできます。

Resize177017

20211018_141819_gogh

Cycle-Ganの仕組みを勉強したことをメモがてら記載しておきます。

まずは普通のGANの学習。
2stepに学習が分かれます。

1step
Cyclegan-1

本物に似た偽物を作ります。
この時にはDiscriminatorのパラメータは固定しておいて、
学習によって変化が無いようにする。
最初はめちゃくちゃな画像が作られるが、学習が進んで、
最適なパラメータが設定されれば秋っぽい画像が作れるようになる。

2Step
Cyclegan-2
今度はgeneratorのパラメータを固定して
同等の精度の偽物の秋画像が常に作られるようにする。
この作られた偽物の秋と本物の秋を比較して正しく本物or偽物が判断できるように
学習を進めます。

GANはこの二つのstepを繰り返して、
それぞれのパラメータを最適化していくことで、
本物に近い偽物画像を作れるようになります。


ここまでがGANの学習の説明です。
今回の季節変換やゴッホ風など、一方の画像の特徴を学んで作り出すGANは
この方法だとどうしても学習が収束しないという課題がありました。
そこで考え出されたのがCycle-GANという方法。

Cycle-GANでは、同じようなネットワークをもう一つ用意します。
もう一つのネットワークは
本物の秋から偽物の春を作り出すものです。

Cyclegan-3

互いに変換できるネットワークがあれば、
本物→偽物→偽物から作った偽物
ということができます

Cyclegan-4

これをもとの本物と比較してDiscriminatorを学習。
Cyclegan-5

こうすることで、画像の特徴だけとらえてその部分を変換し
余分な変換をしない、という学習をさせることができます。

例えば、この季節変換の例だと、
空は変換しない、
葉っぱの色だけ変換する
といった学習をさせることができます。

2021年10月24日 (日)

・灯台と星空の撮影

最近、東大と星空のシーンを撮影していますが、
これが難しい。

灯台→明るい
星空→暗い

なので、まずは露出が難しい。
星の光を明るくするために露出を上げると
灯台の光が邪魔をします。

Resize176989

解決するためには、ハーフNDを用いたり、
地上風景のみ露出を短く撮影したものを後で合成。

Resize176994

灯台の光に光条を出すためには絞る必要もある。

絞り開放
Resize176990

1段絞り
Resize176991

絞ると、光量が不足するので、シャッター速度を延ばしたり
ISO感度を上げる必要があります。
シャッター速度を延ばすと、星が動く。
ISO感度を上げるとノイズが目立つ。
かなり条件として厳しくなってしまいます。
赤道儀(アストロトレーサー)を用いたり
複数枚撮影してノイズ軽減をする必要があります。


最大の課題が、レンズゴースト。
最初の写真でもわかるように、灯台の光はかなり強く、
星空に盛大にゴーストが載ります。

Resize176992

灯台の光がもろに入ると、ゴーストに比較的強いペンタックスのレンズでもこんなにも。。

これを除去するのは至難の業。
とにかくゴースト・フレアに強いレンズを使用するしかありません。
中華系の安いレンズだとここが全然ダメ。
ゴーストフレアに強くて、星空の解像が良いレンズ、となると
高価なレンズになってしまいます。

または撮影場所の工夫で何とかします。
灯台下暗し、というように、
灯台のすぐ下などで灯台の光が直接差し込まない場所で撮影すれば
多少は軽減ができます。

 

2021年10月16日 (土)

・各社光害カットフィルターを実写確認

マルミのスタースケープフィルター、
STCのマルチスペクトラフィルター、
KANIのLPRFの比較撮影をしてきました。


 

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

KANI 角型フィルター LPRF 100x100mm 光害カットフィルター / レンズフィルター 角形
価格:19800円(税込、送料別) (2021/10/16時点)

楽天で購入

 

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

STC Astro-Multispectra 天体用フィルター 77mm
価格:67283円(税込、送料別) (2021/10/16時点)

楽天で購入

 

グレーカードによる評価は下記の記事で記載しています。
NiSiをグレーカードで確認

マルミのスタースケープをグレーカードで確認

STCマルチスペクトラをグレーカードで確認

KANIをグレーカードで確認

ケンコースターリーナイトをスペクトルで確認

ケンコー実写比較


光害カットフィルタの効果が確認しやすい赤い星雲があるオリオン座が
ようやくよく見えるようになってきました。

各フィルターは特定の波長の光をカットするので、
その分、減光することになります。
太陽光下のグレーカードで確認した減光量に合わせて、
星撮影時には同じ明るさになるように露光時間を調整しています。
また、現像時には同じパラメータを使用しています。
(ホワイトバランスだけは空の暗い部分で合わせた)

フィルター無し 30sec
Resizeoff_20211016155201

マルミスタースケープ 40sec
Resizemarumi

KANI LPRF 50sec
Resizekani_20211016155201

STC アストロMS 100sec
Resizestc


並べてたもの
Off_all2_2

こう見てみると、フィルタなしではほとんど出ていなかった
バーナードループの赤い色が光害カットフィルタで浮かび上がっています。
また、STCのフィルターは干渉型なので、同心円状にカラーシェーディングが生じてしまっている。

このカラーシェーディングはフラット撮影とかすれば除去できますが、処理がちょっと面倒くさい。
ただし、不必要な波長の光をピンポイントでカットできるので、光害カットの効果はかなり強い。

拡大したもの
Off_all1_2

今回の撮影は比較的光害のない場所(外房の南のほう)で行ったのですが
光害カットフィルターの効果がかなり出ています。
グレーカードの確認で把握していたマルミの光害カット効果の弱さは
赤の星雲を撮った時にもはっきりわかります。

よくよくマルミのスタースケープのパッケージを見ると
「街明かりの色カブリを抑え、夜景を自然な色合いに」
「明るさも露出倍数1.2(約1/4段の減光)を確保」
と記載してあり、星空に特化したわけではなく、
夜景全般で使えるというような記載になっています。


そもそもの製品の設計思想が他社と違うのかもしれない。
夜景撮影時に常用できるというのがマルミのフィルターの利点なのかも。

2021年10月 7日 (木)

・アルゴリズムベースと学習ベースの考え方

プログラムを処理するときに、
最近は学習ベースで実装、など言われることが多くなりました。

アルゴリズムベースとは、エンジニアやプログラマが考案したルールに沿って
処理結果を出力する方法です。
ルールベースと言われることもあります。

 

例えばカメラでの話で考えると、
露出制御(AE)のマルチ測光でのアルゴベースはこんな感じになっています
 


1:画像全体の平均輝度が118になるように、シャッター速度、ISO、F値を決定する。

Resize176965

平均輝度118の画像。


2:画像上部が明るい時はおそらく空なので、平均輝度を求めるときに画面上部の重みを下げる
Resize176963

3:曇天の場合はアンダーになりやすいので、露出を+0.3段上げる。
Resize176964

4:画像全体が一様面の場合は118にすると暗く見えるので露出を*0.5段上げる

 

5:顔検出したときは顔の露出が適正になるようにする


上はある例として、5つほど挙げました。
こういったルールをいろいろ考案して、
どのようなシーンでも最適な露出になるようにAEエンジニアが考えています。
しかし、こういったルールはAEに詳しくないと考えられません。
上部が空になることが多いので重みを下げるとか。
こういった経験を積むには何年もかかる。

こういったアルゴベースを図にするとこんな感じです。

4_20211007192901

曇天度が閾値を超えたら、曇天として判定する、など
いくつものパラメータで調整をしていきます。
曇天判断されたら+〇EV上げる、などもパラメータの一つです。
しかしこのパラメータ数は人間がやるには限度があり、
せいぜい100個くらいでしょう。

また、あるシーンを改善すると、別の似たシーンで悪くなるなど
トレードオフが発生しがち。

こういった問題点を解決する手法の一つが、
学習ベースと言われるものです。
AIベースだとか、ディープラーニングだとかニューラルネットワークだとか言われます。

学習ベースであればAEにそれほど詳しくなくても実装可能です。

Ai_argo-2

たくさんの画像とそれの適正露出のセット(学習データベース)を用意して
ニューラルネットワークに学習させます。
ニューラルネットワークでは人間が設定不能な大量な数のパラメータを設定してくれます。
Ai_argo-1
アルゴベースだと条件分岐の閾値やその後にかけるおもみなどがパラメータ。
学習ベースだと、各ノードやニューロンすべてにパラメータを持つ。

今後、こういった学習ベースに置き換わっていくと
大事なものが、学習に使うデータセットです。
このデータセットを作成するのは統計学的な知見が必要です。
また、特定のシーンでAEがおかしいなどの問題が発生したときに、
どういったデータを追加して学習すればよいか、など考慮する必要があります。

エンジニアは、データサイエンティストという職種に変わっていくことに。

2021年10月 4日 (月)

・花火の打ちあがる高さの計算

大きな花火大会はコロナの影響でまだ開催されませんが
小さい花火大会などは各地で開催されるようになってきました。

しかし、密を避けるために会場はかなり人数制限されていたり
明確な打ち上げ場所を公開していなかったりします。

そうすると花火の撮影はちょっと距離があるところからになってしまう。
その際に困るのが、
どこからどのくらいの高さまで花火が上がるか分からないということ。


まず打ち上げ場所は、開催場所近くに行くと
警備員などが道路を閉鎖しているので大体わかります。
(聞けば打ち上げ場所を教えてくれるかも)
また、有料席が設けてある場合は、有料席の正面が打ち上げ場所です。

打ち上げ花火の筒が目視できれば確実。
この動画みたいな感じのものです。

あとは、撮影場所からどの程度の高さ(見上げた角度、仰角)まで上がるか。
これはスマホのアプリなどを駆使すれば計算できます。

例えば下の図のような場合。
Img_0802
これはキョリ測というアプリを使っています。

打ち上げ場所から撮影場所まで大体1200m。
標高は打ち上げ場所は200mくらいで、撮影場所は300mくらい。
上から見下ろす感じになります。


そして、煙火店や大会の公式ページから
打ちあがる花火の大きさ情報を得ます。
ノータムなどの航空制限情報から得てもいいかもしれません。

例えば、今回の大会では7号玉まで上がることがわかりました。

Hanabi-1

花火の号数と大きさはこんな感じ。
4尺玉(40号)が日本で上がる花火大会は鴻巣と片貝だけです。


打ち上げ場所と撮影場所などの距離関係はこんな感じ。
Hanabi-2

角度θが仰角になります。これを求めたい。
高校数学の三角関数を思い出すと、

tanθ = 270/1200
= 0.225

tanθが0.225になるθを求めればよいです。
教科書の最後のほうのページに書いてあった三角関数一覧表を見ればわかります。
大体12-13°です。

数式で計算するなら
arctan(0.225) です。

計算するためのスプレッドシートを作りました

 

仰角さえわかればARアプリなどでどの位置まで打ちあがるか判断することができます。
iPhoneなら衛星の発見 でAR重畳できる。


事前に打ちあがる高さを考慮して焦点距離なども決めて撮影した写真
Resize176960

一番大きい玉が少し画角外にはみ出すように構図を決めて撮影しました。

 

打ち上げ場所と花火の号数を入力すれば、GPS情報などを使って
自動的に計算してくれてAR表示してくれるアプリだれかつくって欲しい…。

« 2021年9月 | トップページ | 2021年11月 »