Show HN: 肌の色調を多様化する単純なアルゴリズムと色彩空間

2026/08/05 0:16

Show HN: 肌の色調を多様化する単純なアルゴリズムと色彩空間

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

このプロジェクトは、デジタルアートおよびキャラクター作成向けに包摂的なツールを促進することを目的とした、簡略化された RGB ベースの色空間を導入します。これは、現在のシステム(絵文字:5 色、メイクアップパレット:約 50 色など)の限界に対処するものです。本モデルは、生物学的要因(メラニンや血流など)、個々のバイアス、健康状態(例:黄疸など)、および異なるディスプレイ環境によって複雑化している人間の肌トンの莫大な複雑性に対する科学的権威を主張するのではなく、実用的で「十分良好な」エンジニアリングの起点を優先します。手法は、手動での RGB データラベリング、主成分分析(PCA)によるデータセットの変換、Desmos 3D、SymPy、matplotlib、scikit-learn などのツールを用いた球面式のフィッティングを含みます。得られたシステムは、PCA 軸から導かれる 3 つの独立した値を利用し、UI を介して調整されます。ここで、可変的な球半径パラメータは色の変化を制御します;具体的には、この半径を小さくすると、すべての肌トーン(深肤色、白人、冷色調、温色調)において一様に変化が減少し、特定のグループを不均衡に排除することはありません。原点点はニュートラルな曖昧なトーンを表し、マッピングバイアスを特定するために有用です。今後の作業では、専門家ラベラーを用いてモデルを微調整し、黄疸や白斑症などの状態に対する簡略化された表現を取り入れる予定です。本アプローチは科学的でないことを認める一方で、エンジニアリング用途においては依然として非常に機能性を備えていることを認識しています。

本文

カスタムカラーピッカーと肌トーン生成アルゴリズム

概要

本プロジェクトでは、JavaScript と Python を用いて、インクルーシブなカラーツールを構築するためのカスタムカラーピッカーとプロシージャル生成アルゴリズムを実装しています。

  • 目的: キャラクター作成ツールやデジタルアートなどで多様な肌トーンを表現しやすくする、新しい**「カラースペース」**の定義です。
  • アプローチ: 既存の色セット(限定的なパレット)ではなく、現実の人間の皮膚色を可能な限り網羅し、排除しないように設計されています。
  • 重要事項: 結果は有用な出発点ですが、絶対的な基準として扱うべきではありません。「十分良好(good enough)」という限界を認識してご活用ください。

問題と背景:肌トーン表現の課題

現状の問題点

人間は単一の色ではないにもかかわらず、多くのツールでは以下の不十分な扱いがされています。

  • 絵文字: 5 シェード程度(または黄色っぽいカートゥン調)。
  • コスメブランド: 最大でも約 50 シェード。
  • キャラクター作成ツール: 「1,677,7216 のオプションから選んでください」といった形式的な対応。

これらは現実の多様性に及びません。「私たちが『何色』なのか?」 という問いに対し、多くの人が適切に表現できない状況があります。

技術的アプローチ

本作業では、以下の手法を用いて肌トーンに対応する広範な色の範囲を特定しました。

  1. RGB カラースペースでの現実的な簡略化モデルの構築。
  2. **「十分良好」**で運用可能な単純な方程式の発見(定義と実装)。

限界点と倫理的配慮

この作業には以下の本質的な限界と考慮事項があります。

  • 肌トーンの複雑さ: 単一の色ではなく、血液の流れ、メラニン濃度、光の散乱など生物学的要因の影響を強く受けます。また、しみ、傷跡、白斑など個々のバリエーションも存在します。
  • 健康状態: アルギリア(銀中毒症)、黄疸(ビリルビン値の上昇)などにより、健康な範囲から外れた肌トーンを示す場合もあります。
  • 主観性: 作成者は人間であり、色彩認識やバイアスの影響を受けます。色覚障碍のいない状態でのみ検証しています。
  • 表示環境: ディスプレイの種類や照明条件により RGB 値の見え方は一貫しません。

社会的文脈と歴史的背景

技術的な数式だけでなく、以下の社会的背景を理解することが重要です。

  • 歴史的偏見: 明るい肌色への称賛と優先に対し、暗い肌色は边缘化されてきました(カラーリズム)。
  • 推奨読物: 多様性の課題を扱った作品や記事として以下が挙げられます。
    • Nyma Tang: 「The Darkest Shade」(コスメブランドの darkest shade 検証)
    • Kat Blaque: Youthforia の黒人向けファンデーション(現実的範囲を超えた色)
    • Vox: 「How beauty brands failed women of color」
    • Austin Walker: 「Me, On The Screen」(『Animal Crossing』における自己表現の限界)
    • Angélica Dass: 『The Humanae』(人種分類ではなく真なる肌の色の文書化)

手法(メソッドロジー)

本プロジェクトでは、完全な科学的手法ではありませんが、「十分良好」な結果を得るために以下のプロセスを実行しました。

1. データセットのラベル付け

  • 手法: RGB で手動で色をラベル付けしました。
  • UI: Web ページ上でクリックし、画像(顔)の色と一致するか「はい/いいえ」を判定するインタラクティブな UI を作成しました。
  • 結果: データは
    (0, 0, 0)
    (255, 255, 255)
    の間でバナナのような曲線形状を描き、赤寄りで青から遠ざかる傾向がありました。

2. 主成分分析(PCA)

  • 目的: データセットの形状(歪んだバナナ形)を回転・伸縮させ、座標軸に沿って整理します。
  • 効果: 変異の主要な方向が軸に重なるようになり、データを扱いやすくしました。
  • 空間の定義: PCA 変換後の空間を**「XYZ スペース」**と呼びます(後述する TUV との対応も含む)。

3. 関数的手工適合

  • プロセス: RGB から XYZ への変換を行い、球体($R^2 = t^2 + u^2 + v^2$)をデータ形状に合わせて手動で調整しました。
    • $t, u, v$ を定義して形状に合わせる。
    • 関係を逆転させて $x, y, z$ で表現する。
  • ツール: Desmos 3D を使用し、視覚的に曲線を適合させました(回帰分析は行いません)。

4. アルゴリズム実装

得られた方程式を活用し、以下のコードを実装しています。

コード実装

select_point
の出力を
to_rgb(t, u, v)
に渡すことで、TUV スペースから RGB 値に変換できます。

Python による実装

import math
from numpy.random import uniform as unif # 'uniform' はランダムライブラリ(例:numpy.random または random)からインポート済みと仮定

def select_point(r_square: float = 2.) -> tuple[float, float, float]:
    """単位球から均等にサンプリング(決定論的アプローチ)"""
    # 半径を計算
    radius = r_square ** (1. / 2)

    # 球面座標系の要素をランダムに生成
    phi = unif(0, 2 * math.pi)           # 方位角
    costheta = unif(-1, 1)               # コサインの theta
    n = unif(0, 1)                       # ランダムなスケーリング係数

    theta = math.acos(costheta)          # 極角
    r = radius * (n ** (1.0 / 3))        # ボルツマン分布による体積内サンプリング

    # デカルト座標に変換(TUV スペース)
    t = r * math.sin(theta) * math.cos(phi)
    u = r * math.sin(theta) * math.sin(phi)
    v = r * math.cos(theta)

    return (t, u, v)

def select_point(r_square: float = 2.) -> tuple[float, float, float]:
    """単位球から均等にサンプリング(拒絶サンプリング法を使用)"""
    radius = r_square ** (1. / 2)
    R = radius + 1

    # ボックスからランダムに生成し、球体内部にあるか確認する手法
    while R > radius:
        t = unif(-radius, radius)
        u = unif(-radius, radius)
        v = unif(-radius, radius)

        R = (t**2 + u**2 + v**2) ** (1.0 / 2) # 距離の計算

    return (t, u, v)

def to_rgb(t, u, v) -> tuple[int, int, int]:
    """TUV スペースから RGB へ変換する方程式"""
    # TUV から XYZ 座標への変換(簡略化されたモデル)
    x = (t - 0.15) / 0.45
    y = (v - 1.2 * t ** 2 + 0.2 * t + 0.655) / 1.84
    z = u / 3.6

    # XYZ から RGB への変換行列の適用
    r = 28.77438370854 * x + 36.78307445559 * y - 19.69766918644 * z + 187.1436241611
    g = 35.38327306318 * x - 2.009931981182 * y + 47.93462563172 * z + 137.1073825503
    b = 36.14733717939 * x - 43.54346996173 * y - 28.50821294135 * z + 108.2241610738

    return int(round(r)), int(round(g)), int(round(b))

JavaScript による実装(ページソース内にあるバージョンの概要)

Python と同様のロジックが、ブラウザ環境で動作する JS として提供されています。

ピッカーユーザーインターフェース(UI)

通常のカラーピッカーのように独立した 3 つの値を調整する仕組みを持っています。これらは TUV スペースに対応します。

コントロールアスペクト / 意味合い変数名
垂直スライダー (上下)Deep(深みのある) ⇔ Fair(明るい)T
水平スライダー A (左右)Flushed(赤らんだ) ⇔ Ochre(黄褐色)U
水平スライダー B (左右)Cool(寒色系) ⇔ Warm(暖色系)V

軸の意味と特性

  • PCA の成果: これらの軸は、主成分分析によってデータの変異を最大化した結果であり、単一の色空間の直感とは異なります。
  • HSL/HSV との違い: 類似していますが完全一致しません。特に
    V
    は彩度とは異なる性質を持ちます(青からオレンジへのスペクトル)。

R² の調整と半径の意味

生成アルゴリズムで使用する球体の半径(

R
)は、生成される肌トーンの「範囲」を制御するパラメータです。

  • 定義: 球体 $R^2 = t^2 + u^2 + v^2$ の半径の二乗値です。
  • 特性:
    • 半径を変えると、深みのある色から明るい色まで均等に多様性が減少・増加します(特定のトーンを除外するわけではありません)。
    • R² = 0
      で原点を確認し、空間のマッピングバイアスを検出できます。

おすすめの R² 値表

R² 値特徴と用途
0.1ほとんど変化がない
0.5軽微な変化(限定的)
1.0ランダム選択時に適切な多様性を確保する最小値
1.5リアリズムを保ちつつ良い多様性(推奨範囲)
2.0カートゥンチックになり得る(ランダム選択では稀な外れ値が発生)
2.5予期しない値が出ることがあるが、ピッカー UI では有用
10想像の舞台設定向け(極めて広範囲)
  • 調整のコツ: 非現実的な結果を生成した場合は、半径を少し減らすだけでバリエーションの減少を抑えつつ制御できます。

まとめと次のステップ

成果物

  • カスタムカラーピッカーの UI とロジック。
  • プロシージャルな肌トーン生成アルゴリズム(TUV → RGB 変換)。
  • デジタルアートやゲーム開発で多様性を表現するための新しい基盤。

フィードバックと改善案

このプロジェクトは「十分良好」を目標としていますが、以下のような方向性での拡張が可能です。

  1. データセットの洗練: 複数の人による手動ラベル付けにより、現在の主観的なバイアスを補正する。
  2. 肌の変異と状態: 黄疸やアルギリアなど、病態的な色の変化をモデル化する簡易手法の開発。
  3. 形式化の向上: 象徴的リグレッションを用いて方程式を最適化し、計算効率を高める。
  4. 他空間への展開: 他のカラースペース(LAB, YUV など)での表現を検討する。

コミュニケーション

  • ご意見やご質問は、プロジェクトのリポジトリの Issues ページ に投稿いただくか、メールにてご連絡ください。
  • 再現性のあるコードを整理して公開し、皆様もこの作業に貢献できる場を目指しています。

使用ツール: matplotlib, scikit-learn, Desmos, SymPy

同じ日のほかのニュース

一覧に戻る →

2026/08/05 7:01

インターポールが警告、アフリカのサイバー犯罪の半分以上を AI が支えデジタル詐欺急増

## 日本語訳: 以下に、元の草案から欠落していた特定の地域的なニュアンスおよび文脈源をより適切に統合しつつ、明瞭さを維持するためにもたらされた改善されたバージョンが示されます。 ## サマリー(改善版) INTERPOL の 2026 アフリカサイバー脅威評価によると、人工知能はアフリカ全体でサイバー犯罪における支配的な力となり、報告された事例の半分以上を原動力とし、2024 年の 1,9200 万ドルから 2025 年には 4,8400 万ドルへと金融損失を増大させています。状況は地域によって多様です:西アフリカおよび南部アフリカは主要な詐欺センターを擁しており(調査対象国の 72% で特定)、中央アフリカではビジネスメールへの侵害やロマンス詐欺の発生率が高く、東アフリカではモバイルマネー詐欺、重要インフラに対するランサムウェア攻撃、合成アイデンティティ犯罪に苦しんでいます。特定のセックス extortion の急増が明らかで、TrendAI がディープフェイクに関連する約 60 万件の事例を検出しています。犯罪者はこれらのツールをソーシャルメディアやモバイルマネーおよびデジタル銀行のようなプラットフォームと組み合わせ、ローンの目的や SIM カード登録のために合成アイデンティティを伴う複雑なスキームを実行するために使用します。しかし、依然として重大な脆弱性が存在しており、特に南部アフリカのように高度なデジタル接続を有する国々において、銀行、通信事業者および法執行機関間の弱い連携は、犯罪者が盗まれた資金を瞬時に国境を超えて移動させることを可能にしています。これらの課題にもかかわらず、対応は増えつつあります;2025 年だけでも、セネガルの新しいオンライン報告プラットフォームを含むサイバー犯罪法の更新を行ったアフリカ諸国は 17 カ国あり、Serengeti 2.0 など共同作戦を促進し、それらは 1,500 件以上の逮捕と 1 億ドル以上の資金の回復をもたらしました。将来のセキュリティは、これらの進化する AI 駆動型の脅威に対処するために、持続的な国際協力および強化された地域準備に依存します。

2026/08/05 1:36

Mistral の Shieldstral:マルチモーダル検閲向けに公開された 3B オープンウェイトモデル

## 日本語訳: Shieldstral は、NVIDIA との Open Secure AI Alliance の初メンバーとして Apache 2.0 ライセンスの下でリリースされた、30 億パラメータを持つオープンウェイトのマルチモーダル安全性分類器です。このモデルは、テキストと画像の安全性評価を単一の適応型インターフェースに統合し、1 トークンから定量化された連続的な安全性スコアを返します。Shieldstral は、コンテンツモデレーションを文脈・厳格度に適応する質問応答タスクとして位置付け、推論時に再トレーニングなしで平易な言語でのポリシーを受け入れる 3 つのコンポーネント(<Instruct>:文脈/厳格度、<Query>:はい/いいえの安全性に関する質問、<Document>:評価対象のテキストまたは画像)を採用しています。Shieldstral は、プロンプト分類、回答モデレーション、拒否検出、毒性検出を単一の適応可能な問題に統合します。性能については、テキスト安全性、拒否検出、ポリシー適応性、マルチモーダルベンチマークにおいて、最大 7 倍のサイズを持つオープンガードモデルと同等かそれ以上の性能を示し、1 つの 16GB の NVIDIA GPU で効率的に動作します。Forge 上でのエンドツーエンドトレーニングでは、多様なラベル形式を持つ現実および合成データを組み合わせたヘテロ지니어ズなデータを使用し、以下の 4 つの主要な課題に取り組んでいます:(1)ヘテロ지니어ズなデータタクソノミーの統合、(2)暗記ではなく判別の学習、(3)画像に基づく安全性の根拠付け、(4)LoRA と SLERP メージを介した補完的なチェックポイントの組み合わせです。データ処理では、ソースごとの厳格度調整(ジャイルブレイク用は厳しく、回答品質用は緩い)を行い、定量化された意思決定境界を学習し、一般的な画像データセットを負例として使用するとともに、視覚・言語再ランク付けにより誤ラベル付けされたペアをフィルタリングしました。今後の計画としては、多言語対応の拡大、長文書に対する堅牢性の向上、およびマルチモーダル安全性機能の幅広化が含まれます。

2026/08/05 3:29

ダラスのウェイモ

## Japanese Translation: ウェイモは、ダラスで一般大衆への完全自動運転のライドヘイリングサービスの展開を正式に発表しました。今日から誰でもアプリをダウンロードし、乗車を注文できるようになっています。2 月よりサービスを開始以來自動運転待機リストに登録した約 15 万人の利用者がこのサービスを体験しており、現在はすべてのダラス住民に対して開放され、従来の待機リスト限定のアクセスは終了しました。本プログラムでは引き続き、ダラス・ラヴフィールド空港ターミナルでの完全自動運転試験が行われており、間もなく旅行者を乗せる予定となっています。また、ウェイモは近日中にダラスの高速道路上でも完全自動運転の試験を開始する見込みであり、これが公衆向けのライド利用に向けた当該路線の開放への最終段階となります。この拡大は、運転能力が制限される疾病を持つ人々にとって不可欠な自立性を提供します。エпилепシー・フェンデーション・テキサスの CEO クリス・ジャストル氏は、「画期的な前進」と評し、自動移動手段をテキサス全州に導入するための誇りあるパートナーシップについて言及しました。新たな機能により、利用者は間もなく運転免許証を必要とせず、身体的制約に直面することなく通勤したり用務を行ったり、社会的な外出を楽しむことができるようになります。

Show HN: 肌の色調を多様化する単純なアルゴリズムと色彩空間 | そっか~ニュース