実践 コンピュータビジョン

[cover photo]
TOPICS
Database , Python
発行年月日
PRINT LENGTH
288
ISBN
978-4-87311-607-5
原書
Programming Computer Vision with Python
FORMAT
Print PDF
Ebook
3,300円
Ebookを購入する
Print
3,300円

コンピュータビジョンの理論とアルゴリズムを基礎から学べる実践的な入門書。理論の説明にとどまらず、ベクトル演算や行列演算を駆使したサンプルを示しながら物体認識、3次元復元、ステレオ画像、拡張現実感、その他の応用について解説します。サンプルプログラムはPython 2.7で書かれています。OpenCVを使うだけではコンピュータビジョンの本質を理解できません。forループでピクセルを操作し行列を計算する時代でもありません。Pythonの数値演算ライブラリを使えば、ほどよい粒度でコンピュータビジョンの基礎を学べます。各章末には演習問題が用意してあります。演習問題を解くことで自分がその章で何を学んだのか、また自分の理解度を確認できます。

●本書で扱うサンプルプログラムの説明(サンプルコードは「関連ファイル」タブページからダウンロード可)。

翻訳者の相川氏のブログには、本書の追加情報や関連する技術情報が掲載されています。

関連ファイル

目次

訳者まえがき
まえがき

1章 基本的な画像処理
    1.1 PIL
        1.1.1 画像のファイル形式変換
        1.1.2 サムネイルの作成
        1.1.3 領域のコピーと貼りつけ
        1.1.4 拡大縮小と回転
    1.2 Matplotlib
        1.2.1 画像と点と線を描画する
        1.2.2 画像の等高線とヒストグラム
        1.2.3 インタラクティブな注釈
    1.3 NumPy
        1.3.1 配列による画像表現
        1.3.2 グレーレベルの変換
        1.3.3 画像のサイズ変更
        1.3.4 ヒストグラム平坦化
        1.3.5 平均画像
        1.3.6 画像の主成分分析
        1.3.7 pickleモジュール
    1.4 SciPy
        1.4.1 画像をぼかす
        1.4.2 画像の微分
        1.4.3 モルフォロジー ―― 物体を数える
        1.4.4 便利な SciPyモジュール
    1.5 高度な例:画像のノイズ除去
    1.6 演習問題

2章 画像の局所記述子
    2.1 Harrisコーナー検出器
        2.1.1 画像間の対応点を見つける
    2.2 SIFT
        2.2.1 特徴点
        2.2.2 記述子
        2.2.3 特徴点を検出する
        2.2.4 記述子を対応づける
    2.3 ジオタグ付きの画像を対応づける
        2.3.1 Panoramioからジオタグ付きの画像をダウンロードする
        2.3.2 局所記述子を使って対応づける
        2.3.3 関連画像を可視化する
    2.4 演習問題

3章 画像間の写像
    3.1 ホモグラフィー
        3.1.1 DLTアルゴリズム
        3.1.2 アフィン変換
    3.2 画像の変形
        3.2.1 画像の中の画像
        3.2.2 分割アフィンワーピング
        3.2.3 画像の位置合わせ
    3.3 パノラマの作成
        3.3.1 RANSAC
        3.3.2 ロバストなホモグラフィー推定
        3.3.3 画像をつなぎ合わせる
    3.4 演習問題

4章 カメラモデルと拡張現実感
    4.1 ピンホールカメラモデル
        4.1.1 カメラ行列
        4.1.2 3Dの点の射影
        4.1.3 カメラ行列の分解
        4.1.4 カメラ中心の計算
    4.2 カメラキャリブレーション
        4.2.1 単純なキャリブレーション方法
    4.3 平面とマーカーを使った姿勢推定
    4.4 拡張現実感
        4.4.1 PyGameとPyOpenGL
        4.4.2 カメラ行列から OpenGL形式へ
        4.4.3 仮想物体を画像に配置する
        4.4.4 まとめ
        4.4.5 モデルを読み込む
    4.5 演習問題

5章 多視点幾何
    5.1 エピポーラ幾何
        5.1.1 サンプルデータセット
        5.1.2 Matplotlibによる 3Dデータの描画
        5.1.3 F行列の計算 ―― 8点法
        5.1.4 エピ極とエピポーラ線
    5.2 カメラと 3D構造を使った計算
        5.2.1 三角測量
        5.2.2 3Dの点群からカメラ行列を計算する
        5.2.3 基礎行列からカメラ行列を計算する
    5.3 多視点による復元
        5.3.1 ロバストな基礎行列推定
        5.3.2 3Dの復元の例
        5.3.3 多視点への拡張
    5.4 ステレオ画像
        5.4.1 視差マップを計算する
    5.5 演習問題

6章 画像のクラスタリング
    6.1 k平均クラスタリング法
        6.1.1 SciPyのクラスタリングパッケージ
        6.1.2 画像のクラスタリング
        6.1.3 画像の可視化
        6.1.4 ピクセルのクラスタリング
    6.2 階層クラスタリング
        6.2.1 画像のクラスタリング
    6.3 スペクトラルクラスタリング
    6.4 演習問題

7章 画像検索
    7.1 内容に基づく画像検索
        7.1.1 テキストマイニングのヒント ―― ベクトル空間モデル
    7.2 ビジュアルワード
        7.2.1 ボキャブラリの作成
    7.3 画像にインデクスを付ける
        7.3.1 データベースを設定する
        7.3.2 画像を追加する
    7.4 データベースの画像を検索する
        7.4.1 インデクスを用いて候補を取得する
        7.4.2 画像を用いて問い合わせる
        7.4.3 ベンチマークを測定し結果を描画する
    7.5 配置を用いて結果をランキングする
    7.6 デモ用 Webアプリを作る
        7.6.1 CherryPyを使った Webアプリを作る
        7.6.2 画像検索デモ
    7.7 演習問題

8章 画像認識
    8.1 k近傍法
        8.1.1 簡単な 2Dの例
        8.1.2 画像特徴量としての密な SIFT
        8.1.3 画像の分類 ―― 手話認識
    8.2 ベイズ分類器
        8.2.1 PCAで次元削減する
    8.3 サポートベクターマシン
        8.3.1 LibSVMを使う
        8.3.2 SVMによる手話認識
    8.4 光学文字認識
        8.4.1 分類器を訓練する
        8.4.2 特徴量を選ぶ
        8.4.3 多クラス SVM
        8.4.4 マスの抽出と文字認識
        8.4.5 画像の位置合わせ
    8.5 演習問題

9章 画像の領域分割
    9.1 グラフカット
        9.1.1 画像からグラフを構成する
        9.1.2 ユーザー入力を用いた領域分割
    9.2 クラスタリングを用いた領域分割
    9.3 変分法
    9.4 演習問題

10章  OpenCV
    10.1 OpenCV Pythonインタフェース
    10.2 OpenCVの基本
        10.2.1 画像の読み書き
        10.2.2 色空間
        10.2.3 画像と結果を表示する
    10.3 動画の処理
        10.3.1 動画入力
        10.3.2 NumPy配列に動画を読み込む
    10.4 追跡
        10.4.1 オプティカルフロー
        10.4.2 Lucas-Kanade法
    10.5 他のサンプル
        10.5.1 インペインティング(画像復元)
        10.5.2 ウォーターシェッド変換による領域分割
        10.5.3 Hough変換による直線検出
    10.6 演習問題

付録A パッケージのインストール方法
    A.1 NumPyとSciPy
    A.2 Matplotlib
    A.3 PIL
    A.4 LibSVM
    A.5 OpenCV
    A.6 VLFeat
    A.7 PyGame
    A.8 PyOpenGL
    A.9 Pydot
    A.10 python-graph
    A.11 simplejson
    A.12 PySQLite
    A.13 CherryPy

付録B 画像のデータセット
    B.1 Flickr
    B.2 Panoramio
    B.3 オックスフォード大学の視覚幾何学グループ
    B.4 ケンタッキー大学の認識ベンチマーク画像
    B.5 その他

付録C 画像の出典
    C.1 Flickrからの画像
    C.2 その他の画像
    C.3 イラスト

参考文献
索引