世界を動かす技術を、日本語で。

鉄道網をフラットベッドスキャナーとして利用する

2026年8月18日原文(philo.gay)

概要

  • 工業用リニアスキャンカメラを使い、鉄道やフェリーから超ワイド写真を撮影する試み
  • 列車やフェリーの移動を利用し、スリットスキャン技術で画像を生成
  • センサー、加速度計、GPSなど複数の技術的課題に直面
  • 撮影から画像処理、色補正までの詳細な技術的工夫
  • 今後の課題や展望、協力者への感謝

鉄道ネットワークをフラットベッドスキャナーとして活用

  • 工業用リニアスキャンカメラ を使い、列車やフェリーの窓から 超ワイドな写真 を撮影するプロジェクト
  • カメラは 移動する車両の窓外に向けて設置 し、 1本の垂直ライン を連続で撮影
  • 撮影したライン画像を 高速で取得・合成 し、 全体写真 として再構成
  • 画像生成には 被写体の動きや速度の計測・補正 が不可欠
  • San Francisco~OaklandフェリーMBTA Orange Line などで実践

背景と既存技術

  • 1990年代、 大型フィルムカメラ向けにデジタルスキャンバック が開発
  • GigawipfScannoramic Project などの先行事例を調査
  • 被写体が静止しカメラが動く」という逆転発想を採用
  • 既存のスキャンバックは高価かつ古いPC環境が必要なため、自作を決意

スリットスキャンの初期実験

  • 最初は スマートフォンを椅子に載せてソファをスキャン する簡易実験から開始
  • フレームから左端のコラムだけを抽出して合成 するコードを作成
  • 速度の不均一さ が画像の歪みや不鮮明さの原因となることを発見
  • 速度計測の重要性 を認識し、加速度計や動画のフレームレート調整を試行

工業用リニアカメラの導入

  • Basler ruL2048-19gm (1x2048ピクセル、秒間19,000ライン)をeBayで格安入手
  • 高照度環境 が必須(最低露光時間1/100秒)、 昼間撮影限定
  • Gigabit Ethernet接続 とSDKでPCと連携、 自作プログラムで画像取得
  • 三脚マウント用ケース を3Dプリンターで自作し、 各種センサー&マイコン を搭載
    • 6軸加速度・ジャイロセンサー
    • GPS(鉄道内では受信困難)
    • SAMD21マイコン

センサーと画像補正

  • 加速度センサーによる速度補正 で画像の伸縮や歪みを大幅に改善
  • GPSは鉄道内で受信困難&サンプリングレート低すぎ で補正には不向き
  • パララックス(視差)補正 も必要で、 距離ごとのピクセル変換値を手動調整
  • 手動で距離/速度パラメータを調整し、画像をセグメントごとに合成

ソフトウェアと画像処理

  • Basler純正ソフトPylon でプレビューしつつ、自作プログラムで本撮影
  • OpenCVのGUIは高速カメラに不向き だったため、 Dear ImGUI + OpenGL3 で独自GUIを構築
  • 加速度データのPC側変換・同期 でバグ多発、シリアル通信のタイミングも課題
  • grindstone という自作ポストプロセッサで、数千ラインの生データから画像を生成
  • NumPyによる高速化パイプライン化 で処理効率と実験性を向上

カラー化と色補正

  • Basler ruL2098-10gc (3x2098ピクセル、カラー対応)を追加導入
  • 赤・緑・青の各ラインが分離しているため色ズレ(フリンジ)が発生
  • IR(赤外線)カットフィルター で葉や景色の色ズレを軽減
  • 各色チャンネルの手動シフト で主被写体の色ズレを補正
  • 赤外線専用フィルターによる実験的撮影 も実施

画像の表示・共有

  • 画像サイズが巨大 で一般的な画像ビューワやSNSでは閲覧困難
  • OpenSeadragon を活用し、ブラウザ上で ズーム・スクロール可能なギャラリー を構築
  • vipsユーティリティで巨大TIFFをJPEGタイルに分割 し配信

今後の課題・展望

  • ノートPC不要のスタンドアロン型カメラ化 に挑戦予定
  • 加速度データ取得・UIの改善
  • ポストプロセッサの機能拡張 (スプレッドシート連携、GUIでのセグメント指定など)
  • GPS+カールマンフィルタによる速度補正赤外線写真の拡充 も検討中
  • カメラのゲインとISOの関係を定量化し、ロケハンを効率化 したい

コードと謝辞

  • 撮影用コード および ポストプロセッサ(grindstone) を公開
  • 協力者(Meadow, Brooke, Ari, nyanotech, cat, Maddie, kim) への感謝を表明
  • このプロジェクトの完成度向上に貢献した全ての関係者に謝意

このプロジェクトは、 移動体の速度と位置情報をリアルタイムで補正しながら、工業用リニアスキャンカメラで非日常的な超ワイド画像を生成する という、写真・プログラミング・電子工作が融合した先進的な試みです。

Hackerたちの意見

こちらも: https://news.ycombinator.com/item?id=49126919

気になるんだけど、同じ人なのかな?それと、どこかで日本のサイトがシェアされてて、同じような技術で日本の列車の高品質な写真を撮ってる人がいたと思うんだけど。

こういうプロジェクトとそのレポート、めっちゃ好き!実用性とアートの間を行き来するのって、ちょっと違ったことに挑戦するインスピレーションになるよね。進行中の「スキャン」自体も、時間と空間を面白く伸ばしてると思う。アーティストが最終的に目指してるものとは違うかもしれないけど。

同じく!特に「xをyとして使う」形式(YouTubeをマウント可能なファイルシステムとして使うとか、Wiiをウェブサーバーとして使うとか)が大好きなんだ。最近はここであんまり見かけなくなった気がする。1、2年前に比べて少なくなった気がする。編集: こういうAIに関係ない投稿だけを表示するサイトを作ったよ: https://www.unslop.news/

ワード・カニンガムと俺も2008年に似たようなことをやったんだ。ポートランドのスタートアップにいて、オフィスはウィラメット川の東側の鉄道沿いにあった。4階か5階で、アムトラックを含むたくさんの列車が通る真上だったんだ。俺は初期のiSightカメラを含む余ったMacの機材を持ってきて、当時はディスプレイの上に置いてFireWireでMacに接続する外部デバイスだった。カメラを窓の方に向けて、ワードがスリットスキャンをするために何かをハッキングし始めた。楽しい小さなプロジェクトだったよ。列車の速度が画像の横方向の圧縮に影響を与えたんだ。ソフトウェアを調整して、単位時間あたりのスリットスキャンの数を変えることで画像のサイズを拡大したり縮小したりできた。もちろん、それは露出にも影響したけど、カメラには自動調整機能があって、ちょっとトラブルになったのを覚えてる。それが俺たちがやったことのすべてだよ。ほんの短い午後のハッキングプロジェクトだった。あの時はあまり考えなかったから、何も保存しなかったんだ。

スリットスキャンを試してみたいなら、数年前に作ったこの小さなおもちゃがあるよ。電車でよく使ってるんだ: https://slitscan.space スマホの画面を押し続けると前面/背面カメラを切り替えられるし、パソコンでは「c」を押せば切り替えられるよ。画面をタップすると画像が保存されるし、「s」でも保存できるよ。

これ、遊ぶの楽しかった!

素晴らしいレポートだね!ドイツのヘルで同じことをしようと思ってたんだ。スマートフォンのカメラで十分だと思ったけど、高速録画用のcamera2 APIにアクセスする方法がなかったんだ。ウプペルタールのシュヴェーベバーンから240Hzの4K縦動画を1時間撮影したけど、MacOSのプレビューで表示できたよ。今は「Train」をBlenderで動かすための良いガウシアン・スプラッティングツールを待ってるところ。最新のLingbotマップは残念ながら横移動にはあまり対応してないんだ。横移動と視差が距離や3Dスキャン能力を推測するのを簡単にするんじゃないかと思ってたんだけど、ピクセルは曲がらない限り一方向にしか動かないからね。

おお、いいね!この話題について話せるの嬉しいな。興味があれば、もっと話すためのメッセージオプションを提案してほしい。プロフィールにあるKeybaseをチェックして、連絡先オプションを見てみて。そこにあるメニューバーの鍵マークを使って、PGPでメッセージを暗号化して、適当なチャネルで送ってくれれば大丈夫だよ。編集: スキャフォールディングに覆われる前に、Mirker Bahnhofをキャプチャしてテクスチャメッシュに抽出したことがあるよ。もし別の録音をするなら、IMUの録音を含めることを強くおすすめするし、理想的には(でもそこまで重要じゃないけど)キャリアフェーズを含むGNSSの生データ録音もね。後者のためのレコーダーがあって、シンプルなUSB-シリアルポートが使えるから、GTW15の窓がEMIシールドされてなければ大丈夫だと思う(たしか、されてないはず)。

これ前にもここに投稿したけど、普通のカメラを使って似たようなプロセスでアニメーションを作って、手動でフレームをつなげてるんだ。[1,2,3] 効果はかなり面白くて、被写体に焦点を当てることで背景を抽象的なパターンに減らすんだ。それぞれの「ライン」は約15pxの幅だよ。作者と全く同じ思考プロセスを経た気がする。こういうアイデアが独立して出てくるのって面白いよね。[1] https://youtube.com/shorts/VQuI1wW8hAw [2] https://youtube.com/shorts/vE6kLolf57w [3] https://youtube.com/shorts/QxvFyasQYAY 夕焼けの東京の skyline のタイムラプスも撮影して、似たようなプロセスを適用したんだ[4]。それをモーショントラッキングして、時間がフレームを左から右に移動するようにしたよ[5]。ここでの各ラインは4ピクセルの幅で、元のアニメーションは8Kだよ。[4] https://youtu.be/wTma28gwSk0 [5] https://youtu.be/v5HLX5wFEGk

すごい!

この揺れる画像を見ると、子供の頃に使ってた手持ちのフォトスキャナーを思い出すなぁ。 https://oldcomputer.info/pc/apscan/index.htm 俺には、手をX軸で動かしながらスキャナーを写真の下に滑らせるのが難しかった。あと、使ってたスキャナーは1ビットのドット絵みたいな白黒写真しか出せなかった気がする。これ、80年代後半から90年代初頭の技術だね。

Hacker Newsで議論の続きを見る