顔検出Face Detection

写真のどこに顔があるかを四角で見つけ出すこと

ポイント
  • 顔検出は写真や動画の中に顔があるか、何個あるか、どこにあるかを四角い枠で示す作業です。
  • 結果として出るのは枠の位置と大きさ、そしてどれくらい確信しているかを表す数値です。誰なのかまでは分かりません。
  • 画面を少しずつずらしながらその場所が顔らしいかを判定します。遠くの小さな顔も近くの大きな顔も見つけるため、大きさを変えながら何度も画面を調べます。
  • 一か所に枠が重なって何個も出たときは、もっとも確信の高い一つだけを残して整理します。
  • オートフォーカスや笑顔検出、ぼかし処理のように、後に続く機能の出発点になる段階です。
目次

1たとえで理解する

服を作るとき、布はいきなり裁断しません。紙で作った型紙を布の上に置き、柄の向きが合う場所を見つけるまであちこち動かしてみます。合う場所が決まったら型紙の縁に沿ってチャコで線を引き、切るのはそのあとです。

型紙は一枚ではありません。同じ形でもサイズ別に何枚も用意し、大きな部分を裁つときは大きな型紙を、袖のような小さな部分には小さな型紙を当てます。一枚の布から複数のパーツを裁ち出すので、印も何か所にもつきます。

顔検出がしているのはこのチャコの印づけです。写真の上を少しずつ動きながら顔の形に合う場所を探し、合う場所ごとに四角を描いていきます。その中の人が誰なのかは、まだ問いません。

2くわしく

画面を少しずつずらしながら調べます

顔検出は写真をひと目で理解するわけではありません。小さな窓を画面の左上に置き「この中は顔らしいか」を問うたあと、窓を少しずらしてまた問うというやり方で画面全体を調べます。窓をずらす幅が狭いほど細かく見られますが、その分時間もかかります。

近年のやり方は窓を一つずつ動かす代わりに、画面を格子状に区切って升目ごとに一度に答えを出します。升目ごとに「ここに顔がある可能性」と「あるなら四角がどこからどこまでか」を一緒に出力します。画面全体を一回計算するだけで済むので、はるかに速くなります。

この調べが終わると候補の四角が数百個も出てきます。ほとんどは確信の値がとても低いのですぐに捨てられ、基準を超えたいくつかだけが次の段階に進みます。

大きさを変えながら何度も見ます

同じ顔でもカメラから遠いと画面ではとても小さく、近いと大きく映ります。窓の大きさを一つに固定すると、どちらか一方しか見つけられません。そこで写真を何段階かの大きさに縮めながら同じ調べを繰り返すか、大きさの違う型を何種類も用意して一度に当ててみます。

ここが検出の速さを左右する部分です。大きさの段階を多く用意すれば小さな顔まで見つけやすくなりますが、計算は何倍にも増えます。リアルタイムで動く必要のあるウェブカメラ向けの道具は、段階を少なくする代わりにとても小さな顔はあきらめる選択をすることもあります。

体験ツールで後ろに下がると、ある瞬間に四角が消える経験をすることになりますが、その瞬間がいちばん小さな型よりも顔が小さくなった時点です。

重なった四角を一つにまとめます

一つの顔の上に四角が一つだけ現れることはめったにありません。少しずつずれた位置と大きさで複数同時に検出されます。人の目には同じ顔でも、計算の側では別々の候補です。

そこで最後に整理の段階を置きます。**確信の値が最も高い四角をまず残し、それと大きく重なる他の四角は同じ対象とみなして消します。**残ったものの中からまた最も高いものを選ぶことを繰り返すと、顔一つに四角一つが残ります。

どれくらいの重なりを許すかは調整できます。基準を厳しくしすぎると隣り合って立つ二人が一人に合わさってしまい、緩くしすぎると一つの顔に四角が二つ三つ残ってしまいます。

あるかどうかまで、誰かはそのあとです

検出が出す答えは位置と大きさ、確信の値がすべてです。**その中の人が誰なのかは検出の仕事ではありません。**名前を突き止める仕事は次の段階である顔認識が担います。

この区別が大事な理由があります。カメラアプリのオートフォーカス、ビデオ会議の背景ぼかし、映像の中の顔モザイクのように、私たちが毎日使う機能のほとんどは位置さえ分かれば十分です。誰なのかを知る必要がないので、個人を特定する情報を作ることも残すこともありません。

検出は後に続くほぼすべての顔関連処理の最初の段階でもあります。目尻や口角のような基準点を打つことも、表情や年齢を推測することも、まず顔が入った四角を切り出したあとに始まります。

3もう少し正確に

顔検出は物体検出の一種です。見つける対象が顔一つに固定されている代わりに、目・鼻・口の位置をいくつか一緒に出したり、顔がどれくらい傾いているかを一緒に出したりする道具が多くあります。結果の四角は通常、左上の位置と幅・高さで表し、画面サイズで割った比率として出すことで、写真のサイズが変わってもそのまま使えるようにします。

性能は二方向の誤りで語られます。顔なのに見つけられない誤りと、顔ではないのに見つけたとする誤りです。確信の値の基準を下げると前者の誤りが減り後者が増えます。どちらがより困るかは用途によって変わるので、基準はサービスごとに異なる値が使われます。

たとえがずれる点もあります。型紙は形がきっちり決まった紙なので合うか合わないかのどちらかですが、検出は決まった型を当てているわけではありません。学習過程で見た数多くの例から「顔らしさ」を点数として付ける方式なので、壁紙の柄やコンセントの穴のように配置が似たものに四角が引かれることもあります。逆に横を大きく向いた顔、マスクで隠れた顔、暗い照明では学習時に少なかったという理由で見逃すこともあります。学習資料に特定の肌の色や年齢層が少なければ、その側でより頻繁に見逃す偏りも生まれます。

4やってみる

5よくある誤解

  • 顔を見つけたら誰なのかも分かると思われがちですが、実際には位置と大きさが出るだけで、身元を突き止めるのは顔認識という別の段階です。

  • 四角が出なければ顔がないと考えられがちですが、実際には角度や明るさ、大きさのせいで実在する顔を見逃すことがよくあります。

  • 人の顔にだけ四角が引かれると思われがちですが、実際にはポスターの人物や人形、模様が似ている物にも四角が引かれます。

7ひとこと要約

つまり顔検出は画面を大きさを変えながら調べて顔がある位置に四角を描く作業で、その中が誰かは問いません。

誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02