2015-01-01から1年間の記事一覧

サーバーなしでD3.jsを使う

D3.jsはグラフの表示などができるJavaScriptのライブラリです。今回はこれを使って散布図を表示させてみます。 はじめに データの可視化をする方法として一番有名なものはエクセルです。しかし、エクセルだと操作できるグラフを作ったり、かっこいいグラフを…

Differential Evolutionで大域的最適化

はじめに Differential Evolutionという手法を使うと、少ないパラメーターで関数の最小化を行うことができます。いわゆる遺伝的アルゴリズムと呼ばれるものです。 アルゴリズム 例としてAckley Functionと呼ばれる関数の最小点を探索してみます。 この関数は…

Stan Math Libraryでディリクレ分布からサンプルする

はじめに C++から使うことのできるStan Math Libraryには、統計や機械学習で使う数学の関数が多数実装されています。このライブラリを使って、ディリクレ分布からサンプリングしてみました。 必要なソフト Stan Math Library(stan-dev/math · GitHub) Eigen(…

EigenのMatrix function機能

はじめに EigenにはMatrix functions moduleがあります。これを使うことで、行列のcosやexpを計算することができます。 例(コサイン) そもそも行列のcosって何でしょう。「matrix function cos」で検索すると、こちらのサイトが見つかりました。 What is the…

C++でディリクレ分布からサンプルする

はじめに 最近「続・わかりやすいパターン認識」という本を読んでいます。いわゆるノンパラベイズ本でして、パラメータの事前分布としてディリクレ分布が多用されています。気になったのでC++でサンプリングする方法を調べてみました。 ディリクレ分布のサン…

Efficient Graph-Based Image Segmentationのお勉強

はじめに 画像中の似ているところを見つけてラベリングをする手法があります。いわゆるImage segmentationのことで、Efficient Graph-Based Image Segmentation, 2004.が有名そうなので調べてみました。 アルゴリズム Union-Find Treeを使うのが特徴的です。…

透過ウィンドウで画像処理する

はじめに 画像処理のプログラムを書くときには、テスト用に画像や動画を使用します。これを準備するのは面倒なので、YouTubeや画像検索の結果画面を処理対象にできたら便利だなと思うことがありました。今回は透過するウィンドウをつくり、その領域で画像処…

動体検出を軽くする(AAS, CVPR '12)

はじめに 動体検出を使用して物体の検出を行うことがあります。特に最近のカメラは高画素であり、処理が重くなります。そこで、画像の全画素で処理を行わず、物体がありそうなところだけで処理を行う方法が考えられます。 アルゴリズム ちょっと前の論文です…