1

データサイエンス概論I＆II
非構造化データ解析

九州大学 数理・データサイエンス教育研究センター

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

2【再掲】構造化データと非構造化データ
 構造化データ
 簡単に言えば，表形式のデータを構造化データ
 例えば，「横に月・縦に都道府県」を並べた表を作り，それを「ある月のある県での平均降水量」で埋めたとすれば，それは構造化データ
 非構造化データ
 文章，画像，音がその代表例
 「表形式」にはならないので「非構造化データ」と呼ばれる
 スマートフォンやパソコンで日々読んだり見たり聞いたりしているが，これらもデータ

今回の話
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

3

画像データ

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

4

皆さんの身の回りにある画像データ
 カメラ画像 文字，文書，記号，標識，

ナンバープレート

commons@flickr 顔，指紋，虹彩，耳，唇，掌の静脈
 CT・MRI・X線などの医用画像

CT画像@wikipedia

IAM face dataset@wikipedia

九州大学 数理・データサイエンス教育研究センター／
MRI画像@wikipedia
X線画像@wikipedia 2022年9月版

5

2値画像，濃淡画像，カラー画像

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

6

カラー画像

+

=

R成分

+

G成分

B成分

色って何？→付録
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

7

動画像＝静止画像の時系列

フレーム(静止画像）
時間
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

8

画像データはどのように扱われる？(1/3)
【再掲】 画像は高次元ベクトル
 2値画像の例(1,1,0,0,0,0,1,1,0,...,0,1)
7×7画素

49次元ベクトル グレースケール画像の例(255, 245,10,35, 92, 231, 254,...,249)
7×7画素

49次元ベクトル
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

9

画像データはどのように扱われる？(2/3)
【再掲】 画像は高次元ベクトル
1200万画素のカメラ

1200万画素の画像
各画像は1200万次元ベクトル(RGBそれぞれ1200万だから，より正確には3600万次元)

 皆さんのスマホ・デジカメ・コンピュータは，いつも超高次元ベクトルを扱っている

 シャッター押した瞬間に1200万次元ベクトルが一つ生まれている
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

10

画像データはどのように扱われる？(3/3)
【再掲】 画像は高次元ベクトル(𝑑画素)画像の空間

なぜなら似た画像は似たベクトルだろうから
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

11

どうやって画像がベクトルに？
アナログ-デジタル変換
 そもそも目に見えている物理世界に「画素」はない
 カメラで写して初めて「画素」ができ，ベクトルになる(255, 245,10,35, 92, 231, 254,...,249)
 カメラがやっているのが「アナログ-デジタル変換」(AD変換）
 標本化：一定間隔で画像の色・明るさを採集→【付録】 量子化：各画素値をキリのよい数字(有限桁数)にする →【付録】標本化＆量子化

アナログ（物理世界）

デジタル（コンピュータで扱える画像データ）
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

12

集めた画像は「ベクトルの集合」，
それをつかって，いろいろなことができます
クラスタリング
似た画像でグルーピング．
各クラスタの代表画像だけを見ることで，画像コレクションの全体像を「概観」できる「いつもにない画像」を見つけることができる→カメラを用いた監視ができる

画像空間
異常検出

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

13

集めた画像は「ベクトルの集合」，
それをつかって，いろいろなことができます
認識(識別)
与えられた画像が「犬」か「ネコ」かを自動で見分けることができるもとが𝑑 =1200万次元でも，その真の次元𝑑ሚ ≪ 𝑑 を探すことができれば，データを𝑑ሚ Τ𝑑 に圧縮できる！

画像空間
画像圧縮

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

14

二値画像

2次元信号𝑓 𝑥, 𝑦 として画像を見ることもできる
𝑓
𝑦
𝑦

𝑥

濃淡画像

𝑥

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

15

画像データに関する様々な分析課題
 画像処理 画像の色や明るさを補正し，より見やすくする
 例：フィルタリング→【付録】 画像認識 そこに写っているものが何かを認識する コンピュータビジョン
 複数枚の画像を組み合わせて3D立体視（ステレオ）

 画像中で動くものを追跡する（トラッキング）

 画像生成 新しい画像を作成する

 特徴抽出 画像中に写っているものの個数をカウントする・面積を測る，など
 例：画像の二値化→【付録】 画像圧縮 画像をよりコンパクトに表現する

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

16

画像処理の例：
フィルタリグ【付録】による画像の平滑化（ぼかし）ぼかす九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

17

画像認識
そこに写っているものは何かを当てる

正解→
認識結果
(上位5位)[He+ Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification, ArXiv, 2015]18

画像認識の応用(1/2)
物体検出 特定の物体(車や人)が画像中のどこにあるかを見つける 自動運転やロボットには必須の技術

YOLO: https://pjreddie.com/darknet/yolo/
ChangeDetection.NET:http://changedetection.net/

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

19

画像認識の応用(2/2)
領域分割
 より正確に各物体の領域を正確に求める ある意味で「各画素が何の物体の一部か」を認識していることに 植物の生長モデリングや自動運転システムに応用可能

葉領域分割

車載カメラからの映像を理解する(赤紫：路面，オレンジ：白線，など)

出典：
左図：https://www.plant-phenotyping.org/datasets-home
右図：http://mi.eng.cam.ac.uk/projects/segnet/

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

20コンピュータビジョン技術の例：
3次元再構成 2枚以上の画像から3次元情報を復元する
 実空間の3次元モデリングやナビゲーションシステム
ARアプリケーションなど応用は多岐にわたる

ネット上の大量の写真からColosseumの3次元再構成結果(様々な角度から写した写真を見つけて，それらを組み合わせ3次元構造を推定)
出典：http://grail.cs.washington.edu/rome/

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

21

音声／音楽データ

周波数との深い関係
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

22

音もデータ
 コンピュータにとっては「音」もデータ
 時々刻々と変わる音の波の高さを数値化すればデータに

 三種類の「音」
 人間の声である音声
 音楽

 雑音や騒音，生活音などの一般的な環境音

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

23

音声データの分析
 音声認識 何と喋っているかを理解する（Siriやスマートスピーカ）

 話者認識 誰がしゃべっているかを推定する：オレオレ詐欺のように人間でも時々難しい 感情認識 声の様子から感情を推定する
 声質変換，音声強調（より聞きやすい音声にする）

 音声合成 文-音声変換：例えば「おはよう」という文字列を読み上げる
 音声翻訳：ある言語の音声を，別の言語に翻訳して発話
 歌声合成：ボーカロイドでおなじみ

komtmt.files.wordpress.com/2012/12/img_miku_web.jpg

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

24

音楽データの分析
 楽曲分析
 音楽のコード進行やメロディーライン，リズム等を推定 自動作曲および作曲支援
 メロディーを入れるとコード進行を自動でつける
 Open AIによるJukeboxでは「歌手○○に○○風の歌を歌わせる」で，音楽データを自動生成

 音響分析
 例えば，ボーカルだけを取り出したり，消したりする

OpenAI Jukebox

 音楽認識 街中で流れている音楽や鼻歌が，どの楽曲であるかを推定
 楽曲推薦 特定の楽曲と似た印象の楽曲を見つけて提示する

 音楽データ圧縮

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

25

環境音データの分析 環境音認識 街中騒音や生活音が何の音かを推定する

 音源分離 複数の音が一度に鳴っているときに，音源別に音を分ける 音源同定 どこから鳴っている音かを推定 異常音検出 いつもと違う音に気づく．例えばエンジン音の異常など

https://panasonic.biz/cns/pc/prod/note/sz5y/basic2.html

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

26

音のデータはどのように扱われる？(1/2)
波形のまま＝振幅の時系列データ
 音声波形の例

振幅

時間

振幅の時系列2.3, 2.1, 0.9, 0.1, -1.3 …

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

27

音のデータはどのように扱われる？(2/2)
サウンドスペクトログラム
 女性が「みなと」と発声

周波数（音の高さの成分）

Ish Ishwar@Wikipedia サウンドスペクトログラム

次スライド

黒いほど
その周波数成分量が多い

時間
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

28

周波数とは？
繰り返し周期の逆数
周波数低い
（低音）

周波数高い
（高音）
ちなみに画像にも周波数があります【付録】九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

29

サウンドスペクトログラムはどうやって求める？
→ 各時刻で「周波数スペクトル」を求める

時間

周波数（声の高さの成分）

Ish Ishwar@Wikipedia サウンドスペクトログラム

周波数分析(フーリエ変換)
成分量

黒いほど
その周波数成分量が多い

時間
周波数

周波数スペクトル(各周波数成分がどれぐらい入ってるか)

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

30

サウンドスペクトログラムはどうやって求める？
→ 各時刻で「周波数スペクトル」を求める
これを時刻ごとに作っていけば完成
時間

周波数分析
(フーリエ変換)
成分量

周波数（声の高さの成分）

Ish Ishwar@Wikipedia サウンドスペクトログラム

時間
周波数

周波数スペクトル(各周波数成分がどれぐらい入ってるか)

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

31

周波数スペクトルとは
 音楽に合わせて動く，こういう↓ものを見たことないですか？
 これも周波数スペクトルの一種

https://phoneky.com/gif-animations/?id=s2s106913

低い周波数
（低音）

高い周波数
（高音）

 その波形を作る「レシピ」なのです 「レシピ？ 確かベクトルの分析のところで聞いたような」と思い出してくれると幸い
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

32

驚きの事実：時系列データは，周波数の異なるsin波・cos波の和に分解可能！

時間 t
どんなに
不規則そうな
時系列データでも規則的な成分に完全に分解できる！

+

t

+

t

...

＝

+

t

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

33

思い出そう...
材料セット
𝒆1 , … , 𝒆𝑖 , … , 𝒆𝑑

𝛼𝑖 = 𝒙 ∙ 𝒆𝑖

レシピ(分析結果)⋮→ 𝛼1 グラム→ 𝛼𝑖 グラムカレー𝒙

෍ 𝛼𝑖 𝒆𝑖⋮→ 𝛼𝑑 グラム

あの味を完璧に再現できた！

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

34

全く同じ話です：
これはフーリエ変換【付録】と呼ばれ，工学で頻繁に登場

波形カレー𝒙

材料セット
𝒆1 , … , 𝒆𝑖 , … , 𝒆𝑑

𝛼𝑖 = 𝒙 ∙ 𝒆𝑖
時間 t

レシピ(分析結果)⋮→ 𝛼1 グラム→ 𝛼𝑖 グラム෍ 𝛼𝑖 𝒆𝑖⋮→ 𝛼𝑑 グラム

波形カレーを完璧に再現できた！
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

35

自然言語データ

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

36

言語データ
 言語データ＝文字列で表されるデータ
 「あ」や「A」などの文字を並べると単語ができる 単語を並べると「勉強，大変ですね」というような文ができる
 SNS やネットでは，言語データが日々大量に生まれている 自然言語処理(natural language processing) 言語データをコンピュータによって分析する技術

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

37

自然言語処理の例：
頻出単語と翻訳 頻出単語 言語データの中で最も多く出てきた単語を見つける処理 例えば• 本日「twitterで最もつぶやかれた単語」 → その日のトレンド• ある本の中で比較的多く出てくる単語 → その本の内容の概要• 普通はあまり使われてない言葉だけど，その文書では何回か出てくる →キーワード

 翻訳
 日英翻訳でお世話になってる人も多いのでは？
 昔は「文法解析」に基づく翻訳
 いまは対訳データをAIに学習させる場合が主流• “I love you” ⇔ “私はあなたが好きです” というようなペアを大量に準備• AIに，それらペアに潜む傾向を理解させる
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

38

自然言語処理，その他の例
 検索
 ある文に似た意味の文をネットなどから探す
 要約
 長い文章を，内容を損なわない程度に短くする 対話
 チャットボットのように会話したり，質問に回答する
 その延長線上に「文章自動生成」も
 校正
 よりよい文章になるような書き換えを提案する
 文法チェック
 トピック分析
 その文章が，例えばスポーツ関係なのか，政治関係なのかを分析する
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

39

自然言語処理，さらに進んだ例：
 意味解析
 各単語や文を，その意味に応じて数値ベクトル化
 king - man + woman = queen のような，言葉の計算が可能に
 パラフレーズ解析
 「私はお腹がすいた」と「何か食べるものが欲しい」は同じ意味か否か 言葉としては違うが意味は同じという，難しい問題

 センチメント解析
 文章に潜む感情を推測する課題
 「こんなに汚れが取れる洗剤，見たことがない」という文章は肯定的か否定的？
 「ない」という否定語で終わってるが，内容は肯定的
 文章生成 小説のような文章や，ジョーク（ダジャレ），俳句を自動的に作らせる
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

40

文章生成 GPT-3
 少数の文を入れると，人間でも区別がつかないような文章を自動生成
 題名と副題を入れただけで，ニュース文章を自動生成 → 様々な応用が可能
 コンピュータプログラムの自動生成
 文章の推敲（より良い文を生成）

 大学におけるレポート課題の運命や如何に！？
 などなど，いろいろ問題ありそうですね…
[Brown+, “Language Models are Few-Shot Learners, “ NeurIPS2020]

41

【付録】
コンピュータに画像が保存されるまでの処理①標本化

いわゆる「アナログ→ディジタル変換」と画像圧縮
その①

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

標本化(sampling)：
デジタル画像生成の第一歩

アナログ世界デジタル世界連続的点（画素）の集合

穴の開いた壁

42

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

標本化の方法：
有限個の撮影素子のそれぞれが光強度をセンシング

43

素子一つ一つが壁の穴に相当http://www.kayoo.org/home/mext/joho-kiki/ より引用

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

44

驚くべき事実：
逆もできる！

アナログ世界デジタル世界連続的点（画素）の集合
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

驚くべき事実！
「標本化定理」Sampling theorem

4545 ある条件を満たせば，のぞき穴からの情報だけで，壁の向こうが完全に復元できる！

 ディジタル画像からアナログ世界が戻せる！

アナログ

標本化結果

アナログ

 そんなバカな！ 穴と穴の間の見えてない部分がもともとどうだったかとか，そんなのわかるわけがない！

 「ある条件を満たせば」のところが怪しい…
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

46
46

標本化定理
条件
連続データの最高周波数が fmax のとき，
周期 T< 1/(2 fmax ) 毎 に標本化すれば，標本化結果（ディジタル）から連続データ（アナログ）を再現可能
 周波数とは？
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

47

余談：画像にも「周波数」成分があります
時系列データ(1次元信号)

画像(2次元信号)
200
200

100
150
0
100
50
50

100

150

200

低い周波数

1
1

0.5
60

0

0.5
60

0

-0.5
-1

40

20

-0.5
-1

40

20

40

20

緩やかな明るさ変化を表現

20

40

60

60

1
0.5
60

0
-0.5
-1

高い周波数

40

20

20
40

細かい模様を表現 2022年9月版
九州大学 数理・データサイエンス教育研究センター／
60

48
48

話は戻って，標本化定理
条件
連続データの最高周波数が fmax のとき，
周期 T< 1/(2 fmax ) 毎 に標本化すれば，標本値（ディジタル）から連続データ（アナログ）を再現可能

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

49
49

壁の向こうの世界に含まれる話は戻って，標本化定理
最も細かい変化

条件
連続データの最高周波数が fmax のとき，
周期 T< 1/(2 fmax ) 毎 に標本化すれば，細かければ細かいほど短い周期で標本化すれば標本値（ディジタル）から連続データ（アナログ）を再現可能
標本化定理の「タネアカシ」
１．最高周波数がわかっている
２．その最高周波数に応じた周期で標本化している
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

50
50

標本化定理～最も極端な場合で理解する 最高周波数 fmaxが0であること（＝壁の向こうは変化なし＝一定色の世界が広がっている）がわかっているならば，

 周期は無限大でOK =標本点(穴)は1つでOKたった一つの穴だけど

fmax=0と知っているので壁の向こうはこの色１色の世界が広がっていることがわかる
アナログ(物理世界)

標本化結果(1点のみ)完璧な復元結果

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

51

標本化定理～もっと一般的な場合も理解する
最高周波数が低い

間隔大条件の基準になるもの（画像の細かさ＝周波数）

最高周波数が高い

間隔小条件を満たすサンプリング間隔
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

標本化周期による画像の変化と，条件を満たさない場合に起こる「エリアシング」

52

同じ範囲を
写しているので，画素数が多い(=高解像度)ほど短い標本化周期

640x480320x240

ん!？

んん!？

ん!？

画像の最高周波数に比べ，標本化周期が長すぎた結果，生じてしまった偽の模様(エリアシング)

160x12080x60

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

53

標本化されたデータを介して，画像を見ている！
アナログ

標本化結果を送受信・蓄積復元結果(アナログ)
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

音声のような時系列データも同様！
そのおかげでデジタル機器やCDで音楽が聴ける
アナログ
𝑥 𝑡

𝑡

標本化結果を送受信・蓄積𝑡

復元結果(アナログ)

𝑡54

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

55

【付録】
コンピュータに画像が保存されるまでの処理②量子化

いわゆる「アナログ→ディジタル変換」と画像圧縮
その②

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

56
56

量子化(quantization)の概念
 連続量→（四捨五入的処理)→キリのよい数字に（有限桁数に）
 必ずロスが発生（＝もとには戻らない＝標本化定理のようなものはない）

4

量子化
誤差

3
量子化

2
1

標本化された信号(1.74, -2.034, 2.897, …..)

0
標本化＋量子化された信号(4,0,4,4,3,3,3,1,2,1,0)
九州大学
数理・データサイエンス教育研究センター／ 2022年9月版

64 (6bit)

16 (4bit)

32 (5bit)

256 (8bit)

量子化レベルによる画像の変化

57

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

4 (2bit)

2 (1bit)

8 (3bit)

量子化レベルによる画像の変化(つづき）

58

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

16 (4bit×3)

32 (5bit×3)

64 (6bit×3)

RGB各256レベル(8bit×3=24bit)

量子化レベルによる画像の変化
59
59

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

4 (2bit×3)

2 (1bit×3)

RGB各8レベル(3bit×3)

量子化レベルによる画像の変化(つづき）

60

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

61

【付録】
コンピュータに画像が保存されるまでの処理③画像圧縮

いわゆる「アナログ→ディジタル変換」と画像圧縮
その③

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

62
62

画像圧縮～種類と応用先
画像𝑋 → 圧縮 → 復元 → 𝑋’
 可逆符号化 𝑋 = 𝑋’
 医用画像，文化財（古文書）保存，リモートセンシング画像
 圧縮率 1/2 ~ 1/3 程度

普通のJPEGはこちら

 非可逆符号化 𝑋 ≠ 𝑋’ but 𝑋 ≒ 𝑋’
 通信用画像(Web上の画像，デジカメ画像)，動画 圧縮率1/10 ~ 1/50 ~....

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

63

画像は各周波数に分解できる
低

水平周波数

高

垂直周波数

低

高
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

64

JPEGの原理:小ブロック毎に周波数分解

低8x8ブロック

高

低

垂直周波数

周波数
成分に
分解

水平周波数

高

値の大きな成分は低周波数域に集中する（energy compaction)
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

65

最も低い周波数成分だけで表現

原画像

圧縮後
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

66

もう少しだけ使って表現

原画像

圧縮後
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

67

拡大版

原画像

圧縮後
ブロック歪み(後述)が良く見えます
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

68

なぜ圧縮できる？

圧縮（濃淡画像）こちらを
送らずに

復元

さらに
この部分を
量子化

ここは
捨てる

（周波数成分）こちらを送る

しかしブロック歪には要注意！
ブロック歪が画像処理に悪影響することも！
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

69

以前やった，以下の話と全く同じ！

高周波数
成分が
相当する

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

70

ブロック歪み(block-noise)

32kbyte

歪み小(圧縮率低)

10kbyte3kbyte

歪み大(圧縮率高)
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

71

ブロック歪み(block-noise)の画像処理への影響
歪みあり(圧縮率高/10kbyte)

エッジ抽出結果

パッと見わからないが…

ブロック状の凸凹が…
これで形状解析したりすると変なデータが出るかも…

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

72
72

モスキートノイズ(mosquito noise)

原画像

JPEG圧縮後九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

73
73

可逆圧縮 PNG
 汎用圧縮方式 (LZ77圧縮)が中心技術
 似たパターンが繰り返し出現することに着目した手法

http://itpro.nikkeibp.co.jp/article/COLUMN/20061012/250605/?P=7

 GZIP等でも利用 画像特有の性質を積極的に活用した手法ではない

 色は24ビットRGB
 RGB各8ビット=JPEGと同じ
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

74

【付録】
色の話

なぜ，R(赤)，G(緑)，B(青)の組で黄色が表現できるのか？

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

コンピュータにおいて，カラー画像は3つの単色画像の重ね合わせで表現される

+

=

R成分

75

+

G成分

B成分

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

76
76

ところで，色は光の波長と関係する．
波長が変われば色が変わる「可視光」

wikipedia

波長＝380nm

750nm

あれ？ 色ってＲ＋Ｇ＋Ｂでは？？
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

77

要するに，人間による色の「知覚」はいい加減

単一波による黄色
wikipedia(波形としては全然違うのに)人間はこれらを区別できない！
RとGを
混色して
できる
黄色
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

78

区別できないのは人間側のセンサ(視細胞)がRGBの3色担当しかないから
青錐体

緑錐体 赤錐体

wikipedia

wikipedia

これら3タイプの視細胞の反応の組み合わせで色を知覚
biz.websuccess.jp/cud/colorsense/

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

見る人間が3センサしかないので，コンピュータでも3色のブレンドでOK：RGB表色系

7979

 𝑅（赤、 700nm）
 𝐺（緑、 546.1nm）

 𝐵（青、 435.8nm）
 この3原色の混ぜ具合によって，色を表現

色= 𝛼 𝑅 + 𝛽𝐺 + 𝛾𝐵(𝛼, 𝛽, 𝛾)の３つの数字で色を表す
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

他の表色系：
マンセル表色系（HSV表色系）
 3つの値

大雑把に言うと明度色相

 色相(Hue，色の波長) 彩度(Saturation，鮮やかさ) 明度(Value，明るさ)

80
80

彩度

で色を表現
 R,G,Bの値から

H,S,Vの値を計算可能
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

81

【付録】
具体的な画像データ分析の例：
画像の2値化

濃淡画像を “わざわざ”白黒画像にする？
でも利用者は非常に多い，基本的画像解析技術．
こんなシンプルな話でも，今でも研究されているから驚き（要するに完璧な方法はまだ存在しない）
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

82
82

画像の２値化 濃淡画像を白と黒の2階調に変換

原画像（濃淡画像）

領域境界がハッキリする

2値画像（白黒画像）

 利用目的の例
 前景（物体）と背景の分離，各種成分抽出（連結成分解析，後述） ノイズ除去 画像の高速処理，画像の圧縮蓄積
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

83

2値化の手がかり：ヒストグラム（頻度）
画素数

キリン(?)の表皮(濃淡画像)

黒白
どうもこの辺が「白線」部分？
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

84

2値化の手がかり：ヒストグラム

どこに「しきい値」(threshold)
を設定？

黒

白

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

8585

2値化のための「しきい値」決定法 (1/3)：
モード法
 ヒストグラムの谷＝しきい値

画素数

黒(0)

白(255)

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

8686

2値化のための「しきい値」決定法 (2/3)：
pタイル(percentile)法 「全画素の𝑝 %が前景」が既知なら使える方法
 全体的に明るさが変わってもOK!
100%
画素数

𝑝%

※前景＝黒の場合

黒白九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

8787

2値化のための「しきい値」決定法 (3/3)：
大津の二値化 最適しきい値を決定

分散A

評価基準
分散C

分散B
分散A

黒
左部分の平均分散C

白
右部分の平均＋分散B

これを最大化するようにしきい値を決定九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

88

ImageJ/Fiji(画像処理の無料ソフト)を使えば同時に色々試せる

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

89より進んだ二値化：局所二値化
背景

輝度値

局所二値化

局所領域

全体で二値化

原画像

#画素数

前景

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

90より進んだ二値化：背景推定

平滑化による補完

絶対前景と思われる
黒画素領域（多少余計にとってもOK)

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

91

ImageJ/Fiji(画像処理の無料ソフト)を使えば局所しきい値系でも同時に色々試せる

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

92

2値化後によくやる処理：
膨張・収縮によるノイズ除去

収縮

膨張

膨張

膨張

収縮

収縮

収縮

収縮

収縮

http://imagingsolution.blog107.fc2.com/blog-entry-101.html

小さなギャップを埋められる
小さな孤立点を潰せる
膨張

膨張

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

9393

連結成分解析:
粒状物体の定量化に便利 連結成分＝黒(or 白)画素の塊
 全体での数や，各成分の面積や形が定量化できるように

なる！

64個
総黒画素面積 22243
平均面積 347.547
個数Fiji sample image “Blobs”

面積

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

連結成分解析:
4連結と8連結～どこまでを「隣」とみるか？
 ４連結での「隣」

94

 4連結か，8連結かで変わる(黒の）連結成分数は何個？

 8連結での「隣」(白の）連結成分数はつながっている!?
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

95

【付録】
具体的な画像データ分析の例：
画像のフィルタリング

画像をぼかしたり，シャープにしたり，ノイズを除去したり

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

96

フィルタリング
何かしらの計算結果

これを(𝑥, 𝑦)を変えながら全ての画素について実施

ここの
画素値に

画素(𝑥, 𝑦)

原画像

フィルタリング結果

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

最も基本的なフィルタ：平滑化 (1/2)
まずは1次元で考えてみる

97
97

この辺で急な変化があり

3

3

1

3

3

3

0

1

0

3

0

0

元データ

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

最も基本的なフィルタ：平滑化 (1/2)
まずは1次元で考えてみる

98
98

平滑化用に
設計されたもの

1/3 1/3 1/3
フィルタ
マスク
3

3

1

3

3

3

0

1

0

3

0

0

元データ

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

最も基本的なフィルタ：平滑化 (1/2)
まずは1次元で考えてみる

99
99

1/3 1/3 1/3
フィルタ
マスク
3

3

フィルタマスクと
元データの
内積値

2.3

1

3

3

3

0

1

0

3

0

0

元データ

この「全部1/3」というフィルタマスクの場合，
内積値＝平均値(=(3+3+1)/3)にできる

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

最も基本的なフィルタ：平滑化 (1/2)
まずは1次元で考えてみる

100
100

1/3 1/3 1/3
フィルタ
マスク
3

3

フィルタマスクと
元データの
内積値

2.3

1

3

3

3

0

1

0

3

0

0

元データ

2.3
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

最も基本的なフィルタ：平滑化 (1/2)
まずは1次元で考えてみる

101
101

1/3 1/3 1/3
フィルタ
マスク
3

3

フィルタマスクと
元データの
内積値

2.3

1

3

3

3

0

1

0

3

0

0

元データ

2.3

2.3

2

3

0.3

1.3

元データより滑らかなデータが得られた！

1

1.3

1

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

最も基本的なフィルタ：平滑化 (2/2)
画像の場合

102

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

103
103

1/9

1/9

1/9

1/9

1/9

1/9

1/9

1/9

1/9

マスク

最も基本的なフィルタ：平滑化 (2/2)
画像の場合も同様に，ずらしながら内積
1/9

1/9

1/9

1/9

1/9

1/9

1/9

1/9

1/9

平滑化後

平滑化用
フィルタマスク
(3x3)

元データ

内積
10

10

10

10

20

10

10

10

10

10

10

10

10

11

10

10

10

10

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

104

基本的なフィルタ：エッジ検出
まずは1次元で考えてみる エッジ＝色や明るさが急に変わる箇所

ここのエッジを見つけてほしい

3

3

3

3

3

3

0

0

0

0

0

0

元データ

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

105

基本的なフィルタ：エッジ検出
まずは1次元で考えてみる エッジ＝色や明るさが急に変わる箇所

-1/2

1

-1/2

3

3

3

エッジ検出用に設計されたもの

フィルタ
マスク
3

3

3

0

0

0

0

0

0

元データ

エッジに反応した！

フィルタマスクと
元データの
内積値

3/2
-3/2
0

0

0

0

0

0

0

0

0

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

106
106

画像でのエッジ検出例
 横方向と縦方向で エッジを出して，それらを合成(Sobel)九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

107
107

非線形フィルタ：メディアンフィルタ
 各局所領域の「中央値」を採る処理
10 12 9
 中央値＝濃淡値を大小順に並べ、その中で真ん中の値 200 8 14
 内積型ではないフィルタの代表例
12 11 13フィルタサイズ= 3 × 3

10 12 912 14

12 11 13

10 × 10

http://www.mvision.co.jp/WebHelpIM/_RESOURCE/Filter_Mvc_Median.html

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

108
108

非線形フィルタ：バイラテラルフィルタ
 エッジは保存しながら細かい変化を平滑化[Tomasi+, ICCV1998]

 小じわが見えにくく？
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

109

【付録】
フーリエ変換工学系ではよく使われます．
式は難しそうに見えますが，内積によるベクトルの分解と合成を覚えていれば，全く同じ話です．
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

110

波形を(無限次元)ベクトルとみる
𝑥 𝑡
時間𝑡
一定間隔Δ𝑡で見てみると(サンプリング)
Δ𝑡

時間𝑡
振幅の時系列-0.1, -1.3, -1.5, 0.0

…

-0.4

ベクトル！

(-0.1, -1.3, -1.5, 0.0

…

-0.4)

Δ𝑡をどんどん小さくするとの数はどんどん増える→ベクトルは無限次元に九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

特定周波数成分の抽出＝ベクトルの分解と同じく「内積」

111

同じ時刻同士で掛け合わせたものを足し合わせる！

𝑥 𝑡

න 𝑥 𝑡 cos 𝜔𝑡 𝑑𝑡
時刻𝑡を変えながら全部足す

cos 𝜔𝑡100とか1000とか有限次元ならΣだが，無限次元なので積分になる

𝑡𝑥 𝑡 中の cos 𝜔𝑡成分量(𝜔で規定される周波数𝑓(= 2𝜋𝜔)の成分量)が求まる！
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

112

フーリエ変換‫ ↔ 𝑡𝑑 ׬‬時刻𝑡を変えながら全部足す

𝑋 𝜔 = න 𝑥 𝑡 cos 𝜔𝑡 − 𝑗 sin 𝜔𝑡 𝑑𝑡= න 𝑥 𝑡 cos 𝜔𝑡 𝑑𝑡 − 𝑗 න 𝑥 𝑡 sin 𝜔𝑡 𝑑𝑡
𝑥 𝑡 と cos 𝜔𝑡 の内積 𝑥 𝑡 と sin 𝜔𝑡 の内積九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

フーリエ変換により，入力信号中の各周波数の成分量が求まっているわけです

𝑋 𝜔1
⋮
𝑋 𝜔𝑖
⋮
𝑋 𝜔𝑑

113

周波数
スペクトルと呼ぶ

この内積部分が先ほどの「基底𝒆𝑖 はどれか」が気になる人は𝑋 𝜔 = න 𝑥 𝑡 cos 𝜔𝑡 − 𝑗 sin 𝜔𝑡 𝑑𝑡

𝑋 𝜔𝑖 = න 𝑥 𝑡 cos 𝜔𝑖 𝑡 − 𝑗 sin 𝜔𝑖 𝑡 𝑑𝑡に相当とすればわかりやすい？

𝒆𝑖 に相当九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

「むずかしいな」と感じたら，シンプルな例で(1/2)
𝒙は𝒆𝑖 と同じ
周波数𝜔𝑖 の正弦波

材料セット
𝒆1 , … , 𝒆𝑖 , … , 𝒆𝑑

レシピ(分析結果)→ 0 グラム𝛼𝑖 = 𝒙 ∙ 𝒆𝑖⋮
→ 𝛼𝑖 グラム෍ 𝛼𝑖 𝒆𝑖114⋮→ 0グラム𝑋 𝜔1 : 𝜔1 は入ってない⋮
𝑋 𝜔𝑖 : 𝜔𝑖 は入っている！
⋮
𝑋 𝜔𝑑 : 𝜔𝑑 は入ってない

水しか入ってないカレー(?)なら
水成分のみが非ゼロ（水以外はゼロ）

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

115「むずかしいな」と感じたら，シンプルな例で(2/2)
単一成分だった𝜔

入力波形𝑥(𝑡)周波数スペクトル𝑋 𝜔𝜔
2つの成分が入ってた！
単一成分
By Fdominec https://commons.wikimedia.org/wiki/File:Spectrum_sinewaves.svg

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

116

フーリエ逆変換‫ ↔ 𝜔𝑑 ׬‬材料𝜔を変えながら全部足す

𝑥 𝑡 = න 𝑋 𝜔 cos 𝜔𝑡 + 𝑗 sin 𝜔𝑡 𝑑𝜔

分量(レシピ）

各材料

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

117

動画でみるフーリエ変換・逆変換
https://commons.wikimedia.org/wiki/File:Nyquist_sampling.gif

灰色の線：元の信号𝑥(𝑡)

赤色の線：スペクトル𝑋(𝜔)フーリエ変換

フーリエ逆変換

オレンジの線：材料を混ぜて復元された信号復元(逆変換)に使う範囲(材料として混ぜる範囲)

全部の材料をレシピ通り混ぜたら，元通り(灰色＝オレンジ色）になる点に注目！
さらに「最初は大雑把だが，徐々に詳細部も似てくる」点にも注目！
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

118
118

フーリエ基底 cos/sin関数に分解して戻る＝cos/sin関数は（関数の）完備正規直交基底
 フーリエ基底とも呼ばれます「どんな関数でもcos/sin成分に分解できて，合成すればもとに戻る」というのは，（しつこいですが）美しい （異常な関数を除けば）• 「異常とは何か」が気になる人は「2乗可積分関数」について調べてみよう 他にも色々な完備正規直交基底が存在
 この話と同じ！
 同じ信号でも，基底を変えれば違って見える
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

119

【付録】
自然言語処理に関する余談

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

120
120

単語のデータ化 (1/2)
 一番基本は「1-hotベクトル」表現
語彙数が𝑁なら𝑁次元ベクトル𝑥apple =(0, 0, 0, 1, 0, 0, 0, 0, 0, …., 0)↑apple

𝑥orange =(0, 0, 0, 0, …, 0, 0, 1, 0, …., 0)↑orange これだと「𝑥apple と𝑥orange の違い」は「𝑥apple と𝑥car の違い」と同じ
 それでいいのか??

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

121
121

単語のデータ化 (1/2)
 これを最近は「単語埋め込み」により意味ベクトル化する
1-hotを意味に変換する関数𝑓この𝑓はたくさんの文章例と機械学習で創り出す

𝑋apple = 𝑓 𝑥apple
 𝑋apple ~𝑋orange (似てるものは似た特徴ベクトルに！)• 基本アイディア（分散仮説）＝文章の同じ位置に入りうる単語は似たベクトルに• Ex. “I like [] for breakfast.” のように，appleやorangeを入れることができる文章が多い → appleとorangeは似た意味ベクトルに

 𝑋king − 𝑋man +𝑋woman = 𝑋queen なんて計算もできる
九州大学 数理・データサイエンス教育研究センター／ 2022年9月版

122
122

バベルの図書館（架空の図書館）
 1冊410ページで構成される本を所蔵
 さらにどの本も1ページに40行，1行に80文字→131.2万文字/冊
 すべての文字の並びの本が所蔵されている
131.2万文字

1冊目: AAAA……………………………………AA
2冊目: AAAA……………………………………AB：
X冊目: EKAP……………………………………QE：
Y冊目: YOUAAREAREALLY……………………
：
Z冊目: ZZZZ……………………………………ZZ“A”-”Z” 26文字種＋空白だと1.8 × 101877949 冊

ちなみに全宇宙の原子数は1080

 （ほとんどが無意味な文字列で書かれた本だが）よく探すと，まだ読んだことない名作も，昔だれかが書いた日記も，すべて所蔵

九州大学 数理・データサイエンス教育研究センター／ 2022年9月版