市販のUSB webカメラを3台改造して、可視光をいっさい使わない「カラー動画」を撮る——という自作装置の記録です。写っているのは人の目に見えない赤外線だけ。それを3つの波長に分けて撮り、それぞれに赤・緑・青を割り当てて重ねると、色のついた映像になります。
作ったのはYouTubeで実験や技術検証の動画を公開しているProject 326。中国南部在住で、これまでにも安価なサーモカメラを顕微鏡に仕立てたり、赤外線レーザーと反射望遠鏡を組み合わせて長距離の暗視装置を作ったりしている人です。今回のシステムを、技術系メディアのHackadayが7月25日に取り上げました。
カメラが捨てている光
スマートフォンでもwebカメラでも、中に入っている撮像素子(イメージセンサー)はシリコンでできています。このシリコン、人の目よりずっと広い範囲の光に反応します。目に見えるのはおおよそ400〜700ナノメートルの範囲ですが、シリコンのセンサーはそこから1100ナノメートル近くまで感度がある。つまり、目に見える範囲と同じくらいの幅が、赤外線側にもうひとつ広がっているわけです。
ところが、ふつうのカメラはこの赤外線をわざわざ捨てています。センサーの手前に「赤外線カットフィルター」という部品が入っていて、届く前にせき止めているからです。理由は色を正しく出すため。カラーカメラは画素ごとに赤・緑・青の色フィルターを貼り分けて色を判別していますが、この色フィルターは赤外線に対してはほとんど選り分ける力を持ちません。赤外線が入り込むと、どの画素も一様に明るくなって色が濁ってしまう。だから最初から入れない、という設計です。
Project 326のシステムは、ここをそっくり裏返しています。赤外線カットフィルターを外して赤外線を通し、代わりに可視光のほうを止める。ふだん捨てているものだけで一本の映像を作る、という発想です。
サーモグラフィとの違い
ここで扱っている赤外線は、人や機械が赤や黄色に光って見えるサーモグラフィ(熱画像)のものとは別です。
赤外線と一口に言っても幅が広く、波長でいくつかの区分に分かれています。今回使っているのは750〜940ナノメートルの「近赤外線」。可視光のすぐ隣にあたる領域で、ふつうのガラスレンズを透過しますし、シリコンのセンサーでそのまま撮れます。一方、サーモグラフィが見ているのは8〜14マイクロメートル前後の「遠赤外線」。近赤外線の10倍以上も波長が長く、ガラスを通らないのでゲルマニウムなどの特殊なレンズが要りますし、センサーも専用のものになります。
撮っている中身も違います。サーモグラフィは、物体そのものが温度に応じて出している赤外線を捉えるので、真っ暗闇でも光源なしで熱の分布が写ります。今回の近赤外線カメラが写しているのは、太陽や赤外線ライトから届いた光の「反射」です。可視光のカメラとまったく同じ原理で、使う光の波長が違うだけ。夜に撮りたければ、赤外線の照明を別に用意する必要があります。防犯カメラの暗視モードや、テレビのリモコンが使っているのもこの近赤外線です。
三つの波長を分担する構成
装置はUSB webカメラ3台でできています。3台とも赤外線カットフィルターを取り外し、代わりに波長を選り分ける「バンドパスフィルター」を1枚ずつ入れてあります。通す波長は、1台目が750ナノメートル、2台目が850ナノメートル、3台目が940ナノメートルを中心とした帯。使われているのはダイクロイックフィルターという種類で、薄い膜を何層も重ねた構造によって、狙った波長だけを通し、それ以外は反射して返します。
3台の担当範囲が重なっていないことは、実際に確かめられています。それぞれの波長に合わせた赤外線ライトを当てたところ、対応するカメラ1台だけが反応し、残りの2台には何も写らなかった。帯が重なると色が混ざって濁るので、ここは仕組みの要になるところです。
ただし、市販のwebカメラをそのまま3台並べるわけにはいきませんでした。もとの筐体はセンサーの位置がきちんと決まらず、個体ごとに微妙にずれてしまう。3台の映像を後から重ねる以上、これは致命的です。そこで筐体そのものを自作し、センサーを決まった位置に固定できるようにしています。

白黒映像から色を作る工程
3台のカメラは、それぞれRaspberry Piにつながっています。受け取るのは白黒の映像が3本。1台につき1つの波長しか通していないので、出てくるのは「その波長がどれくらい返ってきたか」という明るさの情報だけで、色はありません。
色は後から与えます。750ナノメートルの映像を赤、850ナノメートルを緑、940ナノメートルを青、というふうに、3本の白黒映像を光の三原色に割り当てて重ねる。どの波長にどの色を当てるかは自由に変えられるので、同じ素材から違う色調の映像を作ることもできます。
重ねる前には位置合わせが要ります。カメラが3台ある以上、映像は3つの違う視点から撮ったものになるので、そのままでは像がずれる。最初の数フレームを手作業で合わせ、あとはスクリプトで同じ補正を残り全部に適用する、という手順を踏んでいます。
つまり、3台の白黒カメラで撮った3枚を、赤・緑・青として1枚に束ねている。ふつうのカラーカメラが1枚のセンサーの内側でやっていることを、外に出して3台に分けた格好です。

製作でつまずいた箇所
当初の構想はこの形ではありませんでした。レンズを1本にして、その後ろにビームスプリッター(光を分けるプリズム)を2枚置き、入ってきた光を3方向に振り分けて3つのセンサーに導く。放送用のカラービデオカメラが昔から使ってきた「3板式」と同じ考え方です。この方式なら視点が1つしかないので、3台の位置ずれという問題がそもそも起きません。
ただ、これは3Dプリントした枠では歯が立ちませんでした。プリズムの位置合わせに必要な精度が、3Dプリンタで出せる寸法精度を超えていたわけです。結局、レンズ3本を並べる構成に落ち着きました。
その代わり、レンズが3本あることの面倒も引き受けることになります。レンズには個体ごとに固有の収差(像のゆがみやにじみ)があり、3本それぞれ癖が違う。位置合わせが素直に決まらないのはこのためです。
視差のほうは、思ったより軽く済んだといいます。3台が並んでいる以上、近くのものを撮れば見る角度の差がそのまま出ますが、距離が離れるほど差は小さくなる。35メートルまで離れると、ずれは1ピクセル未満に収まったそうです。風景を撮るぶんには実質的に無視できる水準で、逆に手元のものを撮ろうとすると、ここははっきり効いてきます。
予想外だったのは、時計のずれでした。3台のカメラは、それぞれ自前の発振器で撮影のタイミングを刻んでいます。この発振器の精度がさほど高くないため、3台の歩調が少しずつ食い違っていく。その量が、1分あたり1〜2フレーム分。数秒の映像なら問題になりませんが、長く回せば回すほど、3本の映像は別々の瞬間を写すようになっていきます。安いwebカメラを3台並べるという構成の、いちばん地味で厄介な代償かもしれません。
エアロクロームに似た仕上がり
できあがった映像は、独特の色をしています。Hackadayが載せている作例は湾に面した高層ビル群を撮ったもので、空と水面は淡い青灰色、岸辺の木々はピンク色に写っています。
木々が目立つのには理由があります。植物の葉は、近赤外線を非常によく反射するからです。葉緑素は赤と青の光を吸収して光合成に使いますが、近赤外線には使い道がないので、そのまま跳ね返す。人の目には緑にしか見えない葉が、近赤外線ではまぶしいほど明るく写ります。しかも反射のしかたは波長によって少しずつ違うので、3つのチャンネルの明るさに差が生まれ、それが色として立ち上がってきます。

この色合いは、かつてコダックが売っていた赤外線フィルム「エアロクローム」を思わせるものです。もとは航空偵察のために1940年代に作られたフィルムで、緑に塗った偽装を本物の植生と見分ける用途がありました。近赤外線に感度があるため、木々が赤やピンクに、空が濃い青に写る。その現実離れした色が受けて、のちにアートや音楽のジャケット写真にも使われるようになりました。2009年に製造が終わり、いまは中古の在庫が高値で取引される存在です。
ただし、中身まで同じというわけではありません。エアロクロームは、近赤外線に加えて可視光の緑と赤も記録し、3つを一段ずらして三原色に割り当てるフィルムでした。見えている光と見えていない光の混合です。対して今回のシステムは可視光を完全に締め出し、近赤外線だけの3波長で組み立てている。見た目が近くても、材料が違います。
留意点
元記事のタイトルには「トゥルーカラー(true color)」という言葉が使われていますが、厳密にはこれは疑似カラー(フォールスカラー)です。赤外線には、そもそも人が見るところの「本来の色」がありません。見えない波長を、見える色に置き換えて表示しているだけで、コメント欄でもそこを指摘する声が出ていました。
とはいえ、1本の白黒映像に後から色を塗る「着色」とも違います。3つの波長を別々に撮り、それぞれを独立したチャンネルとして三原色に割り当てている点は、ふつうのカラーカメラの組み立て方そのままです。色の対応づけが人の目とずれているだけで、情報としては3チャンネル分きちんと入っている。おそらく「トゥルーカラー」という言い方は、そこを指しているのだと思われます。
もうひとつ。これは個人の実験プロジェクトで、キットが売られているわけでも、手順書が配布されているわけでもありません。webカメラを分解して赤外線カットフィルターを剥がし、フィルターを収める筐体を設計してプリントし、3台分の映像を合わせるスクリプトを書く——という一通りが必要になります。材料そのものは安く済みますが、そこから先の手間はかなりのものです。


コメント