D.E.BASEエントランスの自動ドア認証システムを見てみる
はじめに
はじめまして、ウイングアーク1stのぺいと申します。
今回はD.E.BASEのエントランスにある自動ドア認証システムを見てみたいと思います。
社内メンバーと協力して面白い仕組みを作成しましたが、発信の機会が中々なかったのでこの場をお借りして紹介させていただきます。
みなさんは、D.E.BASEをご存知でしょうか?
D.E.BASEは、エンジニアの育成と採用を目的とした、エンジニアのためのイノベーションラボです。
今回紹介するような、業務に関係ない取り組みや、エンジニア同士の交流ができる場所となっています。
詳しい情報は是非下記をご覧ください。
そんなD.E.BASEには様々な設備があります。
今回取り上げるのは、そのうちの一つであるエントランスの自動ドアです。
エントランスには、Panasonic社製の半透明の有機ELディスプレイを搭載した自動ドアが設置されています。
これに加えて、カメラもしくは、エントランス風景の画像からは分かりませんが、PCやマイコンなどもエントランス付近に隠れています。
これらを駆使して、社内の様々な部門のメンバーと協力してウイングアーク独自の認証システムを構築しました。
通常の自動ドアとの違い
ディスプレイが搭載されているのはもちろんですが、1番の異なる点は認証システムによる入室方法です。
通常の自動ドアは、人を検知したら開きますが、この自動ドアは異なります。ドアの前に人が立っても開きません。特定のアクションをする必要があります。
そのアクションとは、「笑顔」または「ポーズ」です。
ここからは、笑顔での入室方法を「笑顔認証」、ポーズでの入室方法を「1stポーズ認証」として呼称します。(1stポーズが何かは後述します)
笑顔認証
笑顔認証は、自動ドアの前で、にこっと笑うとドアが開く認証方式です。
人を検知すると、「あなたの笑顔でドアが開きます」という映像がディスプレイに流れ、来訪者に笑顔を促します。来訪者が笑顔を見せると、その表情を検出し、ドアが開くという流れです。
来訪者を笑わせる動画を流そうというアイディアもありましたが、中々ハードルが高いのでこれに落ち着きました笑
この認証方式では、口角の上り具合が重要です。
人によっては少しでもニヤッとすると開く人もいれば、笑顔をしても開かない人もいました。
個人差によるチューニングが大変だったので、最近は後述の1stポーズ認証をメインで使っています。
1stポーズ認証
1stポーズ認証は、「1stポーズ」と呼ばれる、人差し指を立てたポーズ☝️を行うことでドアが開く認証です。
このポーズは、ウイングアークの社内で頻繁に使われるポーズです。
正確に1stポーズをとることでドアが開く仕組みを採用しています。
ウイングアークでは、集合写真など撮るときにこのポーズをとる習慣があり、社内オリジナルのポーズとして定着しています。
また、D.E.BASEは秋葉原にあるので、アニメ等の有名なポーズでの認証などを取り入れても面白そうですね。
自動ドア認証システムの全体像
ここからは、この仕組みの全体像を簡単に説明します。
この仕組みは3つの役割に分かれています。
笑顔/1stポーズの検知
映像制御
自動ドア制御
この各部分は他のエンジニアの方々と分担して作成しました。
また、各制御部分の連携はシリアル通信で行っています。
映像は社内でデザインを得意とする方々に依頼し作成してもらいました。
笑顔/1stポーズ検知
笑顔/1stポーズの検知には、Raspberry Pi 4 model BとUSBカメラを使用しています。
この二つの間の配線は、ドアにドリルで穴をあけて配線しました。
他メンバーと二人で作業していたのですが、勢い余ってディスプレイを傷つけてしまわないかヒヤヒヤしましたが、無事に設置できました。
笑顔認証の人検知や、笑顔の検知では、OpenCVのカスケード分類器を使用しており、それぞれ「Haarcascade_fullbody」や「Haarcascade_smile」を使用しています。
1stポーズ認証のハンドトラッキングには、Googleが提供するPythonライブラリのMediaPipeを利用しています。MediaPipeはポーズや顔、手のモデルが提供されており、ラズパイでも簡単に動作します。
今回はHandsのモデルを使用し、検出されたランドマークの位置からルールベースで1stポーズを判定しています。
映像制御
自動ドアには8枚の半透明の有機ELパネルが搭載されており、この8枚のディスプレイに映像を出力するためのPCを用意しています。
PCはHDMIやDisplayPortを使用して接続しています。
ディスプレイ設定の拡張表示設定で8枚のパネルを1面として表示できるようにしています。GPU交換等で接続が途切れる度に、設定をやり直すのが非常に手間です。
ディスプレイ設定の拡張表示設定で8枚で1面になるように並べているのですが、この並べ替えが非常に面倒でした。
GPU交換など何かの拍子で接続を切り替えるときは、中々に苦労しています。
このPCにはRTX 4060が2枚搭載されています。
始めはA2000で運用していましたが、画面間の表示ズレが気になり交換しました。交換後は今のところ表示ズレ等なく動作しています。
動画プレイヤーのアプリはElectronを使用して作成されています。
笑顔や1stポーズが検知されると、ラズパイからシリアル通信で信号が送信され、それに応じて表示される映像が切り替わります。
この認証システム構築でご一緒したメンバーの方に作成いただきました。
ドアの開閉制御
ドアの開閉制御にはArduinoを使用しています。GPIOでHIGHやLOWの信号を印加することでドアの開閉指示を出しています。
このArduinoを通してドアに開閉指示を出しています。
↓のような感じでドアに繋がっています。
Arduino上でのドア制御プログラムは、一緒にドアにドリルを突き立てた「としみ」さんに作成いただきました!
さいごに
今回は、D.E.BASEエントランスの自動ドア認証システムについてご紹介しました。
社内外の方から、仕組みについてちょこちょこ聞かれる機会があったので記事にしてみました。
全体感を伝えるのがメインで、詳細な実装方法にまではフォーカスしなかったので、いつかまた詳しくご紹介できればと思います。
今後もドアの認証方式を拡張できていったら楽しいなと思っています。こんなアイディアあるよ!という方は是非コメントいただければと思います!
この記事が気に入ったらサポートをしてみませんか?