鉄道網をフラットベッドスキャナとして使うという狂気の発想
Using the railway network as a flatbed scanner
Using the railway network as a flatbed scanner
鉄道網をフラットベッドスキャナに見立てるという、なんともエンジニアの好奇心をそそるプロジェクトについての投稿です。壮大なスケールで何が読み取れるのか、そのユニークな試みに注目です。
こういうプロジェクトや記事、すごく好きだわ。実用性とアートの境界線上で遊ぶような、ちょっと変わった試みにはインスピレーションをかき立てられる。過程で生成される「スキャン」画像自体も、最終的な目的とは別物だとしても、時間と空間を面白いくらい引き伸ばしていて興味深いね。
2008年頃にWard Cunninghamと似たようなことをやったことがあるよ。
当時二人でポートランドのスタートアップで働いていて、オフィスがWillamette川の東側の線路沿いだったんだ。4階か5階で、Amtrakを含め列車がひっきりなしに通る場所の真上だった。
手持ちの余っていたMac機材、特に当時の外付けiSightカメラ(ディスプレイの上に載せてFireWireでMacにつなぐやつ)を持ち込んでね。デスクを窓際まで移動させてカメラを線路の方に向け、Wardがスリットスキャン用のハックコードを書き始めたんだ。
楽しい小規模プロジェクトだったよ。列車の速度に合わせて画像の横方向の圧縮率が変わるんだ。スリットスキャンの単位時間あたりの回数を調整して、画像のサイズを拡大・縮小できるようにソフトウェアをいじったりね。もちろん露出にも影響するんだけど、カメラが勝手に調整しちゃう機能があって、それに手こずったのを覚えてる。
結局やったのはそれくらいかな。午後のちょっとしたハックプロジェクトだったし、当時は大したことだとは思わなかったから、何も保存してないんだ。
スリットスキャンで遊びたいなら、数年前にこんなおもちゃを作ったから使ってみてよ。電車に乗る時によく使ってるんだ:
https://slitscan.space (https://slitscan.space)
スマホの画面を長押しするとフロントカメラとバックカメラが切り替わるよ。PCなら「c」キーで切り替え。画面をタップすると画像が保存されるし、「s」キーでも保存できる。
素晴らしい書き込みだね!ドイツでも同じことをしようと計画してたんだ。スマホのカメラで十分だと思ってたけど、高フレームレートの録画用にCamera2 APIへアクセスする手段がどうしてもなくてね。Wuppertalの懸垂モノレール(Schwebebahn)から240Hz/4Kの縦長動画を1時間ほど撮って、それはMacOSのプレビューで表示できたんだけど。今はBlenderで「列車」の走行映像を作るために、いいガウシアンスプラッティングツールを探して待機中。最新のLingbot-mapは残念ながら横移動にはあまり最適化されてないんだよね。横移動と視差を使えば、もっと簡単に距離推論や3Dスキャンができるんじゃないかってずっと思ってるんだ。カーブしなければピクセルは一定方向にしか動かないからね。
前にもここで投稿したことがあるけど、普通のカメラを使って手作業でフレームを繋ぎ合わせる似たようなプロセスでアニメーションを作ってるよ。[1,2,3] 被写体に焦点を強制して、背景を抽象的なパターンへと変化させるエフェクトがすごく面白いんだ。1本の「線」の幅は約15ピクセル。作者と全く同じ思考プロセスを経てたみたいで、アイデアって独立して生まれるものなんだなと不思議に思うよ。
[1] https://youtube.com/shorts/VQuI1wW8hAw (https://youtube.com/shorts/VQuI1wW8hAw)
[2] https://youtube.com/shorts/vE6kLolf57w (https://youtube.com/shorts/vE6kLolf57w)
[3] https://youtube.com/shorts/QxvFyasQYAY (https://youtube.com/shorts/QxvFyasQYAY)
あと、夕暮れの東京のスカイラインをタイムラプスで撮って似たような処理を施したこともある[4]。それをモーショントラッキングして、時間がフレームの左から右へと流れるようにしたんだ[5]。こっちは1本の線が4ピクセル幅で、元のアニメーションは8Kだよ。
[4] https://youtu.be/wTma28gwSk0 (https://youtu.be/wTma28gwSk0)
[5] https://youtu.be/v5HLX5wFEGk (https://youtube.com/shorts/v5HLX5wFEGk)
究極まで突き詰めるとね……。
いや、ふと思ったんだけど、RanOutOnARailのOwenがこのセットアップを持ってたら、旅の途中で信じられないようなワイド写真が撮れるんじゃないかな。彼のYouTubeチャンネルはもう何年も見てるんだ[0], [1]。Patreonアカウントもあって、そっちにはもっと動画があるよ[2]。
昔はYouTubeにもっと動画が多かったんだけどね。彼がやってるような電車の乗り方は違法だけど、コロナ禍で外に出られなかった長い期間、彼の動画にはずいぶん救われたんだ。
[0] https://youtube.com/@ranoutonarail?si=ElAeMpcrJASsE3Ov (https://youtube.com/@ranoutonarail?si=ElAeMpcrJASsE3Ov)
[1] https://youtube.com/@rooar2?si=bx1AG5kp2r4rfzcq (https://youtube.com/@rooar2?si=bx1AG5kp2r4rfzcq)
[2] https://www.patreon.com/u40099464 (https://www.patreon.com/u40099464)
同じくラインスキャン写真を撮ってる者として、似たような壁にたくさんぶつかったよ!
撮った写真の表示や共有がこのプロジェクトを通してずっと苦痛だった。ほとんどのソフトウェアは画像の巨大さに対応しきれなくて、一番信頼できるツールがGNU IMPだったけど、ちょっとオーバースペックに感じた。
これに対処するために、自分専用の画像ビューア「sriv」を適当にコーディングしてみたよ: https://github.com/dllu/sriv (https://github.com/dllu/sriv)
あと、一枚の超横長画像として表示するより、複数行に分割して表示する方が圧倒的に見やすいってことに気づいた。
被写体に合わせて赤と青のチャンネルを緑のチャンネルに揃えるようにズラしている。線は等間隔だから、チャンネルごとにオフセットを測定しなくても、逆方向に同じ量だけズラせばいい。理論的には、チャンネル間の輝度変化を相関させてズラす量を決定できるはずだけど、今は手動でやってる。
自分はその相関ベースの手法を実装してみたよ: https://daniel.lawrence.lu/blog/2025-09-21-line-scan-camera-... (https://daniel.lawrence.lu/blog/2025-09-21-line-scan-camera-image-processing/)
最近は、歪み補正を微調整するために制約を手動でアノテーションするツールも適当に作った: https://daniel.lawrence.lu/blog/2026-08-02-line-scan-camera-... (https://daniel.lawrence.lu/blog/2026-08-02-line-scan-camera-image-processing-part-2/)
止まっているカメラで列車を撮るなら、列車の速度を推定するだけでいいんだけど、動く列車から風景を撮るという逆問題の場合、視差のせいで速度が変動する(近いものは速く、遠いものは遅く動く)から、あらゆる距離でRGBのフリンジを完璧になくすのは無理なんだよね。
一番の課題はラップトップなしで撮影できるようにすること。そうすれば怪しさも減るし、持ち運びも楽になる。
まさにそれ、最近やったんだ。NVIDIA Jetson Orin Nanoと7インチの2000ニットタッチスクリーンを追加して、CNCアルミ削り出しのカスタムケースに入れたよ: https://daniel.lawrence.lu/blog/2026-06-12-standalone-cnc-li... (https://daniel.lawrence.lu/blog/2026-06-12-standalone-cnc-line-scan-camera/)
17日前の別の投稿からコメントの再利用:
ふと思いついたんだ。もし乗車前に小さな粘着ミラーを窓の外に貼り付けて、「下向き」に一定間隔で並ぶ枕木を映せば、現在の速度や加速度の情報が得られるんじゃないかな。
まあ、直線区間ならね。カーブしたら内側と外側のエッジの間隔が違って見えるだろうけど……。
とはいえ、不審な乗務員に対してプラスに働くことは何もないだろうな。特殊なガラスカッターで窓に円を描くような、強盗映画の類だと思われるのがオチだよ。
前からずっと似たようなことをやりたいと思ってるんだ。製材所にカメラを設置して、木目のライブストリームをずっと流すっていう。二度と同じパターンは現れないから、アートやエントロピーとして使えるんじゃないかって。残念ながら、誰に聞けばいいのか全くわからないけど。