Deep Belief SDK というライブラリを知ったので早速サンプルを動かしたところ、少しハマったので備忘録として記す。
https://github.com/jetpacapp/DeepBeliefSDK
これは、スマホやタブレット、RaspberryPiのような非力なCPUでニューラルネットワークによる学習を試せる代物らしい。
サンプルでは、識別したい対象とそうでない物を一定時間カメラで撮影して学習させた後、
カメラ内に対象があるかどうかを判定することができる。
- 試したサンプル:examples/LearingExample
- 開発環境: Xcode 5.1.1
- 実行環境: iPad mini Retina iOS 7.1.1
■嵌った点1:起動時に例外発生
2014-06-27 00:04:41.363 LearningExample[252:60b] Unknown class SquareCamViewController in Interface Builder file.
対策:
LerningExampleターゲット の Build Phases > Complile Sources にて
SquareCamViewController.m が入っていなかったので加えた
■嵌った点2:[Take A Picture]ボタン押下時に例外発生
2014-06-27 00:05:57.759 LearningExample[284:60b] -[UIBarButtonItem setTitle:forState:]: unrecognized selector sent to instance 0x1781b5a80
対策:
SquareCamViewController.m にて
[sender setTitle: @"Learning" forState:UIControlStateNormal];
を以下のように変更
[sender setTitle:@"Learning”];
以上の対応でめでたくサンプルが動いた。
試しにビール缶を学習させてみたところ、上手く識別できて感動した。
印象としては、対象物が拡大・縮小した分にはわりと強いが、カメラを回転させると識別しづらそうな感じ。予め回転した画像も撮っておけば結果は変わるのだろうか?
肝心のAPIを眺めるのはこれから。