『朱から蒼』をロジカルに並べる ─ 空のグラデーションを波長と太陽高度でソートするアプローチ

空港散歩 V 朱から蒼 の裏側

10月の写真展「空港散歩 V 朱から蒼」に向けて、作品のセレクトおよび図録と展示の並び順を詰めている。30点の作品を、夕焼けの朱(fujibaオレンジ)から、星景の蒼へと、時間の流れに沿ってグラデーション状に並べる。これがコンセプトの核なので、並び順は妥協できない。

ところが、いざ自分の手元の写真群を並べようとすると、これが思いのほか難しい。EXIFの撮影時刻で素直に並べても季節の違いなどで全く意味をなさなかったり、HSVで色相ソートするとオレンジと紫が隣り合うような事故が起きたりする。「感覚で並べる」のはもちろん最終工程でやるけど、その前段として「なんらかのロジックに従った一次案」が欲しかった。

ということで作ったのが、自作ツールAuroraSort。空の領域を取り出して、その中から支配色を見つけて、最後にそれをどう並べるか、という3段構えのパイプラインだ(最終的には4段階となる)。

正直に書くと、前段の「空を抽出して支配色を取る」ところまでは早い段階で構想があった。問題は最後の「で、その色をどの順で並べるんや?」という部分で、ここはノーアイデアからのスタートだった。今回はこの並び替えのコアを、古典的な物理と天文計算で組み立ててみた。

課題:HSVでは「夕→夜」を素直に並べられない

写真の色順ソートで最も手軽なのはHSV(色相・彩度・明度)モデルのH(色相)を使うやり方だ。ただ、これが夕方〜夜の写真群と相性が悪い。

  1. 不連続性: 色相環は円なので、赤(0°)と紫(300°付近)が隣り合ってしまう。「朱から蒼」の朱が、何故か夜の濃紺の隣に来てしまう。
  2. 被写体の影響: 写真全体の色を平均すると、地面・滑走路・機体などのオブジェクトに引っ張られて、純粋な「空の色」でソートできない。

「空の色の遷移」という連続的な変化を、HSVという円環モデルだけで表現するのは無理がある、というのが出発点だ。

解決策:「主波長」と「太陽高度」の2軸で並べる

並べ方をどう決めるか。最終的に行き着いたのが、空の色を主波長(nm)に変換したうえで、太陽高度のフェーズと組み合わせるという2軸構成だった。これに、前段で考えていた「空の切り抜き」と「支配色抽出」を前処理として連結して、全体としては4段階のパイプラインになっている。

1. 「空」だけを切り抜く(SegFormer)

まずは空の領域だけを抽出する。Hugging Faceの nvidia/segformer-b5-finetuned-ade-640-640 モデルを使い、ピクセル単位で「空」だけをマスクする。

ディープラーニングの出番は実のところここだけで、「優秀なハサミ」として使っているだけ。並び替えそのものの判断ロジックは持たせていない。

2. KMeansでの「支配色」抽出

空を切り出したあとは、その中から「支配色」を見つける。単純な平均色だと、夕日の白飛び部分に引っ張られて色が薄くなるし、雲の白も混ざる。そこで、

  • HSV値ベースで、極端に明るい(≒白飛び)ピクセルを除外
  • scikit-learn の KMeansで色をクラスタリング
  • 彩度・明度が高く、ある程度の面積を持つ「鮮やかな色」を優先

という処理を挟んだ。これで「この写真の空を最も代表する1色」が決まる。ここまでが前処理。次からが、今回のメインテーマだった「ソートのコア」になる。

3. RGB → 主波長(Dominant Wavelength)への変換 ← ソートの第一軸

支配色のRGB値を、CIE 1931色度図上での「主波長(nm)」に変換する。

可視光スペクトルという1次元の軸に乗せることで、HSVの円環問題(赤と紫が隣り合う問題)は根本から消える。オレンジ(約600nm)から青(約470nm)へ、文字通りスペクトル順にリニアに並ぶ。「朱から蒼」のコンセプトを、そのまま波長軸に落とし込めるイメージだ。

4. 太陽高度によるフェーズ判定 ← ソートの第二軸

波長だけでもかなり綺麗に並ぶが、夜間に偶然オレンジっぽい色が出た写真(地上照明など)が夕焼け側に混ざってしまう、といったケースが残る。これを抑えるためにEXIFの撮影時刻を使う。pysolar で、撮影地(鳥取空港)と時刻から太陽高度を算出して、空の状態を以下のフェーズに分類する。

  • golden: ゴールデンアワー(太陽高度 6° 〜 -1°)
  • civil: ブルーアワーへの過渡期(-1° 〜 -4°)
  • blue / nautical: ブルーアワー・薄明(-4° 〜 -12°)
  • night: 夜(-12° 以下)

ソート優先度は「フェーズ → 波長 → 明度」の順。これで、ノイズや特殊なライティングの誤判定を吸収しつつ、時系列と色の遷移が同期した並び順が出てくる。

出力:A4コンタクトシート+Excel

ディレクトリを指定して走らせると、画像群を解析して、A4サイズのコンタクトシート(PNG)と詳細なExcelファイルが出る。

コンタクトシートには各画像の下に支配色のカラーパレット、HEXコード、主波長(nm)がついてくるので、図録のレイアウト検討にも、印刷所への入稿前チェックにも、そのまま使える。

「並べる」のは最後まで人間の仕事

ここまでツールの話ばかりしたけれど、AuroraSortが出してくれるのはあくまで「論理的にそれっぽく見える一次案」だ。最終的な並び順は、写真同士のリズム、章の区切り、被写体(機体)の向きなど、ツールが見ない情報も合わせて、自分の目で詰める。今回の30点も、AuroraSortの出力を元にしつつ何度も入れ替えて固まりつつある。

流行りのAIに丸投げするのではなく、「ここはAI、ここは物理、ここは天文、ここは自分の目」と適材適所で組み合わせる。「朱から蒼へ」という長尺のグラデーション構成を、裏方として支えてくれているのがこの自作ツールだ。


写真展「空港散歩 V 朱から蒼」は2026年10月23日に富士フォトギャラリー銀座からスタートし、11月に大阪・イロリムラ プチホール、その後鳥取空港(会期調整中)へと巡回します。AuroraSortが並べた30点が、実際にどう「朱から蒼へ」流れていくのか、会場でぜひ確かめてください。

Aviation Photographer(航空写真作家) / Programmer

航空写真作家でありプログラマ。鳥取と羽田を拠点に情景的ヒコーキ写真を追求。PENTAXユーザー。阪神が試合してる時はうるさいです。

前へ

関連項目