Kyoto NotreDame University, 2022
このファイルは,京都ノートルダム女子大学の2022年後期の授業「AIとデータサイエンス入門」の第4回講義の講義資料(パワーポイント)と実習テキスト(Mathematicaノートブック)をまとめたものです.
「講義で学んだことを実習で体験し理解を深める」ために,毎回の授業は講義+実習で構成され,受講学生はWolfram Cloudで実習を行いました.
この授業の様子は,大学のホームページ(ND大ブログ)にも紹介されています.
「講義で学んだことを実習で体験し理解を深める」ために,毎回の授業は講義+実習で構成され,受講学生はWolfram Cloudで実習を行いました.
この授業の様子は,大学のホームページ(ND大ブログ)にも紹介されています.
AIとデータサイエンス 入門(実習)
AIとデータサイエンス 入門(実習)
ー第4回 データ活用のための技術
(構造化データと非構造化データ) ー
(構造化データと非構造化データ) ー
2022/10/20 北村・金光(ウルフラムリサーチ)
本日の内容
本日の内容
◼
1.先週の振り返り
◼
2.データ解析とは?
◼
3.画像のデジタル化
◼
4.音のデジタル化
◼
5.音声認識技術
◼
6.まとめ
◼
7.【実習】光の三原色(RGB)/画像処理/音の処理/音声認識
講義スライド
講義スライド
スライドの上のページ番号をクリックして,全16ページのスライドを順にご覧ください.
Out[]=
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
指定教科書:はじめてのAIリテラシー(技術評論社)
本日の実習
本日の実習
■
光の三原色(RGB)
RGBの組み合わせでどのように色が変わるかみてみよう.
■
画像処理
画像データの中身をみて,コンピュータが画像をどう扱っているのかを実感しよう.
■
音の処理
音データの波形を見てみよう.
■
音声処理
テキストから音声合成してみよう.
光の三原色
光の三原色
色は光の三原色(赤R, 緑G, 青B)からできている.
色は光の三原色(赤R, 緑G, 青B)からできている.
RGBColor関数は,{赤,緑,青} の値を組み合わせることで色を表現する.値は,0~1の範囲で指定する.
RGBColor[{1,0.5,0.2}]
Out[]=
スライダーを動かして,R,G,Bの色を変えてみよう.
Manipulate[Graphics[{RGBColor[r,g,b],Disk[]}],r,1,"赤",0,1,Appearance"Open",g,0,"緑",0,1,Appearance"Open",b,0,"青",0,1,Appearance"Open",FrameLabel"RGBColor",ControlPlacementLeft]
Out[]=
3次元で,RGB( Red/Green/Blue) の色空間を見てみよう.
キューブはマウスをドラッグすることで回転して見ることができる.
キューブはマウスをドラッグすることで回転して見ることができる.
Graphics3D[{Opacity[.7],{RGBColor[#],Cuboid[#,#+.1]}&/@Tuples[Range[0,1,.2],3]},AxesTrue,AxesLabel{"Red","Green","Blue"},Lighting"Neutral"]
Out[]=
画像処理
画像処理
実際に画像データを使って見ていこう.
まず,変数名 im に画像データを = でセットする.
必ず,下の画像のあるコードのセミコロン(;)の後ろにカーソルを合わせ,+して実行する.
(*ここを実行しないと,画像データを im という変数にセットされず,
その後のプログラムが正しく動かないので注意.)
まず,変数名 im に画像データを = でセットする.
必ず,下の画像のあるコードのセミコロン(;)の後ろにカーソルを合わせ,+して実行する.
(*ここを実行しないと,画像データを im という変数にセットされず,
その後のプログラムが正しく動かないので注意.)
In[]:=
im=
;
画像データの中身
画像データの中身
ImageData関数で,画素値の並びが見れる.画像データの中身を見ると,数値の集合であることがわかる.
Dimensions関数で 次元を見ると,画像データの画素数は,200x200 であることがわかる.
最後の 3 は,1つのマスにRGBの3つのデータが入っていることを意味する.
最後の 3 は,1つのマスにRGBの3つのデータが入っていることを意味する.
以下のプログラムで,[[1,1]]は,左上の1マスを指しており,{R,G,B} に対応している.
これを RGBColor関数の引数として入れて実行すると,実際の色がわかる.
リサンプリング
リサンプリング
200x200の画像を,50x50にリサンプリングする.
標本化(サンプリング)の数を減らすと,解像度が下がり,画質が悪くなる.
標本化(サンプリング)の数を減らすと,解像度が下がり,画質が悪くなる.
ImageResizeでもっと小さい数字にしたらどうなるだろうか?
画像部分をマウスでクリックして,オレンジの枠の端の方でドラッグすると,表示サイズを変えられる.
大きく表示して画質がどうなったかをよく見てみよう.
画像部分をマウスでクリックして,オレンジの枠の端の方でドラッグすると,表示サイズを変えられる.
大きく表示して画質がどうなったかをよく見てみよう.
白黒画像に変更
白黒画像に変更
0と1に二値化するBinarize関数に入れると,白黒の画像になる.リサンプリングした imR の画像で見てみよう.
以下のプログラムを実行し,カラーのオリジナル画像データの時と画素値はどう変わったかを確認しよう.
音の処理
音の処理
音データの波形を見てみよう.
音データの波形を見てみよう.
ExampleDataに入っている音データを取り込む.
AudioPlot関数で音データの波形を見てみよう.
データの中身はどうなっているだろうか?AudioData関数で確認してみる.
データ数が多いので,最初の50個だけをプロットしてみる.
縦軸のメモリの数字が非常に小さいことに注目.
上のグラフではほぼ直線に見えていたところも,拡大すると細かい波形になっていることがわかる.
縦軸のメモリの数字が非常に小さいことに注目.
上のグラフではほぼ直線に見えていたところも,拡大すると細かい波形になっていることがわかる.
ExampleData関数にはいろいろな音データが入っている.
ExampleData関数にはいろいろな音データが入っている.
Drums(ドラム)の音を聞いてみよう.
AudioPlot関数で見ると,2つの波形が表示される.
これは,ステレオサウンド(スピーカーやイヤホンの右と左)である.
これは,ステレオサウンド(スピーカーやイヤホンの右と左)である.
音声処理
音声処理
英文から音声合成をしてみよう.
英文から音声合成をしてみよう.
SpeechSynthesize関数では,タイピングされた文章から音声合成をする.
(文字列はダブルクォーテーション(")で囲むことに注意する.)
(文字列はダブルクォーテーション(")で囲むことに注意する.)
AudioPlot関数で見てみる.
SpeechRecognize関数では,逆に,音声(合成)データから文字起こしもできる.
簡単な英文で音声合成してみよう.
OMAKE: 音声認識の日本語対応バージョン
OMAKE: 音声認識の日本語対応バージョン
*現在,Cloud版のMathematicaでは,英語のみ音声認識に対応しているが,PCにインストールするMathematica Desktop版では,一部の音声認識関数は,日本語にも対応している.
日本語の文から音声合成(Desktop Mathematicaのみ対応)
日本語の文から音声合成(Desktop Mathematicaのみ対応)
SpeechSynthesize関数では,タイピングされた文章から音声合成をする.
(文字列はダブルクォーテーション(")で囲むことに注意する.)
日本語として理解してほしい場合は,Language->”Japanese” というオプションを指定する.
(文字列はダブルクォーテーション(")で囲むことに注意する.)
日本語として理解してほしい場合は,Language->”Japanese” というオプションを指定する.
AudioPlot関数で見てみる.
残念ながら,音声から文字起こしのできるSpeechRecognize関数はまだ英語以外には対応していない.
マイクからの音声をリアルタイムに取り込むこともできる.
さまざまな音声処理の関数は言語に関わらず利用できる.例えば,録音した音声データにリバーブ(残響効果)を与えてみる.
©Mihoko Kitamura/Akiko Kanamitsu, 2022
mihokok@wolfram.com, akikok@wolfram.com
mihokok@wolfram.com, akikok@wolfram.com