ZOZOGLASSを支える技術(の妄想) - あるいはブルベ夏ばっかり出てくるZOZOGLASSは精度が悪いのか?

ZOZOGLASSを支える技術(の妄想) - あるいはブルベ夏ばっかり出てくるZOZOGLASSは精度が悪いのか?

(これはおよそ半年前くらいのZOZOGLASSが届いた際に残したメモ書きを読み返していたら割と今でも面白そうだったので加筆・修正して公開したものである。)

ZOZOGLASSが届いたので試しに使ってみた。おもちゃとして割と面白くて、かつ技術的に興味深い問題を解いていると感じた。ぱっと探した限りだとZOZOの中の人がテックブログで背後の技術を紹介するような記事は見当たらなかった。この手のたぐいは中の人がどこまで情報を出すかをコントロールした上で紹介記事を書くほうが絶対に面白いし内容も正確に決まっているが、無いものは仕方がないので独断と偏見に基づいてZOZOGLASSの背景にある技術について自分の妄想をまとめておく。妄想なので一切の根拠はない。

⚠️
以下は個人的見解であり、所属する組織・団体とは関係ないし何なら所属する組織・団体も株式会社ZOZOとなんの関係もありません。

ZOZOGLASSとは?

  • いわゆるZOZOGLASSというメガネ型のデバイスとZOZOアプリ内の1機能として提供される撮影アプリを使って「どこでも誰でも自分の肌のパラメーターやパーソナルカラーを診断する」ことができる。
  • 具体的には個々人の肌の特性をメラニン量・ヘモグロビン量の2次元にパラメトライズして可視化し、個々人のパーソナルカラーを分類する。
  • インタネッツ上ではやたらブルベ夏が出るとの噂がある。
  • でははたして"ZOZOGLASSの精度"は高いといえるのか?

ZOZOGLASSの計測方法について

ZOZOGLASSでは(様々な色と多点マーカーがついた)メガネをかけて顔を様々な角度から撮影したあと、メガネを外して全く同じ条件で顔を撮影するという二段階方式を採用している。

この二段階方式は一見煩雑で、メガネを使用しないような方式もすでに存在することを考えるとストレートではない不思議な方式に思える。しかし、この方式は「どんな場所でも」肌色を測定できるというニーズのためには重要な手続きであると考えられる。

目(やカメラ)に映る色は本来は物体そのものの反射率(こちらがいわゆる"本当の"色)と照明条件から決定されるので、センサーで捉えた色だけから本来の色を再構成する問題は不良設定問題という解けない問題になっている。既存のメガネを使わないデバイスは決まった照明条件で使うことを想定してたりするのではないだろうか(例えばデパートのコスメ売り場の店頭とか)。そこで"本来の色"が予めわかっているメガネを使って先に照明条件の推定をした後に、肌の色という未知の色を推定した照明条件のもとで改めて推定していると予想される。

まとめると、メガネ型デバイスはユーザーがアプリを使用する照明条件が未知の場合に、カラーバランスをキャリブレーションするために必要であると考えられる。

この原理のアナロジーとしては数年前に話題になったThe dressがわかりやすい気がする。あるドレスの写真で、人によってはドレスの色が白・金に見えたり黒・青に見えたりする。これはまさに照明条件が未知の状況では対象の本当の色(反射率)を決定できないことを示している。

The Science of Why No One Agrees on the Color of This Dress

Not since Monica Lewinsky was a White House intern has one blue dress been the source of so much consternation. (And yes, it's blue.) The fact that a single image could polarize the entire Internet into two aggressive camps is, let's face it, just another Thursday.

The Science of Why No One Agrees on the Color of This Dress

このようにして計測された肌のパラメーター(少なくともメラニン量・ヘモグロビン量の2つ.もしくはそれ以外の非表示なパラメーターも存在する?)から、何らかのポストプロセスを経て、パーソナルカラーの分類結果が計算されると考えられる。

パーソナルカラーという概念(がよくわからないので妄想)

パーソナルカラーとは、持って生まれたボディーカラー(肌の色、瞳の色、髪の色など)を元に個人(Personal)に似合う色(Color)を診断する手法です。 ICBI (イメージコンサルタント・パーソナルカラーアナリスト・骨格診断アナリスト育成) https://www.icb-image.com/parsonalcolor/what.html
パーソナルカラーとは、その人の生まれ持った色(髪・瞳・肌)と雰囲気が調和する色(=似合う色)のことです。人それぞれ個性が違うように、似合う色もそれぞれ違います。色相/彩度/明度を軸に{春・夏・秋・冬}の4つのタイプに分かれます。 Pierrot https://pierrotshop.jp/f/personalcolor

上記のような記事を読む限り、私はパーソナルカラーとはメラニン量とヘモグロビン量の2次元空間を特定のしきい値で4分割した領域にカテゴリ名を割り当ててるものという理解をした。少なくともメラニン量とヘモグロビン量の2つのパラメーターではないとしても、個々人の肌が持つdd種類のパラメーターから、肌を春/夏/秋/冬の4クラスに識別する問題という意味では理解は間違ってなさそうに思える。(もしかすると実態としてはもっと主観的な評価がベースとなっており、ZOZOGLASSで表示するパーソナルカラーは主観的な量を何らかの方式で定量化したものなのかもしれない。)

パーソナルカラーの分類問題

前述の議論を踏まえ、簡単のためにパーソナルカラーがメラニン量/ヘモグロビン量の2パラメーターから決まるという前提に立つとする。また、それぞれが肌色の濃さ・肌色の温度を表現する特徴量に対応するとして、パーソナルカラー(の相異なる任意の2種類)は2次元空間上で線形分離可能とする。この時、イエベ/ブルベと春夏/秋冬のしきい値の設定はどのように決まるのかが気になる。現在の日本の文化圏で生活する人たちのメラニン量・ヘモグロビン量から統計的に計算した何らかの代表値をしきい値として使うなら、例えば平均値や中央値が候補になりそうだが実際どうしているのか。メラニン量/ヘモグロビン量それぞれの分布は単峰性(あるいは2峰性?)を仮定できるのか?分布の裾は左右対称(分布の歪度が0)なのか?などの背後の分布に対する仮定でカテゴリを分類するしきい値は変わりうると考えられる。

これはゾゾグラスが肌のメラニン量/ヘモグロビン量を正確に計測できるか?というセンサー的な意味での精度とは別の問題で、自分の予想だとこの解析の段階での任意性の問題のほうが大きそうに思える。あくまで予想としては、パーソナルカラーの分類のための厳密なしきい値はそもそも存在せず、これまでは人間がお気持ちで判断していたので「パーソナルカラーの分類の精度」という概念が本来はないあたりが真実なのかなと考えられる。

肌を何次元の特徴量で表現するか?という問もそれ自体として興味深い。本当にメラニン量/ヘモグロビン量の二次元で十分なのか?物理特性に根ざしているから十分という判断なのか?皮膚の厚さなどその他の物理特性は影響しないのか?人間のセンサー的には色は色空間の3パラメーター(RGBやHSV)で表現できるという話からすると、2次元空間というのは色空間全体のうち、肌色の近傍を2次元の部分空間で近似しているみたいなことになるのか?

なお、ここでの議論は仮にゾゾグラスがメラニン量/ヘモグロビン量以外の隠しパラメーターを使っていても成り立つ。肌の色を表すdd次元のパラメーター空間があり、そこから春/夏/秋/冬の4値分類を解く問題を考える。この4値分類のためにdd次元パラメーター空間を4つの部分領域に分割する必要があるので、その分割に用いる境界面の陽な表示がわかりやすいかは差し置いて何らかのしきい値は必要。ただし場合によってはその閾値は複数のパラメーターの[線形|非線形]な結合として記述される場合もある。.

本来の問題に立ち返って

そもそも実現したいのは、個々人の肌の特性に応じて適切なコスメや服の色を提案したいという課題である。パーソナルカラーはこの課題を実現するために典型的に用いられる既存手法であると言える。しかし、集団としての肌の色の分布を4種類に分類し、それぞれに便宜上イエベ春やブルベ夏のような名称を付与する操作自体が混乱を招く。例えばブルベ夏と言われるとなんとなく「自分の肌は青みがかってて白くて爽やかな感じ」のような印象を抱くが、これはあくまでも「自分の肌は(自分が所属する集団の他者に比べて)青みがかってて白くて爽やかな感じ」ということであって相対評価なのでさしたる意味はない。仮に日本の文化圏にくらす集団の大多数がグレイになったらこれまでのパーソナルカラーが何であれあなたはある日突然イエベに分類されるだろう(し、これまでの分類結果も明日からの分類結果も間違っていない)。

一方で、集団によってしきい値が異なる分類ではなく、肌のパラメーターの絶対的な値に合うような色やコスメという概念は存在しうる。せっかく我々は文明の利器を手に入れたのだから、パーソナルカラーなどという曖昧な古典的指標を経由せずに、肌のパラメーターから直接自分に合う色・コスメが選べるようになるといいだろう。これまでは技術的な障壁からパーソナルカラー診断という補助的な問題を解くしかなかったが、今後はパーソナルカラーを経由せずに本来の課題を直接解くことができると期待される。

あるドメイン専門家 (化粧が身近な女性)の意見

自分は日常的に化粧をしないので、色々書きはしたが正直ここでの議論がどのくらい的を得ているのか全く想像がつかない。最後に、あるドメイン専門家の意見を残しておく:

パーソナルカラー診断って基本的に自称専門家が顔の近くにいろんなカラーの布あててしっくりくる色で判断するので、もともと曖昧な診断なんだと思う 加えて、日本人は黄色人種コンプが強い&くすんだナチュラルな色を好む傾向があるので、自分はイエベ秋だと思い込んでるケースがとても多いので、ゾゾグラスの定量的判断が信じられず精度にいちゃもんつけてる可能性もある

まとめ

  • ZOZOGLASSのセンサー的な意味での精度がどの程度なのかは正直良くわからないが、撮影方式はユースケースを考えると理にかなっている
  • おそらく、センサー的な精度よりも肌のパラメーターからパーソナルカラーを分類するポストプロセスのほうがユーザーが感じる"精度"の印象としてはボトルネックになっている
  • このポストプロセスには"精度"を最大化するような正解はない (ユーザー個人ごとに判断基準が異なるので最大多数の幸福を取るしかない)