写真の物理学 ㊼ 視覚の知覚心理物理学

Share
📐
写真の物理学シリーズ ㊼
このシリーズでは、写真にまつわる現象を物理学の言葉で記述する。「なんとなくそうなる」を「なぜそうなるか」に変換することが目的である。

写真は最終的に人間の目で見られるが、人間の眼の光学で記述した視覚系は物理量をそのまま知覚するわけではない。明るさの感じ方は光の強度に比例せず、色は照明が変わっても同じに見え、存在しない明暗の帯がエッジ付近に現れる。本稿では写真の制作と鑑賞に直結する視覚の知覚特性を、コントラスト感度関数から色の恒常性、鑑賞距離と解像度の関係まで体系的に記述する。

コントラスト感度関数

人間の目は、あらゆる細かさの模様を等しく見分けられるわけではない。MTFで読むレンズの解像力で用いた空間周波数の概念を視覚系に適用すると、周波数ごとに知覚感度が異なることがわかる。その関係を記述するのがコントラスト感度関数(Contrast Sensitivity Function, CSF)である。

コントラスト感度とは、コントラスト閾値(模様を背景から弁別できる最小のコントラスト)の逆数だ。空間周波数を横軸、コントラスト感度を縦軸にプロットすると、CSFは特徴的なバンドパス型の曲線を描く。Campbell & Robson(1968)が正弦波格子を用いた実験で、この特性を明確に示した。

明所視条件の典型的なCSFには、次の特徴がある。

  • 感度のピークは約2~5 cycles/degree(cpd)付近にある
  • ピークより低い空間周波数では、感度がやや低下する(低周波減衰)
  • ピークより高い空間周波数では、感度が急速に低下し、およそ40~60 cpdで検出不能になる(高周波カットオフ)

低周波減衰は、網膜の側抑制機構に起因すると考えられている。側抑制は、隣接する神経細胞が互いの活動を抑制する仕組みであり、一様な輝度分布よりも輝度変化のある領域に強く応答する性質を生む。一方、高周波カットオフは、光学系の回折限界、受容体の間隔、神経系の統合特性によって決まる。

写真にとってCSFが意味するのは、「すべてのディテールが等しく見えるわけではない」ということだ。ピーク付近の空間周波数に対応するディテール(鑑賞距離にもよるが、テクスチャや中程度のエッジなど)に対して視覚は最も鋭敏であり、逆に非常に微細なディテールや非常にゆるやかな階調変化に対しては感度が低い。写真におけるクロマサブサンプリングで触れたように、JPEG圧縮が高周波成分を優先的に削減しても視覚的劣化が小さいのは、まさにこのCSFの高周波減衰を利用しているからだ。

さらに、CSFは色度方向と輝度方向で大きく異なる。輝度のCSFは比較的高い空間周波数まで感度を持つが、色度のCSFはより低い周波数で感度が落ちる。人間の視覚系が色の細かな変化に鈍感であるという事実が、クロマサブサンプリング(4:2:0など)の知覚的根拠となっている。ベイヤー配列とデモザイキングの数学で扱ったベイヤーCFAにおいて緑画素が赤・青の2倍配置される設計も、輝度情報に対する視覚の高い感度を反映している。

ウェーバー=フェヒナーの法則

物理的な光の強度と、知覚される明るさは比例しない。この非線形性を最初に定式化したのが、ウェーバー=フェヒナーの法則である。

19世紀の生理学者エルンスト・ハインリヒ・ウェーバーは、刺激の弁別閾(丁度可知差異, JND: Just Noticeable Difference)が刺激強度に比例することを見出した。つまり、暗い場所では小さな光の変化でも気づくが、明るい場所では同じ変化に気づかない。これをウェーバーの法則という。

$$ \frac{\Delta I}{I} = k $$

$I$ は刺激強度、$\Delta I$ は弁別閾、$k$ はウェーバー比(定数)である。

グスタフ・フェヒナーはこれを積分し、知覚量 $S$ と物理量 $I$ の関係を対数関数として導いた。

$$ S = k \ln I + C $$

この対数的関係が、写真の階調処理に深く関わっている。ガンマとトーンカーブの知覚心理物理学で詳述したガンマ補正がその典型だ。デジタルカメラのセンサーは光を線形に記録するが、知覚はおおむね対数的である。ダイナミックレンジとビット深度で導出したように、限られたビット深度で階調を効率的に符号化するには、暗部により多くのコードを割り当て、明部は粗くする必要がある。ガンマ補正(べき関数による非線形変換)は、この知覚特性にある程度沿った符号化を実現している。

色空間の数学で定式化したsRGBの伝達関数で用いられるガンマ値は約2.2だが、これは歴史的にはCRTディスプレイの電圧-輝度特性に由来する。CRTの物理的な非線形性がたまたま知覚的均等性に近い配分を与えたのは、偶然ではあるが幸運だった。

ただし、ウェーバー=フェヒナーの法則は広い範囲で厳密に成立するわけではない。特に極端に弱い刺激や極端に強い刺激では、ウェーバー比が一定にならないことが知られている。この限界を超える記述を与えたのが、次に述べるスティーヴンスのべき法則である。

スティーヴンスのべき法則

スタンレー・スミス・スティーヴンス(1906-1973)は、1957年にマグニチュード推定法を用いた実験から、知覚量と物理量の関係がべき関数で記述されることを示した。

$$ P = k \cdot I^n $$

$P$ は知覚量、$I$ は物理量、$k$ は定数、$n$ はべき指数である。

明るさ知覚の場合、べき指数 $n$ はおよそ0.33~0.5の範囲にあるとされる。$n < 1$ であるから、物理的な光強度が増加しても、知覚される明るさの増加は鈍化していく。これは圧縮的(compressive)な関係であり、ウェーバー=フェヒナーの対数関数と定性的には似た振る舞いを示す。

スティーヴンスのべき法則は、フェヒナーの対数法則よりも広い刺激範囲を記述でき、ゼロ強度まで外挿可能な点で汎用性が高い。現代の知覚心理物理学では、べき法則がより一般的な記述として受け入れられている。

写真のガンマとの関係はしばしば言及されるが、直接的な対応ではないことに注意が必要だ。ディスプレイのガンマ2.2と明るさのべき指数0.33は数値的に逆数関係に近いように見えるが、ガンマ補正の設計はCRTの物理特性と信号処理の都合に基づいており、スティーヴンスの法則から直接導出されたものではない。両者の類似は、結果的な近似にすぎない。

一方、HDRとトーンマッピングの数学で数式を導出したPQ(Perceptual Quantizer, SMPTE ST 2084)伝達関数は、Bartenモデル(CSFに基づく知覚モデル)を明示的に参照して設計されており、知覚的均等性をより厳密に追求したものである。Log収録とシネマカラーサイエンスで扱ったLog曲線もまた知覚の非線形性を利用した符号化であり、技術の進化とともに知覚心理物理学の知見がより直接的に規格に反映されるようになっている。

マッハバンド効果

輝度が段階的に変化する画像のエッジ付近で、実際には存在しない明暗の帯が見えることがある。暗い側のエッジにはより暗い帯が、明るい側のエッジにはより明るい帯が知覚される。これがマッハバンド効果であり、物理学者エルンスト・マッハ(1838-1916)にちなんで名付けられた。

マッハバンドは、網膜の側抑制(lateral inhibition)によって説明される。隣接する神経細胞が互いの活動を抑制し合うことで、輝度変化の境界が過剰に強調される。明るい領域に隣接する細胞は、暗い領域からの抑制が弱いために応答が増幅され、逆に暗い領域に隣接する細胞は、明るい領域からの抑制によって応答がさらに低下する。

この仕組みは、CSFで述べた低周波減衰の原因と同じ側抑制メカニズムに由来する。視覚系はエッジを強調するように設計されており、それは生存のために重要な輪郭検出を優先した結果だと考えられる。

写真の実務では、マッハバンド効果は階調の不連続が発生しやすい場面で問題になる。グラデーション処理、空のトーンカーブ調整、ポスタリゼーション(色数の削減)などで、意図しない帯状のアーティファクトが知覚されることがある。物理的な階調データ上は滑らかであっても、わずかな変化率の変動が視覚系によって増幅されてしまう。

逆に、この効果を理解していれば、シャープニング処理の原理が見えてくる。RAW現像の信号処理で扱ったアンシャープマスクはエッジ付近の輝度差を人工的に増幅する処理だが、これは本質的に、視覚系の側抑制を画像処理で模倣しているのだ。

同時対比

ある色や明るさの知覚は、その周囲の色や明るさによって変化する。これが同時対比(simultaneous contrast)である。灰色の正方形を白い背景に置くと暗く見え、黒い背景に置くと明るく見える。色についても同様で、ある色の周囲に補色を配置すると、その色の彩度が増して知覚される。

同時対比もまた、側抑制の一形態として理解できる。周囲の明るい領域からの抑制が中心領域の応答を低下させ(暗く見える)、周囲の暗い領域からの抑制が少ないと中心領域の応答が相対的に増幅される(明るく見える)。

写真においてこの現象が意味するのは、被写体の見え方が背景に依存するということだ。同じ肌の色でも、暗い服を着ていれば明るく見え、白い服を着ていれば暗く見える。レタッチで特定の領域だけを調整しても、周囲との関係が変われば知覚的な印象は予想と異なる結果になりうる。

白い壁に近づいても露出が変わらない物理学的理由で述べたように、物理的な光量と知覚的な明るさの関係は単純ではない。同時対比は、その複雑さのもうひとつの層だ。

色の恒常性

色温度と黒体放射で定義した色温度で見れば、日中の太陽光は約5500~6500K、白熱電球は約2700K、蛍光灯は約4000Kである。物理的に見れば、これらの光源のもとで物体の表面から反射される光のスペクトルは大きく異なる。にもかかわらず、白い紙は太陽光でも白熱灯でも「白い」と知覚される。これが色の恒常性(color constancy)だ。

視覚系は、シーン全体の照明条件を推定し、それを差し引くことで表面色を復元しようとする。この補正がなければ、照明が変わるたびに世界の色が激変して見えるはずだ。色の恒常性は完全ではないが、日常の範囲では驚くほどうまく機能している。

フォン・クリース適応

色の恒常性のメカニズムとして最も古く、かつ広く用いられているモデルが、フォン・クリース適応(von Kries coefficient law, 1902)である。このモデルは、色とは何かで導入した3種類の錐体(L, M, S)がそれぞれ独立にゲイン調整を行うと仮定する。

$$ \begin{bmatrix} L_a \\ M_a \\ S_a \end{bmatrix} = \begin{bmatrix} k_L & 0 & 0 \\ 0 & k_M & 0 \\ 0 & 0 & k_S \end{bmatrix} \begin{bmatrix} L \\ M \\ S \end{bmatrix} $$

$L, M, S$ は各錐体の応答、$k_L, k_M, k_S$ は照明条件に依存するゲイン係数、$L_a, M_a, S_a$ は適応後の応答である。対角行列による変換は、各チャンネルの独立なスケーリングを意味する。

このモデルは数学的に単純だが、色の恒常性の大部分を説明できる。照明が赤みを帯びれば、L錐体のゲインが下がり、相対的にM, S錐体の応答が強調される。その結果、照明の色の影響が打ち消される方向に知覚が補正される。

カメラのオートホワイトバランスは、本質的にこのフォン・クリース適応のデジタル版だ。シーンの色温度を推定し、RGBチャンネルごとにゲインを調整することで、照明に依存しない色再現を目指す。ストロボの色温度管理とグレード選びで扱ったように、ストロボ撮影での色温度のずれは、このゲイン調整の精度に直結する問題だ。

ただし、フォン・クリース適応は近似にすぎない。色度が高い照明条件では適応が不完全になることが知られており、より精緻なモデル(CIECAM02やCAM16など)では非対角成分を含む変換や、不完全適応係数を導入している。

ハント効果

同じ色でも、輝度が高い条件で見ると彩度が増して知覚される。この現象をハント効果(Hunt effect)という。R.W.G. ハントが1950年に記述した。

日常的な例として、晴天の屋外で見る花の色は鮮やかに感じるが、薄暗い室内で同じ花を見ると色がくすんで見える。物理的な反射率スペクトルは同じでも、周囲の輝度レベルが変わることで、視覚系の彩度知覚が変化する。

写真の実務では、ハント効果は印刷の物理学で扱うプリントとディスプレイの物理学で扱うモニタの見え方の違い、あるいは暗い展示室と明るいギャラリーでの印象の違いに影響する。暗い環境で編集した写真を明るい環境で見ると、予想以上に鮮やかに感じることがある。これは単にモニタのキャリブレーションの問題ではなく、知覚そのものが変化しているのだ。

スティーヴンス効果

ハント効果が彩度に関する現象であるのに対し、スティーヴンス効果(Stevens effect)は輝度コントラストに関する現象だ。照明レベルが高くなると、明暗のコントラストがより強く知覚される。明るい部分はさらに明るく、暗い部分はさらに暗く見える。

これは、視覚系のコントラストゲインが照明レベルに依存して変化することを意味する。暗い環境では知覚コントラストが低く(フラットに見え)、明るい環境ではコントラストが高い(メリハリがある)。

写真編集において、暗い部屋で作業したトーンカーブが明るい環境では過剰に見えることがある。あるいは、プロジェクターで投影した写真が、同じデータをモニタで見たときよりもフラットに感じられる。これらはスティーヴンス効果が関与している可能性がある。

ヘルソン=ジャッド効果

照明の輝度レベルによって、無彩色の知覚が変化する現象をヘルソン=ジャッド効果(Helson-Judd effect)という。有色照明のもとで、反射率の高い(明るい)無彩色表面は照明光の色相を帯びて知覚され、反射率の低い(暗い)無彩色表面は照明光の補色方向に色づいて知覚される傾向がある。

たとえば、暖色系の照明のもとでは、白に近い灰色の壁はわずかに暖色に見えるが、暗い灰色の床は逆にわずかに青みを帯びて見えることがある。これは照明レベルの違いではなく、表面の反射率と順応状態との相対的な関係によって生じる現象である。

ヘルソン=ジャッド効果は色の恒常性が完全ではないことの証左であり、色順応のモデルを精緻化する際に考慮すべき現象のひとつだ。CIEの色の見えモデル(CIECAM02など)では、この効果を部分的に組み込んでいる。

視覚の時間的特性

ここまでは主に空間的な知覚特性を扱ったが、視覚には時間的な特性もある。

残像と順応の時定数

強い光刺激を見た後に目を閉じると、残像(afterimage)が見える。これは視細胞や神経回路の順応状態が刺激の終了後もしばらく持続することによる。まぶたの裏に残る灰色の光で述べた視覚ノイズの問題と同様、視覚系は刺激がなくなっても即座にリセットされるわけではない。

暗順応(暗い環境に目が慣れる過程)は、錐体で約5~10分、桿体で約20~40分を要する。明順応(明るい環境に慣れる過程)はこれよりはるかに速く、数秒から数分で完了する。この非対称性は、暗い展示空間に入ったときに写真の見え方が時間とともに変化することを意味する。

フリッカー融合閾

断続的な光が十分に高い頻度で明滅すると、連続光として知覚される。この境界周波数が臨界フリッカー融合閾(Critical Flicker Fusion frequency, CFF)だ。フレームレートと運動知覚ではフェリー=ポーターの法則によるCFFの輝度依存性と映像への応用を詳しく扱った。CFFは照明条件や個人差によって変動するが、一般的には約60 Hzとされ、一部の個人では90~100 Hzまでフリッカーを検出できるとの報告もある。

CFFは網膜の位置によっても異なる。明所視条件では、周辺視野は中心視野よりも時間分解能が高い。これは周辺網膜の神経節細胞の応答特性に起因する(桿体のCFFは約15 Hzにとどまるため、暗所視では逆に周辺視野の時間分解能は低下する)。そのため、画面中央では気にならないフリッカーが、視野の端で気になることがある。

ストロボで動きが止まる物理的根拠と限界で扱ったストロボの閃光時間は、この時間的特性の応用だ。極めて短い閃光は、視覚系の時間的統合の範囲内で処理され、動きが「凍結」して見える。

鑑賞距離と知覚的解像度

回折限界と最適絞りのトレードオフではレンズ側の解像限界を扱ったが、写真の「必要な解像度」は鑑賞距離によっても決まる。これは視力(visual acuity)の定量的な帰結だ。

標準的な視力(20/20, 小数視力1.0)は、1分角(1/60度)の視角を弁別できる能力として定義される。鑑賞距離 $d$ における最小弁別サイズ $s$ は、次式で近似できる。

$$ s = d \times \tan(1') \approx \frac{d}{3438} $$

ここから、距離 $d$ で必要な解像度(dpi)を逆算できる。1インチ(25.4 mm)あたりのドット数として表すと、

$$ \text{dpi} = \frac{25.4}{s} = \frac{25.4 \times 3438}{d} $$

$d$ をミリメートル単位とすれば、

  • $d$ = 250 mm(一般的な読書距離)のとき、約349 dpi
  • $d$ = 300 mm(やや離れた手持ち鑑賞)のとき、約291 dpi
  • $d$ = 500 mm(テーブルに置いた写真集)のとき、約175 dpi
  • $d$ = 1000 mm(壁に掛けた写真)のとき、約87 dpi
  • $d$ = 3000 mm(展示室で離れて見る大判プリント)のとき、約29 dpi

印刷で「300 dpi」が標準とされるのは、約30 cmの鑑賞距離で人間の視力の限界に対応するからだ。逆に言えば、大判プリント(A1以上など)を数メートルの距離から鑑賞する場合、100 dpi以下でも十分に精細に見える。必要以上に高解像度のデータを用意することは、ファイルサイズと処理時間の浪費にすぎない。

ただし、この計算はCSFのピーク周波数付近の空間周波数に対する限界値である。コントラストが低いディテールは、たとえ300 dpiで記録されていても、CSFの特性上、知覚されないことがある。

知覚心理物理学が写真処理に与える示唆

ここまでの知見を総合すると、ひとつの重要な結論が浮かぶ。「物理的に正しい」画像は、必ずしも「美しい」あるいは「自然な」画像ではない。

光電効果とフォトダイオードで述べたように、センサーが物理的に線形な階調で記録したRAWデータをそのまま表示すると、人間の目には暗部が潰れ、明部が飛んだように見える。これはデータが不正確なのではなく、知覚が非線形だからだ。トーンカーブやガンマ補正が必要なのは、知覚の非線形性に合わせて表示を調整するためである。

シャープニング処理が写真を「くっきり」させるのは、視覚系の側抑制を人工的に再現しているからだ。マッハバンドと同じ原理で、エッジのコントラストを増幅すれば、解像感が向上して知覚される。ただし、過剰なシャープニングは不自然なハロー(光暈)を生む。視覚系が自然に行う程度のエッジ強調を超えると、知覚は「処理された」と感じ取る。

彩度の調整においても、ハント効果とスティーヴンス効果を意識する必要がある。暗い編集環境で彩度を追い込むと、明るい環境では過飽和に見えることがある。プリントを展示する照明条件が変われば、同じ写真の色の印象が変わるのは、知覚心理物理学的に避けられない。

色の恒常性は、カメラのホワイトバランスと対応する概念だが、完全には一致しない。人間の視覚系は文脈から照明を推定して補正するが、カメラは限られたセンサーデータから統計的に推定するにすぎない。人間が「自然だ」と感じるホワイトバランスは、物理的に正確なホワイトバランスとは異なることがある。夕暮れの写真をデイライトで補正すれば物理的には正しいが、知覚的には不自然だ。

結局のところ、RAW現像の信号処理で記述した写真の処理パイプラインは、物理的な光をセンサーで記録し、知覚心理物理学の知見に基づいて変換し、人間の視覚系に最適化された形で提示するプロセスだ。そのどの段階でも、知覚特性を無視した処理は不自然な結果を生む。

まとめ

人間の視覚は、物理的な光をそのまま受け取るのではない。空間周波数に依存したバンドパス型の感度特性(CSF)を持ち、明るさ知覚はおおむね対数的あるいはべき関数的に圧縮され、エッジは側抑制によって強調され(マッハバンド)、周囲の明暗に引きずられ(同時対比)、照明の色は差し引かれ(色の恒常性)、輝度レベルによって彩度やコントラストの知覚が変動する(ハント効果、スティーヴンス効果)。

写真は最終的に、この複雑な知覚系を通して鑑賞される。カメラの物理光学やセンサーの工学を理解することは重要だが、それだけでは「見える」画像を作ることはできない。物理と知覚の間にある翻訳の仕組みを知ること。それが、写真を撮り、処理し、見せるすべての段階で、判断の精度を上げてくれる。これらの知覚特性が写真の全プロセスとどう結びつくかは、すべてを統合するで俯瞰する。

Read more

Dependabotの対応が面倒なのでRenovateを導入する

Dependabotくんはある程度の依存関係の更新を通知してくれるが、山のようにprojectを抱えているとなんとも痒いところに手が届かない。 ということで、Renovateを使ってみる。 Build software better, togetherGitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.GitHub ここからGitHub Appを入れる。 あとは、指示に従ってポチポチするだけで、超かんたんだった。 感想 自動化最高。

By Sakashita Yasunobu

nodejsのバグを見つけたのでPRを投げてみた

概要 要するに、node --testで特定のバイナリを標準出力に書くと、テストランナーが固まったり、異常終了したりするバグです。 バグ自体は既知のものだったようで、修正がされていました。 test_runner: infinite loop in FileTest#drainRawBuffer when child stdout contains FF 0F followed by large size bytes · Issue #62693 · nodejs/nodeVersion v25.9.0 (also reproduced on v24.14.1 LTS, v22.21.0 LTS, v23.4.0) Platform Darwin 25.

By Sakashita Yasunobu
青空文庫のParser

青空文庫のParser

青空文庫のParserを作ってます。 GitHub - P4suta/aozora: Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks.Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks. - P4suta/aozoraGitHubP4suta Rustで作ってますが、配布物はcargoのほかにnpm/pypiでも入手できます Documentation * Playground — try it in

By Sakashita Yasunobu