【Pythonで学ぶ】OpenCVでの画像処理入門
What you'll learn
- OpenCVのライブラリの環境が構築できる
- 0から始めて画像処理の様々な動きやその背景で何をしているのかが分かる
- OpenCVの使い方が分かる その1:画像を読み込み、処理し、出力する一連の流れが行える。エッジやブロブの検出
- OpenCVの使い方が分かる その2:動画の扱い、トラックバーの作成、物体の追跡
- OpenCVの使い方が分かる その3:原理を理解して、ライブラリに無いものでもコーディングに挑戦:実践力を身に付ける
Requirements
- Pythonの文法は理解できている前提です。ただ、補講に最低限の文法を説明しますのである程度補えます。
- Jupyter notebookの使い方
- 画像処理については予め知っておく必要はありません。
- 最低限の数学:微分と積分のイメージは知っておく必要があります。行列についても基本的な計算は知っておくのが望ましいです。
Description
このコースはPythonでOpenCVというライブラリを使った画像処理の入門コースです。
OpenCVとは元々はIntelがC++主導で開発を進めていた画像処理用のライブラリですが、Pythonから使うことで様々な画像処理が短いプログラミングで書くことができ、画像処理の入門には適しています。
【人事の方/マネージャークラスの方へ】
本コースは次のような使い方が可能です。
・業務で画像処理が必要になったが、これまで画像処理は全くやった事が無く、画像処理の知識が無い社員の方を育成したい。
・部門でAI人材を育成しており、特に画像系処理のAI人材を育成したい。
OpenCVは深層学習ライブラリのTensorFlowやPyTorchと併せて使われることも非常に多く、画像系AI人材の育成に適しています。
この為、画像処理系のAI人材を育成されたい場合、本コースと以下の深層学習のコースをセットで受講されると十分な基礎が身に付きます。
【Hands Onで学ぶ】PyTorchによる深層学習入門
【受講上の注意点】
注意点ですがPythonの基礎的な文法の解説はほとんどありませんので、Pythonの基本的な文法(リスト、for文、if文など)には習熟しておく必要があります。
(OpenCVの文法の解説はもちろんあります。)
また対象のOSは基本的にはWindowsです。
(Macの場合異なるのは、AnacondaのインストールとOpencvの導入の部分です。一応、テキストベースでの説明はあります。)
文法は最低限の文法を補う講座を設けていますが、本講座は比較的プログラミング量が多いと思われます。
この為、Pythonのコーディング経験が全くない方には難しいかもしれません。
本講座で取り扱う内容としては、大まかには以下の通りです。(詳しくは"本講座の概要"、"画像処理とは・OpenCV"とはをご覧ください。)
・環境の構築(OpenCVの導入)
・画像/動画の入出力
・トラックバー / マウスイベント
・色空間/グレースケールへの理解
・平滑化/エッジの検出などの畳み込み処理
・2値化
・特徴点の抽出
・色検出、オプティカルフローなどの物体追跡
・パーティクルフィルターの理論と実装
また本講座で取り扱わない内容としては
・機械学習
・カメラモデル
・SIFT/SURFなどのライセンス上商用利用しにくいもの
です。
Who this course is for:
- Pythonには習熟しており、画像処理に興味のある方
- Pythonでのプログラミングの幅を広げたい方
- OpenCVの使い方を学びたい人
Instructor
企業の研究/開発者
R&D部門にてPythonによるソフトウェア開発/データ分析を行っている。
実験/数値シミュレーションの両方の経験があり、その経験を生かしたデバイス開発を行っていた。
近年は、ソフトウェア開発に専従し、HPC(High Performance Computing)を用いた深層学習/数値シミュレーションのプログラム開発やデータ分析が中心。
PythonとCUDA Cを用いた大規模な数値解析ソルバーの開発経験あり。
数値解析については分野横断的な解析経験があり、
統計解析、第一原理計算、CAE(流体解析 / 電磁場解析など)、モンテカルロ法による相転移解析の他、OpenCVを用いた画像処理など分野を超えた様々な領域に従事。
大阪大学大学院理学研究科修了。
学生時代はOpenMPとMPIによるスパコンでの大規模数値シミュレーション(256~1024コア程度)を行っていた。
Udemyでは各学問分野における"基礎力"や"ベースとなる土台"を重視した講座を複数展開中。
講座のポリシー:
各学問分野における
1. なぜこうなるのかという原理・原則に基づいた理解
2. その為のベースとなる数学力
3. プログラミング力
の3つを身に付けることでブレない基礎力を獲得できる講座