2020年2月 技術メモ
母さん…僕サブピクセルのずれも許さずにはじめての鳥瞰図変換できたよ…。やはりこういう基本アルゴリズムをやるときは真値が得られるCGで練習するのが絶対正義ですね…。あとは補間とか面白い課題が残ってる、CNN使っても良いなー。 pic.twitter.com/M6H642ibpX
— Teppei Kurita (@kuritateppei) 2020年3月1日
なのでmitsubaはFovの方を指定することを推奨。焦点距離欲しかったら、fovから変換するべし。
— Teppei Kurita (@kuritateppei) 2020年3月1日
Mitsubaで焦点距離を入力すると、対角Fovに変換してから垂直水平Fovに変換する。対角Fovへの変換式が35mmのフィルム(36x24mm)前提なので、アス比が違うと死ぬ。なぜ35mm換算の焦点距離だけを実装した…。プルリクするにももう2出るしなあ。
— Teppei Kurita (@kuritateppei) 2020年3月1日
これ対角画角なので注意https://t.co/aLX5UVsncD
— Teppei Kurita (@kuritateppei) 2020年3月1日
右手座標系ではクオータニオンの回転方向は反時計回りを正の向きとして測る、左手座標系では時計回りが正。https://t.co/9LDLEaLNRO
— Teppei Kurita (@kuritateppei) 2020年2月29日
鳥瞰図変換が死ぬほどわかりやすくまとまってるhttps://t.co/hPKb8Yv668
— Teppei Kurita (@kuritateppei) 2020年2月28日
ブラックホールの画像を始めて作成したKatie Boumanの講演を聴きました。研究で地球の自転を利用してるって一度言ってみたい(笑)次は電波望遠鏡を宇宙に飛ばして更に高精度化するとのこと…スケール大きくて凄い。 pic.twitter.com/viO7R5rU0X
— Teppei Kurita (@kuritateppei) 2020年2月27日
DeepImagePriorでなぜ質の高い画像が生成されるか、理論的なところはまだわかっていない。実験的には自然画像とノイズ画像を生成する際に、自然画像の方が学習速度が速かったことが示されている。https://t.co/TcWBo8nMNd
— Teppei Kurita (@kuritateppei) 2020年2月27日
Pythonのzip()では、与えられたリストのうち最も少ないものに合わせてtupleが作られる。例えばzip(A[:5],B[:3])では長さ3のtupleが作られる。
— Teppei Kurita (@kuritateppei) 2020年2月26日
推薦システムにおける行列分解でSVDがあまり有効でない理由が示されている
— Teppei Kurita (@kuritateppei) 2020年2月24日
Matrix Factorizationとは https://t.co/VGcyInZMZY
今までPythonの関数内のボトルネックとかを調べるとき、timeitとかで地道にやってたけどline_profilerってやつ使ったら滅茶苦茶便利でしたhttps://t.co/whfUqDqUnK
— Teppei Kurita (@kuritateppei) 2020年2月24日
はじめてgit push origin masterってコマンド見た時、pushもoriginもmasterも意味わからなくて震えた
— Teppei Kurita (@kuritateppei) 2020年2月23日
あれか席取りでハンカチをテーブルの上に置くやつって.gitkeepの現実版か
— Teppei Kurita (@kuritateppei) 2020年2月23日
ソーラーパネルの波長特性は大きく2つの材料を覚えておけばよさげhttps://t.co/U5O9RMDgXJ pic.twitter.com/uQs7zEeYpy
— Teppei Kurita (@kuritateppei) 2020年2月22日
自分あまり照度計の波長特性についてちゃんと知らずにふんいきで使ってたのが明らかになった…。
— Teppei Kurita (@kuritateppei) 2020年2月22日
「照度計受光部の相対分光応答度特性は、人間の目の感度である標準分光視感効率V(λ)に一致することが理想」https://t.co/jKqTeJqxOc pic.twitter.com/Dthi9ntT4k
太陽光発電について調べてたらこの世界の権威のすごいページにたどり着いた。どんだけ資料あるんだ…https://t.co/l2WU6bqTC2
— Teppei Kurita (@kuritateppei) 2020年2月22日
うおーーー!Python3.3ってpipプレインスコされてないじゃん!
— Teppei Kurita (@kuritateppei) 2020年2月22日
荒ぶるCornelBoxの照明「俺だってもう同じ位置飽きたんじゃ」#誰得シリーズ pic.twitter.com/xkdk15pn3A
— Teppei Kurita (@kuritateppei) 2020年2月22日
内積便利すぎてcosと等価だと思い込んでたまに正規化忘れる
— Teppei Kurita (@kuritateppei) 2020年2月21日
mitsubaのLow discrepancy samplerのSampleCountは2の累乗に強制的にセットされる。#mitsubaメモ
— Teppei Kurita (@kuritateppei) 2020年2月21日
VSCodeってワークスペース毎にPythonのバージョン切り替えられるの滅茶苦茶便利なのに使いこなせてなかった…。
— Teppei Kurita (@kuritateppei) 2020年2月20日
ゲームとかの隠しコマンドのことイースター・エッグって言うのか。ファミコン時代はよくありましたね。Pythonのimport thisとかもその一種な気がする。https://t.co/3tHtFVPfZr
— Teppei Kurita (@kuritateppei) 2020年2月20日
CornelBoxのオブジェクトの位置とかの標準が見つからなかったので自分で作りました。ついでに公式がobj使ってたのでmitsubaのrectangleプリミティブだけでシーン記述しました(謎のこだわり)。車輪の再∞発明っぽいですが、研究用途などにどうぞ。https://t.co/kJxHJYArAh pic.twitter.com/EtvVwSvm06
— Teppei Kurita (@kuritateppei) 2020年2月20日
Mitsubaでレンダしたとき、右下のロゴはfilmのオプションbannerをfalseにすれば消せる。#mitsubaメモ pic.twitter.com/XEDQSPjaHa
— Teppei Kurita (@kuritateppei) 2020年2月18日
あー点光源は理想的には面積がないから放射強度(intensity)で明るさを表現するんですね。面光源は面積があるから面積を正規化した放射輝度(radiance)の方が扱いやすいと。チョットワカルくらいにはなってきた…?点光源のintensityが1[cd]だったら、fluxは4π[lm]で良いのかしら。
— Teppei Kurita (@kuritateppei) 2020年2月18日
mitsubaのバーチャル照度計(irradiancemeter)は、objで計測するとUV展開された面で計算されてわけわかんなくなるので、プリセットのrectangle shape使うのが良さげ。世界で今この機能使ってんの自分だけだと思うけど。#mitsubaメモ
— Teppei Kurita (@kuritateppei) 2020年2月18日
Kerasはネットワークを記述する方法としてsequential APIとfunctional APIがあるけど、functional APIでしか記述できない構造が多くあるので基本的にはfunctional APIで書く癖をつけた方が良さげ。sequential APIは人の書いたコードを読める程度でいいかな。
— Teppei Kurita (@kuritateppei) 2020年2月17日
mitsubaでfovとfocalLengthのどちらも指定するとどっちかにしろゴラアと怒られる(当たり前で、怒られない方が後でミスる)#mitsubaメモ
— Teppei Kurita (@kuritateppei) 2020年2月16日
mitsubaでのsensorのfovAxisはどの軸に指定したfovを使うか。例えばsmallerの場合はwidth,heightの小さいほう。diagonalなら斜めfov。defaultはx軸。#mitsubaメモ
— Teppei Kurita (@kuritateppei) 2020年2月16日
mitsubaレンダラーの座標系は右手系。+xは右→左。+yは下→上。+zは手前→奥。左手系に変えたい場合は、sensorプロパティでどこかの軸を左右反転させればよい。#mitsubaメモ
— Teppei Kurita (@kuritateppei) 2020年2月16日
SGD(確率的勾配降下法)って基本形はデータ1つ1つで勾配計算して更新していくもので、ミニバッチごとに更新するものはバリエーションの1つにすぎないけど、もう世間的にSGD使ってるっていったらミニバッチ毎の更新と思われるという認識で良いのかしら。
— Teppei Kurita (@kuritateppei) 2020年2月16日
放射輝度とか照度とか放射量と測光量を混ざった英語文献を調査してて頭がおかしくなりそうだったのでまとめました。ご自由にお使いください。
— Teppei Kurita (@kuritateppei) 2020年2月15日
光束発散度はluminous radianceなのに測光量なの罠すぎる…。 pic.twitter.com/nrRWUwMrAk
微小立体角はdω=sinθdθdϕなので、天頂角が小さいほど値が小さくなり、方位角の値には非依存。
— Teppei Kurita (@kuritateppei) 2020年2月14日
ステラジアン[sr]ってstereos(ギリシャ語で立体)のラジアンだからステラジアンなのか。
— Teppei Kurita (@kuritateppei) 2020年2月14日
今私たちが使っている「ステレオ」もそれが語源とのこと。
とりあえず何か室内をシミュレーションするときの反射率は以下で考えとけばよさげ(出典は怪しい)
— Teppei Kurita (@kuritateppei) 2020年2月14日
天井:70%
壁:50%
床:30%
トゥーンシェーダーってフレネル項使って力づくで作れるのかw
— Teppei Kurita (@kuritateppei) 2020年2月13日
全く無い発想なのでやはりクリエイターさんの話は参考になる…研究ばっかりやってちゃダメだ
【Eevee】Blender2.8でトゥーンシェーダーを作る! https://t.co/eoxiOgtQpx via @Daiki_Moroi
DirectXとOpenGLでは法線マップの座標が違うのか
— Teppei Kurita (@kuritateppei) 2020年2月12日
MME:法線マップについて|CzPanel https://t.co/Kq9ZKymFhf via @czpanel
PyTorch3DまだWindows対応していないので、MacやLinux環境ないけどサクッと試したいだけの人はGoogleColabがおススメ。Notebookの先頭に以下でインスコすれば動きます。
— Teppei Kurita (@kuritateppei) 2020年2月10日
!pip install 'git+https://t.co/8Cs3tKNij8'
GCPでVMインスタンスでUbuntu作って、apt install gnome-core, xrdpでGUIインスコ&リモート接続整えて、RDClientで接続したら、iPhoneでLinuxGUIがイジれる環境が10分弱で作れる…いい時代ですね。無料枠だし。(画像はiPhoneの画面) pic.twitter.com/BHHLaFm7oh
— Teppei Kurita (@kuritateppei) 2020年2月10日
食わず嫌いだったけどWSL初めてみるかな、少し世界が広がりそう
— Teppei Kurita (@kuritateppei) 2020年2月9日
【WSL入門】第1回 Windows 10標準Linux環境WSLを始めよう:ITの教室 - @IT https://t.co/LShm9SbBOT
今更ながら純正版のスタンドアロンKerasとTensorFlow同梱版のtf.kerasの違いについての解説動画を見た。
— Teppei Kurita (@kuritateppei) 2020年2月9日
要点をまとめると、2つはほぼ同じだが、モジュールの階層が違うので呼び出し方は当然異なる。Kerasにあってtf.kerasに無い機能はあるが一般ユーザーは全く困らない程度。https://t.co/TQ1LmI5VMN
やばいなこれ https://t.co/VRcZW0UBMD
— Teppei Kurita (@kuritateppei) 2020年2月9日
今更読んだけど死ぬほどわかりやすいな
— Teppei Kurita (@kuritateppei) 2020年2月7日
AutoEncoder, VAE, CVAEの比較 〜なぜVAEは連続的な画像を生成できるのか?〜 https://t.co/bUllQbZQEP
広域フォトグラに最近興味があるのですが、滅茶苦茶参考になりました。CPUとメモリがとにかく大事なのですね。
— Teppei Kurita (@kuritateppei) 2020年2月6日
【フォトグラメトリ】建築デジタルアーカイブ 第1回「撮影編」 https://t.co/zEogdXgkf7
Batch normalizationとDropoutを併用する場合はBN→Dropoutの順番じゃないと性能悪化すると。原因はそれぞれの分散の扱いの違いと、なるほど。最近はあんまDropout使わないけど頭に入れとこう。https://t.co/BQAW4zq48d
— Teppei Kurita (@kuritateppei) 2020年2月3日
PyTorchで複数のLossを組み合わせた時のbackwardは以下で良い。
— Teppei Kurita (@kuritateppei) 2020年2月3日
(loss1+loss2+loss3).backward()#Qiitaに書くまでもないメモ
PyTorchのignite入れるとき"pip install ignite"だとなんか変なの入るから注意
— Teppei Kurita (@kuritateppei) 2020年2月3日
pip install pytorch-ignite#Qiitaに書くまでもないメモ
AlbumentationsっていうPyTorch用のImageAugmentationモジュールがとても便利。やりたい変形やトーン変化が大体そろっていて、自分でいちいち書いたり調整しなくて良い。もっと早く知りたかった…。
— Teppei Kurita (@kuritateppei) 2020年2月3日
pip install albumentationshttps://t.co/g1iOssSwiu#Qiitaに書くまでもないメモ
毎回必ず忘れるopencvのpipインストール
— Teppei Kurita (@kuritateppei) 2020年2月2日
pip install opencv-python#Qiitaに書くまでもないメモ
tqdmってこんな色々便利オプションあったのか。https://t.co/fMN8NiFzYS pic.twitter.com/pKJtHkYK1F
— Teppei Kurita (@kuritateppei) 2020年2月2日
PyTorchの各学会での使用割合を示している。TensorFlow比なので50%を超えるとPyTorchの方がTensorFlowより使われている。主要トップカンファレンスでは2019年以降PyTorchが優勢であり、その傾向が継続していることがわかる。現在のアカデミック会でのPyTorchの勢いがわかる。https://t.co/0B7QzVyKCd pic.twitter.com/YtjEhOP7vG
— Teppei Kurita (@kuritateppei) 2020年2月1日