忍者ブログ

設備のマニアどっとこむ

IoT開発、設備・DIYのブログ!

【DIY】超音波で顔認証をやってみた話【arduino】

データセンターのセキュリティ設備なんかで生体認証をよく見かけたりするんだけど、生体認証は個人でしか持ちえないものなので、事前に登録しておけばその人しか認識しない。 サーバールームのドアを開錠するのに指の指紋や静脈をつかったり、顔で認証したり、様々なやり方がある。今回久々にarduinoを引っ張りだして、顔認証ができないか頑張ってみた。

とりあえず顔の凹凸の距離を超音波で計って、認識したらLEDが光る様に設計した。


鼻の高さを図る為、超音波センサーをふたつつけることにした。



なぜarduinoを使ったかというと超音波センサーのVcc(電源電圧)が5Vだったから。
ラズパイは3.3Vなのでそういう使い分けをしている人も多いかもしれない。


あらかじめ鼻の高さを計算に入れておいて、超音波センサーの距離の差がその距離になったとき、LEDが点灯する様になっている。
arduinoのスケッチはこちら↓
 int interval = 0;
    double distance = 0;
int interval2 = 0;
    double distance2 = 0;
    int x = 0;
    unsigned long duration;
    void setup() {
        pinMode( 2, OUTPUT );
        pinMode( 3, INPUT );
        pinMode( 4, OUTPUT );
        pinMode( 5, INPUT );
         pinMode( 7, OUTPUT );
        Serial.begin( 9600 );
    }
    void loop() {      
            digitalWrite( 2, HIGH );
            delayMicroseconds( 100 );
            digitalWrite( 2, LOW );
            interval = pulseIn( 3, HIGH );
            distance = interval * 0.017;        
            Serial.println( distance, 1 );
             delay(100); 
            digitalWrite( 4, HIGH );
            delayMicroseconds( 10 ); 
            
            digitalWrite( 4, LOW );
           
             interval2 = pulseIn( 5, HIGH );
              distance2 = interval2 * 0.017;        
            Serial.println( distance2, 1 );
            Serial.println("cm");
         delay(1000); 
         
   x = distance - distance2;
      if (x < 2.5  && x>1.5) {digitalWrite( 7, HIGH );
      
      }
       else  {digitalWrite( 7, LOW );
      }
         
    }
本来ならばパイソンか何かで画像を認識させるプログラムを駆使すればいいんだけど、そんな技術はもっていないので簡易的なサムシングでなんとかしてみた。
もっとセンサーを増やせば正確になるかもしれない。しかしながら超音波センサーのブレがすごいので閾値の幅を増やさないと動作は厳しかった。

よく考えると人間固有の情報は無数にあるから、センサー類が安くなっている今日、いろいろな方法で生体認証は可能かもしれない。こういうのはアイデアしだいでいくらでも作れそうな気がするけど精度を考えるとやはり自作するのは限界があるかなあと今回感じたアルティメットだったのであった・・・。

3月5日追記
raspberry piでちゃんとつくるとこんな感じです。


12月22日追記
M5stickVでやってみました。


8月14日 
マスク警察作りました。




マスクなしだとパトランプが光ります






拍手[0回]

PR

コメント

翻訳(Translate)

プロフィール

HN:
佐々木 雅史
性別:
男性
自己紹介:
2021年 ラズパイ、M5stackを用いたIoT開発を専門で受注するアルティメンテを設立。代表を務める。
・2020年ラズパイコンテスト優良賞受賞
・設備系資格多数(電験3種、消防設備士甲4、2級ボイラー技士、危険物乙4、電工2種、技術士補(電気・電子)、エネ電、フォークリフトなど)

AD

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30