コンテンツへスキップ

顔の比率分析

概要

顔の比率分析では、顔の構造を解析し、顔、目、眉、唇、鼻、頬骨などの形状を特定します。

統合ガイド

  • 顔の比率分析 用に写真を撮る方法

  • 正面を向いた自撮り写真を撮る

    • 鮮明な写真 1 枚で、カメラにまっすぐ向き合ってください。髪は自然な状態にし、顔全体が隠れることなく見える状態がベストです。おでこを出すために髪を流し、まっすぐ正面を見つめることで、適切な正面からのアングルを撮影してください。
    • または、JS Camera Kit を使用して写真を撮影してください。自動的な顔アラインメント、ライティングのガイド、顔サイズ検出に従い、写真が処理に必要な基準を満たすことを確認してください。
  • AI による肌の悩みの検出方法

  1. ソース画像のサイズを変更する
    写真のサイズをサポートされている寸法に合わせてください。詳細は ファイル仕様とエラー

  2. File API を使用してファイルをアップロードする
    /s2s/v2.0/file API を使用して、対象のユーザー画像をアップロードします。

    • 画像の要件
      • 詳細は ファイル仕様とエラー をご覧ください。 重要: File API を呼び出すだけでは、ファイルはアップロードされません。File API レスポンスで提供された URL へファイルを 手動でアップロード する必要があります。その URL がアップロード先です。続行する前に、ファイルがそこに正常に転送されたことを確認してください。
        AI API を呼び出す前に、ファイルが正常にアップロード済みであることを確認してください。File API を使用してアップロード用 URL を取得し、その場所にファイルをアップロードします。アップロードが完了すると、レスポンスで file_id を受け取ります。この ID を使用して、そのファイルに関連する AI 機能にアクセスします。

    警告: File API レスポンスで提供された URL へファイルをアップロードせずに AI API を使用すると、500 Server Error / unknown_internal_error または 404 Not Found のエラーが発生する点にご注意ください。

  3. 顔の比率分析 タスクを実行する
    アップロードが完了すると、ファイル ID を使用して分析する複数の顔属性を選択できます。 入力と出力 を参照してください。
    その後、File ID を用いて POST 'task/face-attr-analysis' を呼び出すと、 enhance タスクが実行され、task_id が取得されます。

  4. タスクが成功またはエラーになるまでポーリングでステータスを確認する
    この task_id を使用して、GET 'task/face-attr-analysis' をポーリングし、現在のエンジンステータスを取得してタスクのステータスを監視します。エンジンがタスクを完了するまで、ステータスは 'running' のままで、この段階ではユニットは消費されません。

    警告: タスクの保持期間に基づいて ポーリング でタスクのステータスを確認することは必須です。保持期間内にポーリングリクエストがなければ、タスクが正常に処理されていても、タスクはタイムアウトします(ユニットは消費されます)。

    警告: タイムアウトしたタスクのステータスを確認すると、InvalidTaskId エラーが発生します。そのため、AI タスクを実行したら、保持期間内に ポーリング でステータスを確認し、ステータスが success または error になるまで続行する必要があります。

  5. AI タスクが成功したら結果を取得する
    エンジンが入力ファイルを正常に処理し、結果画像を生成すると、タスクは 'success' ステータスに変更されます。処理された画像の URL と、結果画像を再アップロードせずに別の AI タスクを連続実行できる dst_id を受け取ります。 ユニットは、この場合にのみ消費されます。エンジンがタスクの処理に失敗すると、タスクのステータスは 'error' に変更され、ユニットは消費されません。
    ユニットを控除する際、システムは期限の近づいているものを優先します。期限が同じ場合は、最も早く取得したユニットを控除します。

  • 実際の使用例:

入力と出力

  • 顔属性:
カテゴリサブカテゴリリクエストパラメータ結果パラメータ結果タイプ
顔顔の形faceShapefaceshapeTriangle, Diamond, Heart, InvTriangle, Oblong, Oval, Round, Square, Unknown
年齢と性別年齢ageagegender.ageinteger
性別genderagegender.genderfemale, male, unknown
目目の形eyeShapeeyelid.left_shape, eyelid.right_shapeNarrow, Round, Almond
目の大きさeyeSizeeyelid.sizeBig, Small, Average
目の角度eyeAngleeyelid.left_angle, eyelid.right_angleDownturned, Upturned, Average
目の間隔eyeDistanceeyelid.settingClose-set, Wide-Set, Average
まぶたeyelideyelid.left_eyelid, eyelid.right_eyelidHooded-lid, Single-lid, Double-lid, Deep-Set
眉眉の形eyebrowShapeeyebrow.left_shape, eyebrow.right_shapeHard Angled, Soft Angled, Straight, Rounded, Obscured
眉の太さeyebrowThicknesseyebrow.left_body_thickness, eyebrow.right_body_thicknessDense, Sparse, Average, Unknown
眉間eyebrowDistanceeyebrow.gapFar-Apart, Close, Average
眉の短さeyebrowShortnesseyebrow.left_shortness, eyebrow.right_shortnessShort, Normal
唇唇の形lipShapelipshape[]Bow, Downturned, Full, Heavy Lower Lip, Heavy Upper Lip, Narrow, Round, Thin, Wide, Average
鼻鼻の幅noseWidthnose.widthNarrow, Broad, Average
鼻の長さnoseLengthnose.lengthLong, Short, Average
頬骨頬骨cheekbonescheekbone.left, cheekbone.right, cheekbone.overallFlat Cheekbone, High Cheekbone, Low Cheekbone, Round Cheeks

  • 顔比率:
サブカテゴリリクエストパラメータ結果パラメータ結果タイプ説明
水平 3 分割比率horizontalThirdhorizontal_third3 分割のパーセンテージ; 解釈: Short / Balanced / Long; ゴールデンRatio: 33% : 33% : 33%顔の水平比率は、顔を 3 つの等しい区間に分割することに基づいています:生え際から眉の下端まで、眉の下端から鼻の下端まで、そして鼻の下端から顎先まで。3 つの区間のゴールデンRatio、つまり理想の比率は 1:1:1 です。
垂直 5 分割比率verticalFifthvertical_fifth5 分割のパーセンテージ; 解釈 (目の間隔と目の幅): Narrow / Balanced / Wide; ゴールデンRatio: 20% : 20% : 20% : 20% : 20%顔の垂直比率は、顔を 5 つの区間に分割して決定されます:1 つの目の幅、2 つの目の間隔、そして目の外側から顔の縁までの空間。これらの比率のゴールデンRatioは 1:1:1:1:1 です。
顔のアスペクト比faceAspectRatioface_aspect_ratio[1, r]; 解釈: Short / Balanced / Long; ゴールデンRatio: 1 : 1.46顔のアスペクト比は、顔の幅と高さの関係であり、ゴールデンRatio 1:1.46 に従うことが理想です。
目のアスペクト比eyeAspectRatioleft_eye_aspect_ratio right_eye_aspect_ratio[1, r]; 解釈: Round / Balanced / Flat; ゴールデンRatio: 1 : 3目のアスペクト比は、目の高さとその幅の関係であり、ゴールデンRatio 1:3 に合うことが理想です。
眉山アーチ比率eyebrowArchleft_eyebrow_arch_to_eyebrow_width right_eyebrow_arch_to_eyebrow_width[1, r]; 解釈: Short Arch / Balanced / Long Arch; ゴールデンRatio: 1 : 1.618眉山アーチの理想の比率は、眉自体の形によって決まり、最高点(アーチ)がゴールデンRatio に合致することで、美しい外観が得られます。
目の高さから眉までの距離eyeHeightToEyebrowDistanceleft_eye_height_to_eyebrow_distance right_eye_height_to_eyebrow_distance overall_eye_height_to_eyebrow_distance[1, r]; 解釈: Short / Balanced / Long; ゴールデンRatio: 1 : 1.618眉までの距離は、上まぶたの上端から眉の最高点までの垂直距離です。理想としては、目の高さを基準にゴールデンRatio 1.618:1 となることで、目と眉の間に最も調和のとれたバランスが得られます。
鼻のアスペクト比noseAspectRationose_aspect_ratio[1, r]; 解釈: Wide / Balanced / Narrow; ゴールデンRatio: 1 : 1.618鼻のアスペクト比は、鼻の幅と高さの関係であり、ゴールデンRatio 1:1.618 に従うことが理想です。
鼻幅に対する口幅noseWidthToMouthWidthnose_width_to_mouth_width[1, r]; 解釈: Small / Balanced / Large; ゴールデンRatio: 1 : 1.618鼻幅と口幅の比率は、鼻の幅と口の幅の関係であり、ゴールデンRatio 1:1.618 に従うことが理想です。
鼻から唇、顎までnoseToLipToChinnose_to_lip_to_chin[1, r]; 解釈: Short / Balanced / Long (顔の下半分の長さ); ゴールデンRatio: 1 : 1.618鼻から唇、顎までの比率は、鼻の基部から唇の中心までの距離を 1 としたとき、唇の中心から顎までの理想の距離が 1.618 となる比率です。このゴールデンRatioにより、顔の対称性の原理に従い、調和のとれた下半顔が得られます。
上唇に対する下唇upperLipToLowerLipupper_lip_to_lower_lip[1, r]; 解釈: Full Upper / Balanced / Full Lower; ゴールデンRatio: 1 : 1.618上唇と下唇のゴールデンRatioでは、下唇の厚さは上唇の 1.618 倍であるべきとされています。この比率により、下唇が上唇よりややふっくらします。

  • 撮影方法の提案:

警告: 顔の幅は、画像の幅の 60% を超える必要があります。

ファイル仕様とエラー

  • 対応形式と解像度
AI 機能対応解像度対応ファイルサイズ対応形式
顔の比率分析長辺 <= 4096、1 人のみ。1 辺が 1080px 超の画像は自動的にリサイズされて分析されます。< 10MBjpg/jpeg
  • エラーコード
エラーコード説明
error_below_min_image_sizeソース画像の解像度は 320 ピクセル以上である必要があります。
error_face_position_invalid顔は完全に露出しており、正面を向いて、画像内で中央に位置している必要があります。
error_face_position_too_small検出された顔は分析に小さすぎます。
error_face_position_out_of_boundary顔が画像の境界を超えています。
error_face_not_forward_facing顔はカメラに正面を向いている必要があります。
error_face_angle_upward顔が上向きに角度が大きすぎます—頭を少し下へ傾けてください。
error_face_angle_downward顔が下向きに角度が大きすぎます — 頭を少し上へ傾けてください。
error_face_angle_leftward顔が左に回りすぎです — 頭を少し右へ回してください。
error_face_angle_rightward顔が右に回りすぎです — 頭を少し左へ回してください。
error_face_angle_left_tilt顔が左に傾きすぎです — 頭を軽く右へ傾けてください。
error_face_angle_right_tilt顔が右に傾きすぎです — 頭を軽く左へ傾けてください。
  • 環境と依存関係
サンプルコードの言語 / ツール推奨ランタイムバージョン
cURL- bash >= 3.2
- curl >= 7.58 (最新の TLS/HTTP 対応)
- jq >= 1.6 (堅牢な JSON パース)
Node.js (JavaScript)Node >= 18 (グローバル fetch 用)
JavaScript- Chrome / Edge >= 80
- Firefox >= 74
- Safari >= 13.1
PHPPHP >= 7.4 (最新の TLS/互換性用), ext-curl (推奨) または allow_url_fopen=On + ext-openssl, ext-json
PythonPython >= 3.10 (f-strings 用), requests >= 2.20.0
JavaJava 11+ (HttpClient 用), Jackson Databind >= 2.12.0

JS カメラキット


ユニット消費

  • 顔属性・比率分析
AI 機能消費ユニット数
顔構造機能 1~5 個10
顔構造機能 6~14 個20
顔構造機能 15~28 個30

OpenAPI記述をダウンロード
言語
サーバー
https://yce-api-01.makeupar.com