画像の中から抽出される情報として、最も多いのは人の顔ではないでしょうか。セルフィはもちろん、集合写真であったり、友達や家族と撮影した写真には必ず顔が存在します。顔を見つけることで、様々な情報と結びつけられるでしょう。 今回紹介するpico.jsは、Webカメラから取り込んで人の顔を認識するコードをわずか200行で実現しています。

pico.jsの使い方

実行中です。顔の部分が赤い円で囲まれます。

ちょっと横を向くと認識が解除されます。

WebAssembly版もあります。こちらはより高速に動作するでしょう。

pico.jsはWebカメラの映像を取り込んで顔の部分を赤く囲むだけのシンプルなプログラムです。しかし、Canvasの画像解析をわずか200行で行っているのが凄いでしょう。200行であれば行っている処理を理解するのも難しくないかも知れません(またはトリッキーなコードで難解かも知れませんが…)。WebAssembly版も非常に興味深いソフトウェアです。

pico.jsはJavaScript製のオープンソース・ソフトウェア(MIT License)です。

pico.js: face detection in JavaScript tehnokv/picojs: A face detection library in 200 lines of JavaScript