本文へ移動
Takumi Tokunaga
Blog

インド海外インターンシップ Week 2(居眠り検知システムの立ち上げ)

公開日 · 2025/08/17

トピック

インターン
海外インターン
インド
機械学習
Python

2 週目からは、いよいよ本格的に開発業務がスタートしました。私たちのチームは「ドライバーの居眠り検知」をテーマに、カメラ映像からドライバーの状態を推定する Driver Drowsiness Detection システムの構築に取り組みました。月曜日から日曜日までの流れを、業務内容を中心に振り返ります。


月:理論調査と開発環境構築

月曜日は、指導担当のエンジニアから改めて課題の詳細説明を受け、「ドライバーの目の開閉状態をもとに、眠気を検知して警告を出す」というゴールを共有しました。そのうえで、まずは関連する技術要素のキャッチアップに 1 日を使いました。

  • OpenCV の Haar cascade による顔・目検出の仕組み
  • 畳み込みニューラルネットワーク(CNN)を用いた画像分類の基本構造
  • 目の開き具合を数値化する指標である Eye Aspect Ratio(EAR)

といったキーワードを中心に、社内資料やオンライン教材を読み込みながら理解を深めました。座学ベースで学んできた内容を、「実際にどんな API を呼び出し、どんな前処理をするのか」という具体的なコードのイメージに落とし込んでいく作業は、新鮮でありつつも難しさを感じました。

火曜日からは、いよいよ開発環境の構築に着手しました。Python と OpenCV、dlib などを用いた環境をセットアップし、Web カメラからリアルタイムで映像を取得して画面に表示する最低限のパイプラインを整えました。さらに、顔と目の領域を検出し、その結果をフレーム上に矩形表示するところまでを動かすことができ、理論で学んだ内容が少しずつ「動くプログラム」に変わっていく手応えを感じました。


火〜水:CNN モデルの実装と試行錯誤

水曜日からは、本格的に CNN モデルの実装に取り組みました。Haar cascade で検出した目元の領域を切り出し、グレースケールに変換したうえで 64×64 の正方形画像にリサイズし、CNN へ入力するという構成です。入力 → 畳み込み+プーリング層を 3 ブロック → 全結合層 → 「Open / Closed」を出力する 2 クラス分類という、比較的シンプルなモデルからスタートしました。

目が開いている/閉じているサンプル画像を使って学習を行うと、訓練データに対しては高い精度が出る一方で、実際のカメラ映像に適用すると、明るさや顔の向きによって誤判定が多くなるという課題も見えてきました。ここで、論文や既存実装を参考にしながら、EAR と画像特徴量を組み合わせる手法についても検討を始めました。

木曜日は、EAR を併用した複数のアプローチを試しながら、モデルの改善を図った 1 日でした。

  • 左右の目画像を別々の入力として扱うパターン
  • CNN から抽出された特徴量と EAR の数値を結合するパターン
  • CNN に EAR 自体を推定させるパターン

などを検証しましたが、どの案も一長一短で、はっきりとした決め手を見つけるまでには至りませんでした。同時に、「仮説をあいまいなまま試行錯誤を始めると、時間だけが過ぎてしまう」という反省も生まれ、翌週以降の進め方を見直すきっかけになりました。


木:要件の再確認と今後の方針整理

金曜日は、一度立ち止まって要件の再確認と方針整理を行いました。当初、自分の中では EAR のような連続値を出力するイメージが強かったのですが、実際には「Open / Closed の 2 値分類で良い」という仕様であることをリードエンジニアとの議論を通じて再確認しました。

この認識のズレにより、不要な実装に時間を割いてしまっていたことが分かり、「分からない点は早めに聞く」「仕様はチームで共有する」という基本の大切さを痛感しました。同時に、来週以降は「ドライバーの眠気を検知する」という最終目的から逆算し、モデル単体だけでなく、システム全体のパイプラインやユーザー体験を意識して改善を進めていく方針をチームで確認しました。


金〜日:インド独立記念日の式典参加と市内観覧、週末の散策

金曜日にはインド独立記念日があり、Sasken 社のオフィスでも朝に国旗掲揚のセレモニーが行われました。社員の方々と一緒に国旗が掲げられる瞬間を見守り、インドの国歌や社内での祝賀ムードを肌で感じる貴重な経験になりました。式典後は、オフィスの警備責任者の方が午後の時間を使って市内観覧に案内してくださり、主要なランドマークを効率よく回ることができました。移動中にはベンガルールの歴史や治安についても教えていただき、現地の街をより立体的に理解できました。

土日は業務から離れ、インターンのメンバーと市内を散策しました。ショッピングモールやフードコートでローカルフードを試したり、週末限定のマーケットを覗いたりしながら、生活圏としてのベンガルールの雰囲気を体感しました。平日とは違う人の多さや熱気を感じつつ、オートリキシャでの移動にも徐々に慣れ、英語でのやりとりにも少しずつ自信がついてきました。


今週のまとめ

Week 2 は、理論で学んだ AI/ML の知識を、実際のコードとして形にしていく「立ち上げの 1 週間」でした。同時に、要件の誤解や仮説不足など、進め方の課題も浮き彫りになりました。来週以降は、チームでのデータ収集やファインチューニングにも本格的に取り組む予定です。


今週のスナップショット(写真)

独立記念日の朝、オフィスでの国旗掲揚セレモニー 独立記念日の朝、オフィスでの国旗掲揚セレモニー

社員の人に案内してもらった市内の人気レストラン 社員の人に案内してもらった市内の人気レストラン

ホテル付近の風景 ホテル付近の風景

週末にメンバーと電車に乗った時の様子 週末にメンバーと電車に乗った時の様子

ショッピングモールのゲームセンターのスナップ ショッピングモールのゲームセンターのスナップ

©

GitHub