対象:初級者〜中級者 | 環境:オンライン / ローカル |
受講期限:無制限 | 受講料金:850円 |
コース概要
- ブラウザとインターネットで実行可能(Google Colab対応)
- Jupyter Notebookを利用したプログラミング演習
- 画像認識 / コンピュータビジョンの概要
- OpenCVを使った基本画像処理
- 畳み込みニューラルネットワークの仕組み
- Kerasを使ってCNN構築
- 大規模画像データの読み込み
- 画像データの拡張とモデル精度向上
本コースで学べる内容
画像認識(Image Recognintion)とは、画像や動画に写る場所や人物など、様々なオブジェクトを認識する技術を指します。近年ニュースを騒がしている自動運転なども画像認識技術を活用しています。また、レントゲン写真を解析して特定の症状/病気を検知するなど、幅広い分野で大きな期待が寄せられています。
本コース「はじめての画像認識」では、Pythonを使った画像処理の基礎から、大規模な画像データの画像認識を機械学習手法を使って行います。
コース前半ではPythonの「OpenCV」を使った画像処理の基本操作を学びます。画像データの読み込みやMatplotlibを使った画像データの表示、画像データの変形などの操作を行います。
中盤は最も初歩的なデータセットの一つである「MNIST(エムニスト)」を使い、複数の機械学習手法(ロジスティック回帰、ランダムフォレスト、SVM)を用いて画像認識を実装します。
さらに、機械学習フレームワーク「Keras」を使って、画像認識で標準的な手法である「畳み込みニューラルネットワーク(CNN)」の構築も行います。畳み込みニューラルネットワークのの仕組みである、「畳み込み層」「プール層」「全結合層」の役割や処理方法など、CNNを動かすのに必要な知識を、数式を用いず直感的に理解できるよう解説を行います。
後半は2つの実践的な画像認識の実装を行います。1つ目は様々な構造のCNNを使って平仮名画像の認識を行います。2つ目はレントゲン写真を学習して、肺炎の検知を行います。レントゲン写真の画像認識では、「ImageDataGenerator」を使ったデータ拡張のテクニックに焦点を当てています。データ拡張による検知精度向上を試みます。両プロジェクト共にニューラルネットワークライブラリ「Keras(TensorFlowバックエンド)」を使用します。
はじめてPythonで画像処理を行う方、はじめて畳み込みニューラルネットワークを使う方向けのコースです。数式を用いた説明は最低限に留めており、直感的に理解できるよう設計されたコースです。
初めて機械学習の手法を学ぶ方へ
本コースでは機械学習およびPythonライブラリの基礎知識が必要です。コース内で下記の項目の解説は含まれませんのでご注意ください。コース受講の目安として、pandasやNumPyの初歩的な操作方法が行える方であればスムーズにご受講可能です。
- PythonおよびNumpy、Pandas、Matplotlibの基本操作方法
- Kerasの包括的な操作方法
- 機械学習の基礎知識(特徴量やモデルなど)
- 評価指標(混同行列や精度・再現率など)
初めて機械学習の手法を学ぶ方は下記の講座を先に受講されることをお勧めします。
コースの特徴
ブラウザとインターネットで実行が可能
Google Colab(グーグル・コラボ)を利用することにより、特別な環境構築やインストールなどの作業を行うことなく、ブラウザのみで実行が可能です。チュートリアルでは、Google Colabの基本的な使い方、また自身のPCに環境構築を行う方法の詳細を説明しています。
実践に役立つ知識
- Minicondaを活用したPythonの環境構築
- OpenCVの使い方
- Pythonによる大量画像データの読み込み
- 畳み込みニューラルネットワークの基本的な仕組み
- Kerasを使った畳み込みニューラルネットワークの構築
- KerasコールバックによるEarlyStoppingの使い方
- 画像データの拡張(ImageDataGenerator)
受講資格
(必須)Pythonの基礎知識
(必須)機械学習の初歩的な知識
(必須)線形代数及び統計の初歩的な知識
(必須)Numpy、Pandas、Matplotlibの初歩的な知識
原則として、Python及び機械学習の初歩的な知識が前提となっています。初めて機械学習に挑む方は下記の「機械学習 準備編」の無料コースをご参照下さい。また、本チュートリアルではKaggleの無料会員登録が必要です。(参考:Kaggleとは?)
- Numpy 入門(無料)
- Matplotlib 入門(無料)
- Pandas 入門(無料)
- 線形代数 入門(無料)
- 統計 入門 (前編)(無料)
- 統計 入門 (後編)(無料)
コース詳細
機械学習 チュートリアル はじめての画像認識 | ||
---|---|---|
Chapter 1 環境構築 | ||
【Windows】Minicondaを利用した環境構築 | 約2,200文字 | |
【Mac】Minicondaを利用した環境構築 | 約1,900文字 | |
Google Colabを利用した環境構築 | 約2,100文字 | |
Chapter 2 画像認識技術 | ||
画像認識とは | 1,300文字 | |
画像認識の仕組み | 1,500文字 | |
画像認識の活用事例 | 1,200文字 | |
Chapter 3 画像処理の基礎 | ||
OpenCV 概要 | 1,000文字 | |
画像読み込みと表示 | 25行 | |
画像データの変形 | 70行 | |
Chapter 4 画像認識の基礎 | ||
MNIST | 1,700文字 | |
画像データ前処理 | 40行 | |
機械学習手法で画像認識 | 15行 | |
畳み込みニューラルネットワークの仕組み | 6,200文字 | |
CNNで画像認識 | 55行 | |
Chapter 5 ひらがな画像認識 | ||
NDLラボ 平仮名画像データ | 50行 | |
画像データの前処理 | 30行 | |
CNNモデル訓練 | 70行 | |
Chapter 6 レントゲン画像から肺炎検出 | ||
データ拡張とは | 1,400文字 | |
データ読み込みと前処理 | 130行 | |
ベースラインのモデル訓練 | 20行 | |
データ拡張を実装 | 55行 |
レビュー
畳み込みニューラルネットワークの解説が難しすぎず簡単すぎず、ちょうど良い感じでした。書籍などでは数式を用いた解説で理解が大変でしたが、このコースの説明はそれぞれの層の役割と処理に焦点が当てられており、非常に役に立ちました。他のコースも購入させて頂きました!
講師紹介

本コース「はじめての画像認識」はcodexa(コデクサ)の機械学習エンジニアチームにて製作・監修を行いました。アメリカでデータ分析の実績を積んだデータサイエンティストから、Webエンジニアから機械学習エンジニアへ転向をした人まで幅広い層が所属しています。上級者の一方的な講義ではなく、「初心者がいかに理解しやすいか」を目標としています。日経ソフトウェアへの記事執筆実績(2019年1月号)。