シラバス情報

授業コード
220191
オムニバス
科目名
ロボットビジョン特論
科目名(英語)
Advanced Course on Robot Vision
配当学年
1年
単位数
2.00単位
年度学期
2025年度秋学期
曜日時限
木曜1限
対象学科
博前_機械
コース
科目区分
大学院科目
必選の別
選択科目
担当者
前期_機械システム工学専攻教員
教室
実務家教員担当授業
授業の目的と進め方
コンピュータに人間と同等以上の視覚能力を与える研究分野にコンピュータビジョン(CV)がある。本講義では特にロボットに搭載するロボットビジョン分野について理論的背景とシステム構築についての知識を得られる。具体的には、様々な局所特徴とその機械学習手法についての講義と、それらを実際に組み合わせたシステム構築の演習を行う。授業内課題の結果はサポータルを通じてフィードバックする。
 
達成目標1
ロボットビジョン分野における現代的な手法を理解し、技術的動向を説明できるようになる。【50%】
達成目標2
カメラを用いた特定物体認識、物体追跡システムなどを、自ら設計し、実際にCVシステムを構築できるようになること。【50%】
達成目標3
達成目標4
達成目標5
達成目標6
達成目標7

アクティブラーニング
ディスカッション
ディベート
グループワーク
プレゼンテーション
実習
フィールドワーク
その他課題解決型学習

授業計画
授業時間外課題(予習および復習を含む)
第1回
ロボットビジョンとコンピュータビジョン(CV)の概要について講義する。コンピュータビジョンとロボットビジョンの関係と必要な機能について概要を学修する。
(予習)画像処理の基礎知識を確認しておく(1時間)。
(復習)(復習)OpenCVのインストールを完了しておく(1時間)。
第2回
コンピュータビジョンシステムの画像処理(前処理)について学修する。デジタル画像の構成、色表現、階調変換、デジタルフィルタ処理について理解する。
 
(予習)前処理に使用される基本的な画像処理について調べておく(1時間)。
(復習)コントラストを自動補正するプログラムを作成する(1時間)。 
第3回
古典的なコンピュータビジョンシステムについて学修する。特定色抽出により2値画像を取得し、膨張・収縮処理により整形し、ラベリング処理と形状特徴を算出することによる画像認識する手法について理解する。 
(予習)マシンビジョンについて調べてておく(1時間)。
(復習)特定色抽出によって肌色領域を抽出し、その領域の形状特徴を算出するプログラムを作成する(1時間)。
第4回
複数画像の処理と古典的手法のまとめについて学修する。クロマキー合成やアルファブレンディングなどの画像合成手法や、背景差分とフレーム間差分などの動画像処理について理解する。これまでの総合課題としてじゃんけんの手の判定プログラムを作成する。
(予習)背景差分、フレーム間差分について調べておく(1時間)。
(復習)古典的手法を用いてじゃんけんを判定するプログラムを作成する(1時間)。
第5回
画像の幾何変換について学修する。基本となる線形変換とアフィン変換について理解し、これらの変換によって画像を生成するための補完法について学ぶ。実際に変換プログラムを作成する演習を行う。
(予習)補完法、アフィン変換、透視変換について調べておく(1時間)。
(復習)カメラ映像や動画ファイルを使った動画像処理プロクラムとしてじゃんけん判定プログラムを作成すること(1時間)。
第6回
画像の特徴点について学修する。古くから用いられているエッジ・コーナー特徴やHough変換について紹介し、現代的な特徴点の考え方である特徴量記述について説明する。そのうえで現在多用されているSHIFT特徴量、AKAZE特徴量、ORB特徴量の説明と、そのを利用した画像レジストレーションを行う演習を行う。複数の撮影点が少しずれた画像から特徴量を抽出し、うまく重ね合わせるように射影変換を行い、パノラマ画像を合成する。
(予習)画像レジストレーションについて調べておく(1時間)。
(復習)撮影位置が少しずれた二枚の画像画像レジストレーションするプログラムを作成する(1時間)。
第7回
動画からの物体追跡について学修する。まず古典的な運動復元手法であるオプティカルフローについて理解し、そこで用いられる基本的な技法である画像ピラミッドや、オプティカルフローを用いた手ブレ補正を行う演習を行う。そして古典的な物体追跡手法であるテンプレートマッチング、meanshift、CAMshift、カルマンフィルタ、パーティクルフィルタについて学修する。 
(予習)meanshift、CAMshift、カルマンフィルタ、パーティクルフィルタなど物体追跡手法について調べておく。(1時間)。
(復習)特徴点と組み合わせた物体追跡プログラムを作成する(1時間)。
第8回
画像処理分野での機械学習について学修する。まず機械学習の定義について理解し、代表的な機械学習手法として、主成分分析、K-means法、k最近傍法、ベイズ識別、サポートベクトルマシン、決定木、ブースティング、ニューラルネットワークについて学修する。
(予習)機械学習の定義や機械学習の手法について調べておく(1時間)。
(復習)各種機械学習手法の特徴と利用目的についてまとめる(1時間)。
第9回
深層学習について学修する。ニューラルネットワークの古典である多層パーセプトロンとそれを拡張した深層学習(ディープラーニング)について理解する。深層学習の基礎となる確率的勾配降下法と誤差逆伝播法について学修し、深層学習の応用であるジェネレータによる画像合成など深層学習の応用拡張と限界について議論する。 
(予習)ディープラーニングについて調べておく(1時間)。
(復習)ディーラーニングの応用例についてまとめてみる(1時間)。
第10回
深層学習について演習する。sonyによる深層学習フレームワークの実装であるNeuralNetworkConsoleを用いて実際に画像分類する演習を行う。
(予習)NeuralNetworkConsoleをダウンロードし、インストールして(1時間)。
(復習)NeuralNetworkConsoleで実際に画像分類を試してみる(1時間)。
第11回
深層学習の応用として物体検出について学修する。第7回の物体追跡手法はあくまで画像のピクセルを追跡する手法であった。実際に撮像画像中の物体がなにか認識して追跡しているわけではない。しかし近年高速に物体認識手法が開発され、SSDやYoloなどの画像中の識別物体を追跡する手法が登場している。
(予習SSDとYoloについて調べておく(1時間)。
(復習)SSDやYoloを実際に試してみる(1時間)。
 
第12回
深層学習の応用として画像合成について学修する。第9回の最後に触れたジェネレータを応用すると高精度な画像を合成することが可能となる。例えばGANやpix2pixが提案されいる。これを使って実際に画像を合成する演習を行う。  
(予習)GANやpix2pixについて調べておく(1時間)。
(復習)Google corabolatlyを使ってpix2pixを動作させ、実際に画像を合成させる(1時間)。
第13回
CVの応用としてRPAについて学修する。画像認識技術を使ってPCのデスクトップ上での作業を自動化するRPA(Robotic Process Automation)が登場している。実際にRPAを用いて作業を自動化する演習を行う。
(予習)RPAについて調べておく(1時間)。
(復習)sikulixを用いた作業の自動化を行う(1時間)。
第14回
これまでの講義をまとめる。
(予習)これまでの授業の質問を整理しておく(1時間)。
(復習)これまでの課題を振り返り必要なものには再挑戦してみる(1時間)。 


課題等に対するフィードバック
サポータル上で提出された課題は評価を通知する。
評価方法と基準
各回の演習で作成したプログラムと処理結果(50点)に、課題のプレゼンテーション(50点)を加算し、合計60点以上をC評価とする。
各回個別に質疑応答を行う。答えられなかった質問については必ず復習しておくこと。 
テキスト
小枝正直・上田悦子・中村恭之『OpenCVによるコンピュータビジョン・機械学習入門』講談社(2017)[ISBN:978-4-06-153830-6]   
参考図書
手塚 太郎 『しくみがわかる深層学習』朝倉出版(2018)【ISBN:978-4-254-12238-1】  
科目の位置づけ(学習・教育目標との対応)
計測・制御の一分野としてロボット用の視覚システムについての知識を得る。これは様々な自律ロボットの設計開発に必須な知識である。またこの知識は、カメラなど撮像センサを用いた計測一般にも必要とされる。実際のシステムを構築するためのプログラミング能力を向上させる。 
履修登録前の準備
何らかのコンピュータプログラミングを修得しておくこと。また画像処理に関する基礎的な技法を理解しておくこと。