コンピュータビジョン特論 - wakayama universitywuhy/cv02.pdf1...

7
1 コンピュータビジョン特論 Advanced Computer Vision 22 本日の内容 1. コンピュータビジョンについて学ぶ準備として、画像の 撮影のしくみ、コンピュータ上での画像の扱いについ て学ぶ 2. 画像処理・コンピュータビジョン(CV)の違い CVのプログラムに必要なもの USBカメラ、DVカメラなど 2000円~ Windows Linux Mac カメラ パソコン(OS) 開発環境(コンパイラ) VisualStudio2013(無料公開) gcc (オープンソース、無料) Xcode (MacOSXについてくる) CMake そしてOpenCV ライブラリ(オープンソース、無料) 画像の撮影のしくみについて カメラで画像を撮影して、コンピュータに取り込 む仕組み 画像の撮影のしくみ(モノクロ) 撮像素子(CCD, CMOSレンズ 絞り 被写体 カメラ 同期信号(30Hz、24Hzなど) エンコーダ 同軸ケーブル(NTSCIEEE1394(DCAM, DV) USB(motion jpeg)など 受光素子が二次元配 列上に並んでいる 受光素子:フォトトランジスタ など光を電荷に変換する素子 メモリ 受光素子の数を画素数と呼ぶ メモリに取り込む CCD (Charged-Coupled Device) cameras 画像の撮影のしくみ(カラー、3CCD方式) 分光器(プリズム) レンズ 絞り 入射光 CCD(CCD(CCD(エンコーダ

Upload: others

Post on 28-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: コンピュータビジョン特論 - Wakayama Universitywuhy/CV02.pdf1 コンピュータビジョン特論 Advanced Computer Vision 第2回 2 本日の内容 1. コンピュータビジョンについて学ぶ準備として、画像の

1

コンピュータビジョン特論Advanced Computer Vision

第2回

2

本日の内容

1. コンピュータビジョンについて学ぶ準備として、画像の撮影のしくみ、コンピュータ上での画像の扱いについて学ぶ

2. 画像処理・コンピュータビジョン(CV)の違い

CVのプログラムに必要なもの

USBカメラ、DVカメラなど2000円~

WindowsLinuxMac

カメラ パソコン(OS) 開発環境(コンパイラ)

VisualStudio2013(無料公開)gcc (オープンソース、無料)Xcode (MacOSXについてくる)

CMake

そして…

OpenCV ライブラリ(オープンソース、無料)

画像の撮影のしくみについてカメラで画像を撮影して、コンピュータに取り込む仕組み

画像の撮影のしくみ(モノクロ)

撮像素子(CCD, CMOS)

レンズ絞り

被写体

カメラ同期信号(30Hz、24Hzなど)

エンコーダ同軸ケーブル(NTSC)IEEE1394(DCAM, DV)USB(motion jpeg)など

受光素子が二次元配列上に並んでいる

受光素子:フォトトランジスタなど光を電荷に変換する素子

メモリ

受光素子の数を画素数と呼ぶメモリに取り込む

CCD (Charged-Coupled Device) cameras画像の撮影のしくみ(カラー、3CCD方式)

分光器(プリズム)

レンズ絞り

入射光

CCD(赤)

CCD(緑)

CCD(青)エンコーダ

Page 2: コンピュータビジョン特論 - Wakayama Universitywuhy/CV02.pdf1 コンピュータビジョン特論 Advanced Computer Vision 第2回 2 本日の内容 1. コンピュータビジョンについて学ぶ準備として、画像の

2

画像の撮影のしくみ(カラー、3CCD方式)

分光器(プリズム)

レンズ絞り

入射光

利点: 各色の解像度が高い(色にじみがない)欠点: コストがかかる

小型化が困難

CCD(赤)

CCD(緑)

CCD(青)

3CCD方式:分光器(プリズム)で分光し、赤、緑、青の光を3個のCCDで撮影

エンコーダ

画像の撮影のしくみ(カラー、単版式)レンズ絞り

入射光カラーフィルタ

2.各画素ごとに3色均等配置するのが理想的だが3倍の素子が必要

各色不均一な配列→ベイヤー配列、ベイヤーパターン

1.単版式:CCDの前にカラーフィルタを置いて1個のCCDで各色を撮影

3.画素数Nに対して赤と青はN/4の解像度緑はN/2の解像度変換式によって各画素をRGBに変換(フィルタの配列と変換式は

各メーカーがしのぎを削っている)

低コスト、小型化が容易人間の目には自然(色の分解能が低い)

CCD

カラーフィルタの例(ベイヤー配列)

Image digitization

Sampling (標本化) means measuring the value of an image at a finite number of points.

Quantization (量子化) is the representation of the measured value at the sampled point by an integer.

Image digitization (cont’d)

標本化(1D)

アナログデータを離散的に領域分割

アナログデータ(時間軸と数値は連続)

サンプリングデータ(時間軸tは離散的)

サンプリング間隔Sampling

t t

数値は連続

標本化(2D) 2-D デジタル画像の場合

サンプリング間隔によって画像解像度が決まる

アナログデータ(x-y軸と数値は連続)

サンプリングデータ(x-y軸は離散的)

x

y y

x

Page 3: コンピュータビジョン特論 - Wakayama Universitywuhy/CV02.pdf1 コンピュータビジョン特論 Advanced Computer Vision 第2回 2 本日の内容 1. コンピュータビジョンについて学ぶ準備として、画像の

3

Image sampling (example)original image sampled by a factor of 2

sampled by a factor of 4 sampled by a factor of 8

空間的標本化

320 x 240pixels

160 x 120pixels

80 x 60pixels

40 x 30pixels

サンプリング間隔によって画像解像度が決まる

標本化間隔が狭い(高解像度)

標本化間隔が広い(低解像度)

量子化(1D)サンプリングされたデータの数値を離散的に

(Quantization)分ける

サンプリングデータ(時間軸は離散的)

3 bitの場合level=8

デジタルデータ(時間軸と数値の両方が離散的)

t t

n

n

2

レベル

量子化ビット数

数値は連続

量子化(2D)

2-Dデジタル画像の場合

量子化ビット数によって色数が決まる

0

0

0

1

1

1

1

0

0

1

2

2

2

1

0

0

2

3

3

2

1

0

2

3

5

3

2

0

0

2

3

3

3

2

0

0

1

2

2

2

0

0

0

1

1

1

0

0

0

色は数値として表される(行列形式)

Image quantization(example) 256 gray levels (8bits/pixel) 32 gray levels (5 bits/pixel) 16 gray levels (4 bits/pixel)

8 gray levels (3 bits/pixel) 4 gray levels (2 bits/pixel) 2 gray levels (1 bit/pixel)

1 2 3 4 5 6 7 8 9 10

赤成分の明るさ

36 44 42 43 43 52 54 55 54 47

39 44 42 44 51 39 46 63 59 52

44 47 43 41 54 184 171 39 65 58

49 47 49 59 254 246 251 170 48 61

48 51 40 140 233 162 143 249 39 63

40 55 41 96 228 243 253 217 38 61

38 47 44 19 146 213 230 67 58 56

38 44 42 35 10 5 3 49 53 49

35 44 45 47 48 44 47 45 47 46

24 28 30 33 37 39 40 43 42 41

リンゴの画像例(解像度10×10画素)

12345678910

Page 4: コンピュータビジョン特論 - Wakayama Universitywuhy/CV02.pdf1 コンピュータビジョン特論 Advanced Computer Vision 第2回 2 本日の内容 1. コンピュータビジョンについて学ぶ準備として、画像の

4

標本化・量子化(まとめ)

各々の画素における濃淡信号を取り出し(標本化)、連続値として得た信号を離散値に変換(量子化)することで、ラスタ表現のディジタル情報を得る

●ディスプレイで利用するカラー画像は、通常R信号・G信号・B信号毎に256(=28)階調に量子化され、1ピクセル当り24bitの情報量を持つ●この方法で28 × 28 × 28 ≒1670万色を表現できる

アンチエイリアシング輪郭の明確な物をデジタルカメラで撮影するとき、1つの画素の中に極端に色の違う輪郭が入ると、標本化によって両方の色を平均した信号が得られます。

一方、幾何学図形など輪郭の明確な物を描画すると、描画した部分とそうでない部分とに目立つギザギザが現れます。この現象をエイリアシングと言います。

そこで、直線が通る画素に対して、『塗る』もしくは『塗らない』といった2通りの方法を用いるのではなく、どのくらい通ったかに応じて、色の濃淡をつけることにします。画素の端をかすった程度なら淡く、画素の中心を抜けるようなら濃く描画します。このようにして、直線のふちに濃淡がつくことによって、ギザギザを目立たなくする方法を『アンチエイリアシング』と呼びます。

アンチエイリアシング無しアンチエイリアシング有り

赤100% 赤100% 赤95%

赤100% 赤100% 赤55%

赤95% 赤55% 赤5%

コンピュータ上での画像の取り扱い画像は、二次元配列上に並んだデータの集まり

1個のデータを、画素(pixel)と呼ぶ

カラー画像は、複数の画像の重ね合わせで表現それぞれの画像のことを、プレーン(plane)、or、チャンネル(channel)と呼ぶ

左上が原点の場合が多い幅(width)

高さ(he

ight)

画像サイズ:幅×高さや画素数で表す640x480 ~ 300万画素

RGBの3プレーンを用いることが多い他にも、YUVやHSVなどやαチャンネル(透明度)を用いる場合がある

画像のメモリ配置

RGB(0,0) (1,0) (n,0) (0,1)

ラスタスキャン:左上から右に順番にメモリ上に配置され右端までくると一段下の左端から順に配置される

複数チャンネルの場合は画素ごとに各チャンネルを並べることが多いチャンネルごとに並べる場合もある

1つの画素の1つのチャンネルのデータのビット数をデプスと呼ぶ例:256段階 → デプスは8ビット

1画素のビット数をbps(ビットパーピクセル)と呼ぶbps = デプス×チャンネル数

次の行の先頭までのバイト数をラインステップ(widthStep)と呼ぶ

一行目の情報: RGB RGB RGB

RGB

j

(i, j) (i, j+1)(i, j-1)

(i-1, j) (i-1, j+1)

(i+1, j+1)(i+1, j)

(i-1, j-1)

(i+1, j-1)i

(row)

(column)

4-neighborhood 8-neighborhood

Types of neighborhoodsNeighbors of a pixel

動画の取り扱い

画像が時間軸上に並んでいる

一枚一枚の画像をフレームと呼ぶ

1秒間のフレーム数をフレームレート(fps=30)と呼ぶ

必要なメモリが膨大になるので、通常1から数フレーム分の画像のみメモリにおいて処理する

t

フレーム

Page 5: コンピュータビジョン特論 - Wakayama Universitywuhy/CV02.pdf1 コンピュータビジョン特論 Advanced Computer Vision 第2回 2 本日の内容 1. コンピュータビジョンについて学ぶ準備として、画像の

5

ディジタル画像処理の内容

与えられた画像をどのように処理・変換するか

画像から画像への変換が中心的な処理

・濃度や幾何学的歪みの補正

・エッジ強調用のフィルタリング

・2値画像中の領域や線に対する幾何学的変形・構造化操作……

Computer Graphics

カラー画像

R,G,B,輝度(Y)の4つのヒストグラム

RIhRIh

R

GIh

GIh

G

BIhBIh

B

YIh

YIh

LuminosityY

Y = 0.299R + 0.587G + 0.114BU = -0.169R - 0.331G + 0.500BV = 0.500R - 0.419G - 0.081B

●カラー画像から濃淡画像(グレー画像)へ3原色で表現

画像処理例1:カラー画像と濃淡画像

0~255の間の数値で明るさを表現

入力画像 出力画像

Y = 0.299R + 0.587G + 0.114BU = -0.169R - 0.331G + 0.500BV = 0.500R - 0.419G - 0.081B

● 濃淡画像から白黒画像(2値画像)へ

0~255で表現

画像処理例2:濃淡画像と白黒画像

0(黒) or 255(白)の2つの数値

明るさのしきい値(T)T以下の画素→0T以上の画素→255

入力画像出力画像

after

before

Luminosity

画像処理例3-1:コントラスト変換(Histogram Equalization)

入力画像

出力画像

画像処理例3-2:濃度変換

0 100 2000

200

400

600

画素値(輝度値)

頻度

ヒストグラムの変化

Page 6: コンピュータビジョン特論 - Wakayama Universitywuhy/CV02.pdf1 コンピュータビジョン特論 Advanced Computer Vision 第2回 2 本日の内容 1. コンピュータビジョンについて学ぶ準備として、画像の

6

画像処理例4:画素値の反転

pixel[c] = 255 - pixel[c] /* c=0, 1, 2 */

画像処理例5: Edge Detection

-1 -2 -1

0 0 0 X

1 2 1

-1 0 1

-2 0 2 Y

-1 0 1

Large (|X|+|Y|) Edge

入力画像

出力画像

Sobel:

More e.g.’s

Horizontal Sobel Vertical Sobel

1st derivative

画像処理例6:Image Edge, Skeleton, Contour

入力画像

Skeleton

Edge

Contour

173

110218100

120219202

190202192

Average

192 202 190

202 219 120

100 218 110

192 202 190

202 173 120

100 218 110

画像処理例7-1:ノイズ除去

空間フィルタ(平滑化フィルタ)

画像処理例7-2:ノイズ除去

入力画像

出力画像

Page 7: コンピュータビジョン特論 - Wakayama Universitywuhy/CV02.pdf1 コンピュータビジョン特論 Advanced Computer Vision 第2回 2 本日の内容 1. コンピュータビジョンについて学ぶ準備として、画像の

7

画像処理例8: Low Pass

Original Gaussian, sigma=3.0

直交変換(二次元フーリエ変換)

原画像 二次元フーリエ変換(パワースペクトル)

直交変換(圧縮)

65,536 bytes(非圧縮)

7,365 bytes(JPEG圧縮)

画像・映像の処理、認識、理解研究の歴史と現状

→全体像

出席チェック1

1)画像処理とコンピュータビジョンの違い?

2)8bitの場合、レベル(諧調)=?

タイトル「出席レポート」、日付、学籍番号、氏名を用紙の一番上に書く

参考書リスト

[1] 松山隆司、久野義徳、井宮淳:

「コンピュータビジョン --技術評論と将来展望--」、

新技術コミュニケーションズ、1998

[2] デビット・マー(乾敏郎、安藤広志訳):

「ビジョン --視覚の計算理論と脳内表現--」、

産業図書、1987