作って学ぶIoT&AI

IoT編

第1回

講座全体で使うシングルボードコンピューターの基本の理解を目指します。この回を学ぶことで、Raspberry Piの概要を把握し、起動するまでに必要な準備から初期設定の方法、そしてLinuxとPythonに入門し、Raspberry Piにおける基本的な操作方法やプログラミングの初歩を身につけることができます。

  • はじめに
  • 第1章 Raspberry Piとは
  • 第2章 Raspberry Piを動かす
  • 第3章 Raspberry PiをWebブラウザとして使う
  • 第4章 Raspberry PiによるPythonプログラミング
  • 第5章 入門回のふりかえり
  • コラム:SSH接続について
  • コラム:ツールを使ったIPアドレスの特定

第2回

センサーデータの取得と可視化について学びます。この回では、センサーボードを用いてI2C通信によるセンサー値の取得を体験します。また、取得したデータをSaaSサービスにアップロードし、グラフ表示 (可視化) するプログラムを実装できるようになります。

  • はじめに
  • 第1章 開発・運用スタイルについて
  • 第2章 Sense HATの中身を知る
  • 第3章 Sense HATによるデータ収集
  • 第4章 継続的に動かすということ
  • コラム: 常駐化するアプリケーションを作成する

第3回

LEDマトリクスの制御を題材に、Raspberry PiのプログラミングやLinuxのタイムゾーンの知識等を身につけます。また、簡易的なWebアプリの作り方や、HTTP通信を用いてJSON形式でデータをやり取りする方法について学びます。

  • はじめに
  • 第1章 最初の手順
  • 第2章 制御について
  • 第3章 時計の作成1
  • 第4章 時計の作成2
  • 第5章 機器と機器をつなぐ
  • コラム:外部APIの活用 (天気予報版)

第4回

Raspberry Piでカメラを利用する方法について学びます。

Pythonプログラムでカメラ映像を取得し、OpenCVを用いた画像処理を行うことで、動体の検知や物体の通過を検知するアプリケーションの作り方を身につけることができます。

  • はじめに
  • 第1章 環境の構築
  • 第2章 Picameraの基本
  • 第3章 OpenCVに触れる
  • 第4章 動作アプリケーションの作成
  • 第5章 動体検知
  • 第6章 人数カウント – 通過検知

第5回

MQTTを用いたデバイス間通信について学びます。

MQTTの概要を把握し、MQTTブローカー (サーバー) の構築やPythonプログラムによるMQTTクライアントの実装方法を身につけます。

  • はじめに
  • 第1章 Joy Stickを動かしてみる
  • 第2章 MQTTを体験する
  • 第3章 MQTTとブラウザを組み合わせる
  • 第4章 MQTTでデバイス連携する
  • 第5章 AWS IoTを使う
  • 第6章 サーバレスのクラウドシステムを構築する(FaaS)
  • 第7章 Lambdaを使って機器同士を連携する

第6回

IoTデバイスに用いられる代表的な無線通信方式のBluetooth Low Energy (BLE) について学びます。PythonプログラムでBLEによるデータ通信を行い、BLEセンサーからデータを収集するゲートウェイをラズパイに実装します。

  • はじめに
  • 第1章 Bluetooth Low Energy (BLE) の基本
  • 第2章 PythonでBLEデバイスを扱う
  • 第3章 BLEゲートウェイの実装
  • 第4章 クラウドへの接続とLambda連携
  • 第5章 クラウドサービスとの連携
  • 第6章 おわりに(実力チェック試験)

AI編

第7回

人工知能の概略を確認し、AI・機械学習・ディープラーニングとは何かを学びます。そしてRaspberry Pi 上で様々な種類のAIモデルを動かすことで、AIを実行する際のポイントを身につけることができます。

  • まえがき ~AIの世界に飛び込もう~
  • 第1章 ディープラーニングについて知ろう
  • 第2章 AIを動かすための準備
  • 第3章 AI学習に必要な基礎知識を身につける
  • 第4章 ディープラーニングによるモデルの推論実行
  • 第5章 色々なモデルを試そう: 画像分類
  • 第6章 色々なモデルを試そう: 気温予測
  • 第7章 物体検出とカメラの連携
  • コラム:AIと思想

第8回

ディープラーニングを理解する上で欠かせないニューラルネットワークについて詳しく学びます。ニューラルネットワークが学習する仕組みを理解し、基本的なモデル作りや精度の改善、そして畳み込みニューラルネットワークのモデルを作成します。

  • まえがき 〜ディープラーニングのモデルを作れるようになろう!〜
  • 第1部1章 ニューラルネットワークの推論の仕組みを学ぼう
  • 第1部2章 ニューラルネットワークをどう設定するか
  • 第1部3章 ニューラルネットワークはどう学習するか
  • 第2部序章 学習環境としてGoogle Colaboratoryを使う
  • 第2部1章 モデルを作り上げる手順を体験しよう!
  • 第2部2章 用途を決める
  • 第2部3章 頭脳をつくる
  • 第2部4章 学習させる
  • 第2部5章 指導する
  • 第3部1章 畳み込みニューラルネットワーク
  • 第3部2章 CNNモデルを作ってみよう
  • コラム:代表的な活性化関数

第9回

音声認識・機械翻訳に用いられる再帰型ニューラルネットワーク (RNN) について学びます。RNNの特徴について学び、時系列データの予測を題材に数種類のRNNレイヤーを使ったモデル作りに取り組みます。

  • まえがき 〜RNNのモデルを作ろう!〜
  • 第1部1章 RNNレイヤーの生い立ち
  • 第1部2章 RNNレイヤーの構造
  • 第1部3章 RNNレイヤーの発展
  • 第2部1章 手を動かして体験しよう!
  • 第2部2章 用途を決める
  • 第2部3章 頭脳をつくる
  • 第2部4章 学習させる
  • 第2部5章 指導する

第10回

RNNを使ったモデル作りの一環として、ディープラーニングによる音声認識に挑戦します。マイクで拾った音を入力データとして、自分で決めた特定の言葉や音に反応するAIを開発します。

  • 動作チェック
  • 第3部1章 音声の正体
  • 第3部2章 音声データの扱い
  • 第3部3章 用途を決める
  • 第3部4章 頭脳をつくる
  • 第3部5章 学習させる
  • 第3部6章 指導する

第11回

ハードウェアとAIを組み合わせたスマートヘルスケアデバイスの開発を通してAIサービスの企画開発に必要な知識とスキルを身につけます。この回では転移学習について学び、デバイスに組み込むAIモデルを作成します。

  • まえがき 〜AIを使うアプリケーションを作ろう!〜
  • 第1部1章 ケーススタディー『運動を続けたい!』
  • 第1部2章 開発環境を準備しよう
  • 第2部1章 モデルの利用目的を決める
  • 第2部2章 ウェイクワード検知モデルの準備
  • 第2部3章 人体検知モデルの転移学習
  • 第2部4章 学習用データを用意しよう
  • 第2部5章 モデルの転移学習と最適化
  • コラム:転移学習について

第12回

ハードウェアとAIを組み合わせたスマートヘルスケアデバイスの完成を目指します。この回ではAIモデルをデバイス上で動作させるプログラムを実装するとともに、実際にアプリケーションとして利用するためのユーザーインターフェースを構築します。

  • 第3部1章 作るものの確認
  • 第3部2章 ウェイクワード検知プログラムを作ろう
  • 第3部3章 人体検知プログラムを作ろう
  • 第3部4章 WEBサーバーを完成させよう
  • 第3部5章 タッチディスプレイからの利用
  • 講座を終えて
  • コラム:コールバックについて
  • コラム:スレッドについて