見出し画像

【今更】コナン映画の「老若認証」は実現できるのか?AIエンジニアが本気で検証してみた

名探偵コナンの映画『黒鉄の魚影(サブマリン)』に登場する 「老若認証」

幼い頃の顔と大人になった顔を照合して、同一人物かどうかを判定する技術だ。 劇中では、この技術が灰原哀の正体を暴くカギになっていた。

AIエンジニアとして働くようになって、再放送を見た時に思った。

「これ、今の技術で実現できるのか?」

気になったら検証するしかない。
ということで、老若認証の仕組みを4段階で体験できるWebアプリを作ってみた。

顔認証学習アプリ

この記事では、アプリの4つのフェーズを一緒に体験しながら、老若認証の実現可能性を考えてみる。


そもそも「老若認証」とは

映画を観ていない人のために簡単に説明する。

老若認証とは、年齢が大きく異なる2つの顔写真を照合して、同一人物かどうかを判定する技術だ。

たとえば、7歳の子どもの顔と、17歳の高校生の顔。 人間が見ても「同じ人?」と迷うレベルの年齢差を、AIが判定する。

劇中ではこの技術がかなり高精度に描かれていたが、現実の技術ではどうなのか。

今回作ったアプリで、段階的に検証してみる。


Phase 1:顔検出 — まず顔を見つける

老若認証の第一歩は、画像から「顔」を見つけることだ。

アプリのPhase 1では、アップロードした画像から顔を検出し、68点のランドマーク(目、鼻、口、輪郭などの特徴点)を描画する。

使っている技術は、face-api.jsとTensorFlow.js。
ブラウザ上でAIの推論が動く。

ここは現在の技術で十分に実現できている。 顔検出の精度は非常に高く、正面を向いている顔であればほぼ100%検出できる。

自分の写真をアップロードして、68点のランドマークがどこに打たれるか確認してみてほしい。


Phase 2:類似度 — 2つの顔を数値で比較する

次に、2枚の顔写真がどれくらい似ているかを判定する。

アプリのPhase 2では、2枚の顔をそれぞれ128次元のベクトルに変換して、その距離を計算する。

128次元と聞くと難しそうだけど、要するに「顔の特徴を128個の数値で表現する」ということだ。 この数値の並びが似ていれば「同じ人」、違えば「別人」と判定する。

これが顔認証の基本的な仕組みだ。

同じ人の写真を2枚アップロードすれば類似度が高く出るし、別人なら低く出る。


Phase 3:整形 — AIが扱いやすい形に変換する

Phase 3は、少し技術的な話になる。

AIモデルに顔画像を入力するとき、そのままの写真だとうまく処理できないことがある。 顔の角度、サイズ、位置がバラバラだからだ。

そこで、顔を正方形の画像に整形する処理を行う。 これをFFHQ alignmentと呼ぶ。

目の位置を基準にして、顔を正面向きに回転させ、一定のサイズに揃える。 こうすることで、次のPhase 4(加齢変換)の精度が上がる。


Phase 4:加齢 — 顔を老けさせて、同一人物か判定する

ここが老若認証の核心だ。

Phase 4では、アップロードした顔画像を6つの年代の顔に変換する。 そして、変換された顔と元の顔をAIが比較し、「同一人物か」を判定する。

つまり、「20代の自分」を「60代の自分」に変換して、AIがそれを同じ人だと認識できるかどうかを確かめる。

これがまさに、コナン映画の老若認証と同じ構造だ。

 自分の顔を加齢変換して、AIが同一人物と判定するか確かめてみてほしい。


検証結果:老若認証は実現できるのか

4つのフェーズを通して検証した結論を書く。

個人レベルでの完全な再現は、正直まだ難しい。

Phase 1(顔検出)とPhase 2(類似度判定)は、現在の技術で十分に高精度だ。 同年代の顔同士であれば、同一人物の判定はかなり正確にできる。

しかし、Phase 4の加齢変換が絡むと話が変わってくる。

加齢変換はGAN(敵対的生成ネットワーク)という技術を使っているが、生成された顔は「それっぽい」けど完璧ではない。 変換の過程で、その人固有の特徴が失われてしまうことがある。

結果、加齢変換後の顔と元の顔をAIで比較すると、同一人物と判定されないケースも少なくない。

コナンの劇中では、幼い頃の写真から現在の顔を高精度に予測していた。 あの精度を個人レベルの開発で再現するのは、現時点では難しいというのが正直な感想だ。

ただし、大手企業や研究機関のレベルでは、年齢差のある顔認証の研究は着実に進んでいる。 数年後には、老若認証に近い技術が実用化される可能性は十分にあると思う。


なぜこのアプリを作ったのか

単純に、コナンの映画を観て「本当にできるのか?」と思ったからだ。

AIエンジニアとして、気になったことを検証する。
そしてそれをWebアプリとして公開して、誰でも体験できるようにする。

本業では製造業のAIを開発している。
個人開発ではバドミントンのラケット診断アプリ(シャトルマイスター)や、今回の顔認証学習アプリを作った。

「AIで何ができるか」を自分の手で確かめて、形にするのが好きなんだと思う。


締め

コナン映画の老若認証、個人レベルでの完全再現はまだ難しい。 でも、「まったく不可能」ではないことは、このアプリで体験してもらえると思う。

ぜひ自分の顔で試してみてほしい。 加齢変換された自分の顔を見るだけでも、なかなか面白い体験になるはずだ。

顔認証学習アプリ

感想やフィードバックがあれば、コメントやXで教えてもらえると嬉しいです。

りびるど
住宅メーカー商品開発 → SES → サイネージ開発 → AIエンジニア キャリアチェンジのリアルを発信中。


#名探偵コナン #老若認証 #顔認証 #AIエンジニア #個人開発 #AI #機械学習 #GAN #Webアプリ #黒鉄の魚影

いいなと思ったら応援しよう!