はじめに
Raspberry Piとカメラモジュールを使えば、AIを活用した顔認識カメラを簡単に作成できます。防犯カメラ、出席管理、スマートホームの顔認証ロックなど、さまざまな用途に応用可能です。
本記事では、Raspberry PiとOpenCV、Face Recognitionライブラリを使って顔認識を実装する方法を詳しく解説します。
✅ 必要な機材とソフトウェア
✅ カメラのセットアップ方法
✅ OpenCVを使った顔認識の実装
✅ 応用アイデア(防犯・出席管理・スマートロック)
raspberry pi の基本はこちらから 【最新】Raspberry Pi 5でできることまとめ!性能・活用アイデアを徹底解説 – ネプタバイト電子工房
1. 必要なもの
🔹 機材リスト
部品名 | 用途 |
---|---|
Raspberry Pi 4 / 5 | メインのコンピュータ |
Raspberry Pi カメラモジュール | 画像取得用 |
microSDカード(32GB以上) | OSとデータ保存 |
USB電源アダプター | 電源供給 |
冷却ファン or ヒートシンク | 長時間稼働時の発熱対策 |
🔹 ソフトウェア
✅ Raspberry Pi OS(Lite版またはDesktop版)
✅ OpenCV(画像処理ライブラリ)
✅ Face Recognition(顔認識ライブラリ)
✅ Python 3(プログラム実装用)
2. Raspberry Piのセットアップ
🔹 OSのインストール
- Raspberry Pi Imagerをダウンロード
- 「Raspberry Pi OS Lite」または「Desktop」を選択
- microSDカードに書き込み、Raspberry Piにセット
🔹 システムの初期設定
sudo apt update && sudo apt upgrade -y
カメラモジュールを有効化:
sudo raspi-config
# [Interfacing Options] -> [Camera] を有効化
再起動:
sudo reboot
3. OpenCV & Face Recognitionのインストール
🔹 必要なライブラリをインストール
sudo apt install libopencv-dev python3-opencv -y
sudo apt install python3-pip -y
pip3 install face-recognition numpy
4. 顔認識AIカメラの実装
以下のPythonコードを使用して、カメラでリアルタイム顔認識を行います。
import cv2
import face_recognition
import numpy as np
# カメラ起動
video_capture = cv2.VideoCapture(0)
# 既知の顔の画像とエンコーディング
known_face = face_recognition.load_image_file("known_face.jpg")
known_encoding = face_recognition.face_encodings(known_face)[0]
known_names = ["User"]
while True:
ret, frame = video_capture.read()
rgb_frame = frame[:, :, ::-1]
face_locations = face_recognition.face_locations(rgb_frame)
face_encodings = face_recognition.face_encodings(rgb_frame, face_locations)
for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings):
matches = face_recognition.compare_faces([known_encoding], face_encoding)
name = "Unknown"
if True in matches:
name = known_names[0]
cv2.rectangle(frame, (left, top), (right, bottom), (0, 255, 0), 2)
cv2.putText(frame, name, (left, top - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
cv2.imshow('Video', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video_capture.release()
cv2.destroyAllWindows()
💡 既知の顔(known_face.jpg)と照合し、認識できれば名前を表示。未登録の顔は「Unknown」と表示されます。
5. 応用アイデア
🔹 防犯カメラ
- 顔認識で知らない人を検出するとメール通知やアラームを発動
- 撮影した画像をクラウド(Google Drive / Dropbox)に保存
🔹 出席管理システム
- 学校やオフィスで顔認識を使って出席チェック
- 認識された顔データをGoogleスプレッドシートに記録
🔹 スマートロック連携
- 顔認識によるドアロックの自動開閉
- Raspberry PiのGPIOを使ってリレーを制御し、電気錠を操作
6. よくあるトラブルと解決策
🔹 カメラが動作しない
✅ raspi-config
でカメラが有効になっているか確認
✅ vcgencmd get_camera
を実行し、supported=1 detected=1
になっているかチェック
✅ ls /dev/video0
でカメラデバイスが認識されているか確認
🔹 顔認識の精度が低い
✅ 照明の影響で顔が暗くなっていないか
✅ 高解像度の画像を使用して学習
✅ face_recognition.compare_faces
の閾値を調整(tolerance
パラメータ)
7. まとめ
Raspberry Piを使えば、手軽にAIカメラを構築し、顔認識機能を追加できます。
💡 今回のポイント
✅ OpenCVとFace Recognitionを活用した顔認識
✅ カメラモジュールを使ったリアルタイム映像処理
✅ 防犯カメラ、出席管理、スマートロックへの応用
Raspberry Piを活用して、自作のAIカメラで便利な顔認識システムを作りましょう!
コメント