砂嵐に浮かぶもの 第4回: 砂嵐に顔を探す

砂嵐に浮かぶもの 第4回: 砂嵐に顔を探す — 砂嵐, 顔, 火星 未分類

こんにちは、パレイド辺境部の橘です。

前回作った砂嵐に、いよいよ「顔」を探します。人間が砂嵐をじっと見つめていると顔が浮かんで見えることがある。それを機械にもやらせてみたらどうなるか、という実験です。

本記事はLLMによる自動執筆パイプラインで生成されました。現在は人間が補助していますが、pareido.jp では最終的に AI が自律的にコンテンツを制作できる仕組みの構築を目指しています。

火星の人面石

1976年、NASAの探査機バイキング1号が火星のシドニア地域を撮影しました。その写真に、人間の顔のように見える地形が写っていた。「火星の人面石」として世界中で話題になりました。

バイキング1号による火星の「人面岩」。100万点取れそう。引用:IFLScience

2001年、マーズ・グローバル・サーベイヤーが同じ地形を高解像度で撮り直すと、そこにあったのはただの台地でした。影の角度と低い解像度が「顔」を作り出していたのです。

火星の人面岩と呼ばれる地形の比較画像。明度や解像度を調整すると「それっぽく」なる。引用:IFLScience

低解像度だから顔に見える。高解像度にすると消える。この構造は、砂嵐のノイズにも当てはまります。

3つの検出器、3つの「顔の定義」

砂嵐に顔を探すために、性格の異なる3つの検出器を使いました。

Haar Cascade は、OpenCVに内蔵された古典的な検出器です。「目のあたりが暗く、鼻筋が明るい」といった明暗パターンの組み合わせを、画像の上でスライドさせながら照合します。見ているのは局所的な明暗の差だけ。顔の幾何学的な構造は理解していません。

OpenCV DNN / YuNet は、ディープラーニングベースの検出器です。顔を検出すると同時に、右目・左目・鼻・口の右端・左端の5点をランドマークとして返します。5つの要所の位置関係が合わなければ「顔ではない」と判断します。

MediaPipe FaceLandmarker は、Googleが開発したさらに高度な検出器です。顔を検出した上で、478点のランドマーク——目、眉、鼻、口、輪郭のすべてを座標として返します。フェイスメッシュと呼ばれるポリゴンを、顔の上に張ることができます。

実験:5分間のガチャ

前回まで作成した生成機でseed値をランダムに5分間砂嵐を生成し続け、3つの検出器それぞれで、顔を探しました。

結果は以下の通りです。

検出器探索枚数速度ヒット数検出率最大面積
Haar Cascade3,58212枚/秒66218.5%17,424px (132×132)
DNN (YuNet)12,93043枚/秒00%
MediaPipe4,58215枚/秒4048.8%187,389px (433×433)

この結果をどう読むか

Haarは顔をたくさん見つけました。 5枚に1枚のペースです。ただし見つかった「顔」は小さく、最大でも132×132ピクセル。砂嵐の中にたまたま「目のあたりが暗い」パターンが揃っただけで、人間が見ても顔には見えない場合がほとんどです。

Haarが堅守した中で、比較的、顔っぽいもの。

YuNetは何も見つけませんでした。 12,930枚をスキャンして検出ゼロ。目・鼻・口の5点が正しい位置関係で揃うことを要求するため、ランダムノイズは一切通しません。ある意味で最も「正しい」判断です。砂嵐に顔はない、と。

MediaPipeは巨大な顔を見つけました。 最大で画面の6割を覆う433×433ピクセルの「顔」。しかもその顔に478点のランドマークを配置し、目、口、眉、輪郭のポリゴンを完成させています。confidence(確信度)は0.05——検出閾値ぎりぎりの値です。「かろうじて顔かもしれない」という判断で、砂嵐の上にフェイスメッシュが浮かび上がります。

MeidaPipeが「顔」が写っていると反応した画像。これだとわからないが。

実際の砂嵐画像を確認しても、ちょっとよくわかりません。試しにポリゴンとメッシュに色をつけて重ねてみると…

MediaPipeが返してきたポリゴンとフェイスメッシュに色をつけてみたもの。ちょ…

正直、あまり深夜に見たいタイプの画像ではないですが、火星の人面岩にも似ているのは偶然の一致でしょうか。confidenceが低いので、ノイズと判断すべきなのでしょう。

もう一つの発見:analogモードの優位

ランキングの上位を見ると、ほとんどがanalogモード(ガウシアンブラーあり)の画像でした。

前回の仮説——「ブラーでピクセル間に相関が生まれ、局所的な構造が出やすくなるのではないか」——は、少なくともHaar Cascadeの結果としては裏付けられた形です。隣り合うピクセルが似た値を持つことで、目と口に見えるような明暗のまとまりが生じやすくなる。

機械は砂嵐に何を「見た」のか

同じ砂嵐を3つの機械の目で見た結果、答えは3つに割れました。「顔だらけだ」と言うHaar、「顔など一つもない」と言うYuNet、「巨大な顔が一つある」と言うMediaPipe。

違いは砂嵐の中身ではなく、検出器が持つ「顔の定義」の違いです。明暗の偏りを顔と呼ぶのか、5つの点の配置を顔と呼ぶのか、478点のメッシュが張れることを顔と呼ぶのか。

砂嵐は変わっていないのに、見る側の基準を変えただけで、世界はまったく違って見える。


次回は、この「5枚に1枚は顔が出る」という結果が、統計的にどれくらい当たり前のことなのかを考えます。

タイトルとURLをコピーしました