画像処理の基礎:フィルタリング,パターン認識から撮像過程モデルまで

Scikit-image, OpenCV, PIL, ScipyなどのPythonモジュールを駆使して画像処理を体験してみよう

3.74 (678 reviews)
Udemy
platform
日本語
language
Data Science
category
instructor
5,612
students
27 hours
content
Jun 2020
last update
$49.99
regular price

What you will 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を用いた画像処理

Description

このコースでは,画像処理の基礎をスライド形式のレクチャーで学び,さらにPythonコードを実行して実際に画像処理を体験します.このコースの目標は,画像処理に関する幅広い知識を身につけ,画像処理の基本的な手法を理解することです.明るさ補正のためのトーンカーブによる画素値の変換,背景差分などの動画像処理,ラベリングなどの二値画像処理から始めて,フィルタリング,フーリエ変換による周波数スペクトル,局所特徴量などの手法や,顔検出,CNNによる簡単な画像認識,カメラモデル,3次元復元など,古典的な画像処理からコンピュータビジョンまで,画像処理をする上で知っておく知識を網羅的に解説しています.

画像処理のトピックは幅広いため,このレクチャーでは一つ一つの内容を深く解説することよりも,様々な場面で遭遇する画像処理の基礎技術のコンセプトを紹介することにしています.ここで紹介した内容は様々な画像処理の応用場面で遭遇すると思いますので,その場合には各トピックをもっと詳しく解説している他の資料を参考にしてください.

スライド形式のレクチャーを聞くだけでなく,Pythonの画像処理ライブラリを用いて,インタラクティブなプログラミング環境で実際にPythonコードを実行しながら,実践的な画像処理を学びます.Jupyter-notebookによるインタラクティブなプログラミングに加えて,Webカメラから実際にカメラ映像を取り込んでリアルタイムに画像処理を行う方法も学びます.そのため一つのPythonモジュールにこだわらず,必要に応じて様々なモジュールを使います.Notebookでは主にscikit-imageを使いますが,コマンドラインで実行してカメラ映像を読み込み表示するためにはopencvを使います.その他のモジュールも使います(高速フーリエ変換にはscipy,exif情報読み込みにはPILなど).またメジャーな画像処理OSSであるGIMPも紹介します.

プログラミングの注意:Pythonやその他の言語でのプログラミング経験があることを前提にしていますので,Python自体の説明は省略しています.ただしnotebookやコマンドラインで実行するだけで画像処理が体験できるようにしていますので,Pythonコードを書くスキルは必要ありません.

Content

はじめに

画像処理は実社会の様々な場面で利用されている

デジタル画像・画素値変換・二値画像処理

デジタル画像=画素の集まり
空間と値の離散化:標本化と量子化
カラー画像とグレースケール画像
ヒストグラム
統計量
画像のノイズ
トーンカーブ
明るさ補正
ガンマ変換
コントラスト強調
ヒストグラム平坦化
カラー画像のトーンカーブ調整
疑似カラー表示
色相・彩度・輝度への変換
色の調整
画像間の演算
画像のマスク
アルファブレンディング
しきい値による二値化
二値化の例
二値化の手法:大津のしきい値など
適応的(局所的)な二値化
ラベリング
モルフォロジー処理:膨張・収縮
凸包
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:色情報だけ空間解像度を落としてみる

Screenshots

画像処理の基礎:フィルタリング,パターン認識から撮像過程モデルまで - Screenshot_01画像処理の基礎:フィルタリング,パターン認識から撮像過程モデルまで - Screenshot_02画像処理の基礎:フィルタリング,パターン認識から撮像過程モデルまで - Screenshot_03画像処理の基礎:フィルタリング,パターン認識から撮像過程モデルまで - Screenshot_04

Reviews

朝霞
January 30, 2023
画像関係についての幅広い内容を包括しているように思えたから。 一方、一つ一つの説明自体は簡素であり、数学やプログラミングの知識が十分でない私にはわかりづらいように感じたため。 また、結構噛むため聞き取りづらい点やスライドの誤字もちょこちょこあるので、すらすら受講しづらい感覚もあったため。
菰田
October 9, 2022
説明にあった技術は生活のうえで知ってはいましたが、画像処理技術が使われているという観点では考えたこともありませんでした。たしかにたくさんの画像処理技術が使われているんだなと改めて思いました。学習の意欲がわきました。
T.A
September 28, 2021
Python・AI・画像処理の勉強をしていたが、この講座を受けて基礎力が足りないことを実感させられた。画像処理やAIを勉強したい人にとっては、過去から現在までの画像処理の各種アルゴリズムやその他周辺知識を広く学べるとともに、自身が行いたいものがどの位置に属するのか、どの分野が研究・開発する価値があるのかをある程度知れると思う。また、Python・OpenCVのコードも豊富なので、各種アルゴリズムの実装方法を学べる点が良かった。
Kabutoya
August 21, 2021
画像処理の基本を一つの講義で網羅できるのは良い。一方他のレビューでも書かれているように講義がくどく感じることもありましたのでところどころ倍速再生をしています。 この講義を軽く流してから専門的な講義を聞くとスキルアップにつながると思います。
Sano
March 19, 2021
レクチャーすることの内容の大枠は決まっていてよいと思える。話している内容があまり伝わ空なかった。原因を考えたら、なるべく専門用語を排除して話していているが置き換えをしないで回避して話しているから?そのため、下準備できてない資料を話している生徒のような感じになっている。

Charts

Price

画像処理の基礎:フィルタリング,パターン認識から撮像過程モデルまで - Price chart

Rating

画像処理の基礎:フィルタリング,パターン認識から撮像過程モデルまで - Ratings chart

Enrollment distribution

画像処理の基礎:フィルタリング,パターン認識から撮像過程モデルまで - Distribution chart
3157054
udemy ID
5/22/2020
course created date
5/28/2020
course indexed date
Bot
course submited by