1. まっすぐな せんは、どうして まがるの?
1. 建物の直線が、写真だと樽のようにふくらむのはなぜか
1. 中心と周辺で倍率が変わると、直線は樽型にも糸巻き型にも曲がる
ノートの ますめを、レンズに ちかづけて とったと します。まんなかの せんは まっすぐなのに、はしに いくほど、せんが まがって うつる ことが あります。
これは、レンズが しゃしんの まんなかと はしで、ものを おおきく うつす わりあいを、すこし かえて しまうからです。はしの ほうが 小さく うつると、せんは そとへ ふくらみ、たるの ように なります。はんたいに はしが 大きく うつると、まんなかへ へこむ ような かたちに なります。
広く うつせる レンズでは、たるの ような まがりが、よく 見られます。ただし、ぜんぶの カメラで いつも こう なる、という わけでは ありません。
四角い窓や本棚を広角レンズで撮ると、真ん中の線は直線のままなのに、画像の端に近い線ほど曲がっていることがあります。この曲がりを歪曲収差といいます。
リコーの技術報告によると、原因は、画像の中心付近と周辺とで、レンズが写す倍率がちがうことです。周辺の倍率が中心より小さいと、直線は外側へふくらんで樽のような形になり(樽型)、大きいと、中心へ引っぱられた糸巻きのような形になります(糸巻き型)。両方が混ざって波打つ「陣笠型」もあります[1]。
デジタルカメラのズームレンズでは、いちばん広く写せる広角端で、樽型の曲がりが出ることが多いと説明されています[1]。では、この曲がりは、レンズを工夫して消せないのでしょうか。
四角い窓枠を広角で撮ると、画像中央を通る線は直線のままなのに、端に近い線ほど曲がる。これが歪曲収差である。リコーのテクニカルレポートは、原因を、画像の中心付近と周辺とで横倍率(像の大きさの倍率)が異なることだと説明する[1]。
周辺の倍率が中心より小さいと、直線は外へふくらんで樽型になり、大きいと、内側へ引かれる糸巻き型になる。両方が混ざる陣笠型もある。デジタルカメラ用のズームレンズでは、広角端で樽型になることが多いとされる[1]。
ここで疑問が出る。広角端で曲がるなら、光学設計で曲がりを消せばよいのではないか。次の章で見るとおり、これは「できない」ではなく、「小型化と両立しにくい」という話になる。
2. レンズを 小さく したい カメラは、どう した?
2. 小さなカメラに広角ズームを入れるために、曲がりを残す選択
2. リコーはなぜ、光学に残る曲がりを補正で戻したのか:2005年の事例
カメラを 小さく したい とき、レンズの ゆがみを ぜんぶ なくそうと すると、レンズを たくさん つかったり、大きく したり しなくては ならないことが あります。
2005ねんに、リコーという 会社の ぎじゅつ者たちは、ここで 考えを かえました。ゆがみの 一ぶは レンズに のこして、カメラの なかの コンピューターで、しゃしんを まっすぐに もどす やり方です。
こう すれば、小さな カメラに 広く うつせる ズームレンズを のせやすく なります。レンズの なかで がんばる か、あとで けいさんで なおす か。どちらも 道具の 一つなのです。
歪曲収差は、ズームレンズの広角端から望遠端まで、すべての焦点距離で、光学設計だけで完全になくすのは極めて難しいとされています。さらに、広く写せるようにするほど曲がりが出やすくなり、それを抑えようとするとレンズが大きくなりがちです[1]。
そこでリコーは、曲がりや周辺の暗さ(周辺減光)をカメラの中のソフトウェアで補正する技術を開発し、2005年に報告しました。光学では「小さく作ること」を優先し、残る曲がりは計算にまかせる、という分担です[1]。
ここで大切なのは、「光学ではどうしても直せない」という意味ではない点です。小型化と両立しにくいので、計算にも手伝ってもらう、というのが報告の筋です。この考え方が、いまのカメラ全体に当てはまるかどうかは、この資料だけでは言えません。
では、計算で戻すには、まず「どのくらい曲がっているか」を知る必要があります。どうやって測るのでしょうか。
歪曲収差を光学設計だけで、広角端から望遠端までのすべての焦点距離で完全に消すことは、極めて難しい。しかも広角化は収差を増やすので、その補正を光学で行うと、レンズ枚数や外形が増え、小型化の障害になる。リコーのレポートはこの点から出発し、歪曲と周辺減光を、カメラ内の画像処理で補正する技術を開発したと述べる[1]。
注意したいのは因果の向きである。レポートが述べているのは「光学では直せない」ではなく、「光学だけで抑えると小型化の障害になる」ことだ。この報告では、補正をソフトに分担させることで、光学側が小型化を優先できる設計を示している。ただし、これは2005年のリコーの事例であり、他社の設計方針や、現在のカメラ全般にそのまま当てはまると言う根拠は、この資料にはない。
ソフトで戻すには、まず、レンズがどれだけ曲げているかを数値で知る必要がある。その測り方を次に見る。
3. まがりの 大きさは、どう はかるの?
3. 「直線は直線のはず」という手がかりで、曲がりを測る
3. 直線の写りを手がかりにする校正法:おもり線法から、格子模様の撮影へ
まず、ほんとうは まっすぐな ものを、カメラで とります。たとえば、たてに ぴんと はった ひもや、ますめの 紙です。
しゃしんの なかで その せんが まがって いれば、その まがりぐあいが、レンズの くせです。くせが わかれば、まっすぐに もどす けいさんを 作れます。
むかしは、この はかり方に、手で うごかす そくていきで 1日ほど かかったと、かいてある 本も あります。いまは、ますめの ような もようを、むきを かえて とるだけで、カメラの くせを しらべる やり方が あります。
1971年にD・C・ブラウンが発表した「おもり線法」は、考え方が単純です。まっすぐな線は、完全なレンズならまっすぐに写るはずです。そこで、写真の中で線が曲がった分を、レンズのくせとして数え、最小二乗法という計算で、曲がり方の数値を求めます[3]。
ただし、これはブラウンの原論文ではなく、1988年のフライヤーの解説で読んだ内容です。当時は、1回のデータ取りに手動の測定機で1日ほどかかったとも書かれています[3]。
それから約30年後、マイクロソフトリサーチのZhang(チャン)は、平らな模様(たとえば格子)を、向きを変えて撮るだけでカメラの性質を調べられる方法を、1998年に技術報告で発表しました。それ以前は、2〜3枚の直交する面など、高価な装置が必要でした。報告は、この方法を「使いやすく柔軟」と述べています[4]。
なお「向きを2つ変えれば足りる」というのは最低の条件で、実際には、多めに撮るのがふつうです。さて、測った曲がりを、どんな式で表すのでしょうか。
曲がりの測り方の源流にあたるのが、ブラウンの「解析的おもり線法」である。原理は、まっすぐな線は完全なレンズならまっすぐに写るはず、というもの。直線からのずれは、レンズの放射歪みと偏心歪みのせいだとして、最小二乗法で歪みの数値を求める[3]。1971年に発表された。ここでは、1988年のフライヤーの解説をもとに紹介する。解説によれば、1960年代末の測定では、手動の測定機で1回のデータ取りに1日ほどかかった。
この手間を大きく減らしたのが、Zhangの校正法(マイクロソフトリサーチの技術報告、1998年12月)である。平面の模様を、少なくとも2つの向きで撮れば、カメラの内部パラメータが求まる。従来は、2〜3枚の直交する面など、高価な装置が必要だったので、論文は「使いやすく柔軟」と述べる。ただし「2枚で足りる」はあくまで最低条件で、実用では余裕をもって多めに撮る。[4]
測る道具は変わっても、考え方は共通している。直線のはずのものが曲がって写っていれば、その曲がりを式で表し、数値を決める。次に、その式を見よう。
4. まがった しゃしんを、どう もとに もどすの?
4. 直した画像の画素から、元の画像をさかのぼって色を取る
4. 多項式で歪みを表し、補正後の画素から補正前の位置を逆算する
しゃしんは、小さな 点の あつまりです。この 点を、「がそ」と いいます。もどす ときは、「なおした あとの この 点の 色は、まがった しゃしんの どこに あるかな」と、うしろむきに さがします。
さがした ばしょは、ちょうど 点の まんなかとは かぎりません。点と 点の あいだに なる ことも あります。そんな ときは、まわりの 4つの 点の 色を まぜて、ちょうど いい 色を 作ります。
こうして、まがった しゃしんの 色を とりなおして、まっすぐな しゃしんを 作るのです。
曲がりは、中心からの距離を使った式で表せます。ふつうのカメラの歪みは、中心から外へ向かう「放射」の成分が大部分で、とくに最初の項が大きい、とZhangは述べています。それ以上こまかいモデルは効果が小さく、かえって計算が不安定になる、とも書いています[4]。
リコーの方法では、レンズ設計の光線追跡の計算で歪みを出し、ズームの位置と撮影距離ごとに、中心からの距離の多項式で近似します。この多項式の係数をカメラにもたせ、補正に使います[1]。
実際の補正は、うしろむきにたどります。「直した後の画像の、この画素の色は、元の画像のどこにあるか」を式で計算し、そこから色を取るのです。計算した位置は小数になることがあるので、近くの4画素から線形補間して、色を決めます[1]。Lensfunという公開ソフトの説明も、式は「歪みのない座標」から「歪んだ座標」へ写す向きに書かれていると述べ、この逆向きの取り出しと相性がよい向きだと説明しています[5]。
歪みの式は、中心からの距離(像高)rの偶数乗の項の和で書かれることが多い。Zhangの論文では、歪みのない正規化座標(x, y)に対し、歪んだ座標が x + x[k1(x²+y²) + k2(x²+y²)²] の形で表される。論文は、ふつうのカメラの歪みは放射成分が支配的で、とりわけ最初の項(k1)が大きく、それ以上こまかいモデルは効果が小さいうえ、数値計算が不安定になると述べる[4]。
リコーの方法は、レンズ設計で行う光線追跡の計算から歪曲収差を求め、ズーム位置と撮影距離ごとに、像高の多項式で近似して係数を決める。補正では、収差のない正しい画素位置(x0, y0)から、補正前の画素位置(x, y)を逆に計算し、そこから色を取る。補正前の位置は整数になるとは限らないので、近傍の4画素を使って線形補間する[1]。
なぜ「補正後から補正前へ」とさかのぼるのか。補正前の画素から補正後の位置へ押し出すと、飛び飛びになり、穴が空きやすい。補正後の全画素について色をもらうなら、穴は出ない。このため、式を「歪みのない座標から歪んだ座標へ写す」向きで書くのが都合よい。Lensfunのマニュアルも、式がこの向きで定義されていると述べる[5]。穴が空きやすいという説明は、この向きが選ばれる理由を考えた自分の整理であり、資料に書かれた言葉ではない。
5. なおした しゃしんは、どのくらい まっすぐ?
5. 直した結果の精度と、代わりに失うもの
5. 補正後の最大ずれは3ピクセル:精度、処理時間、トリミングの代償
リコーの じっけんでは、まっすぐな せんが 入った しゃしんを、250まい とりました。なおした あとの 135まいを しらべると、まっすぐな せんからの ずれは、いちばん 大きくて 3つぶん(3がそ)でした。
ただし、この けっかは 2005ねんの ためしの カメラの ものです。いまの カメラの ものでは ありません。
また、なおすと、しゃしんの はしが、すこし きりとられる ことが あります。きれいさが ほんの すこし 下がる と いう せつめいも あります。なおせる、というのは、いい ことだけ では ないのです。
リコーの報告では、直線を含む画像を計250枚撮りました。撮影距離は300mmから5000mm以上、ズーム位置も変えています。補正後の画像135枚で見ると、直線からのずれは、最大でも3ピクセルでした。これは、画面の歪みの割合を表すTVディストーションにすると、約0.1%です。ただし、2005年の試作機での結果で、現在のカメラの値ではありません[1]。
計算には時間もかかります。全画素を補正すると約29.5秒かかったのが、歪みの小さい中心部は補正せず、周辺部だけを補正する工夫で、約15秒になりました。これも2005年当時の試作の値です[1]。
キヤノンのカメラの説明書は、補正をすると画像の周辺が少しトリミングされ、解像感がわずかに下がり、画角も少し変わることがある、と書いています。これは1つの機種のマニュアルの話で、全社共通とはいえません[2]。
リコーのレポートは、補正の精度を実験で示している。撮影距離300mm〜5000mm以上、ズーム位置も変えて、直線を含む画像を計250枚撮影した。補正後の画像135枚のうち、直線からのずれの最大は3ピクセル、TVディストーション換算で約0.1%だった。これは2005年の試作機での結果で、現行機の値ではない[1]。
処理時間は、カメラ内で補正するときの課題だった。2048×1560画素で全画素を補正すると29.5秒かかる。歪みの小さい中心部を補正せず、周辺部(対角の50%を半径とする円の外)だけを補正する工夫で、約15秒、つまりほぼ半分になった。これも2005年の試作の値であり、今のカメラの速度を表すものではない[1]。
補正には代償もある。キヤノンのユーザーガイド(機種C011)によれば、歪曲収差補正を使うと、画像の周辺が少しトリミングされ、解像感がわずかに下がり、画角も少し変わることがある。これは補正した画像を、長方形に収める必要があるためと考えられるが、その理由はガイドに書かれていないので、ここでは推測にとどめる。全社共通の仕様とも言えない[2]。
補正は、ただで手に入る魔法ではなく、小型化と画質と処理時間の折り合いの上に成り立つ。では、この考え方は、今のスマホの写真にどうつながるのか。
6. スマホの 広い しゃしんで、かおが のびるのは なぜ?
6. スマホの超広角で顔が伸びる問題を、画像処理で戻す研究
6. 顔だけ別の写し方に合わせる:スマホの超広角ポートレートの補正
スマホの とても 広く うつせる カメラで ともだちを とると、はしに いる 人の かおが、よこに のびて うつる ことが あります。
これは、せんが まがる ゆがみとは ちがう、べつの ゆがみです。そこで、アメリカの 大学や 会社の けんきゅうしゃたちは、かおの ぶぶんだけを、もとの かたちに もどす けいさんを 作りました。
かおを もどしても、うしろの けしきが ゆがまない ように、かおと けしきで、べつべつの ルールで うごかして います。
最近のスマホには、とても広い範囲が写る超広角カメラがあります。この写真では、画像の端にいる人の顔が引き伸ばされたり、ゆがんだりしがちです。これは、樽型の歪曲収差とは別の、遠近のゆがみです[6]。
2019年、Shih(シー)、Lai(ライ)、Liang(リャン)の3人(MITとGoogle)は、この顔の伸びを自動で戻す方法を報告しました。顔の部分は「立体射影」という写し方に近づけ、背景は通常の透視投影のまま保つよう、最適化で作った網目(メッシュ)で画像を動かします。視野70°〜120°の範囲で、顔の形が戻り、背景は保たれると報告されています。モバイル機で、対話的な速さで動きます[6]。
直線を直す補正と、顔を戻す補正は、目的も式もちがいます。ただ、「レンズが写し方を変えてしまう分を、画像処理で逆にたどる」点は共通しています。
超広角のスマホ写真では、周辺の人物の顔が引き伸ばされ、ゆがんで写る。これは樽型の歪曲収差とは異なる、視野が広いほど強くなる遠近のゆがみである。両者を混同しないことが、この章の出発点になる[6]。
Shih、Lai、Liang(MIT/Google、SIGGRAPH 2019)の方法は、顔の領域では立体射影に、背景では通常の透視投影に合うよう動く、内容適応型の網目(メッシュ)を最適化で求める。これにより、70°〜120°の視野で顔の形を戻しつつ、背景の直線を保つ。処理は自動で、モバイル機で対話的な速さで動くとされる[6]。
顔の形だけを戻すと、背景が不自然に動くおそれがある。この研究は、顔と背景に別の写し方を割り当て、境目をなめらかにつなぐことで、その問題を避けている。歪みの式を作り、逆算して色を取る、という先の補正の考え方に、「何を保ち、何を直すか」の選択を足した例とみることができる。ただしこの見方は、資料の記述そのものではなく、ここでの整理である。
7. ますめの 紙を とって みよう
7. 方眼のノートを撮って、端の線の曲がりを見る
7. 方眼紙を撮り、補正の考え方を自分の目で確かめる
今日 できること
ますめの ノートを、かべに ひろげて テープで とめます。カメラを ちかづけ、ノートが 画めんいっぱいに なるように とります。まんなかと はしで、線が どう うつるか くらべて みましょう。
とおくから とった ものと、見くらべても おもしろいです。
もし 線が まがって いても、それが カメラの なかで すでに なおされた あとの もの かどうかは、見た だけでは わかりません。そう 考えて 見るのも、大切です。
今日できること
方眼のノートを壁にテープで貼り、スマホやカメラの広角側で、ノートが画面いっぱいになる距離から撮ってみましょう。画像の中心と端で、線のふくらみ方をくらべます。ズームのあるカメラなら、広角端と望遠側の撮影を見くらべると、曲がり方のちがいが分かりやすいと思います。
線が曲がって見えなくても、不思議ではありません。カメラの中ですでに補正された画像が出てくる機種もあるからです。曲がらなかったとき、「そもそも補正が働いているのでは」と考えるのが、この章の学びです。
資料を読んでみたくなったら
リコーのテクニカルレポートNo.31は、図と式が豊富で、読み進めると、レンズ設計の言葉が少しずつ分かってきます。
方眼紙で確かめる
方眼の紙を壁に貼り、画面いっぱいに撮る。中心の線と端の線を比べ、ふくらみ(樽型)か引っぱり(糸巻き型)かを見る。ズームのあるカメラなら、広角端と望遠側で比べると差が出やすい。ただし、機種によってはカメラの中で補正済みの画像が出るので、曲がらなくても不思議ではない。曲がらなかった場合は、その機種が補正しているのではないか、と考える手がかりにできる。
原典にあたる
リコーのテクニカルレポートNo.31は、歪みを多項式で表す手順と、画素の取り出し方、実験の条件を具体的に示す。Zhangの技術報告MSR-TR-98-71は、格子模様を向きを変えて撮るだけでカメラの性質を求める方法を述べ、放射歪みの式も載せている。いずれも英語や専門用語が多いが、図と式を追うだけでも、本記事の流れを自分の目で確かめられる。Lensfunのマニュアルは、公開ソフトでの補正の考え方を知る入口になる。
しらべた もとの じょうほう
参考にした情報源
参考にした情報源と、その使い方
本文の[ ]の番号は、下の資料の番号です。
- リコー「リコーテクニカルレポート No.31 デジタルカメラにおける画像補正技術」2005年 https://jp.ricoh.com/technology/techreport/31/pdf/A3114.pdf (歪曲収差の説明、補正の手順、実験結果、処理時間)
- キヤノン「カメラユーザーガイド:レンズ光学補正」 https://cam.start.canon/ja/C011/manual/html/UG-05_Shooting-1_0240.html (補正のトリミング・解像感・画角の注意)
- Fryer, J. G. "Lens distortion and film flattening" ISPRS 1988 https://www.isprs.org/proceedings/XXVII/congress/part5/194_XXVII-part5.pdf (ブラウンのおもり線法の解説)
- Zhang, Z. "A Flexible New Technique for Camera Calibration" Microsoft Research, MSR-TR-98-71, 1998 https://users.ece.northwestern.edu/~yingwu/teaching/EECS432/Reading/Zhang_TR98.pdf (平面模様による校正と放射歪みの式)
- Lensfun マニュアル「補正」 https://lensfun.github.io/manual/latest/corrections.html (歪みの式の向き)
- Shih, Y., Lai, W.-S., Liang, C.-K. "Distortion-Free Wide-Angle Portraits on Camera Phones" SIGGRAPH 2019 http://people.csail.mit.edu/yichangshih/wide_angle_portrait/ (超広角ポートレートの顔の補正)
なおした ところ
更新履歴
更新履歴(改版の記録)
- 初版を公開。
このサイトでは、公開した記事の本文は原則として書き直しません。誤りが見つかったときや、内容が古くなったときだけ手を入れ、その理由をこの欄に残します。