OpenCVではじめよう ディープラーニングによる画像認識の表紙

OpenCV ではじめよう ディープラーニングによる画像認識(オープンシーブイデハジメヨウディープラーニングニヨルガゾウニンシキ)

プログラミング
著者:
吉村 康弘/五木田 和也/杉浦 司(ヨシムラ ヤスヒロ/ゴキタ カズヤ/スギウラ ツカサ)
出版社:
技術評論社
出版日:
2022年04月30日頃
ISBN:
9784297127756
在庫:
在庫あり
0
中級者向け
Python機械学習深層学習コンピュータビジョン画像認識OpenCVオブジェクト検出dnnモジュール画像処理API

なぜ注目されているか

言及数
233
総合543 23 ランクダウン 17 件の言及
出版前出版日061220222023202420252026

書籍紹介

OpenCV はコンピュータビジョン分野でもっとも利用されているオープンソースフレームワークです。近年の人工知能ブームに呼応する形で機械学習やディープラーニング API が強化され、物体の名称と位置を認識するオブジェクト検出 (Object Detection) といったタスクも容易に扱えるようになりました。

とはいえ、画像認識タスクがすべてディープラーニングによる手法に置き換わるわけではありません。これまでに培った手法を選択した方が堅実な場面もあるため、本書では現時点で重要とされる画像処理手法を整理します。 OpenCV の基礎的な解説からはじめ、 dnn モジュールを用いたディープラーニングによる画像認識についても解説していきます。

1 章 OpenCV とは
2 章 OpenCV インストール

3 章 core モジュール

4 章 imgproc モジュール

5 章 imgcodecs 、 videoio モジュール

6 章 ディープラーニング

7 章 dnn モジュール基礎

8 章 dnn モジュール応用

サンプルコードには Python を利用し、 OpenCV 4.5.X に対応しています。

技書の森解説

OpenCV ではじめよう ディープラーニングによる画像認識』 (吉村康弘・杉浦司・五木田和也著、技術評論社、 2022 年 4 月刊、 B5 変形判 312 ページ) は、コンピュータビジョン分野の定番 オープンソース ライブラリ OpenCV に組み込まれた dnn モジュールを使い、学習済み ディープラーニング モデルの推論を Python で動かす方法を解説した実践書です。サンプルコードは OpenCV 4.5.X に対応。モデルを自分で学習させるのではなく、公開されている学習済みモデルを読み込んで顔検出・物体検出・クラス分類・セグメンテーションといったタスクを実装する、という切り口が最大の特徴です。

推論専用という dnn モジュールの位置づけ

dnn モジュールの位置づけを押さえると、この本の価値が分かりやすくなります。 PyTorchTensorFlow は学習から推論までを担う汎用フレームワークですが、推論だけを既存アプリケーションへ組み込みたい場面では依存関係が重く、環境構築の負担も小さくありません。 OpenCV の dnn モジュールは学習機能を持たない推論専用の実装で、 ONNX や Caffe など複数フォーマットの学習済みモデルを読み込み、画像の入力・前処理・推論・結果描画までを OpenCV の API 体系だけで完結させられます。カメラ映像の取得や輪郭抽出のような従来型画像処理と深層学習の推論を同じコードベースで書けるため、既存の画像処理パイプラインへ認識機能を足す用途と特に相性が良い設計です。版元の紹介文も、すべてをディープラーニングに置き換えるのではなく従来手法と使い分けるという本書の方針を明記しています。

全 8 章の構成とタスク別のモデル比較

構成は全 8 章です。前半 (第 1 章〜第 5 章) は OpenCV そのものの基礎で、ライセンスや開発史から、 pip ・ Miniconda ・ Docker ・ソースビルドによるインストール、 core ・ imgproc ・ imgcodecs ・ videoio といった主要モジュールの使い方までを整理します。第 6 章でディープラーニングの考え方と CNN 、精度評価の基礎を押さえ、第 7 章が本丸の dnn モジュール基礎です。顔検出、 YOLOv4 と YOLOv4-tiny による物体検出、 EfficientNet と MobileNet v3 によるクラス分類、 DeepLab v3 によるセグメンテーション、テキスト検出・認識、 Lightweight OpenPose によるキーポイント検出まで、タスクごとに精度重視と速度重視のモデルを並べ、パフォーマンス比較と API 仕様を添えて実装していきます。第 8 章は応用編で、カスタムレイヤの実装、 CUDA や Intel の推論エンジンといったバックエンドの切り替え、 OpenCV Zoo など学習済みモデルの入手先まで踏み込みます。

OpenCV コミュニティに近い著者陣

著者陣は OpenCV コミュニティに近い実務者です。吉村康弘氏はフィックスターズでコンピュータビジョンのアルゴリズム開発・高速化に従事し、 OpenCV などの OSS への貢献歴を持ちます。杉浦司氏はホロラボ所属で Point Cloud Library のコミッターを務め、版元の著者紹介によれば本書の執筆にあたり OpenCV 本体のバグを報告・修正しています。五木田和也氏は画像認識や自然言語処理を扱うエンジニアです。ライブラリを外から眺めて書かれた本ではなく、開発に関わる側の視点で書かれている点が、 API 仕様やバージョン差異の記述の信頼性につながっています。

向いている読者と範囲外の注意

向き不向きははっきりしています。モデルの設計や学習理論、独自データでの学習まで踏み込みたい人には本書は範囲外で、 PyTorch などの学習フレームワークを扱う教科書が別に必要です。掲載モデルは 2022 年時点の代表格で、物体検出モデルの系譜は刊行後も後継が登場していますが、学習済みモデルを読み込んで推論するという dnn モジュールの枠組み自体は据え置きで、前処理から結果の解釈までの実装の型はそのまま通用します。すでに OpenCV で画像を扱った経験があり、そこへ物体検出や分類を足したい人、深層学習フレームワークを導入せずにカメラ映像へ推論を組み込みたい人にとって、 dnn モジュールを主題に 1 冊を割いた日本語の解説書は貴重です。読了後には、どのタスクにどのモデルを選び、どう組み込むかを自分で判断して動くプロトタイプを作れるようになります。

言及 Qiita 記事 (12 件)

この本に興味がある方におすすめ

この本に関連

関連記事

関連用語

共有:Xはてブ