GUST NOTCH? DIARY

Mastering Opencv with Practical Computer Vision Projects / Shervin Emami,Khvedchenia Ievgen,Naureen Mahmood (asin:1849517827)

OpenCV を使った具体的な応用例を通じて、OpenCVComputer Vision により詳しくなれる本。ここでの「具体的な」というのは、関数の使い方を示したサンプルにとどまらず、ある目的をもってアプリケーションをつくるところまで、という意味で。
全部で9章あって、それぞれが具体的な目的を実現している。

  • Chapter 1: Cartoonifier and Skin Changer for Android
    • Android 上でデバイスのカメラから画像を取得し、画像処理を行います。画像処理部分はOpenCVで、Android 依存のところは Java で記述して、NDKでOpenCVで書いた処理を呼び出す、ということを行います。
  • Chapter 2: Marker-based Augmented Reality on iPhone or iPad
    • iOSバイスでのマーカ検出とCGの重ね合わせ。XCode での開発の仕方から、マーカ検出、3D-2Dマッピング、CGオブジェクトの描画まで。なるほど、iOS にするとカメラパラメータをあらかじめ準備するというのが楽になるわけだ。ARToolkit が最適化を行っていたようなことを、今は汎用の処理ルーチンで書いてもモバイルデバイスで動いちゃうんだね。
  • Chapter 3: Marker-less Augmented Reality
    • 要は画像認識と空間射影
  • Chapter 4: Exploring Structure from Motion Using OpenCV
    • 複数画像からの三次元再構成
  • Chapter 5: Number Plate Recognition Using SVM and Neural Networks
    • ナンバープレート認識を目標として、SVM と NN を用いたパターン認識の基礎。スペインのナンバープレートって、再帰性反射材が塗ってあるの?
  • Chapter 6: Non-rigid Face Tracking
    • ここから三つは顔認識関連で、まずは顔の検出
  • Chapter 7: 3D Head Pose Estimation Using AAM and POSIT
    • 次に、顔の向きの推定
  • Chapter 8: Face Recognition using Eigenfaces or Fisherfaces
    • そして、顔の認識。6章は顔があるかどうかの検出だけで、8章は誰の顔かまでを判別する
  • Chapter 9: Developing Fluid Wall using the Microsoft Kinect
    • Kinectを使ったインタラクションアートっぽいもの。OpenNIを使用。CUDAサポートの話も。

OpenCV の基本を押さえている人が、もう一歩進むためにはいい本だと思う。目的のためにはどんな処理が必要で、それを OpenCV でやるときにはこの関数を使う、みたいな雰囲気。Computer Vision の立場からも、どういう研究がされてきて、今はこれが主流、みたいなチュートリアルにもなってる。
9章あるんだけど、印刷されている本にあるのは8章まで、9章はPDFをダウンロードしてね、ということになってます。
この本、PACKT PABLISHING という会社の本ですが、基本的に電子書籍としてオープンソース最新の情報を提供しているところらしいです。そのため、紙の本は「電子書籍を印刷して製本したもの」というポジションみたい。本文では図版などがカラーの前提で説明されていますし、組版はイマイチ。文字間が微妙に近すぎたり、合字フォントは使われていないのに文字の位置だけは近かったしてます。数式は画像の貼り付けで少しぼけてたり、TMや転置行列のTなどが上つきになっていなかったり。でも、紙の本と電子本がセットで売っているというのはいいですね。

ちなみにこの本、洋書で値段などもドルとポンドで書いてあるのですが、日本で印刷されています。