コンピュータにおける数値と画像の表現・処理(資料集)
教材の利用条件: クリエイティブコモンズ 表示-非営利-継承 4.0 国際ライセンス(CC BY-NC-SA 4.0)に基づき、著作者表示・非営利目的・同一ライセンスでの再配布を条件として自由に利用可能である。
全体テキスト
スライド資料
2進数、16進数、2の補数
メモリ、メモリアドレス
論理和と論理積、記憶と計算の仕組み
デジタル画像と画素
デジタル画像は格子状に並んだ画素から構成され,輝度(明るさ)のみを持つ濃淡画像と,輝度と色の情報を持つカラー画像がある。 カラー画像の成分は,R(赤)・G(緑)・B(青)の3成分で表す方法と,輝度成分と色成分で表す方法がある。 畳み込み(フィルタ処理)は,周囲の画素にフィルタの重みを掛けて和をとり各画素の値とする操作で,ぼかし・エッジ検出・シャープ化などを実現できる。 空間周波数は明暗の変化の細かさを表し,スペクトルの中心は低周波,周辺は高周波に対応し,高周波除去でぼかし,低周波除去で輪郭抽出ができる。
スライド資料:
[PDF]、[PowerPoint]動画
演習 Setosa.io:画像にフィルタを適用
説明パートで学んだ「画像は画素値を並べた2次元配列である」「畳み込みは画像上の各位置で近傍の画素値とカーネル(フィルタ)の値の要素ごとの積の和を計算する操作である」という概念に対応する演習である.カーネル(フィルタ)を切り替えて出力画像の変化を確認する.出力画像および入力画像の任意の画素にマウスを合わせることで,3×3近傍の画素値とフィルタの値の積和演算の過程を数値で確認する. URL: https://setosa.io/ev/image-kernels/ 操作手順 観察と考察
演習 deeplizard:畳み込みを1ステップずつ確認する
演習④で確認した「フィルタを適用すると画像がどう変わるか」を踏まえ,本演習では「そのとき何が計算されているか」を確認する.フィルタが入力行列上を1マスずつスライドする過程を可視化し,出力行列の各要素がどの入力領域から計算されたかを追跡する.出力値の正(赤)と負(青)の色分けにより,畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)が画像から特徴を抽出する原理を確認する. URL: https://deeplizard.com/resource/pavq7noze2 操作手順 観察と考察
演習 2D Inverse Fourier Transform Playground:空間周波数を操作
本演習では,画像を周波数領域で表現したスペクトル上で編集を行い,その逆フーリエ変換(周波数を画像に戻す処理)結果を確認することで,空間周波数成分と画像の対応関係を確認する.スペクトル中心の低周波成分が画像の大局的な明暗に対応し,周辺の高周波成分が輪郭や細部に対応することを,スペクトルを削る操作を通じて確認する. URL: https://monman53.github.io/2dfft/ 操作手順 観察と考察
[MP4]
演習(クリックにより中身が表示されます)
画像処理プログラム
3次元画像処理
3次元コンピュータグラフィックス
オブジェクトを様々な方向から撮影し,コンピュータでの処理により3次元データを得ることを3次元再構成という。 ポリゴン(平らな多角形)の集合体であるポリゴンメッシュで3次元モデルを表現することで,現実世界の物体をデジタルで再現できる。 3次元モデルはメッシュ表示,面表示,面表示・シェーディング(陰影付け)などの表示モードで表示できる。 Blenderは無料の3次元コンピュータグラフィックス(3DCG)の作成・編集ソフトウェアで,3次元モデル制作,アニメーション,画像出力などの機能を持つ。