What you'll learn:
- デジタル画像の基礎
- グレースケール画像とカラー画像,ヒストグラム,トーンカーブ,コントラスト,画像間演算
- 二値画像処理,しきい値,ラベリング,モルフォロジー処理,細線化
- 動画像処理,背景差分,フレーム間差分,オプティカルフロー,カルマンフィルタ,パーティクルフィルタ
- 画像の幾何変換,回転,並進,補間,合成,アフィン変換,射影変換,同次座標
- フィルタリング,平均値フィルタ,ガウスフィルタ,エッジフィルタ,ラプラシアンフィルタ,Cannyエッジ検出,非線形フィルタ
- 2次元フーリエ変換,スペクトル,2DFFT,周波数空間でのフィルタリング,ローパスフィルタ,ハイパスフィルタ,リンギング
- 逆フィルタ,ウィーナフィルタ,超解像,HDR
- 領域分割,テクスチャ特徴量,クラスタリング(k-means, GMM, mean shift),動的輪郭モデル,グラフカット
- テンプレートマッチング,ハフ変換,特徴点検出(Harris, FAST),特徴量マッチング(SIFT, ORB, KAZE),パノラマ画像作成
- パターン認識,教師あり・教師なし・半教師あり学習,kNN 最近傍法,SVM サポートベクトルマシン,Boosting,顔検出,ランダムフォレスト
- ディープラーニング,MLP 多層パーセプトロン,CNN 畳込みネットワーク,物体検出などの応用例
- 撮像過程,透視投影,ピンホールカメラモデル,レンズモデル,歪曲収差,被写界深度,撮像素子,シャッター
- 3次元復元,ステレオ視,エピポーラ幾何,キャリブレーション,アクティブステレオ,SfM
- 色,分光分布,RGB表色系,XYZ表色系,カラーマッチング,YUV
- 視覚系,眼球,視細胞,視覚情報経路
- jupyter notebookを用いたpythonによる画像処理例
- カメラ映像をpythonでリアルタイムに画像処理する方法
- OpenCVを用いた画像処理
- Scikit-imageを用いた画像処理
このコースでは,画像処理の基礎をスライド形式のレクチャーで学び,さらにPythonコードを実行して実際に画像処理を体験します.このコースの目標は,画像処理に関する幅広い知識を身につけ,画像処理の基本的な手法を理解することです.明るさ補正のためのトーンカーブによる画素値の変換,背景差分などの動画像処理,ラベリングなどの二値画像処理から始めて,フィルタリング,フーリエ変換による周波数スペクトル,局所特徴量などの手法や,顔検出,CNNによる簡単な画像認識,カメラモデル,3次元復元など,古典的な画像処理からコンピュータビジョンまで,画像処理をする上で知っておく知識を網羅的に解説しています.
画像処理のトピックは幅広いため,このレクチャーでは一つ一つの内容を深く解説することよりも,様々な場面で遭遇する画像処理の基礎技術のコンセプトを紹介することにしています.ここで紹介した内容は様々な画像処理の応用場面で遭遇すると思いますので,その場合には各トピックをもっと詳しく解説している他の資料を参考にしてください.
スライド形式のレクチャーを聞くだけでなく,Pythonの画像処理ライブラリを用いて,インタラクティブなプログラミング環境で実際にPythonコードを実行しながら,実践的な画像処理を学びます.Jupyter-notebookによるインタラクティブなプログラミングに加えて,Webカメラから実際にカメラ映像を取り込んでリアルタイムに画像処理を行う方法も学びます.そのため一つのPythonモジュールにこだわらず,必要に応じて様々なモジュールを使います.Notebookでは主にscikit-imageを使いますが,コマンドラインで実行してカメラ映像を読み込み表示するためにはopencvを使います.その他のモジュールも使います(高速フーリエ変換にはscipy,exif情報読み込みにはPILなど).またメジャーな画像処理OSSであるGIMPも紹介します.
プログラミングの注意:Pythonやその他の言語でのプログラミング経験があることを前提にしていますので,Python自体の説明は省略しています.ただしnotebookやコマンドラインで実行するだけで画像処理が体験できるようにしていますので,Pythonコードを書くスキルは必要ありません.