2024年1号「技能と技術」誌315号
5/44

図5 クラウドサービスを活用した実行環境の取得に対して,自動で機械的に取得されるようにした。これにより,マニュアルでの作業を極力低減することができた。その仕組みとしては,学習に必要となる顔部分の画像データを抽出するために,OpenCVカスケード分類器を使用した。これにより,自動的に画像を取得することができ,比較的高速に必要な画像データのみを抽出して取得することができた。学習について,顔の検出についてはOpenCVで実装されているカスケード分類器を利用したが,顔判別については,特徴を抽出する学習アルゴリズムの一つである“LBPHFaceRecognizer”[2]を使用し,学習モデルを作成する処理を実装した。本学習アルゴリズムは,画像の局所的な表現とその近傍の相対値から特徴量を抽出し,それをヒストグラムとして比較するアルゴリズムである。本学習アルゴリズムは,対象物の画像に対する照明変化の影響を受けづらく,計算コストが低く比較的精度よく判別できるという特徴がある。そのため,本教材を使用して実現した結果として,照明,天候や季節等に対して細かく設定を調整することなく実習環境を準備でき,なおかつ当日の誤動作も比較的少なく実現することができた。本教材の実行環境の概要を図5に示す。実行環境としては,受講者が直接操作するローカルPCから,クラウドサービスであるGoogle Colaboratory[3]にアクセスすることで実現した。本クラウドサービスは,Googleが提供するクラウドサービスであり,教育・研究機関への機械学習の普及を目的とした研究プロジェクトである。ユーザーは,Webブラウザーで実行環境へアクセスすることにより,Pythonのプログラムを記述・実行できる。また,本クラウドサービスでは,準備されている実行環境に対しpipコマンドを実行することで,必要となるPythonの-3-ライブラリをインストールした開発環境を構築することができる。さらに,本教材では,受講生が操作するローカルPCに接続されているWebカメラをクラウドサービスで使用できるようにした。方法としては,本クラウドサービス内でGoogleが提供するコードスニペット内にある“Camera Capture”を利用することで実現することができた。本クラウドサービスを使用するにあたって,容易に環境を準備できる反面,無料の枠内では実行の際に使用したプログラムやデータが一定時間しか保持されないという制約がある。そのため,使用するプログラムや処理に必要なデータは,実行するごとにクラウドサービス上に配置する作業が発生する。それをある程度軽減するため,実行するプログラムや,顔の検出で使用したOpenCVカスケード分類器については,Google Drive[4]にファイルを保存し,実行の際に参照できるようにした。これにより,マニュアルの作業で配置しなおすことなく,必要なプログラムを即座に呼び出すことができる。さらに,OpenCVカスケード分類器のファイルについては,顔の検出処理を実行させる際に,一連のプログラム内で実行環境にマウントさせることにより,自動で参照できるようにした。これらの仕組みにより,実習担当者が,事前に実習環境を準備する際作業として,マニュアルでのファイルのコピー等を実施する必要がなく,省力化することができた。ただし,これらの仕組みを利用するためには,Googleの各クラウドサービスを利用するためのアカウントの管理が必要である。4.学習モデルの作成について5.クラウドサービスの活用について

元のページ  ../index.html#5

このブックを見る