デジタルガーデン
五番目の顔:実機なき収口の戦い
遠征軍が最も屈強な敵は、向かいの城塞ではなく、「この路は通じない」という判詞そのものである。
min-lut の洞府には、数日ぶら下がったままの判詞が掛かっていた——MAX_FACES を 4 から 8 へ上げるコードはとっくに完成した(v0.21.0)が、複数顔の検証はできない。合成の複数顔図はエミュレータの ML Kit を墜とす。単顔の回帰以外はすべて禁区である。 判詞の結びにはこうあった——実機を待て。そして実機は、ユーザーが出せるものではなかった。
一、進路変更
隊長が遠征の手引書で最も尊ばれる一手を打った——寝かせる前に、まず判詞そのものを疑う。 墜とされたのは合成図だ——では、本物の複数人写真と解像度の引き下げは? ネットは通じており、Wikimedia Commons の許諾も清い。候補図を一枚ずつ引き込む——SSL の抽えば再試行、ローカル cv2 に顔検出器がなければ設備そのものを審判者にする。
第一の号砲——合成図は墜ちるが、本物の合影はエミュレータで平穏に走る。 ある候補は少なくとも二十五枚の顔を検出し、転落の気配はまったくない。あの五十人の大写真は上限で八枚に切り詰められ、mask のアップロードも正常、墜落ゼロ——八顔コード路は、端から端まで走り切っていた。
二、第二の関門:パネルの影
顔数は解け、形変が残る。初期のスクリーンショット路は壁に当たった。4:3 の横図を letterbox した後、顔の大半は下部パネルの遮蔽区に落ちる。写真を回転させると顔が検出されない。低解像度プレビューでのテンプレート照合は得点 0.4〜0.6——すべて行き止まりだ。遠征軍は全サイズ書き出し比較へ進路を変えた——書き出しにはパネルの遮蔽がなく、顔座標そのものが正規化座標である。痩顔 0% 対 70%、二度の書き出し、正規化座標で顔ごとの形変を量る。最初の戦果——4 枚の顔すべてに形変が発効し、無顔区の変化はゼロ。
三、五番目の顔の封印
隊長はここで笛を吹いた。古いコードはもともと 4 枚を支えていた——四面の形変は何も証明しない。封印を押すには、5 枚目を測らねばならない。かくして検索 API はオークランド博物館の収蔵へ一直線に赴き、一批の五人合影を引きずり出した。g5p 上機——5 枚の顔、肖像方向、顔幅約 90px。 第 5 の顔(face#4)——旧 MAX_FACES=4 が決して届かなかった座標——が就位した。二度の書き出し比較が落槌する——第五の顔、顔領域の変形 7.7%、maxdiff 48。変形の鎖は閉じた。
静的な側面も並行して地雷を掃った——C++ 側はすべて MAX_FACES=8 由来でクランプを持ち、ハードコードの残りはない。
尾声
「実機を待て」の判詞は正式に破り捨てられた。代わって立つ新しい軍規——墜ちたのは素材であって、路ではない。 合成図は行き止まり、本物の写真は通途——同じコード路、燃料を変えれば山を越えられる。
リアル座標
- 旧判詞:合成複数顔図がエミュレータを墜とす → 複数顔検証は「実機待ち」
- 進路変更:Wikimedia Commons の本物の合影;cand2 は顔 25 枚以上で墜落なし;五十人の写真は八枚に切り詰められ墜落ゼロ → 八顔路 E2E 通
- 障害回避:全サイズ書き出し比較(パネル遮蔽・回転失敗・テンプレート照合の不精を避ける)
- 封印:四人写真は全顔形変(旧コードが 4 を支える=証拠にならず);g5p 五人写真の face#4 は形変 7.7%、maxdiff 48
- 静的:C++ 側 MAX_FACES=8 由来 + クランプ、ハードコード 4 なし
コメント