【レビュー】OpenCVではじめよう ディープラーニングによる画像認識


【PR】この記事には広告を含む場合があります
  • 出版情報
  • ・著者:吉村康弘/著 五木田和也/著 杉浦司/著
  • ・出版日:20220430
  • ・ページ数:312P
  • レビュー数
  • ・週間:0記事
  • ・月間:0記事
  • ・年間:0記事
  • ・全期間:2記事

ジャンルTop10選

目次

目次

はじめに
本書の構成
本書で扱わないこと、参考文献
API の解説
サンプルコードとサポート
開発環境

第1章 OpenCVとは
1.1 OpenCVの概要
1.2 主要モジュール
1.3 OSSライセンス
1.3.1 OpenCVのOSSライセンス
1.3.2 opencv-pythonのOSSライセンス
1.4 サポート言語
1.4.1 公式サポート言語
1.4.2 非公式サポート言語
1.5 サポートプラットフォーム
1.6 高速化
1.6.1 スレッド並列化
1.6.2 SIMD命令対応
1.6.3 アクセラレータ対応
1.7 開発の歴史
1.8 ブランチ管理
1.8.1 2.4ブランチ
1.8.2 3.4ブランチ
1.8.3 4.xブランチ
1.8.4 5.xブランチ
1.8.5 masterブランチ
1.8.6 nextブランチ
1.9 各種サイト
1.9.1 公式サイト
1.9.2 公式リポジトリ
1.9.3 有志サイト

第2章 OpenCVインストール
2.1 OpenCVのインストール
2.2 pip
2.2.1 依存パッケージインストール
2.2.2 opencv-pythonインストール
2.2.3 opencv-contrib-pythonインストール
2.2.4 動作確認
2.2.5 opencv-pythonパッケージのバージョン番号
2.2.6 Windows環境固有の注意点
2.3 Miniconda
2.3.1 Minicondaインストール
2.3.2 依存パッケージインストール
2.3.3 opencvパッケージインストール
2.3.4 動作確認
2.4 Docker
2.4.1 Dockerインストール
2.4.2 Dockerイメージのビルド
2.4.3 Dockerコンテナの起動
2.4.4 動作確認
2.5 ソースコード
2.5.1 依存パッケージインストール
2.5.2 ビルド、インストール
2.5.3 動作確認
2.5.4 CMakeオプション

第3章 coreモジュール
3.1 基本処理
3.1.1 画像データの扱い
3.1.2 ブランク画像生成
3.1.3 画素値の参照、代入
3.1.4 width、height、チャンネル情報の取得
3.1.5 ROI操作
3.2 ピクセルごとの操作
3.2.1 add、subtract
3.2.2 bitwise_and、bitwise_or
3.2.3 addWeighted
3.2.4 absdiff
3.2.5 copyTo
3.2.6 flip
3.2.7 rotate
3.2.8 clip
3.3 統計情報の取得
3.3.1 min、max
3.3.2 minMaxLoc
3.3.3 mean
3.3.4 sum
3.3.5 countNonZero
3.4 画像の分割、結合
3.4.1 split、merge
3.4.2 hconcat、vconcat
3.5 ユーティリティ
3.5.1 getBuildInformation
3.5.2 TickMeter
3.5.3 FileStorage
3.5.4 useOptimized
3.5.5 setUseOptimized

第4章 imgprocモジュール
4.1 画像の前処理と後処理
4.1.1 OpenCVで利用できる手法
4.1.2 画像の出力方法
4.2 色の変換
4.2.1 色空間の変換(cvtColor
4.2.2 チャンネルで分割(split)
4.2.3 HSV色空間の活用
4.2.4 その他の色変換
4.3 適応的しきい値による2値化(adaptiveThreshold)
4.3.1 しきい値(threshold)
4.3.2 adaptiveThresholdによる2値化
4.3.3 輪郭の抽出(findContours)
4.4 画像の幾何変換
4.4.1 アフィン変換(warpAffine)
4.4.2 射影変換(ホモグラフィ変換)

第5章 imgcodecs、videoioモジュール
5.1 画像の読み込み
5.1.1 静止画を読み込む(imread)
5.1.2 動画の読み込み(VideoCapture)
5.1.3 ネットワークカメラからの読み込み
5.1.4 Webカメラからの読み込み
5.1.5 連番画像の読み込み
5.2 画像の書き込み
5.2.1 静止画の書き込み(imwrite)
5.2.2 動画の書き込み(VideoWriter)

第6章 ディープラーニング
6.1 ディープラーニングの概要
6.1.1 モデル、パラメータ、オプティマイザ
6.1.2 過小適合と過剰適合
6.1.3 ディープラーニングでの考え方
6.2 精度評価
6.2.1 回帰の精度評価
6.2.2 分類の精度評価
6.3 画像処理におけるディープラーニング
6.3.1 CNN
6.3.2 CNNの優位性

第7章 dnnモジュール基礎
7.1 dnnモジュールの概要
7.1.1 dnnモジュールとは?
7.1.2 サポートしているモデルフォーマット
7.1.3 推論エンジンと実行デバイス
7.1.4 High Level APIとLow Level API
7.2 顔検出
7.2.1 顔検出とは?
7.2.2 顔検出(OpenCV Face Detector)
7.2.3 NMS(Non-Maximum Suppression)
7.2.4 パフォーマンス比較
7.2.5 APIの仕様
7.3 オブジェクト検出
7.3.1 オブジェクト検出とは?
7.3.2 精度重視のオブジェクト検出(YOLOv4)
7.3.3 さらに精度の高いオブジェクト検出(Scaled-YOLOv4)
7.3.4 処理速度重視のオブジェクト検出(YOLOv4-tiny)
7.3.5 パフォーマンス比較
7.3.6 APIの仕様
7.4 クラス分類
7.4.1 クラス分類とは?
7.4.2 精度重視のクラス分類(EfficientNet)
7.4.3 信頼度上位5個のクラスを取得する
7.4.4 処理速度重視のクラス分類(MobileNet v3)
7.4.5 パフォーマンス比較
7.4.6 APIの仕様
7.5 セグメンテーション
7.5.1 セグメンテーションとは?
7.5.2 セグメンテーション(DeepLab v3)
7.5.3 APIの仕様
7.6 テキスト検出とテキスト認識
7.6.1 テキスト検出、テキスト認識とは?
7.6.2 テキスト検出(DB)
7.6.3 テキスト認識(CRNN-CTC、DenseNet-CTC)
7.6.4 パフォーマンス比較
7.6.5 APIの仕様
7.7 キーポイント検出
7.7.1 キーポイント検出とは?
7.7.2 キーポイント検出(Lightweight OpenPose)
7.7.3 キーポイントのもとになるヒートマップを取得する
7.7.4 APIの仕様

第8章 dnnモジュール応用
8.1 dnnモジュールの対応レイヤ
8.2 カスタムレイヤ対応
8.2.1 カスタムレイヤのクラスを実装する
8.2.2 カスタムレイヤを登録する
8.2.3 動作確認
8.3 学習済みモデルの診断ツール(model-diagnostics)
8.3.1 概要
8.3.2 環境構築
8.3.3 使い方
8.3.4 実行例
8.4 外部DNNフレームワーク連携
8.4.1 CUDA backend
8.4.2 Intel Inference Engine backend
8.4.3 Tengine backend
8.5 学習済みモデルの利用
8.5.1 OpenCV Zoo
8.5.2 Open Model Zoo

索引
著者プロフィール

概要

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に対応しています。

レビューの一覧

 ・PythonのMediaPipeを使い、動画ファイルの手を認識し、CSVファイルに座標データを保存する方法[2022-06-08に投稿]

 ・MediaPipeで取得した座標データの統一化の方法[CSVファイル][2022-06-08に投稿]


amazonで確認