サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
tatsy.github.io
こんにちはtatsyです。今回は最近興味をもっているNormalizing Flowの技術について紹介したいと思います。 Normalizing Flowという言葉はRezendeらによって2015年に発表された以下の論文で一般的に使われるようになった言葉です。 Rezende et al. 2015, “Variational Inference with Normalizing Flows”, ICLR 2015. [arXiv]この論文のタイトルにある通り、Normalizing Flowという技術はVariational Inference、すなわち変分推論の技術の一つです。そこで、第1回では、変分法と変分推論について見ていくこととします。 変分法変分法というと、大学の教育課程では、おそらく解析力学のような分野で最初に登場する言葉かと思います。例えば、坂道を転がる球が最短の時間で転
画像中の図形検出 今回はOpenCVを用いて画像中から図形を検出する。図形の検出は、画像からのエッジの情報を取り出す処理と、エッジ情報を元に境界線を認識する処理、境界線から図形の形状を分類する処理の三つに分けられる。 エッジの検出 画像処理におけるエッジ抽出で広く用いられているのはSobelフィルタとCanny法だろう。 Sobelフィルタ Sobelフィルタは画像のある方向に対する勾配をとるときに、その方向と直交する方向に平滑化をかけることで、ノイズの影響を抑えつつエッジを検出する方法である。画像処理の教科書だけでなくWeb上にも多くの解説があるので、各自調べて見てほしい。 Canny法 Canny法はSobelフィルタと比べると少し処理が複雑で、いくつかの処理の組み合わせからなる。 まず画像に対してガウシアンフィルタをかけてノイズの影響を抑える。その後、画像の縦方向と横方向について画像
こんにちはtatsyです。 今回は年末年始に時間があったので、MacでVulkanを使う方法をまとめてみたいと思います。 Vulkanとその他のGraphics APIVulkanはOpenGLと同じKhronos groupという団体が提唱するGraphics APIの仕様です。 OpenGLは仕様が少し古く、複数のGPUへの対応であったり、描画命令のオーバーヘッドの多さであったりが問題視されるようになってきました。それにともなって、より複雑ながらも、よりGPUのハードウェアに近い部分を扱えるように考えられたのがVulkanです。 Vulkanは公式にはMacOS上では動作しないのですが、Vulkanと同じような思想のもとにAppleが開発しているMetalというGraphics API上でVulkanを実装したMoltenVKというフレームワークがあります。 MoltenVK http
こんにちはtatsyです。 今回の記事は レイトレ合宿5 アドベントカレンダー の第8回の記事になります。 今回の記事では、Microfacetモデルに用いられる法線分布関数の代表例であるBeckmann分布とGGX分布について、重点サンプリングに用いる公式を導出し、それをsmallpt ベースのレンダラーに組み込むところまでをご紹介しようと思っています。今回の記事の内容は主に以下の2つの論文の内容をまとめたものになりますので、ご興味のある方は原著の方もご覧ください。 Walter et al. 2007, “Microfacet Models for Refraction through Rough Surfaces”, EGSR 2007.Heitz et al. 2014, “Importance Sampling Microfacet-Based BSDFs with the Di
本日は画像処理の中でも割と古典的?と思われるColor Constancyのアルゴリズムをいくつか紹介したいと思います。このアルゴリズムはEbnerの「Color Constancy」という本の7章に紹介されているもので、LandのRetinex理論をベースとしたものです。 紹介するアルゴリズムは HornのアルゴリズムBlakeのアルゴリズムMooreのアルゴリズムRahmanのアルゴリズム準同型フィルタを用いたアルゴリズムFaugerasのアルゴリズムです。 ちょっと長くなってしまいそうなので2回に分けましょうかね。というわけでレッツスタート。 HornのアルゴリズムHornのアルゴリズムはなだらかに色変化する成分が照明光の成分であろうという仮定に基づいて照明の成分を除去します。具体的にはラプラシアンフィルタを適用した後、閾値処理を行うことで得られた信号の2回微分成分をポアソン方程式を
こんにちはtatsyです。 今回の記事はレイトレ合宿4!?のアドベントカレンダー第8週目の記事です。そのほかの記事につきましても、レイトレ合宿4!?のページからご覧いただけますので、ご興味のある方はぜひぜひ読んでみてください。 さて、今回の記事の内容についてですが、レンダリングにおける半透明物体の扱い方について、dipoleモデルとその発展系を中心として、いくつかの手法をご紹介したいと思います。 レンダリングにおける半透明物体CGにおいて、おそらくもっとも重要と思われる半透明物体は人間の肌だと思います。このほかにも世の中に存在する多くの物体 (例えば、人間以外の動物の肌や、植物の繊維など) も厳密には表面下に光を透過する性質を持っています。 このような物体の表面下に光が浸透して、物体内で光が散乱、吸収される光学的現象のことを表面下散乱と呼びます。この現象により、物体に透明感が生まれ、リアル
こんにちはtatsyです。 相変わらず、テスト環境に凝っている今日この頃です。 今日は意外と解説しているページがなかったので、Travis CIからGitHubのReleasesへ自動でデプロイする方法についてまとめてみたいと思います。 手順は、 GitHubでTravisからのPushおよびDeployを許可Travis CI用のトークンの暗号化デプロイのための.travis.ymlの書き方となっております。順にご説明したいと思います。 GitHubでTravisからのPush/Deployを許可まず、GitHubにアクセスして、ユーザのSettingsページに移動します。 左側のメニューに「Personal access tokens」という項目があるので、そこに移動します。 その上側に「Generate new token」というメニューがあるので、そこをクリックし、新しいトークンを
このページを最初にブックマークしてみませんか?
『Tatsuya Yatagawa - Hitotsubashi University』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く