Nature | Photography | Music | Art -27ページ目

Nature | Photography | Music | Art

日々好奇心の趣くまま

サイト内の写真の使用ならびに無断転用を禁じます。

ほぼ個人的な備忘録になります。
また専門家でもないので誤りも多々あるかもしれません。

先日書いたパノラマ作成の勉強の続編で、領域をオーバーラップさせながら複数の写真で広範囲撮影できたと仮定して、次のステップ。

それらを位置ズレや色・輝度の不連続なく繋ぎ合わせるには、まずレンズ固有のDistortion(歪み)やVignette(対応する和訳って「周辺光量落ち」でいい?)を修正して位置的にも輝度的にもフラットな絵にする必要がある。

特にFishEyeのような歪みの大きい画像はこれらの補正を行って直線化しないと綺麗に繋げない。





その作業をコンピュータービジョンの世界では「カメラキャリブレーション」というが、一眼の世界ではカメラとレンズが別々で、主にレンズの特性で決まるので「レンズ補正」と呼ばれているようだ。(本当に同義かどうかは確信がないが)

このあたりの補正パラメータは、本来は市松模様のボードを位置を変えて多くの枚数を撮影して計算で求める面倒なものなのだが、DistortionもVignetteもレンズ固有のものなので、PhotoShop(LR)などでは便宜を図るためにこれらの特性(以降、補正パラメータ)を記録した各レンズに対応するLensProfileというものを予め提供、もしくはその作成ツールを提供。

そのLensProfileを用いてCameraRawもしくはLightroom上でワンタッチで補正が出来るようになっている

また所望のLensProfileがない場合はAdobe Lens Profile Downloaderというツールを使えば、Web上にあるLensProfileのファイルを検索&ダウンロードできる。

…と、ここまでは多くのカメラ入門本やWeb情報でも多く書かれているし、レンズ補正そのものはカメラマンが日常的に行う作業でもあるので、そもそもここで書くまでもない事柄です。

しかしながら一歩踏み込んで、このLensProfile及びそれを用いたレンズ補正のより定量的な詳細を知りたいとさらにググってみると、どういうことかWebでの情報がほとんどなくなってしまう。

今回の趣旨は、Photoshopをいちいち介さずOpenCVを含めたプログラム上で処理を完結したいので、この情報のあまりない領域に踏み込んでみようというものです。

そこで唯一手がかりとなるのが

lensprofile_creator_cameramodel.pdf

でググって見つかるpdfのみ。(なぜかAdobeではなくM&Aしたmacromediaのサイトにある。目立たないようにひっそり置かれており、そのうち消されるかもしれない)

このpdfを熟読すれば、いくばくかの不明点は残るもののほぼLensProfileの全貌がわかるようになっている。

LensProfileには以下の3つの補正パラメータ群が含まれている。

1. Geometric Distortion Model for Rectilinear Lenses もしくは Fisheye Lenses
2. Lateral Chromatic Aberration Model
3. Vignette Model

上から半径方向・円周方向の歪み、その色収差及び周辺光量落ちの補正パラメータとなる。

1の歪みに関しては世の中にあるレンズの大半を占めるRectilinearレンズと少々構造の異なるFishEyeレンズで計算方法が異なってくるので別々に定義されている。この歪みはRGBの区別(要は色収差)は考慮されていない。

2に関しては1と全く同様の計算式でRGB各チャンネル毎に定義されている。1と2を色収差補正の要不要で使い分けるのか。実はまだよくわかっておらず、今回はパノラマ用なので色収差まで厳密になる必要もないのでこの項に関しては追求せず、RGBのすべてのチャンネルに1の補正を行っている。

3の補正は1&2の補正より先に行う必要がある。つまり、補正をかける順番は3 -> 1 or 2となる。

LensProfileはウチの環境(win7+camera raw)の場合は以下に格納されるが、環境の違いで場所は異なってくるはず。

C:\Users\All Users\Adobe\CameraRaw\LensProfiles\1.0

LensProfileはそれぞれカメラとレンズの組み合わせ毎に1ファイルになっていて、lcpの拡張子がついている。
もちろんカメラすべての組み合わせが揃っているわけではないので、おそらく適用するカメラと同じセンサーサイズのカメラのものを選べばよさそう。

lcpファイルは実質xmlファイルで、以下のようなフォーマットになっている。例としてCanon撒き餌レンズのもの。



x:xmpmeta/rdf:RDF/rdf:Description/photoshop:CameraProfiles/rdf:Seq/
の下に幾つかのrdf:liノードがぶら下がっている。

このそれぞれのrdf:liにそのレンズの異なる状態(Aperture,Focal Length,Focal Position)に対応した補正パラメータが格納されている。



補正対象とぴったり同じ状態のパラメータがあれば理想だが、そうでない場合は最も近いrdf:liを採用するのか、それともそれを何らかの計算で補間するのかの情報は見つからない。とりあえず今回は前者を採用。

それぞれのrdf:liの下に肝心の補正パラメータが格納されている。

以降何回かに分けてこれらの補正パラメータやレンズ補正の詳細を分かった範囲で書ければと思ってます。
日本特有の過剰に管理者責任を問う厄介な風習、なんとかならないものか…

もちろん火山など本当に危険なものは規制すべきだろうが、節度を持って行動すればさほど危険でない面白そうな場所もすぐに立ち入り禁止や柵が築かれる。

洞窟系はその最たるもので、観光洞窟として完全整備するか、さもなければ厳重に鍵がかけられているものが多い。



中にはその限りではない普通に入洞できるユルいものもあって、そのような某鍾乳洞を探検してきました。もちろん観光洞窟ではありません。

トレースの乏しい急な山道を道を間違えながら登ること一時間弱、岩に開いた小さな裂け目から暗黒の地底に降りていく。

もちろん明かりなどはないので、少し降りれば完全な暗闇。洞内は概ね広く、足場はそれほど悪くない。



探検の面白さという観点もあるが、どちらかというと鍾乳洞の複雑な造形やテクスチャをどうやって美しくライティングして撮るかに興味があるので、こういう場所は貴重です。

すでにライティングされている観光洞窟の類いはあまり撮影欲が湧かない。

あまり形の良い鍾乳石はないが、暗黒の中で持参したLED照明でライティングをいろいろ変えて試行錯誤してみる。



すこしライティングを変えると表情も変わって面白くかつ難しい。




洞窟のような非日常な被写体はもちろんだが、普段の自然モノの撮影でもライティングが有用なことを最近ひしひしと感じています。
連休、少々遠出して下呂温泉界隈を車中泊旅してきました。

木曽周辺のマイナー温泉巡りが主目的だが、時間を取って最近有名になりつつある碧すぎる渓流・阿寺渓谷に立ち寄って撮影してみました。



ここ、本当に美しいのだが残念なことに渓流沿いに細いながら車道が随分奥まで通っていて景観をかなり壊している。冬季ではあるのだが、撮影していても観光客やら釣り客が背後を車で通りかかるのであまり落ち着かない。

おそらく暖かい季節ならもっと交通量が増えてカオスになると思われる。こんな美しい渓谷なので、願わくば車道ではなく遊歩道整備あたりで止めておいて欲しかったのだが。

もっとも、林道ゲートの場所より奥に行けば人もあまり立ち入らず、余計な人工物も少なくなる。

冬の訪問だが雪景色でもないので地上の景色は寂しく、ググれば美しい季節の写真が多数見られるので割愛、水中を絡めたものだけ何枚か。



鉱物系を含んでいるのか、尋常ではない碧さ。



水温はおそらく一桁前半。手の感覚の喪失がヤバい。





ちなみにこの近くに最近星空の村として観光客誘致をしている阿智村があるのですが、今回は月が明るく星が薄い時期だったのでまたの機会としました。
youtubeチャンネルのサムネイルのことです。

以前はおそらくよほど再生数を稼いでいるか、有料でなければカスタムサムネイルは使えなかったはず。

今になって、登録さえすれば普通にカスタムサムネールを使えることを知りました。

ずっとあまり納得行かないサムネールで我慢していて、要はパッケージのイケてない商品状態(?)だったのだが、今更ですが幾つかをマシなものに差し替えました。

https://www.youtube.com/user/delphinus1024


これで以前より少しばかりは多めに再生してもらえることを願って。
…と言っても海の話ではありません。

本業でテクノロジー業界の末席を汚している身にとっては看過できない波が来ているようです。

ここ数週間で「碁」の一件を発端にTVニュースでも普通に取り上げられるようになった「Deep Learning」もしくはより広義の「Machine Learning」。

この波が未来を変えてしまうのか、もしくは一過性のバズワードで終わるのかは専門家や研究者ではないので判断がつきませんが、もし前者になった場合にこの技術をより迅速に使いこなせなければならなさそうな身の上なので、今から専門書を買ってぼちぼち勉強している次第です。 とはいえ、まだまだ細かい部分は分からないことだらけなのですが…

…というのは前置きで。

勉強してみるとこのDeep Learningの大枠のしくみは思ったより単純で、ある種の適応フィルターなのです。

フィルターということは、画像の例だとブラーや彩度調整やもっと複雑なPhotoShopやAE系の専用フィルター、音楽だとEQやリバーブやら多々あるVSTエフェクトなどと広い意味では同様なわけで。

またそれをいち早くアートに取り入れている人々もいて、まだ名称は流動的だが"Neural Art"とかそんな感じで呼ばれているようです。

このあたり興味もあるし、ソースコードもいろいろ公開されているので、勉強ついでにちょっとばかり弄ってみました。

ただし、ガチでやろうとするとウチの動画編集マシン程度では歯がたたず、高価なCUDA対応のGPUを複数載せたスーパーマシンが必要になってくるので、ほんのお遊び程度ですが。

お題は与えられた画像の画風を変換するというもの。chainer-goghというものを使用しています。
以下Wikimedia CommonsからPublic Domainの画像を拝借してます。

例えば先日蔵王で撮影した写真。



これ、見た目ゴッホっぽいなぁと思ったので、以下の本物のゴッホの絵と掛け合わせてみる。



結果は。



またはモネの庭写真に



本物のモネの絵を適用すると



結果。



おもしろい。

おそらく普通に人間がアルゴリズムを考えて作ったフィルターだとここまで劇的に絵を変化させるのは難しいでしょう。

問題点は処理時間で、いずれも小さな絵を一枚生成するのに4時間ほどかかってます。CUDAが使えればもっと速く大きな絵が作れるのでしょう。

あと、写真のような写実的な画像生成もまだ無理そうです。

余談で…

この同じ手法を画像ではなく音に適用したら面白いのでは?(ググってみるとやろうとしている人々はいるみたい。)

たとえばサイレント・バイオリンの音をストラディバリの音にしたり、ウチの安物ナイロンギターの音をConde Hermanosの音にしたりとか…Spectral matchingとかの技術でもある程度できるが、もっと本格的な物。

自前でやってもいいのだが、おそらく誰かすでに手がけてるだろうから様子見段階となります。