4-6 画像処理

東京⼤学

東京⼤学 数理・情報教育研究センター

数理・情報教育研究センター
2020年5⽉11⽇

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析1

概要• 画像データの表現と処理• デジタルカメラの仕組みと、コンピュータにおけるデジタル
画像のデータ形式を学びます• ⼈間の視覚が⾊を知覚する仕組みを理解したうえで、
デジタル画像における⾊情報の扱い⽅を学びます• 画像処理（基礎的処理と深層学習による画像認識）• 基礎的な画像処理である2次元デジタルフィルタを学びます。
この仕組みは深層学習による画像処理を理解する上での基礎知識となります• 深層学習による基本的な画像認識モデルを理解したのち、画像認識分野で扱われている様々な課題とそのデータセット
を⼀覧します東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

2

本教材の⽬次
1.

2.

3.
4.

画像の表現と記録‒ デジタルカメラの仕組み‒ デジタル画像の表現（解像度・ビット深度）‒ 画像の圧縮
⾊の知覚と表現‒ ⼈間の⾊覚‒ ディスプレイやプリンタにおける⾊表現‒ ⾊空間‒ ⾊恒常性
２次元フィルタリングによる画像処理
画像の領域検出と物体・動作認識‒ 顔画像検出：Viola-Jones法（Harr-like特徴量)‒ 深層学習による画像認識• 深層学習の幕開け• 深層学習による⼀般物体認識• 様々な画像認識課題とデータセット

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

4
5
7
12
15
16
18
22
28
32
54
55
57
59
61
66
3

1. 画像の表現と記録

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析4デジタルカメラの仕組み

ref:千葉憲明著、『カメラの常識のウソ・マコト』、講談社、2004年6⽉20⽇第1刷発⾏、ISBN 4062574462, 森枝卓⼠著、『デジカメ時代の写真術』、NHK出版、2003年7⽉10⽇第1刷発⾏、ISBN 4140880740, 津軽海渡、⽊村誠恥著、『図解雑学 デジタルカメラ』、ナツメ社、2002年12⽉18⽇発⾏、ISBN 4816334092
ref. (2020/4/3): Wikimedia commons: File:Digital camera cut model 1.PNG (https://commons.wikimedia.org/wiki/File:Digital_camera_cut_model_1.PNG) CC BY-SA 3.0

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

5

撮像素⼦• カメラの撮像素⼦とソーラーパネルの原理は同じ‒ 太陽光発電は晴れの⽇にたくさん発電、
曇りや⾬の⽇はあまり発電しない‒ 物質に光を当てると電⼦が⾶び出る「光電効果」を利⽤‒ 半導体を使うと電⼦が電流として取り出せる

ref. (2020/4/3): Wikimedia commons: File:Solar panels
on house roof.jpg CC BY-SA 3.0
https://commons.wikimedia.org/wiki/File:Solar_panels_
on_house_roof.jpg• 撮像素⼦は極⼩の正⽅形ソーラー
パネルが並んだもの‒ 光が強く当たったところはたくさん電荷がたまる明るい(⽩っぽい)‒ 光があまり当たらなかったところはあまり電荷がたまらない暗い(⿊っぽい)ref. (2020/4/3): Wikimedia commons: File:Matrixw.jpg
CC BY-SA 3.0
https://commons.wikimedia.org/wiki/File:Matrixw.jpg
東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

6アナログ画像とデジタル画像の表現
画像とはx軸とy軸からなる平⾯座標系で定義される2変数関数 f またはF
アナログ画像の表現

z = f (x,y)
x, y, z は0以上の実数(x,y)は平面上の位置座標z は(x,y)における光の強さ・明るさxy

デジタル画像の表現

Z = F (X,Y)
X,Y, Z は0以上の整数(X,Y)は平面上の格子点
Zは格子点(X,Y)における光の強さ・明るさ

XY

1つの格⼦点を画素またはピクセル(pixel)と呼ぶ⾊の濃さ(Zの値の⼤きさ) を輝度または濃淡値と呼ぶ
東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

ref. (2020/4/3): Wikimedia commons:File:Red Apple.jpg CC BY 2.0
https://commons.wikimedia.org/wiki/
File:Red_Apple.jpg

7デジタル画像は正⽅形タイルの集まり
横縦⽅向の刻みが細かい⇒解像度が⾼い

各ピクセルの階調の刻みが細かい⇒ビット深度が深い

ref. (2020/4/3): Wikimedia commons:File:Red Apple.jpg CC BY 2.0
https://commons.wikimedia.org/wiki/
File:Red_Apple.jpg
東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

8ref. (2020/4/3): Wikimedia commons:File:Red Apple.jpg CC BY 2.0
https://commons.wikimedia.org/wiki/
File:Red_Apple.jpg

解像度の⾼低による画像の違い
50x45

25x23
低解像度

84×56

160x145

高解像度

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

9ビット深度の深さによる画像の違い
1bit (2階調)：

⼆値画像 (binary image)とも呼ぶ

ref. (2020/4/3): Wikimedia commons:File:Red Apple.jpg CC BY 2.0
https://commons.wikimedia.org/wiki/
File:Red_Apple.jpg

2bit (4階調)

低ビット深度

8bit (256階調)：

3bit (8階調)

高ビット深度東京⼤学 数理・情報教育研究センター

⼀般的にグレースケール
画像といえばこれ
東京⼤学 数理・情報教育研究センター ⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

10ref. (2020/4/3): Wikimedia commons:File:Red Apple.jpg CC BY 2.0
https://commons.wikimedia.org/wiki/
File:Red_Apple.jpg

座標と濃淡値の基準
原点(X=0, Y=0)は左上が⼀般的

X2=8

X3=19

X1=22

1画素当たり8bitで表現するとすると、濃淡値は256階調（０〜255)
⼆値画像 (1-bit)なら2階調
Y1=14

Z1=127

真っ⿊なとき値が最も⼩さい（すなわち0)

Y3=24
Y2=27

Z３=0
Z2=255

東京⼤学 数理・情報教育研究センター

真っ⽩なとき値が最も⼤きい(8-bitグレースケール画像なら255、⼆値画像 (1-bit) なら1)
東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

11

画像のデータサイズと保存形式• 輝度値が画素分並んだ画像（例: bitmap）はサイズ⼤‒ ノートPCのよくある解像度：1920 x 1200ピクセル‒ 画⾯の横幅1/3の⼩さな画像 640x480ピクセルで1画素あたり24-bitフルカラーで記録すると、1枚当たり151MB
 CD-ROM（容量約700MB)に画像4枚しか保存できない！

• 画像データは通常、圧縮して保存される• よく使われる画像保存形式‒ PNG (Portable Network Graphics) フォーマット
‒ JPEG (Joint Photographic Experts Group) フォーマット

違いは何でしょうか？

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

12

PNG (Portable Network Graphics) フォーマット
•••可逆圧縮（元の画像を復元できる）
圧縮レベルを上げると圧縮に時間がかかる
イラストのように同じ画素値が並んでいる画像だと⾼圧縮が期待できる（逆に写真はあまり⼩さくならない）

 写真と違い
⾊がべた塗り写真
圧縮レベル０

イラスト風
圧縮レベル９

時間

画像サイズ

時間

画像サイズ

イラスト⾵

0.065 s

3.2 MB

0.406 s0.19 MB

短時間でサイズ激減！

写真0.097 s

3.2 MB

3.226 s

1.5 MB

時間がかかる割に画像サイ
ズはあまり⼩さくならない※Intel Core i7-8550U CPU @ 1.80GHz、Python+OpenCVで実行
東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

13

JPEG (Joint Photographic Experts Group) フォーマット
••••⾮可逆圧縮（元の画像を復元できない）
⾼速圧縮。⼈間の視覚で知覚されづらい情報を捨てることで圧縮
写真のようにテクスチャが複雑な画像の圧縮が得意
圧縮率が⾼いと⾒た⽬にわかるひずみが現れる（ブロックノイズ）

ブロック
ノイズが現れる
低圧縮
写真
クオリティ100
時間

画像サイズ

高圧縮
写真
クオリティ10
時間

画像サイズ

低圧縮写真

0.067 s340 KB

0.032 s

31 KB

⾼圧縮写真

0.071 s813 KB

0.033 s

41 KB

短時間で
サイズ縮⼩が可能※Intel Core i7-8550U CPU @ 1.80GHz、Python+OpenCVで実行
東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

14

2. ⾊の知覚と表現

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析

15光と⾊を知覚する細胞
桿体細胞：⾼感度（暗所で機能）
中⼼窩から離れた領域に広く分布

錐体細胞：
特定の波⻑の光に反応（⾊覚）中⼼窩には錐体細胞のみ

網膜
水晶体
中心窩

•

視神経乳頭

•
視神経

3⾊型⾊覚の⼈は3種類の錐体細胞を持つそれぞれ、反応する光の波⻑
の範囲が異なるＬ錐体（570nm−⻩周辺）
Ｍ錐体（535nm−緑周辺）
Ｓ錐体（445nm−⻘周辺）
知覚する⾊情報は３次元

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

16

異なる波⻑の光に対する⼈間の錐体細胞の感度

光は色によって波長が異なる
東京⼤学 数理・情報教育研究センター

ref. (2020/4/3): Wikimedia commons: File:Cone-response-en.png
https://commons.wikimedia.org/wiki/File:Cone-response-en.png

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

CC BY-SA 3.017加⾊法と減⾊法
この⾊のカラーフィルム（⾚⻘
メガネの⾚側）は⻘と緑の光を遮断し、⾚⾊の光だけを透過する

この⾊の絵具は⾚⾊の光を吸収して⻘と緑の光を反射する

Red
Yellow

Cyan

Magenta

White
Green

Cyan

Blue

Blue

Green
Key
Plate

Magenta Red

Yellow

減⾊法
加⾊法
光の三原⾊。
すべて⾜すと⽩になる。
ディスプレイで使われる
東京⼤学 数理・情報教育研究センター

絵具の三原⾊。
すべて⾜すと⿊になる。
プリンタで使われる

4-4.
4-4. 時系列データの解析
時系列データの解析
東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA

18

デジタル画像（24bitフルカラー）の表現
R

1画素あたり8bit(256階調)G＋

B

1画素あたり8bit(256階調)＋=東京⼤学 数理・情報教育研究センター

1画素あたり8bit(256階調)1画素あたり24bit（1677万⾊）
フルカラー

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

19ディスプレイをマイクロカメラで⾒てみよう
150倍マイクロカメラでディスプレイ表⾯を撮影

表示して撮影

⻘の1画素
⾚の1画素
緑の1画素

⻩の1画素

加⾊法（
RGB)

シアンの1画素
⽩の1画素

マゼンタの1画素

Letʼs note CF-SZ6

モニタ（PHILIPSHDR 600）
東京⼤学 数理・情報教育研究センター ⼭肩洋⼦ 2020 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

20

カラー印刷をマイクロカメラで⾒てみよう

印刷会社で印刷されたパンフレット

減⾊法（CMYK)
プリンタで印刷したもの
Fuji Xerox ApeosPort-VI
東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

21

⾊空間 (Color space)

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析

22

RGB/CMYでは “⾊の直感的な近さ”を測りにくい
画像中で茶⾊の領域を切り出そうと思ったら・・・
茶⾊も⽔⾊もR画像を⾒たら
区別がつかない！

原画像

R画像

レンガと⻘空は直感的には別の⾊だが、RGBのRだけを⾒ると区別がつかない（同程度にRの成分を持つ）
東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

23直感的な⾊の近さを表現する⾊空間：HSV表⾊系• HSV: ⾊相 (Hue)、彩度 (Saturation)、明度 (Value)• 美術でよく⽬にするマンセル表⾊系と似た表現‒ マンセル表⾊系は明度(V)最⼤のときは常に⽩‒ HSV表⾊系は明度(V)最⼤のとき⾊相による違いがある• ⾊相 (Hue)は循環することに注意 (0~360度で表現した場合、⾚⾊が0度付近または360度付近になるが、これらは連続している）

HSV表色系

ref. (2020/4/3): Wikimedia commons: File:Munsell 1943 color solid
cylindrical coordinates gray.png CC BY-SA 3.0
https://commons.wikimedia.org/wiki/File:Munsell_1943_color_solid_cylin
drical_coordinates_gray.png
4-4.
4-4. 時系列データの解析
時系列データの解析
東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
24

ref. (2020/4/3): Wikimedia commons: File:HSV cone.jpg CC BY-SA 3.0
https://commons.wikimedia.org/wiki/File:HSV_cone.jpg
東京⼤学 数理・情報教育研究センター

マンセル表色系

カラー画像をHSV空間に変換
時計台は⾚

明るい⽅が
鮮やか

⽩⿊写真として使われる

⽊々は時計台より鮮やか

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

25

HSV空間における領域抽出
HSV⾊空間は⾊を指定することにより領域を抽出する
場合によく使われる色相（H)が30よりも小さい、あるいは160よりも大きく、彩度（S）が5よりも大きい領域を抽出後、穴を埋めた領域をマスクとして画像を抜き出したもの

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

26

様々な⾊空間•

RGB表⾊系は視覚が認知できるすべての⾊を表現できない‒ ⼀般的なモニタの規格であるsRGBは
右図の三⾓の領域‒ 可視光波⻑はおよそ400〜800nm（右図の着⾊された領域）‒ RGBがマイナスの値を取れるとする
ならば表現可能だが、わかりづらい••

あらゆる可視光⾊が表現できる空間
として、XYZ表⾊系がある
その他、モニタ、印刷、デザイン、放送、デジタルシネマなどの⽬的や、様々な規格化団体によって制定された⾊空間がたくさんある

東京⼤学 数理・情報教育研究センター

ref. (2020/4/4): Wikimedia commons: CIExy1931 sRGB CMY.png GFDL
https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E
3%83%AB:CIExy1931_sRGB_CMY.png

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

27

⾊恒常性 (color constancy)

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析28

⾊恒常性 (color constancy)
物体の⾊は物体にあてる照明で変わる
⾊情報を保存するにはどうしたらいいか？

白熱球を当てて撮影

東京⼤学 数理・情報教育研究センター

蛍光灯を当てて撮影

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

29

物体の⾊は物体表⾯で反射した光の⾊
⻩⾊い光を当てると⽔⾊が灰⾊に・・・

光の三原色

照明の⾊によって同じ物体でも画像の⾊が変わる
⾚：ロウソクの光→⽩熱球→蛍光灯→太陽光(曇り)→太陽光(⻘空)：⻘

ref. (2020/4/3): Wikimedia commons: File:Color temperature.svg CC BY-SA 2.5 pl https://commons.wikimedia.org/wiki/File:Color_temperature.svg
ref. (2020/4/3): いらすとや「トラックのイラスト（⾞）」 https://www.irasutoya.com/2013/05/blog-post_6635.html

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

30

どうしたら⾊の恒常性が担保できるのか？
•••

規格JIS Z 8721

標準⾊票（カラーチェッカー）：
No.
Name
規格に従い無光沢単⾊で塗られたタイルで構成
商品を撮影するときと同じ照明環境で標準⾊票を 1 Dark Skin
2
Light Skin
撮影しておく3
Blur Sky
4
Foliage
撮影した写真のうち、矩形の領域⾊が規格の数値 5 Blue Flower
6
Bluish Green(RGB)と⼀致するよう写真の⾊を補正
9
10
11
12

OrangePurplish Blue
Moderate Red
PurpleYellow Green
Orange Yellow

RGB
115 82 68
194 150 130
98 122 157
87 108 67
133 128 177
103 189 170
214 126 44
80 91 166
193 90 99
94 60 108
157 188 64
224 163 46

13
14
15
16
17
18
19
20
21
22
23
24

Blue
Green
Red
Yellow
MagentaCyan
White
Neutral 8
Neutral 6.5
Neutral 5
Neutral 3.5
Black

56
70
175
231
187
8
243
200
160
122
85
52

(Photoshop等、写真編集ソフトには補正機能が内蔵） 78

ref. (2020/4/3): Wolfgang Lonien, 7e0_4053916-zuleikha-colorchecker CC BY-SA 2.0
https://www.flickr.com/photos/wjlonien/26165090302/

東京⼤学 数理・情報教育研究センター

Max255

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

61
148
54
199
86
133
243
200
160
122
85
52

150
73
60
31
149
161
242
200
160
121
85
52

31

3. 2次元フィルタリングによる画像処理

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析

32

画像のフィルタリング••

ref. (2020/4/4)
https://www.pexels.com/ja-jp/photo/736230/

デジタル画像を平⾯座標系において座標(x, y)が決まると、その座標における濃淡値 f(x,y)を返す関数と考える（ただし、x, y, zは0以上の整数）
⼊⼒画像 f(x,y)に対し、何らかのフィルタを適⽤して、出⼒画像 g(x,y)を⽣成することを考える

入力画像 f(x,y)

出力画像 g(x,y)
ケーススタディ：
画像をぼけさせる
フィルタとは？

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

33

ケーススタディ：画像をぼけさせるには？
「画像がぼける」とは、各点の⾊が周囲に広がること
逆に⾔えば「ぼけた画像」の各点の⾊は、その周辺の点の⾊が少しずつ重なったもの
⼊⼒画像における同じ位置の画素に注⽬したとき、その画素を含む周辺の画素の画素値の平均値が出⼒画像の画素値
各画素の色が周囲の画素に広がる

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

つまり
出力画像の
各画素の色は周辺の画素の平均値

34

平均値フィルタ (Mean filter)
入力画像 f(x,y)
出力画像 g(x,y)
f(0,0) f(0,1) f(0,2) f(0,3) f(0,1) f(0,2)
８近傍
g(0,0) g(0,1) g(0,2) g(0,3) g(0,1) g(0,2)
f(1,0) f(1,1) f(1,2) f(1,3) f(1,1) f(1,2)
g(1,0) g(1,1) g(1,2) g(1,3) g(1,1) g(1,2)
f(2,0) f(2,1) f(2,2) f(2,3)
f(2,1) f(2,2)
平均値を取るg(2,0) g(2,1) g(2,2) g(2,3) g(2,1) g(2,2)
f(3,0) f(3,1) f(3,2) f(3,3) f(0,1) f(0,2)
g(3,0) g(3,1) g(3,2) g(3,3) g(0,1) g(0,2)
f(4,0) f(4,1) f(4,2) f(4,3) f(1,1) f(1,2)
g(4,0) g(4,1) g(4,2) g(4,3) g(1,1) g(1,2)
f(5,0) f(5,1) f(5,2) f(5,3) f(2,1) f(2,2)
g(5,0) g(5,1) g(5,2) g(5,3) g(2,1) g(2,2)

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析

35

平均値フィルタ (Mean filter)
入力画像 f(x,y)
f(0,0) f(0,1) f(0,2) f(0,3) f(0,1) f(0,2)

出力画像 g(x,y)

g(0,0) g(0,1) g(0,2) g(0,3) g(0,1) g(0,2)
f(1,0) f(1,1) f(1,2) f(1,3) f(1,1) f(1,2)
g(1,0) g(1,1) g(1,2) g(1,3) g(1,1) g(1,2)
f(2,0) f(2,1) f(2,2) f(2,3) f(2,1)
f(2,2)
平均を取る
g(2,0) g(2,1) g(2,2) g(2,3) g(2,1) g(2,2)
f(3,0) f(3,1) f(3,2) f(3,3) f(0,1) f(0,2)
g(3,0) g(3,1) g(3,2) g(3,3) g(0,1) g(0,2)
f(4,0) f(4,1) f(4,2) f(4,3) f(1,1) f(1,2)
g(4,0) g(4,1) g(4,2) g(4,3) g(1,1) g(1,2)
f(5,0) f(5,1) f(5,2) f(5,3) f(2,1) f(2,2)
g(5,0) g(5,1) g(5,2) g(5,3) g(2,1) g(2,2)

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析

36

平均値フィルタ (Mean filter)
入力画像 f(x,y)
f(0,0) f(0,1) f(0,2) f(0,3) f(0,1) f(0,2)

出力画像 g(x,y)

g(0,0) g(0,1) g(0,2) g(0,3) g(0,1) g(0,2)
f(1,0) f(1,1) f(1,2) f(1,3) f(1,1) f(1,2)
g(1,0) g(1,1) g(1,2) g(1,3) g(1,1) g(1,2)
f(2,0) f(2,1) f(2,2) f(2,3) f(2,1) f(2,2)
平均を取る
g(2,0) g(2,1) g(2,2) g(2,3) g(2,1) g(2,2)
f(3,0) f(3,1) f(3,2) f(3,3) f(0,1) f(0,2)
g(3,0) g(3,1) g(3,2) g(3,3) g(0,1) g(0,2)
f(4,0) f(4,1) f(4,2) f(4,3) f(1,1) f(1,2)
g(4,0) g(4,1) g(4,2) g(4,3) g(1,1) g(1,2)
f(5,0) f(5,1) f(5,2) f(5,3) f(2,1) f(2,2)
g(5,0) g(5,1) g(5,2) g(5,3) g(2,1) g(2,2)

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析

37

平均値フィルタ (Mean filter)
入力画像 f(x,y)
f(0,0) f(0,1) f(0,2) f(0,3) f(0,1) f(0,2)

出力画像 g(x,y)

g(0,0) g(0,1) g(0,2) g(0,3) g(0,1) g(0,2)
f(1,0) f(1,1) f(1,2) f(1,3) f(1,1) f(1,2)
g(1,0) g(1,1) g(1,2) g(1,3) g(1,1) g(1,2)
f(2,0) f(2,1) f(2,2) f(2,3) f(2,1) f(2,2)
平均を取る
g(2,0) g(2,1) g(2,2) g(2,3) g(2,1) g(2,2)
f(3,0) f(3,1) f(3,2) f(3,3) f(0,1) f(0,2)
g(3,0) g(3,1) g(3,2) g(3,3) g(0,1) g(0,2)
f(4,0) f(4,1) f(4,2) f(4,3) f(1,1) f(1,2)
g(4,0) g(4,1) g(4,2) g(4,3) g(1,1) g(1,2)
f(5,0) f(5,1) f(5,2) f(5,3) f(2,1) f(2,2)
g(5,0) g(5,1) g(5,2) g(5,3) g(2,1) g(2,2)

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析

38

平均値フィルタ (Mean filter)
入力画像 f(x,y)
f(0,0) f(0,1) f(0,2) f(0,3) f(0,1) f(0,2)
g(0,0) g(0,1) g(0,2) g(0,3) g(0,1) g(0,2)
f(1,0) f(1,1) f(1,2) f(1,3) f(1,1) f(1,2)
g(1,0) g(1,1) g(1,2) g(1,3) g(1,1) g(1,2)
f(2,0) f(2,1) f(2,2) f(2,3) f(2,1) f(2,2)
g(2,0) g(2,1) g(2,2) g(2,3) g(2,1) g(2,2)
f(3,0) f(3,1) f(3,2) f(3,3)
f(0,1) f(0,2)
平均を取る
g(3,0) g(3,1) g(3,2) g(3,3) g(0,1) g(0,2)
f(4,0) f(4,1) f(4,2) f(4,3) f(1,1) f(1,2)
g(4,0) g(4,1) g(4,2) g(4,3) g(1,1) g(1,2)
f(5,0) f(5,1) f(5,2) f(5,3) f(2,1) f(2,2)
g(5,0) g(5,1) g(5,2) g(5,3) g(2,1) g(2,2)

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析

39

平均値フィルタ (Mean filter)
入力画像 f(x,y)
f(0,0) f(0,1) f(0,2) f(0,3) f(0,1) f(0,2)
g(0,0) g(0,1) g(0,2) g(0,3) g(0,1) g(0,2)
f(1,0) f(1,1) f(1,2) f(1,3) f(1,1) f(1,2)
g(1,0) g(1,1) g(1,2) g(1,3) g(1,1) g(1,2)
f(2,0) f(2,1) f(2,2) f(2,3) f(2,1) f(2,2)
g(2,0) g(2,1) g(2,2) g(2,3) g(2,1) g(2,2)
f(3,0) f(3,1) f(3,2) f(3,3) f(0,1)
f(0,2)
平均を取る
g(3,0) g(3,1) g(3,2) g(3,3) g(0,1) g(0,2)
f(4,0) f(4,1) f(4,2) f(4,3) f(1,1) f(1,2)
g(4,0) g(4,1) g(4,2) g(4,3) g(1,1) g(1,2)
f(5,0) f(5,1) f(5,2) f(5,3) f(2,1) f(2,2)
g(5,0) g(5,1) g(5,2) g(5,3) g(2,1) g(2,2)

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析

40

平均値フィルタ (Mean filter)f(0,0) f(0,1) f(0,2) f(0,3) f(0,1) f(0,2)
g(0,0) g(0,1) g(0,2) g(0,3) g(0,1) g(0,2)
f(1,0) f(1,1) f(1,2) f(1,3) f(1,1) f(1,2)
g(1,0) g(1,1) g(1,2) g(1,3) g(1,1) g(1,2)
f(2,0) f(2,1) f(2,2) f(2,3) f(2,1) f(2,2)
g(2,0) g(2,1) g(2,2) g(2,3) g(2,1) g(2,2)
f(3,0) f(3,1) f(3,2) f(3,3) f(0,1) f(0,2)
平均を取る
g(3,0) g(3,1) g(3,2) g(3,3) g(0,1) g(0,2)
f(4,0) f(4,1) f(4,2) f(4,3) f(1,1) f(1,2)
g(4,0) g(4,1) g(4,2) g(4,3) g(1,1) g(1,2)
f(5,0) f(5,1) f(5,2) f(5,3) f(2,1) f(2,2)
g(5,0) g(5,1) g(5,2) g(5,3) g(2,1) g(2,2)

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析

41

平均値フィルタ (Mean filter)f(0,0) f(0,1) f(0,2) f(0,3) f(0,1) f(0,2)
g(0,0) g(0,1) g(0,2) g(0,3) g(0,1) g(0,2)
f(1,0) f(1,1) f(1,2) f(1,3) f(1,1) f(1,2)
g(1,0) g(1,1) g(1,2) g(1,3) g(1,1) g(1,2)
f(2,0) f(2,1) f(2,2) f(2,3) f(2,1) f(2,2)
g(2,0) g(2,1) g(2,2) g(2,3) g(2,1) g(2,2)
f(3,0) f(3,1) f(3,2) f(3,3) f(0,1) f(0,2)
平均を取る
g(3,0) g(3,1) g(3,2) g(3,3) g(0,1) g(0,2)
f(4,0) f(4,1) f(4,2) f(4,3) f(1,1) f(1,2)
g(4,0) g(4,1) g(4,2) g(4,3) g(1,1) g(1,2)
f(5,0) f(5,1) f(5,2) f(5,3) f(2,1) f(2,2)
g(5,0) g(5,1) g(5,2) g(5,3) g(2,1) g(2,2)
𝑓 𝑛 𝑖, 𝑚 𝑗
入力画像を f(x, y)𝑔 𝑛, 𝑚9
出力画像を g(x, y)とすると、東京⼤学 数理・情報教育研究センター

4-4. 時系列データの解析
東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA

42

平均値フィルタの拡張： 2次元デジタルフィルタ
入力画像 f(x,y)
出力画像 g(x,y)

f(0,0) f(0,1) f(0,2) f(0,3) f(0,1) f(0,2)

g(0,0) g(0,1) g(0,2) g(0,3) g(0,1)
f(1,0) f(1,1) f(1,2) f(1,3) f(1,1) f(1,2)
行列の積 g(1,0) g(1,1) g(1,2) g(1,3) g(1,1)
f(2,0) f(2,1) f(2,2) f(2,3) f(2,1) f(2,2)
g(2,0) g(2,1) g(2,2) g(2,3) g(2,1)
1/9 1/9 1/9f(3,0) f(3,1) f(3,2) f(3,3) f(0,1) f(0,2)
1/9 1/9 1/9g(3,0) g(3,1) g(3,2) g(3,3) g(0,1)
デジタルフィルタ
f(4,0) f(4,1) f(4,2) f(4,3) f(1,1) f(1,2){h(i, j)| i, j = -1, 0, 1}
1/9 1/9 1/9g(4,0) g(4,1) g(4,2) g(4,3) g(1,1)
f(5,0) f(5,1) f(5,2) f(5,3) f(2,1) f(2,2)
g(5,0) g(5,1)
g(5,2) g(5,3) g(2,1)
iとjがそれぞれ(-1, 0, 1)のいずれかのときh(i,j)=1/9とすると、
𝑔 𝑛, 𝑚東京⼤学 数理・情報教育研究センターℎ 𝑖, 𝑗 𝑓 𝑛

𝑖, 𝑚

𝑗

と書き換えられる4-4. 時系列データの解析
東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA

43

2次元デジタルフィルタの適⽤
入力画像 f(x,y)
出力画像 g(x,y)

f(0,0) f(0,1) f(0,2) f(0,3) f(0,1) f(0,2)

g(0,0) g(0,1) g(0,2) g(0,3) g(0,1)
f(1,0) f(1,1) f(1,2) f(1,3) f(1,1) f(1,2)
行列の積g(1,0) g(1,1) g(1,2) g(1,3) g(1,1)
f(2,0) f(2,1) f(2,2) f(2,3) f(2,1) f(2,2)
g(2,0) g(2,1) g(2,2) g(2,3) g(2,1)
f(3,0) f(3,1) f(3,2) f(3,3)
f(0,1) f(0,2)
h(0,0) h(0,1) h(0,2)
g(3,0) g(3,1) g(3,2) g(3,3) g(0,1)
f(4,0) f(4,1) f(4,2) f(4,3)
h(1,0) f(1,1)
h(1,1) f(1,2)
h(1,2)
g(4,0) g(4,1) g(4,2) g(4,3) g(1,1)
f(5,0) f(5,1) f(5,2) f(5,3)
h(2,0) f(2,1)
h(2,1) f(2,2)
h(2,2)
𝑔 𝑛, 𝑚東京⼤学 数理・情報教育研究センターℎ 𝑖, 𝑗 𝑓 𝑛

𝑖, 𝑚

𝑗

g(5,0) g(5,1) g(5,2) g(5,3) g(2,1)

4-4. 時系列データの解析
東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA

442次元デジタルフィルタの適⽤
入力画像 f(x,y)
出力画像 g(x,y)

f(0,0) f(0,1) f(0,2) f(0,3) f(0,1) f(0,2)

g(0,0) g(0,1) g(0,2) g(0,3) g(0,1)
f(1,0) f(1,1) f(1,2) f(1,3) f(1,1) f(1,2)
行列の積g(1,0) g(1,1) g(1,2) g(1,3) g(1,1)
f(2,0) f(2,1) f(2,2) f(2,3) f(2,1) f(2,2)
g(2,0) g(2,1) g(2,2) g(2,3) g(2,1)
f(3,0) f(3,1) f(3,2) f(3,3) f(0,1)
f(0,2)
h(0,0) h(0,1) h(0,2)
g(3,0) g(3,1) g(3,2) g(3,3) g(0,1)
f(4,0) f(4,1) f(4,2) f(4,3) f(1,1)
h(1,0) f(1,2)
h(1,1) h(1,2)
g(4,0) g(4,1) g(4,2) g(4,3) g(1,1)
f(5,0) f(5,1) f(5,2) f(5,3) f(2,1)
h(2,0) f(2,2)
h(2,1) h(2,2)
𝑔 𝑛, 𝑚東京⼤学 数理・情報教育研究センターℎ 𝑖, 𝑗 𝑓 𝑛

𝑖, 𝑚

𝑗

g(5,0) g(5,1) g(5,2) g(5,3) g(2,1)

4-4. 時系列データの解析
東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA

45

2次元デジタルフィルタの適⽤
入力画像 f(x,y)
f(0,0) f(0,1) f(0,2) f(0,3) f(0,1) f(0,2)

出力画像 g(x,y)
g(0,0) g(0,1) g(0,2) g(0,3) g(0,1)

f(1,0) f(1,1) f(1,2) f(1,3) f(1,1) f(1,2)
行列の積g(1,0)
g(1,1) g(1,2) g(1,3) g(1,1)
f(2,0) f(2,1) f(2,2) f(2,3) f(2,1) f(2,2)
g(2,0) g(2,1) g(2,2) g(2,3) g(2,1)
f(3,0) f(3,1) f(3,2) f(3,3) f(0,1) f(0,2)
h(0,0) h(0,1) h(0,2)
g(3,0) g(3,1) g(3,2) g(3,3) g(0,1)
f(4,0) f(4,1) f(4,2) f(4,3) f(1,1) f(1,2)
h(1,0) h(1,1) h(1,2)
g(4,0) g(4,1) g(4,2) g(4,3) g(1,1)
h(2,0) h(2,1) h(2,2)
f(5,0) f(5,1) f(5,2) f(5,3) f(2,1) f(2,2)

𝑔 𝑛, 𝑚東京⼤学 数理・情報教育研究センターℎ 𝑖, 𝑗 𝑓 𝑛

𝑖, 𝑚

𝑗

g(5,0) g(5,1) g(5,2) g(5,3) g(2,1)

4-4. 時系列データの解析
東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA46

2次元デジタルフィルタの適⽤
入力画像 f(x,y)
f(0,0) f(0,1) f(0,2) f(0,3) f(0,1) f(0,2)

出力画像 g(x,y)
g(0,0) g(0,1) g(0,2) g(0,3) g(0,1)

f(1,0) f(1,1) f(1,2) f(1,3) f(1,1) f(1,2)
行列の積g(1,0) g(1,1)
g(1,2) g(1,3) g(1,1)
f(2,0) f(2,1) f(2,2) f(2,3) f(2,1) f(2,2)
g(2,0) g(2,1) g(2,2) g(2,3) g(2,1)
f(3,0) f(3,1) f(3,2) f(3,3) f(0,1) f(0,2)

h(0,0) h(0,1) h(0,2)

g(3,0) g(3,1) g(3,2) g(3,3) g(0,1)
h(i, j)のとる値によってf(4,0) f(4,1)
f(4,2) f(4,3) f(1,1) f(1,2)
h(1,0) h(1,1) h(1,2)
出⼒画像が様々に変化
g(4,0) g(4,1) g(4,2) g(4,3) g(1,1)
h(2,0) h(2,1) h(2,2)
f(5,0) f(5,1) f(5,2) f(5,3) f(2,1) f(2,2)
𝑔 𝑛, 𝑚ℎ 𝑖, 𝑗 𝑓 𝑛

𝑖, 𝑚

𝑗

g(5,0) g(5,1) g(5,2) g(5,3) g(2,1)

 h の f に対する畳み込み演算と呼ぶ
東京⼤学 数理・情報教育研究センター

4-4. 時系列データの解析
東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA

472次元デジタルフィルタにおける畳み込み演算
h(0,0) h(0,1) h(0,2)ℎ 𝑖, 𝑗 𝑓 𝑛

𝑔 𝑛, 𝑚𝑖, 𝑚𝑗h(1,0) h(1,1) h(1,2)
h(2,0) h(2,1) h(2,2)

出⼒画像の明るさを変えたくない場合は、ℎ 𝑖, 𝑗1

３×３のカーネル••••

⼀般的にフィルタのカーネルは奇数×奇数画素の正⽅⾏列
それぞれの画素を中⼼とし、その画素とその周辺からなる画素集合とカーネルとの⾏列積を、新しい画像の画素値とする処理を「畳み込み（convolution)」と呼ぶ
畳み込みはDeep Learningによる画像処理の基本的な処理（CNN=Convolutional Neural Network）
フィルタによって出⼒画像が様々に変化

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

48

平均値フィルタ（Mean filter)
3x3 平均値フィルタ
1/9 1/9 1/9
1/9 1/9 1/9
入力画像(320x480)

東京⼤学 数理・情報教育研究センター

1/9 1/9 1/9

５x5 平均値フィルタ
1/25 1/25 1/25 1/25 1/25
1/25 1/25 1/25 1/25 1/25
1/25 1/25 1/25 1/25 1/25
1/25 1/25 1/25 1/25 1/25
1/25 1/25 1/25 1/25 1/25

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

49

鮮鋭化フィルタ
輪郭を際⽴たせ、鮮鋭にするフィルタ‒ その画素と周辺の画素の値が違うとき、その画素の値を⼤きくする‒ その画素と周辺の画素の値が同じ時、その画素の元の値をそのまま使う-k/8 -k/8 -k/8

3x3鮮鋭化フィルタ
k=5とすると -k/8 1+k -k/8
下図のようになる
入力画像 (320x480)-k/8 -k/8 -k/8

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

50

エッジ抽出：ラプラシアンフィルタ
その画素の値が周辺の画素と違うほど⼤きな値とすることによって、周辺との輝度が⼤きく変化する輪郭線を取り出す
5x5 ラプラシアンフィルタ
3x3 ラプラシアンフィルタ-1
入力画像(320x480)

東京⼤学 数理・情報教育研究センター

-1

-1

-1

8

-1

-1

-1

-1

-1

-3

-4

-3

-1

-3

0

6

0

-3

-4

6

20

6

-4

-3

0

6

0

-3

-1

-3

-4

-3

-1

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

51

ガウシアンフィルタ
中⼼が最も値が⼤きく、中⼼から離れるほど値が⼩さくなる
x軸⽅向、y軸⽅向それぞれの値の変化はガウス関数に従う
1𝑥𝑦ℎ 𝑥, 𝑦exp
2𝜋𝜎2𝜎
カメラのレンズによるボケを幾何学的に再現したモデルと考えられる
サイズ3×3、σ=2のフィルタ

0.102 0.115 0.102
0.115 0.131 0.115
0.102 0.115 0.102

東京⼤学 数理・情報教育研究センター

11x11のガウシアンフィルタ

サイズ５×５、σ=5のフィルタ

0.03690.03920.04000.03920.03690.03920.04160.04240.04160.03920.04000.04240.04330.04240.04000.03920.04160.04240.04160.0392

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

0.03690.03920.04000.03920.036952

ガウシアンフィルタ
その画素の値の影響を最も強く受け、そこから離れた位置にある画素ほど影響を受けなくなる

入力画像(320x480)

東京⼤学 数理・情報教育研究センター

ガウシアンフィルタ
サイズ： 5x5σ=5ガウシアンフィルタ
サイズ： 11x11
σ=5

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

53

4. 画像の領域検出と物体・動作認識

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析

54Viola-Jones法
Haar-like特徴量による顔画像検出
⽩と⿊の矩形領域の組み合わせでできた様々なパターンを顔に当てはめて⼀致度を計算(矩形の⿊領域の輝度の合計) ‒ (⽩領域の輝度 の合計)

様々な顔画像と⼀致度の⾼いパターンは顔検出に有効‒ AdaBoostによりモデル学習（各特徴量の有効性に応じて重みづけ）

⼊⼒画像のサイズを変えながら、学習したモデルをあらゆる場所に当てはめることで、顔っぽい領域を⾒つけていく

ref. Paul Viola and Michael Jones, “Rapid object detection using a boosted cascade of simple features, CVPR2001, 2001.

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

55

顔領域の検出結果• 画像サイズを徐々に小さくしながらモデルと適合するかをスキャン• 顔ではないところも誤検出される• 真の顔領域であれば、画像のサイズを変えるたびに、顔領域として何度も検出される

2回以上検出された領域を顔として検出ref. (2020/4/6): Wikimedia commons: File:Kasahara Saitama Kasahara
Jinjo Elementary School 1920 1.jpg パブリックドメイン
https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%
83%AB:Kasahara_Saitama_Kasahara_Jinjo_Elementary_School_1920_1.jpg

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

56

深層学習による画像認識

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4. 時系列データの解析

57画像認識とは••「認識」とは「 ⼈間（主観）が事物（客観・対象）を認め、それとして知るはたらき。(ref. weblio辞書「認識」）
画像に写りこんでいる物体や動作、⾵景等に対し、⼈間が共通して与えるであろう名前（ラベル）を特定すること‒ 物体の名前を特定する（リンゴが写っている画像を⼊⼒すると「リンゴ」というラベルを返す）：物体認識‒ ⼈間が⾏っている何らかの動作を特定する（⼈が⼿を振っている写真を⼊⼒すると「⼿を振る」というラベルを返す）：動作認識•

機械学習における「画像認識」とは‒ あらかじめ、認識対象とする各クラスに対し、それと認識されるべき画像の集合が与えられている（訓練データ; training data）‒ データが与えられていないクラスの画像認識は基本的にできない（ただし、未知のクラスをunknownとして認識するタスクもある）‒ どのクラスかわからない画像を適切なクラスに分類するタスクなので、「画像分類 (Image classification)」と表現されることもある‒ 訓練データに含まれない、クラスが未知の画像集合（評価データ; testdata）がどれくらい正しく分類できたかで精度を評価（詳しくは「教師あり学習」を参照）

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

58

深層学習による画像認識の幕開け•

クラウドソーシングによる⼤規模データセット：ImageNet• ImageNet Large-Scale Visual Recognition Challenge (ILSVRC)‒ 1000クラス、学習120万枚、検証5万枚、テスト10万枚‒ マルチラベル：1枚の画像に複数ラベル＋信頼度• 2011年のILSVRCで優勝したモデルのエラー率は26％
 2012年にDeep Learningを使ったモデルが登場15%に激減！

ref. Russakovsky, O., Deng, J., Su, H. etal. ImageNet Large Scale Visual Recognition
Challenge. Int J Comput Vis 115, 211‒252 (2015).
東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

59

物体認識精度は⼈間を超えた!?
••••ILSVRC2012で、トロント⼤学Geoffrey Hinton教授率いるグループが初めて多層ニューラルネットワークによる画像認識モデルを提案
主著者の名前をもじってAlexNetと呼ばれる
翌年から上位チームはすべてDeep Learningを採⽤
2015年についに⼈間の精度を超えた
Deep Learning

誤認識率

AlexNet

コンペを運営しているチームの研究者がものすごく頑張って
⼈⼒で0.051を達成

Excerpted from ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 2017 Overview
Andrej Karpathy, “What I learned from competing against a ConvNet on ImageNet”, Sep 2, 2014, http://karpathy.github.io/2014/09/02/what-i-learned-fromcompeting-against-a-convnet-on-imagenet/

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

60

畳み込みニューラルネットワーク（CNN; Convolutional Neural Network)••

代表的な物体識別モデル
実際には様々な実装がある（下図はAlexNet）• 画像の空間的な特徴を抽出する層• 途中の層でははどうなっているか？

最終層にsoftmaxを適⽤した結果
0.00 goldfish
0.00 great white shark
0.00 tiger shark
0.00 hammerhead
0.01 electric ray...
0.89 car...
0.00 stinkhorn
0.00 earthstar
0.00 hen-of-the-woods
0.02 bolete
0.00 ear, spike
0.00 toilet tissue

1000クラスのうちappleだけが⾼く、残りがほぼ0のようなベクトルが出⼒ref. Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, “ImageNet Classification with Deep Convolutional Neural Networks”, NIPS2012
ref. (2020/4/6): Wikimedia commons: File:" 10 Alfa Romeo Giulietta white Derivate cut.JPG CC0
https://commons.wikimedia.org/wiki/Category:CC-Zero?uselang=ja#/media/File:%22_10_Alfa_Romeo_Giulietta_white_Derivate_cut.JPG

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

61

畳み込みニューラルネットワークにおける畳み込み演算••第1層から第5層までは、2次元デジタルフィルタで説明した
畳み込み演算 (convolution）を⾏っている
ただし、2次元デジタルフィルタではフィルタは⼈がデザインしていたのに対し、CNNではデータから学習により取得する

convolution

0.00 goldfish
0.00 great white shark
0.00 tiger shark
0.00 hammerhead
0.01 electric ray...
0.89 car...
0.00 stinkhorn
0.00 earthstar
0.00 hen-of-the-woods
0.02 bolete
0.00 ear, spike
0.00 toilet tissueref. Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, “ImageNet Classification with Deep Convolutional Neural Networks”, NIPS2012
ref. (2020/4/6): Wikimedia commons: File:" 10 Alfa Romeo Giulietta white Derivate cut.JPG CC0
https://commons.wikimedia.org/wiki/Category:CC-Zero?uselang=ja#/media/File:%22_10_Alfa_Romeo_Giulietta_white_Derivate_cut.JPG

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

62

CNNにおける画像のフィルタリング• 層を経るごとにより具体的な形状の特徴を取り出していく• 第5層になると、「⼊⼒画像にどんなパーツが写りこんでいるか（実際には尤度分布）」がわかってくる• 「⼊⼒画像に写っているパーツのセット」が「他のクラスに⽐べ、⾞にありがちなパーツのセット」であるならば「⾞」と判別

ref. (2020/4/3): Wikimedia commons:File:Red Apple.jpg CC BY 2.0
https://commons.wikimedia.org/wiki/
File:Red_Apple.jpg
東京⼤学 数理・情報教育研究センター

第3層の出⼒

第5層の出⼒形状レベルの特徴を抽出

輪郭線レベルの
特徴を抽出

⼊⼒画像

テクスチャレベルの特徴を抽出

第1層の出⼒

⼊⼒画像に
写っている
パーツの
リスト

モデルはKeras VGG16 pretrainedを使⽤
東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

63畳み込みニューラルネットワークにおけるプーリング (pooling)••

画⾯を⼩さく区切り、各区間ごとに画素をまとめて1つの値にする• データのサイズを⼩さくする役割• 物体が写っている位置や⾓度の違いに頑健にする役割
最⼤値を取る場合 max pooling、平均値をとる場合 average poolingと呼ぶ
0.00 goldfish
0.00 great white shark
0.00 tiger shark
0.00 hammerhead
0.01 electric ray...
0.89 car...
0.00 stinkhorn
0.00 earthstar
0.00 hen-of-the-woods
0.02 bolete
0.00 ear, spike
0.00 toilet tissueref. Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, “ImageNet Classification with Deep Convolutional Neural Networks”, NIPS2012
ref. (2020/4/6): Wikimedia commons: File:" 10 Alfa Romeo Giulietta white Derivate cut.JPG CC0
https://commons.wikimedia.org/wiki/Category:CC-Zero?uselang=ja#/media/File:%22_10_Alfa_Romeo_Giulietta_white_Derivate_cut.JPG

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

64

深層学習はそれまでの画像処理と何が違ったのか？
• AlexNet (2012)登場以前の画像認識では、CNNにおける第1~2層の出⼒に相当する情報を使って認識していた Deep Networkと対⽐してShallow networkと呼ばれる• 2000年前後にいくつかの技術⾰新‒ 数学的解法：勾配消失問題（層を深くすると学習が進まなくなる現象）に対する効率的な解決法の提案（1990年代後半）‒ GPGPUの発展：コンピュータグラフィックスの描画に⽤いられていたGPUをベクトル計算機とみなして気象や地震シミュレーション
等、数値計算に利⽤（2006年NVIDIAがCUDA提供開始）‒ Big Data時代の到来：
Webで画像やテキストなどが⼤量に収集できるようになり、モデルの学習に使えるデータが爆発的に増加• 様々な画像処理タスクに対する学習データセットが公開
東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

65

画像認識の例：⼿書き⽂字認識••

画像認識初期のタスク
よく使われるデータはMNIST (Mixed National Institute ofStandards and Technology database)‒ 「0~9」の10種類の数字の認識= 10クラス分類タスク‒ 各画像に数字が1つ記⼊‒ 解像度は20x20 pixel‒ 訓練データ：60,000枚‒ 評価データ：10,000枚•

間違いやすいサンプルも含む

ref. (2020/4/6): THE MNIST DATABASE of handwritten digits http://yann.lecun.com/exdb/mnist/
Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. "Gradient-based learning applied to document recognition." Proceedings of the IEEE, 86(11):2278-2324, November 1998.

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

66

画像認識の例： ⼀般物体認識••

写真に写っている物体が何かを当てるタスク
基本のデータセット：CIFAR-10‒ 10クラス分類、各クラス6000枚、32x32 pixelのカラー画像

ref. (2020/04/06): The CIFAR-10 dataset, http://www.cs.toronto.edu/~kriz/cifar.html

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

67

様々な画像処理タスク••

画像に対し、クラスを1つ特定する物体認識タスク以外にも、様々な画像処理タスクがある
多くの研究グループがデータセットを提供（下図はMicrosoft COCO)(a) 複数物体認識(b) 矩形領域検出(c) 領域
セグメンテーション(d) 個体別領域
セグメンテーション

個体ごとに別の領域として抽出
Tsung-Yi Lin, Michael Maire, Serge Belongie, Lubomir Bourdev, Ross Girshick, James Hays, Pietro Perona, Deva Ramanan, C. Lawrence Zitnick, Piotr
Dollár, “Microsoft COCO: Common Objects in Context”, CVPR2015

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

68画像の動作認識 (Action recognition)••

物体ではなく動作を認識するタスク
下図はPASCAL VOCのAction Classification Competitionの例• 10クラス(ジャンプする、電話する、楽器を演奏する、読む、⾃転⾞やバイクに乗る、⾺に乗る、⾛る、写真を撮る、パソコンを使う、歩く）• 上の10クラスに属さない動作を⾏う画像（”その他”)も含まれている

ref. (2020/4/6) The PASCAL Visual Object Classes Challenge 2012 (VOC2012) http://host.robots.ox.ac.uk/pascal/VOC/

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析69

動画における動作認識 (Action recognition)•••

画像ではなく動画を対象とした動作認識
ショートクリップに写っている⼈物の動作を認識
下図はUCF101: University of Central Floridaの研究グループが作った、101種類の動作認識を⾏うタスクのためのデータセットの例‒ 合計13320クリップ‒ 各動画の平均⻑は7.21 s（最短1.06 s、最⻑71.04 sec)
‒ 解像度320x240‒ うち51種類については⾳付

UCF101: A Dataset of 101 Human Action Classes From Videos
in The Wildhttps://www.crcv.ucf.edu/wpcontent/uploads/2019/03/UCF101_CRCV-TR-12-01.pdf

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

70

画像に対するキャプション⽣成 (Image captioning)••

画像に対し、その内容を説明する短い⽂（caption)を⽣成するタスク
データセットの⼀例：MS-COCO• 123,287枚の画像に886,284個の物体領域‒ 個々の物体ごとの領域とその物体ラベル‒ ５⽂程度のキャプション
物体ラベル：“person”, “car”, “dog”, “sheep”, “chair”

ref. (2020/4/6) Microsoft COCO, http://cocodataset.org/

東京⼤学 数理・情報教育研究センター

キャプション：• the dog is hurdling the sheep towards the man.
(その⽝は⽺を男のほうに追いやっている）• a man and a dog herding some sheep in a fenced offarea.
(男と⽝が柵で囲まれた場所で⽺を群れにしている）• a dog chases after some goats while a man
watches.
（男が⾒守る中、⽝がヤギを追いかける）• a man guides a dog to herd sheep.
（男が⽝を誘導して⽺の群れを作る）• a dog herds sheep into a pen as a shepherd looks on（⽝は⽺飼いが⾒ている間に、⽺を⼩さな群れにする)

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

71

画像に対するキャプション⽣成 (Image captioning)
深層学習により⾃動⽣成されたキャプションの例（ありがちな情景と誤認して⽣成された誤ったキャプションがあることに注意）

⼆⼈の⼩さな⼥の⼦がレゴで遊んでいる

⿊い服を着た男性がギターを弾いている

⽩と⿊の⽝が棒の上を跳んでいる

ピンクのシャツを着た⼥の⼦がブランコで揺れている

ref. (2020.4.6) Andrej Karpathy, Li Fei-Fei, “Deep Visual-Semantic Alignments for Generating Image Descriptions”, CVPR2015.
https://cs.stanford.edu/people/karpathy/deepimagesent/

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

72

⼈体の姿勢推定
OpenPose: ⽶国カーネギーメロン⼤学が開発‒ ⼈体の19か所の関節（左右の区別あり）を⾼精度で検出‒ 商⽤にも広く使われている

複数名いても正しく対応関係を獲得

右の肘と右の手首の連結の尤度マップ 位置と方向を検出
ref. (2020/4/6) Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh, “Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields”, CVPR2017,https://github.com/CMU-Perceptual-Computing-Lab/openpose

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

73

本教材のまとめ
1. 画像の表現と記録‒ カメラの仕組み‒ コンピュータにおける画像と⾊の表現‒ 画像の保存と圧縮

2. ⾊の知覚と表現‒ ⼈間の⾊覚とディスプレイやプリンタにおける⾊表現‒ ⾊空間‒ ⾊恒常性

3. 2次元フィルタリングによる画像処理
4. ⾼度な画像処理‒ 顔画像認識：Viola-Jones法（Harr-like feature)‒ 深層学習による画像認識• 深層学習の幕開け• 深層学習による⼀般物体認識• 様々な画像処理タスクとデータセット

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
⼭肩洋⼦ 2020 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

74