顔認証システムの構築とオープンソース

アイキャッチ画像

はじめに

私達東海顔認証がリリースしている Face01 シリーズは全てオープンソース( OSS )のライブラリを基盤としています。
オープンソースとは、そもそもなんでしょうか。
一般の方ならば「Firefox」とか「LibreOffice」とかを想像するだろうし、IT 関連にお勤めの方でしたら「MySQL」とか言語系を想像されると思います。

もしある会社で「オープンソースを使って(顧客に出すレベルの)顔認証システムを構築しよう」と企画が上がったらどうでしょう。
恐らく企画を任された方は Github あたりをこまなく探して大量のライブラリに困惑することでしょう。
またどのライブラリを使ったらどのような結果になるのか…、目星をつけたものから小さなテストプログラムを作って実際に動かしてみる事と思います。そして、「これは使えるかも!」と思ったライブラリで構築するものの、ある程度のボリュームを作ったところで「日本語が通らない!」とか「速度が全く出ない!」とか「ライブラリのバグなのか自身が作り上げたバグなのか分からない」とか…、色んな形の地獄を垣間見ることになるかと思います。そして最初に戻る…と…。そしてある日上司の方に「出来た?」と聞かれるものの目立ったものが作れず…という報告を出すことになるかも知れません。その時点で見えないコストはどれくらいになるのでしょうか…。あまり考えたくない事です…。

形になったものを使う方が早い

ですので、膨大なライブラリから探してきてしらみつぶしに…ではなく、ある程度形になっているプログラム( SDK とか)を買ってきてそこからインターフェイスなりデータベースなりをくっつけた方が断然早いしコストもかかりません。

という流れで Face01 シリーズは生まれました。
シリーズといっても最初はスタンドアロンで防犯目的に使う Face01 のみの提供でした。ただ、顔認証システムの使用用途はかなり広く、従来の Face01 だけでは使いづらい面も出てきました。
そこでシリーズとして「帯域やマシン負荷を圧迫しない Face01 imager 」や「通った人のユニーク数を数える Face01 list 」が生まれました。すべてシステムインテグレーターの方々から「こんなことは出来ないの?」のお声から誕生したものばかりです。

各記事で環境設定の解説をしています

今使われている顔認証システムのほぼ全てが商用かオープンソースの深層学習を使ったライブラリを使っているはずです。
Face01 シリーズもまた、深層学習ライブラリとそこから得られたひと塊のデータを使っています。いわば「巨人の肩に乗る」形で作られており、またライブラリ自身も開発の活発なものばかりを選びそれらが複雑に絡み合っています。
例えば CUDA 。導入方法は以前紹介いたしましたがかなり複雑で環境構築は「簡単」ではないと思います。
東海顔認証では出来る限り現場で環境設定できるように

を各記事にて解説しています。
今日本全国でコロナウィルスが流行していますが、こうした「普通ならブラックボックス」な部分もお客様と共有できるようにしてソーシャルディスタンスが保てるようにしています。

品質を更新し続ける

Face01 シリーズは日々アップデートを繰り返しています。以前送らせていただいたサンプルプログラムが、もう古いものになってしまったのか…という感じに「目につくところは更新する」姿勢をずっと貫いています。
ですので、普通の会社ならイラストと写真、そしてトップページで「凄いなぁ」と思わせるようなサイトを Web サイト製作会社に放り投げるところを、WordPress を使って情報を足し続けている形にしています。

中には古い記事、古いサンプルスクリプトになってしまっているところもあります。
重要なところには追記という形で更新させて頂きますのでご安心ください。
中にはサンプルに使っていたライブラリ自体がメジャーアップデートしてしまって、サンプルプログラム自体が動作しないものもあります→ wxPython など
そのような場合には記事冒頭に追記いたします。

情報を提供し続ける

顔認証は生体認証です。生体認証について誰もが同じように詳しいわけではありません。
ですので各記事を通して解説を続けていきます。たとえば

です。各記事とも充実しておりますので安心して Face01 シリーズを使っていただけるものと思います。
またお問い合わせフォームから頂いた疑問点なども記事に起こすなどしてより多くの方の疑問に答えられるように務めています。

以上です。
みなさまのお役に立てることが出来れば幸いです。

Face01 による顔認証の様子

Follow me!