Raspberry PiとOpenCVでオフィスの居眠りを検知してみた

このエントリーをはてなブックマークに追加


AIとIoTを組み合わせて、今まで人が行ってきた業務を自動化することが世界的に注目されている。AIとIoTをビジネスに活用した事例で真っ先に思い浮かべるのは、コネクテッドカーや工場、農業用センサーなど大規模で特殊なケースだろう。

PCとデスクしかないオフィスに、IoTなんて必要ないと考えている人も多いのではないだろうか。しかし、IoTとAIを組み合わせた活用方法は多様であり、簡単に企業のニーズにあったサービスを展開できる。

今回、Ledge.ai編集部でも簡単な利用例として、IoTデバイス「Raspberry Pi(ラズベリーパイ)」と画像処理ライブラリ「OpenCV」を用いて居眠りを検知し、自動でチャットワークに送信するシステムを作ってみた。

Raspberry Pi(ラズベリーパイ)とは

Raspberry Piとは、イギリスのRaspberry Pi財団によって開発された超小型の「シングルボードコンピュータ」である。

シングルボードコンピュータとは、1枚の回路基板上にコンピューターとして最低限の機能を持たせたもので非常にシンプルだが、PCを構成する要素は十分に持ち合わせている。USBやLANも利用可能であり、ディスプレイ、キーボード、マウスなどを組み合わせれば、WindowsやMacPCと同様に使用可能だ。

Raspberry Piが人気の理由はその価格の安さだ。最新モデルの「Raspberry Pi 3 Model B+」は約5000円、簡易モデルである「Raspberry Pi Zero」は約1000円で手に入る。

さらに体温センサー、カメラセンサー、湿度センサー、LEDなどさまざまな電子部品を自由にカスタマイズでき、その安さと拡張性のためIoTデバイスとしての利用が注目されている。

OpenCVとは

出典:https://opencv.org

OpenCV(Open Source Computer Vision Library)とは、インテル社が開発したオープンソースライブラリであり、コンピューターで画像を処理するための機能が用意されている。

顔検出を始め、輪郭、エッジ検出など機能が豊富で、チュートリアルも丁寧なことから、初心者でも画像を用意するだけで簡単に画像処理ができて人気を集めている。

Raspberry Piを使いこなしたかった

今回は、Raspberry Pi 3 Model B+とRaspberry Pi Camera Module V2を用意して、簡単に居眠りを検出する予定だった……が、結果から述べると不可能だった。

OpenCVの扱い自体は難しくなく、Raspberry Piが居眠り検知器として何秒かは動作するのだが、カメラの処理が重すぎて、度々フリーズしてしまう。

Macで居眠り検知

偉そうにRaspberry Piを説明してきて大変恐縮だが、今回はRaspberry PiではなくMacを使って居眠り検知をやってみた。なお、Raspberry Piで用いたコードとMacで用いたコードは同じである。

目の検知方法

OpenCVには、「Haar-like特徴分類器」という画像の明暗差から特徴を抽出する特徴分類器があらかじめ用意されている。

「Haar-like特徴分類器」を用いれば、顔と目を検知できてカメラの画像から目を開けているか閉じているか、判断することが可能だ。

今回、目を開けている場合は、“Opened eyes”、目を閉じている場合は“Closed eyes”と表示する。

居眠りの検知方法

5秒間ずっと目を閉じると居眠りと判断して画面に“Sleep”と表示し、少しでも目を開けている場合“Safe”と表示した。

5秒未満の居眠りは検知できないなど、居眠りと判断する基準は厳密ではないが、OpenCVを用いることで簡単に居眠りが検知できる。

Chatworkに通知する

居眠りと判断した結果を自分で反省し上司に報告するなど今後に活かすため、編集部で使っているチャットツール「Chatwork」へ通知できるようにした。

Chatwork APIで、アカウントのAPIトークンとルームIDを設定することで簡単に利用できる。結果は以下の通りだ。

ビタコはグループ会社ビットエーの公式?キャラクター

Raspberry Piの可能性

今回はRaspberry Piの動作が安定しなかったため、MacとOpenCVを用いて居眠り検知を行なった。

今回は断念してしまったが、Raspberry Piが有用であると感じた。Raspberry Piは、ほかのセンサーやOpenCV以外のライブラリを用いればさまざまな用途に応用が可能であり、今後ますますIoTとAIを組み合わせた便利なオフィスサービスは増えていくだろう。

今後はAPIを利用してクラウド上で処理をさせるなど処理を工夫し、Raspberry Piを用いたサービスをいろいろ試してみようと思うので、乞うご期待。