ISBN 9784297116378
なんでもPythonプログラミング 平林万能IT技術研究所の奇妙な実験
概要
科学的好奇心をPythonで実装し、身近な現象を計算・可視化する
想定読者
Pythonの基礎構文を習得済みで、機械学習以外の応用領域に踏み出したい学習者・エンジニア
こんな人には向いていない
- Pythonを全く触ったことがない完全な初学者(コード読解に基礎知識が前提)
- 業務システム開発や設計パターンの習得を目的としている人(本書のスコープは科学実験的な応用)
- 深層学習・機械学習の理論を体系的に学びたい人(本書はML手法の網羅的解説ではない)
読了後にできるようになること
- スマートフォンカメラや内蔵センサーをPythonから操作し、計測・解析パイプラインを組む手法
- 流体力学・光学・音響など物理現象の数値モデルをNumPy/SciPy相当のライブラリで実装する考え方
- OpenCVやPyoを用いた画像処理・音声処理の基本的なコード構成
- AR(拡張現実)の構成要素を個別に実装し、センサーデータと映像を重ね合わせる技法
- 三次元点群生成・多視点撮影から自由視点画像を作るコンピュータビジョン応用
- 物理計算(弾道予測・人流分析・株式データ解析)をPythonで素早くプロトタイプする手順
本書のキー概念(章解説)
- 序章:本書の実験環境の作り方 — 環境構築で詰まらないよう最初に通しておく価値がある
- 第 1 章 光の研究 — スマホで動脈硬化診断・太陽表面温度計測・光の反射シミュレーション。物理×画像処理の入口
- 第 2 章 流体力学の研究 — ギネスビールの泡が沈む謎の解明と世界地図を使った風の流体計算。現象観察→数値モデル化の典型例
- 第 3 章 音の研究 — 音源方向の可視化とPyoによる万能シンセサイザー。音響信号処理の実装に興味があれば先読みも有効
- 第 4 章 画像処理の研究 — 体型変換カメラ・銀塩写真再現・ステレオカメラによる奥行き計測・WebGL立体表示と多彩
- 第 5 章 AR(拡張現実)の研究 — 星空オーバーレイ・災害情報表示・磁場可視化・イヤホン端子を使ったスマホ拡張の4テーマ
- 第 6 章 三次元画像処理の研究 — スマホで三次元顕微鏡・センサ値による移動経路記録・多視点撮影からの三次元空間生成
- 第 7 章 物理計算の研究 — ビリヤード軌道予測・バスケのフリースロー・日本列島プレート可視化。物理シミュレーションの実装感覚を養う
- 第 8 章 数学と分析の研究 — 円周率計算・身長体重分布・Jupyter上の人流分析・東証株解析。データ分析の実践的な小テーマ集
ハイライト
- Pythonは機械学習や統計やRとか、小難しいことに使うばかりではありません。プログラミングしたい人にとって自由にコーディングできるすばらしい言語体系なのです。(本書の立ち位置を端的に示す一文。ML偏重のPython像への意識的な対抗軸として選択)
- 目の前の事象を科学で分析し、Pythonでプログラミングすると、爆発的に面白い世界が広がります。スマホと組み合わせることもできるので、身近な環境で試すこともできます。(スマートフォンを実験装置として使う本書のユニークな実験スタンスが最も明確に表れている箇所)
外部からの言及
- 著者・平林純は技術評論社 SoftwareDesign 誌で『平林万能IT技術研究所』連載を長期継続しており、本書はその実験スタイルを単行本化したもの。連載を読んでいた読者層にとって書籍版として参照されやすい位置づけにある(other)
編集メモ
Qiita での直接的な言及記事は確認されず、楽天ランキング情報も入力なし。著者は SoftwareDesign 誌の連載『平林万能IT技術研究所』で継続的に活動しており、同シリーズの書籍版として一定の読者層を持つが、外部シグナル数値が不足のため supplementary とする
読む前に押さえておきたいこと
- PythonのリストやNumPy配列の基本操作(スライス・ブロードキャスト等)
- pip を使ったライブラリインストールと仮想環境の作成経験
- 高校物理レベルの光・音・力学の概念(式の意味を追うのに最低限必要)
学習のコツ
- 全章を通読するより、興味のある実験テーマ(光・音・AR など)から単独で読み始めると学習継続しやすい。各実験は基本的に独立している
- 序章の環境構築を先にすべて完了させること。Python バージョンや依存ライブラリのズレが後続の実験で詰まる最大原因になる
- コードを動かすだけでなく、各実験の『なぜこの式で現象が再現できるのか』を簡単に調べてみると、物理・数学の理解と結びついて定着しやすい
- スマートフォンを実験装置として活用する章(1・5・6章)は、手元に Android 端末があると手を動かしやすい
出版社による内容紹介
「Python×サイエンス=楽しいプログラミング」身の回りにあるデジタルガジェットをPythonでプログラミングしたい! スマホでも気軽にたのしくプログラミングしたい! そんな衝動に駆られることがありませんか。Pythonは機械学習や統計やRとか、小難しいことに使うばかりではありません。プログラミングしたい人にとって自由にコーディングできるすばらしい言語体系なのです。目の前の事象を科学で分析し、Pythonでプログラミングすると、爆発的に面白い世界が広がります。スマホと組み合わせることもできるので、身近な環境で試すこともできます。なんでもPythonプログラミングしてみませんか? きっとコンピュータのパワーを使うたのしさにも目覚めるでしょう。本書を片手に未知の力を手に入れましょう! ■序章 本書の実験環境の作り方 ■第1章 光の研究 1-1 スマホで血管年齢(動脈硬化)を診断してみる 1-2 1.5億km先で輝く熱い太陽、表面温度をはかる! 1-3 物体の材質感を決める「光の反射」をリアル再現 ■第2章 流体力学の研究 2-1 泡が沈む!? ギネスビールの謎を解く! 2-2 Pythonで世界の地図を使って街の風を流体計算 ■第3章 音の研究 3-1 ステレオ音声動画の「音源方向」を可視化する 3-2 Python/Pyoで万能シンセサイザーを作る ■第4章 画像処理の研究 4-1 「理想の肉体に変身できる」妄想カメラ 4-2 銀塩写真をスマホカメラで再現してみる 4-3 カメラを2台並べて「奥行きや色」を計測しよう 4-4 WebGLや立体ディスプレイで立体質感表示する ■第5章 AR(Augmented Reality)の研究 5-1 「本当なら見えるはずの星空」を景色に重ねて映すカメラを作る 5-2 災害から犯罪情報まで「電脳メガネ」で眺める 5-3 風速や磁場を可視化するAR拡張現実ソフト 5-4 イヤホン端子と電子工作でスマホ機能を拡張する ■第6章 三次元画像処理の研究 6-1 スマホのカメラで三次元立体顕微鏡を作る 6-2 スマホセンサ値で「三次元移動経路」を記録する 6-3 多視点撮影や動画撮影から三次元空間を作り出す 6-4 多視点撮影で「自由視点画像」を作ってみよう ■第7章 物理計算の研究 7-1 カメラで「ビリヤードのボール軌道」を予測する 7-2 「バスケのフリースロー」で学ぶ物理計算 7-3 プレート境界で揺れ動く日本列島を可視化する ■第8章 数学と分析の研究 8-1 手回し計算機で「円周率計算」に大挑戦 8-2 「身長・体重分布」を調べる「タレントの真実」をPythonで明らかにしてみる 8-3 アイドルの公称数字を統計分析してみよう 8-4 Jupyter Notebook上で大都市周辺の人流分析 8-5 Pythonで東証株解析をしてみよう
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。