2014年9月21日日曜日

Light fieldの原理をLytroがじきじきに解説

久しぶりにLytroのblogをのぞいたら、Lytroが論文を公表していた。
まだ目を全部に目を通してないけど、見たことない頭があったりした。
http://blog.lytro.com/post/97168596625/modeling-the-light-field-camera

最近はGoogle Cameraでもボケを作れるので静止画でのLytroの優位性はなくなってきている気が。動画だと処理が大変そうだしなー。

2014年9月19日金曜日

Microsoft OCR Library がリリースされた。

https://www.nuget.org/packages/Microsoft.Windows.Ocr/

WindowsRuntimeってWinRTのことで、Windows Metroのアプリをつくるためのものか。
いつか使ってみたいけど、言語がどれもわからん。

2014年9月8日月曜日

Juliaで簡単な回帰

Juliaの練習がてら簡単な線形回帰を行った。

以下のことが分かる練習にはちょうど良いシンプルなコードだ。

  • 乱数をどう発生させるか
  • 計画行列をどう作るか
  • Gadflyを使って2つのプロットを重ねるにはどうするか
  • Gadflyを使って軸の設定をどうするか
これらがわかれば自作する当面の計算にはこまらない気がする…
linreg()はバイアス項を勝手に計算してくれるみたいなので、入れなくてよいみたいだ。

# #Regression Example

using Gadfly
using Distributions

N = 15
xdata = (rand(N) - 0.5) * 2 * pi
σ² = 0.5
function noisy(x, r=rand(Normal(0, σ²))
    return sin(x) + r
end

#X results in Nx9 array
t = noisy(xdata);
X = Float64[x^i for x=xdata, i=[1:9]] #bias is not needed for linreg(). it will interpolate automatically

#regression by linreg
coeffs = linreg(X, t)

#plotting
f = x -> coeffs[1] + sum([coeffs[i]*x^(i-1) for i = [2:10]])

x_reg = linspace(-pi, pi, 100)
y_reg = [f(xi) for xi=x_reg]

plot(layer(x=x_reg, y=y_reg, Geom.line), layer(x=xdata, y=t, Geom.point),
    Coord.Cartesian(xmin=-pi, xmax=pi, ymin=-1.5, ymax=1.5))