はじめに
画像処理は実社会の様々な場面で利用されている
デジタル画像・画素値変換・二値画像処理
デジタル画像=画素の集まり
空間と値の離散化:標本化と量子化
カラー画像とグレースケール画像
ヒストグラム
統計量
画像のノイズ
トーンカーブ
明るさ補正
ガンマ変換
コントラスト強調
ヒストグラム平坦化
カラー画像のトーンカーブ調整
疑似カラー表示
色相・彩度・輝度への変換
色の調整
画像間の演算
画像のマスク
アルファブレンディング
しきい値による二値化
二値化の例
二値化の手法:大津のしきい値など
適応的(局所的)な二値化
ラベリング
モルフォロジー処理:膨張・収縮
凸包
4近傍連結と8近傍連結
細線化
距離画像
GIMP
GIMP:トーンカーブ調整,コントラスト強調,二値化
GIMP:色調整
jupyter-notebookのインストール方法,このレクチャーで使用するコードの入手方法
notebook:準備,画像ダウンロード
notebook:画像(2次元配列)へのアクセスは行・列
notebook:カラー画像とグレースケール画像のチャンネル数
notebook:RGBチャンネルの表示
notebook:RGBの2つの格納方法 planar formatとpacked format
notebook:RGBとBGR カラー画像の2つのフォーマット
notebook:scikit-imageはRGB,opencvはBGR
notebook:カラー画像のグレースケールへの変換
notebook:ヒストグラム計算
notebook:統計量の計算
notebook:平均と標準偏差を計算するコードの書き方
notebook:画素値のガンマ変換
notebook:カラー画像のチャンネル別ガンマ変換
notebook:疑似カラー表示
notebook:画像の平均
notebook:アルファブレンディング
notebook:二値化・大津のしきい値と適応的二値化
notebook:ラベリングとモルフォロジー処理
notebook:細線化
動画像処理・幾何変換
動画像=画像の系列
フレームレート,fps
背景差分
フレーム間差分
統計的(適応的)背景差分
オプティカルフロー
密なオプティカルフローとカラー表示
疎なオプティカルフロー:KLT追跡
オンラインベイズフィルタ
カルマンフィルタによる追跡例
カルマンフィルタのシステム行列・観測行列の例
パーティクルフィルタ
幾何変換:画像の変形
線形変換:スケーリング,回転,鏡映
画像の変形における順方向・逆方向の標本化
画像(画素値)の補間
線形変換の合成
平行移動:同次座標の導入
同次座標
アフィン変形・アフィン変換
射影変換(ホモグラフィ):最も一般的な変換
GIMP:画像の変形(平行移動,アフィン変換,射影変換,非線形変換)
notebook:画像の回転+スケーリングありなし
notebook:変換の合成(回転と並進)
notebook:射影変換
notebook:画像変換における順変換と逆変換の標本化
notebook:様々な補間手法(双線形,双3次,等)
GIMP:画像変形時の補間手法の指定
opencv
opencv:コマンドラインでカメラ画像を表示するだけのpythonコード
opencv:カメラ画像を表示してマウスクリックを取得する
opencv:カラー画像を表示してスライドバーから値を取得
opencv:カメラ映像でフレーム間差分
opencv:カメラ映像で背景差分
opencv:適応的な背景差分
opencv:オプティカルフローとカラー表示
opencv:KTLトラッカーで疎なオプティカルフロー
フィルタリングと周波数領域
各画素の周辺領域を利用した処理
線形フィルタリング:畳み込み
線形フィルタリング:畳み込み2
線形フィルタリング:畳み込み3
平均値フィルタ
ガウスフィルタ
フィルタカーネルの画像としての表示+疑似カラー表示
微分フィルタと差分近似
エッジ強度の計算
Prewittフィルタ,Sobelフィルタ
ラプラシアンフィルタ:2次微分
LoG:ラプラシアン+ガウシアン
LoGとゼロ交差
LoGとDoG:1次元の例
Cannyのエッジ検出
アンシャープマスク
アンシャープマスク:1次元の例
非線形:メディアンフィルタ
非線形:バイラテラルフィルタ
1次元のフーリエ変換
1次元フーリエスペクトルの例
1次元のFFT:高速フーリエ変換
2次元のフーリエ変換
2次元のFFT
2次元フーリエ変換の振幅スペクトル
FFTを用いた周波数空間でのフィルタリング
ボックス型ローパスフィルタ
ガウス型ローパスフィルタ
リンギング
ハイパスフィルタ
バンドパスフィルタ
notebook:平均値フィルタ
notebook:ガウスフィルタ
notebook:ガボールフィルタ
notebook:Sobelフィルタ,Prewittフィルタ
notebook:Sobel, Prewitt, Robertフィルタの比較
notebook:ラプラシアンフィルタ
notebook:LoGとゼロ交差
notebook:LoGとDoGの比較
notebook:Cannyのエッジ検出器
notebook:アンシャープマスク
notebook:メディアンフィルタ
notebook:バイラテラルフィルタ
notebook:ノンローカルミーンフィルタ
notebook:音声データ(wave)の高速フーリエ変換
notebook:音声データの短時間FFTとスペクトログラム
notebook:画像の2次元FFT
notebook:FFTを用いた周波数領域でのフィルタリングと通常の空間領域でのフィルタリングの計算時間の比較
notebook:円形ボックス型ローパスフィルタ
notebook:円形ボックス型ローパスフィルタ2
notebook:ガウス型ローパスフィルタ
notebook:ハイパスフィルタ
notebook:ガウス型ハイパスフィルタ
notebook:バンドパスフィルタ
opencv:カメラ映像をリアルタイムにフーリエ変換
画像修復・領域分割・パターン検出・局所特徴量
画像の劣化と復元:撮像過程と画像処理
逆フィルタ
ウィーナフィルタ
ウィーナフィルタによる復元例
画像=ベクトル,劣化過程=行列
様々な劣化過程と復元方法
超解像:複数枚の画像から,1枚の画像から
1枚の画像からの超解像と単なる画像拡大の比較例
HDR画像,LDR画像とは
HDRトーンマッピングとアーチファクト
HDR合成 vs HDR風画像処理
画像の領域分割:概観
領域分割結果の例
特徴量のクラスタリング
テクスチャ特徴量とフィルタリング
統計的テクスチャ特徴量
k-meansクラスタリング
混合ガウス分布(GMM)クラスタリング
平均値シフト(mean shift)クラスタリング
snake:動的輪郭モデル
グラフカット:PowerPoint機能の例
テンプレートマッチング
テンプレートマッチングの拡張法
ハフ変換による直線検出
ハフ変換の投票空間の例
ハフ変換による円検出
局所特徴量の登場
特徴的な点とはなにか:窓枠問題
Harrisコーナー検出器
FASTコーナー検出器
DoGブロッブ特徴検出器
対応点マッチング
SIFT特徴量
特徴点検出の例
特徴マッチングの応用:パノラマ画像の作成
特徴マッチングの応用例:電子式手ブレ補正
特徴マッチングの応用例:物体除去とノイズ除去のアプリ
notebook:ウィーナフィルタによる画像復元
notebook:HDR合成とトーンマッピング
notebook:領域分割 Felzenszwalb
notebook:領域分割 slic
notebook:領域分割 quickshift
notebook:領域分割 wathershed法
notebook:RGBのk-meansクラスタリングによる領域分割の実装例
notebook:ガボール特徴も追加したk-meansクラスタリングによる領域分割の実装例
notebook:動的輪郭モデルsnake
notebook:テンプレートマッチング
notebook:ハフ変換による直線検出
notebook:DoGブロッブ特徴点検出器
notebook:FASTコーナー検出器
notebook:Harrisコーナー検出器
notebook:GFTT(Good Feature to Track:追跡するのには良い特徴)検出器
notebook:AKAZE特徴抽出
notebook:BRISK特徴抽出
notebook:ORB特徴抽出
notebook:特徴点マッチングによるパノラマ画像作成1
notebook:特徴点マッチングによるパノラマ画像作成2
notebook:特徴点マッチングによるパノラマ画像作成3
notebook:特徴点マッチングによるパノラマ画像作成4
opencv:カメラ映像からテンプレートマッチング
opencv:カメラ映像からハフ変換で直線検出
opencv:カメラ映像からハフ変換でコインの円検出
opencv:特徴点検出 FAST, ORB, Harris, DoG
opencv:カメラ映像から特徴マッチング
パターン認識・機械学習・ディープラーニング
パターン認識とは
画像認識,画像識別とは
テキスト認識,音声認識とは
回帰とは
識別と回帰:まとめ
訓練サンプルの学習とテストサンプルの識別
教師あり学習とは
教師なし学習とは
半教師あり学習とは
kNN:最近傍識別器
SVM:サポートベクトルマシン
HoGによる人物検出
弱識別器を統合するBoosting
Viola&Jones顔検出器
ランダムフォレスト
Kinect:ランダムフォレスト+デプスカメラ
ディープラーニング(深層学習)とは
従来のパターン認識とディープラーニングの違い
従来のパターン認識とディープラーニングの違い2
ニューラルネットワーク:パーセプトロン
ニューラルネットワーク:深層学習
ディープニューラルネットワークの構造
CNN:畳み込みネットワーク
畳み込み層でのフィルタリング
畳み込みの種類:パディング,ストライド
例:物体検出
例:物体検出2
例:semantic / instance segmentation(意味的な領域分割)
例:姿勢推定
notebook:顔画像に対するkNN
notebook:顔画像に対するSVM
notebook:顔画像に対するランダムフォレスト
notebook:顔画像に対するAdaBoost
notebook:手書き数字画像をクラスタリング:kmeans, mean shift, GMM
notebook:顔画像Olivettiをクラスタリング:kmeans, mean shift, GMM
notebook:顔画像LFWをクラスタリング:kmeans, mean shift, GMM
notebook:手書き数字画像MNISTをクラスタリング:kmeans
Google Colab
Google Colab:CNNで犬猫画像Cats and Dogsの識別1
Google Colab:CNNで犬猫画像Cats and Dogsの識別2
Google Colab:CNNで犬猫画像Cats and Dogsの識別3
opencv:カメラ映像から顔と目をリアルタイム検出
カメラモデルと撮像過程
デジタルカメラの内部構造
カメラ内のミラーとミラーレス一眼レフ
ピンホールカメラモデル
カメラ・オブスキュラ
ピンホールカメラモデルと透視投影
カメラの画角
画角とズームレンズ
薄肉レンズモデル
焦点距離:ピンホールカメラモデルの焦点距離と薄肉レンズモデルの焦点距離
厚肉レンズモデル,実際のカメラレンズの構造
歪曲収差:たる型歪み,糸巻き型歪み
収差:色収差,球面収差,コマ収差
周辺光量の低下:cos4乗則,口径蝕,ケラレ
周辺光量の低下:アプリによる画像処理効果
絞りと被写界深度
被写界深度
被写界深度と許容錯乱円
ISO感度と画像ノイズ
シャッタースピード,メカニカルシャッターと電子シャッター
まとめとコツ:絞り,シャッタースピード,ISO
グローバルシャッターとローリングシャッター
Exif:画像ファイルに埋め込まれた撮像情報
イメージセンサ:CCDとCMOS
スミアとブルーミング:CCDのアーチファクト
CCDとCMOSの映像での違い:グローバルシャッターとローリングシャッター
センササイズ:35mmフィルムとフルサイズ
コンピュテーショナルフォトグラフィとは
撮像過程の計算化
4次元ライトフィールド
実物フィルカメラ:ミノルタα303siとオリンパスPEN-F
実物一眼レフ:ニコンD5200とズームレンズ,魚眼レンズ
実物webカメラを分解:ロジクールQcam Cool QVP-30SV
実物スマホカメラへ百均のアタッチレンズ:広角レンズ,魚眼レンズ,マクロレンズ
notebook:Jpeg画像ファイルからEXIFを取得
notebook:周辺光量の低下を追加
notebook:歪曲収差の補正と追加
notebook演習問題:月と人物
notebook演習問題:マラソン中継カメラ
3次元復元・色・視覚
単一視点では奥行きは不定
ステレオ視:三角測量の原理
平行ステレオ
KITTI:ステレオのためのデータセット
一般のステレオ:平行化,多視点ステレオ(MVS)
エピポーラ幾何:エピポール,エピポーラ平面,エピポーラ線
平行化
カメラ校正(キャリブレーション)
数式:3次元世界座標から2次元画素座標へ
アクティブステレオ:光切断法,3Dスキャナ
アクティブステレオの例:Kinect,グレーコードパターン投影
TOFを用いた3D計測
Structure-from-Motion (SfM):運動からの3次元復元
SfMの例
SLAM:ドローン映像からリアルタイムに3次元復元の例
カラー画像の撮像方式:単板式と3板式
単板式カラーフィルタとデモザイキング
色の三原色:加法混色,減法混色,スペクトル
画像の撮像と分光感度特性
標準光源:D65のスペクトル分布
表色系と色空間
杆体と錐体の分光分布特性
等色実験とRGB表色系
RGB表色系とRGB値
XYZ表色系
L*a*b*表色系
カラーマッチング
映像信号用の信号変換:YUV, YCbCr, YPbPr
動画用の信号変換:YUV422, YUV420
輝度と色を表す変換:HSV, HSL
色空間:用途別まとめ
視覚系:眼球の構造
視細胞:杆体と錐体
杆体と錐体の分布
視覚情報の伝達経路
曖昧図形と錯視から考える人間の視覚情報処理
notebook:ステレオマッチング
notebook:色空間の変換
notebook:色空間の変換2
notebook: YUV444, YUV422, YUV420
notebook:色情報だけ空間解像度を落としてみる