放送大学の科目「コンピュータビジョン」を履修した

弘前大学の職員研修の一環として,放送大学の「コンピュータビジョン」という科目を履修しました.

研修の概要

弘前大学の職員自己啓発研修の一環として,放送大学の科目履修生になる,というものがあります.事務系職員ならびに技術系職員を対象として,「放送大学の授業科目を履修させることにより,自己啓発による目的意識の高揚を図るとともに業務遂行に必要な教養・知識を習得させ,大学職員としての資質の向上を図る」ことを目的としているものです.

入学料と授業料が弘前大学の負担となりますので何十人も何百人も受講することはできないと思いますが,私の周りでは受講希望が叶わなかったという話を聞いたことはありません.

受講科目

この研修では対象となる受講科目がいくつか指定されていた時代もあったと記憶していますが,いまは任意の科目を受講することができます.受講科目と業務との関連性をある程度説明できる必要はあります.

今回私が選択したのは,情報コースの専門科目である「コンピュータビジョン」です.ナンバリングは330で,専門科目(300番台)の中でも「上級」に位置づけられています.
シラバスにもあるように「自己位置推定と地図構築」「機械学習による画像認識」の2本が柱となっています.前半はカメラに関する座標系などの幾何学的な話が出てきますが,後半はうって変わってニューラルネットワークを用いた深層学習などの話が出てきます.

この科目はオンライン授業であり,講義の他にプログラミング言語Pythonを用いた演習が用意されています.詳しくは次節で述べます.

科目「コンピュータビジョン」についての詳細

本節は,科目「コンピュータビジョン」固有の事情を述べていきます.

オンライン授業科目

繰り返しになりますが,この科目は「オンライン授業」です.すなわちテレビ等による放送がなく,インターネット上のE-learningのような形で受講することになります(従来の放送大学のイメージとはちょっと離れていますね!).通信指導や単位認定試験もなく,代わりにオンラインでの学習活動(小テスト+演習課題)によって評価が行われます.

授業の構成

1コマは基本的に4~7本のスライドショー+音声動画(合計50~60分)による講義と,Python(Jupyter Notebook)による演習からなります.放送授業ですと各回の長さをきっちり収める必要がありますが,オンライン授業の講義だとその必要がないので,講師サイドとしてはずいぶんやりやすいのではないでしょうか(という勝手な推測). 演習と講義の内容は同期しておらず,講義で扱ったテーマを数回後の演習で扱うようなことがよくあります.
講義動画が10分程度で区切られているので,業務の空き時間で受講するというテイの本研修とも相性がいいように感じました.

評価と単位取得

評価は,各回の最後にある「小テスト」と,最後に提出する「演習課題」で行われます.「小テスト」は3問程度の択一式問題で構成されており,何回でも受験できます(複数回受験した場合,成績評価には最高点が用いられます).「演習課題」は,各回の「演習」のうちの1つについて,ソースコードに独自の修正を1つ以上行ってその出力を提出する,というものでした(ソースコードの提出は必須ではない).

「演習課題」の自由度は高く,単位取得だけを考えるのであれば難易度はかなり低いように見えます.しかし扱っているトピックは広さと深さを兼ね備えており,真面目に理解しようとすると相当時間の学習が必要になるでしょう.

受講の記録と所感

受講ペース

放送大学のセメスター(第1学期)は4月に始まり9月に終わります.学生証などが届いたのが4月12日だったのでオンライン授業システムへのログインもその頃に初めて行ったのですが,演習課題提出や小テスト受験の最終期限が7月10日と,思っていた以上に早かったので驚きました.ちなみにWebでの単位認定試験を行う科目では7月14日から7月22日までが試験期間になっていましたので,それよりも早くなっています. 1週1コマでは到底間に合わないので,3週で5コマぐらいのペースで学習を進める必要がありました.
配信期間が9月2日17時までとなっており,最終期限の後でもしばらくは講義を視聴することができます.

私の進捗は,4月中に第4回,5月中に第10回まで講義を受講し,第15回が終わったのが6月25日でした.演習課題の構想は5月中にはできていましたが,着手したのは6月後半に入ってからで,7月9日に提出しました.

Python実行環境の構築

シラバスには「Python実行環境をご自身で構築できていること(中略)が履修の条件となります」とあり,ローカル環境にPythonをインストールする必要があるのかとビクビクしていました.しかし蓋を開けてみると,ローカル環境を構築する必要は全くなく,Google Colaboratoryを使ってブラウザ上で実行することができました.各課題はGoogle Colaboratory上でJupyter Notebookとして与えられ,それを自分のGoogle Drive(放送大学の学生メールアカウントがGoogleアカウントとして提供されています)にコピーしてGoogle Colaboratoryで開く,ということがほとんどシームレスにできます.

プログラミング技術も特別に高度なものは必要ありません.ただOpenCV(オープンソースな画像処理のライブラリ)などのAPIを使ったりしますので,そういうもののリファレンスを読むような経験の有無で,とっつきやすさに差が出てくるかもしれません.

演習課題と成績通知

私はステレオ画像対から奥行マップを作成する課題に取り組みました.

ステレオ画像対は,(ステレオカメラではなく)普通の一眼カメラを平行移動させて撮影した2枚の画像を用いました.演習ではOpenCVの関数を用いてステレオ画像対から視差マップを出力するところまでを行いましたが,私の演習課題としては視差マップを奥行マップに変換するところまで行いました.奥行きマップへの変換にはカメラの内部パラメータが必要になりますが,それを求める校正のソースコードも演習に用意されていたので(これもOpenCVの機能になります),チェッカーパターンを撮影した画像を用いて実際に行いました.撮影されるチェッカーパターンは平面であることが望ましいので,たまたま萬屋で見つけたラベル用紙に印刷したものを,行き場を失っていたアクリル板に貼り付けて使いました.

演習課題について個別のフィードバックはありませんが,(小テストの結果を含んだ)「評点」が決まるとその旨のメール通知が届きます.7月24日にその通知があり,95点(/100)の評点をいただきました.

8月15日には成績がシステムWAKABA上で発表され,数日後に郵便で届きました.また弘前大学の職員自己啓発研修としての修了証書も9月初頭に届きました.

(余談)システムWAKABAと再入学

放送大学の教務情報システムがシステムWAKABAになります.ここのアカウントは,オンライン授業システムへのログインにも使われます(いわゆるSSO,シングルサインオンと呼ばれるものです).

初めて入学するのであれば初期パスワードが設定されているのですが,今回の私のように再入学の場合(2011年度に同制度で科目履修生になったことがあったのでした)は,アカウント自体も以前の在籍時のものを使います.…って10年以上前に使っていたパスワードが必要になるのですね(当時はパスワードマネジメントシステムなど導入していませんでした!).ここにログインできない状態ではオンライン科目の受講もできませんので,頑張ってパスワードを思い出しましょう.
私は運よく(7回ぐらいの試行錯誤の末に)ログインに成功しましたが,それが叶わない人はパスワードをアレする手続きが必要になります.