PR

【完全ガイド】Raspberry PiでAIカメラを作って顔認識をする方法

デジタル顔認識要素が表示された男性。その横には「RASPBERRY PI」という文字とグラフィック、顔認識用 AI カメラの構築に関する日本語のテキストが表示されている。「続きを読む」ボタンと「エレクトロニクス」という単語が見える。. Raspberry Pi

はじめに

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のインストール

  1. Raspberry Pi Imagerをダウンロード
  2. 「Raspberry Pi OS Lite」または「Desktop」を選択
  3. 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カメラで便利な顔認識システムを作りましょう!

コメント

タイトルとURLをコピーしました