把整个铁路网当成一台平板扫描仪

查看原文 HN 讨论

文章摘要

这是 Philomena Gray 在 EMF 2026(Electromagnetic Field,英国的黑客露营大会)Stage A 上做的一场 19 分钟演讲,2026 年 7 月 17 日录制,media.ccc.de 上有完整录像,以 CC BY-SA 4.0 授权发布。

官方简介把这个项目讲得非常清楚:她把一台工业用线阵相机(linear camera)从行驶中的火车车窗指向外面,相机每秒采集数千行像素,事后再把这些行拼接起来,从而拍出极端宽幅的照片。演讲内容分两部分:一是采集端的痛苦——如何测量列车速度、如何足够快地把每一行数据收下来,才能拼出一张前后一致、不变形的图像;二是处理端的痛苦——如何处理和显示这样一张宽到离谱的图像。

理解这个项目的关键在于,线阵相机拍出的不是普通照片。它没有横向的取景框,横轴不是空间的透视投影,而是时间轴:图像的宽度完全由列车行驶的距离决定,理论上可以是几米,也可以是几十公里。这就带来一个直接后果——列车速度的任何波动都会直接体现为图像在水平方向上的拉伸或压缩。因此速度测量的精度决定了成片是否”正确”。据评论区参加过现场的观众描述,她最终采用的方案是一台 2048 像素、每秒 19000 行的线阵成像器,配合六自由度加速度计/陀螺仪、GPS 和一块微控制器把数据送进笔记本电脑。

作品成果发布在 philo.gay/linecam/,画廊页面是 philo.gay/linecam/gallery.html(演讲中段有链接)。media.ccc.de 提供 1080p/576p 的 MP4 与 WebM 下载以及 mp3/opus 音频。

HN 评论精华

这条帖子的讨论质量很高,既有”这不是新技术”的技术溯源,也有对成像几何的漂亮解释,还有一些相当发散的脑洞。

技术溯源:这叫推扫式成像lalalandland 首先指出,把相机当扫描仪用在卫星成像和航空摄影里有很长的历史;1e1a 补上了术语:这通常叫 push broom scanning(推扫式扫描)sciencesama 半开玩笑地说”他们该去找臭鼬工厂的人聊聊,SR-71 早就解决了这个问题”。naikrovek 的回应很到位:SR-71 用的是胶片,这让实现变得非常容易——镜头、光圈、对焦都照旧,只是把成像面遮成一条窄缝,需要拍摄时缓慢地把胶片拉过这条缝即可;能拍多少完全取决于机上能带多少胶片,而对一个能造出 SR-71 的组织来说,带上几英里胶片不是问题(虽然冲洗这种胶片大概需要定制设备)。

为什么不用普通视频? ted_dunning 提出,用一台水平线扫描器测速度会很简单,而且用全画幅视频做后期应该更容易,因为帧间相关性就能告诉你所有运动信息。leni536 反问:”我不确定视频更好处理。多少帧率?多长快门?”xnx 说自己第一批 vibecode 出来的脚本之一就是干这个的,效果不错,但高速运动时受帧率限制。mikewarot 提供了权威答案:她第一次尝试用的就是视频,后来才换成前述的 19000 行/秒、2048 像素线阵成像器加惯性/GPS 传感器组合。

最好的一条技术解释来自 pvillano,他点出了这种相机的成像几何有多奇怪:垂直轴是透视投影,水平轴却是正交投影。这也是为什么”缩小”是靠水平方向压扁图像来实现的。在普通相机里,铁轨边的一个人和一座 16 倍大但距离 16 倍远的雕像,看起来一样大——宽度和高度的像素数都相同。但在线阵相机里,物体的视宽度不随距离变化:这两个物体高度看起来仍相同,但雕像的宽度会是人的 16 倍。他给了一个很好的心智模型:可以把它想成一块几厘米高、宽度可变的虚拟传感器,宽度从几米到几英里不等;除非旋转相机,否则它只能拍下不超过虚拟传感器宽度的场景。

关于测速的替代方案Terr_ 提出一个奇思:上车前在车窗外侧贴一面很小的反光镜,”向下看”的画面里等间距的枕木就能提供速度和加速度信息——不过弯道上内外侧间距不同会失效,而且”乘务员大概会以为你在拍某种需要玻璃切割器的抢劫片”。rnewme 反问”为什么不直接用手机 GPS”,fhars 一句”在法拉第笼里?”点破问题。trillic 认为如今多频段 GPS 很强,他的手表在铝制 737 中间座位隔着舷窗都能锁定;brainwad 反驳说车厢(尤其是老车厢)常有金属镀膜车窗,比飞机还糟,他曾把手机直接贴在车窗上都完全锁不上星。Terr_ 最后补充:演讲里其实同时用了 GPS 和加速度计。fnord77 顺着枕木的思路开了个玩笑:把一部分枕木刷白、一部分刷黑,你就有了世界上最大的条形码。inigyou 的脑洞是:”如果给每列火车都装一台相机,你对它们位置的掌握大概会比德国铁路自己还准。”andrelaszlo 接梗:”至少你知道装相机的那一刻它在哪儿。”

同类作品与”民用版”jo-m 指出这基本上是 daniel.lawrence.lu/photos/ 和 trains.jo-m.ch 的逆过程(后者是站在站台上拍经过的火车);contr-error 补充说前者在演讲 2:24 的”前人工作”部分就被引用了。fdb 推荐了 Adam Magyar 用高速摄影拍列车进站时站台上人群的作品。rollulus 提供了零成本方案:”经验之谈:iPhone 的全景模式在火车上确实能拍出这种照片。”m463 说他两种都试过(在站台上拍经过的列车、在行驶列车上拍窗外),结果都出现同样的诡异伪影——软件把”相似”的切片堆在一起,把”复杂”的切片搅乱了;他希望能有个开关在”基于时间切片”和”基于场景”的全景之间切换。fudged71 提醒说免费的裂缝扫描(slit scan)摄影 App 是有的。

一个跑题但很有意思的脑洞m463 说他看到标题时想到的是另一件事:并排铺两条模型铁路直轨,两台机车上架一根横梁,做成一台 3D 打印机——把机车的移动当作打印机的一个轴,逐层”打印”出模型铁路的立体布景(山脉、城镇、河床、公路)。inigyou 泼冷水:”3D 打印需要相当精密的运动机构。”fragmede 回:”幸好我们有啊!”inigyou 追问:”在你的模型铁路上?它能以 0.05 毫米精度移动列车?”dhosek 则从爱好本身反驳:对很多模型铁路玩家来说,乐趣的很大一部分恰恰在于亲手搭建这些东西,重过程而轻结果,这也是 kitbashing 和 scratch building 流行的原因。m463 让步说可以只打印路基和建筑,草皮、树脂水面留给手工。

最后是纯粹的赞叹slipheen 说:”我太喜欢这个了!纯粹为了好玩而做的绝妙 hack。了不起的黑客精神,了不起的艺术。”他在演讲里听到全尺寸成品在网站上但没找到链接,contr-errorazalemeth 分别把 philo.gay/linecam/ 和画廊页贴了出来。