伊藤 克亘、花泉 弘、小泉 悠馬 (2018) Python で学ぶ 実践 画像・音声処理入門

  • 伊藤 克亘 [かつのぶ]、花泉 弘、小泉 悠馬, 2018: Python で学ぶ 実践 画像・音声処理入門。コロナ社, 177 pp. ISBN 978-4-339-00902-6.

2018年に出た本。A5判横書きのペーパーバック。

わたしは、2021年5月、東京の大きな本屋の店頭で見つけて買った。
情報処理の棚に Python の本はたくさんあって、そのうちには画像処理への応用を主題としたものも複数あったが、いずれも機械学習による画像自動認識にむかってしまう。わたしがやりたい (学生にすすめたい) のはそういうものではなかった。気象衛星やレーダーによる観測で得られた数量の空間分布をあらわす格子型データに、画像処理の方法を適用して、波状の構造があればその向き・波長・振幅などを見積もること、複数の時刻の画像を比較して物体の移動を検出し速度ベクトルを得ること、などだ。
電気・電子工学にふくまれるらしい「信号処理」の棚にうつったら、時系列データである音声の処理にまじって、2次元データである画像の処理をあつかったものもあった。ただし、例文が Python 言語で書かれているものは多くなく、ほぼこれ1冊にしぼられた。まだくわしく読んでいないが、目次を書きぬき、めくってみた段階で、読書メモを書いておく。

波の形をした現象の解析については期待どおりで、フーリエ変換、ディジタルフィルタ、自己相関・相互相関などを、音声を想定した時系列データに適用する章と、2次元の画像データに適用する章がある。

画像の、回転、平行移動、アフィン変換などを説明した章もある。分類処理についても、教師つき分類の一種である最近傍分類や、最尤法などが紹介されている。

画像処理技法の応用例の説明は短く、2時点の衛星観測画像から地表面状態の変化を検出する話だが、2時点の画像を1つのマルチチャネル画像であるかのようにあつかってクラスター分け (教師なし分類) するという方法によっている。(方法の例としてはよいが、これが実用的なのは、位置あわせが精密にできていて、2時点の光のあたりかたなどもよくにているばあいにかぎられると思う。)

たくさんの話題をあつかいながら、本文 (索引をのぞく) 174ページにおさめ、実際にうごかしてみることのできる(らしい)例文プログラムを収録しているのは、すごいと思う。これができるのは、Pythonには公開された応用パッケージがたくさんあるからだ。(わたしは Python での「ライブラリ」「パッケージ」「モジュール」という用語がまだよくわからず、仮に「パッケージ」としておく。) 数値計算一般につかわれる numpy, scipy や図形出力の matplotlib, plotly のほかに、画像処理特有だがその分野内では汎用の skimage と cv2 (OpenCV) をつかっている。機械学習の sklearn もつかっているが、それは音声データ処理の応用例 (楽器音の合成) のところだけのようだ。それにくわえて、著者たちは本書のためのパッケージ cis と simpleaudio を用意し、出版社ウェブサイトにつくられた本書のサポートサイトから提供している。

移動の検出という課題については、画像どうしの相互相関を計算すること(8章) は役にたつが、それからどうするかは本書の話題の外になる。本書をみつけたときの店頭には見あたらなかったのだが、動画解析技術をあつかった本はあると思うので、つぎの機会にさがそうと思う。

折りかえしのあとに くわしい目次をつける。

== 目次 ==
まえがき
– 対象読者
– 本書の構成
– 本書で想定するPython環境
– – 本書で用いるパッケージの一覧
目次
1. 簡単な音声処理
– 1.1 波形データの生成
– 1.2 1次元データの可視化
– 1.3 時間波形の重ね合わせ
– 1.4 時間波形の連結
– 1.5 読み込んだ音声データの加工
– 章末問題 【以下各章にある】
2. 簡単な画像処理
– 2.1 画像の構造
– 2.2 画像・ビデオの読み込み
– 2.3 領域の抽出
3. 音声のフーリエ変換
– 3.1 フーリエ変換
– 3.2 窓関数
– 3.3 音声のフレーム処理
– 3.4 逆フーリエ変換
4. フィルタ (音声)
– 4.1 線形フィルタ
– – 4.1.1 線形システム
– – 4.1.2 遅延演算
– – 4.1.3 移動平均フィルタ
– 4.2 インパルス応答
– 4.3 IIR フィルタ
– 4.4 フィルタ設計のツール
5. 画像の周波数領域処理
– 5.1 空間周波数
– 5.2 2次元フーリエ変換
– 5.3 周波数領域でのフィルタ処理
– 5.4 周波数領域での画像の拡大
6. 画像の空間領域処理
– 6.1 2次元読み込み
– 6.2 微分演算
– 6.3 エッジの検出
– 6.4 非線形フィルタ
7. 音声データの相関
– 7.1 相互相関
– – 7.1.1 ベクトルの類似度
– – 7.1.2 相互相関関数
– 7.2 自己相関
– 7.3 時間波形のフレーム処理
8. 画像データの類似度
– 8.1 画像のユークリッド距離
– 8.2 画素の相関の応用
– 8.3 領域の相関
9. 複素信号
– 9.1 信号の複素指数関数表現
– 9.2 周波数変調
– – 9.2.1 瞬時周波数
– – 9.2.2 周波数変調
– – 9.2.3 任意の音の周波数変調
10. 画像の幾何学的処理
– 10.1 2次元平面上の回転
– 10.2 2次元平面上の平行移動
– 10.3 同次座標表現を用いた変換
– 10.4 アフィン変換
– 10.5 射影変換
– 10.6 複雑な形状の変換
11. 分類
– 11.1 特徴量
– – 11.1.1 短時間エネルギー
– – 11.1.2 零交差
– 11.2 k最近傍分類
– 11.3 最尤法
12. 音声・画像処理の応用
– 12.1 Wavetable 合成
– – 12.1.1 ADSR エンベロープ
– – 12.1.2 楽器音からの波形データの抽出
– – 12.1.3 複数のテンプレートを用いた合成
– – 12.1.4 長さの変更
– – 12.1.5 リサンプルによるピッチの変更
– 12.2 衛星画像の時間変化領域の解析
章末問題ヒント
索引

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください