惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
InfoQ
C
CERT Recently Published Vulnerability Notes
The Last Watchdog
The Last Watchdog
P
Proofpoint News Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
GbyAI
GbyAI
T
Tenable Blog
博客园 - 三生石上(FineUI控件)
P
Privacy & Cybersecurity Law Blog
Simon Willison's Weblog
Simon Willison's Weblog
Jina AI
Jina AI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tor Project blog
博客园_首页
F
Fortinet All Blogs
博客园 - Franky
Latest news
Latest news
Last Week in AI
Last Week in AI
T
Threat Research - Cisco Blogs
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Hugging Face - Blog
Hugging Face - Blog
D
Docker
Project Zero
Project Zero
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MongoDB | Blog
MongoDB | Blog
F
Full Disclosure
D
DataBreaches.Net
Google DeepMind News
Google DeepMind News
Cisco Talos Blog
Cisco Talos Blog
Y
Y Combinator Blog
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
H
Help Net Security
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Blog — PlanetScale
Blog — PlanetScale
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
Schneier on Security
C
Cybersecurity and Infrastructure Security Agency CISA
P
Proofpoint News Feed
PCI Perspectives
PCI Perspectives
Cloudbric
Cloudbric
V
Visual Studio Blog
Recorded Future
Recorded Future
人人都是产品经理
人人都是产品经理

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
带着数字化「摘录者」重返纸质阅读 - 少数派
2024-10-31 · via 少数派

前言

伴随社会数字化的进程,似乎很多传统实体渐渐淡出我们的视野甚至已经消亡。关于读书方式,关于笔记方式,一遍又一遍地被科技进步颠覆。依稀记得求学生涯搬家时,多次不堪书籍之重负;十几年前,花重金购入了 Kindle Voyage,以为掌握了读书的终极神器;再到后来,渐渐抛弃了 Kindle,拥抱了手机和平板阅读。时至今日,我仍然怀念纸质书籍,它真实的触感和气味,给人一种空间感、沉浸感和亲切感。这种阅读记忆是立体的,深刻的,是我在电子化阅读中一直没有找到的感觉。

不可否认,数字化的便利是无可替代的。虽然我把早年的手写笔记做成了扫描件,更是随着我的电子笔记系统辗转迁移,但最终还是由于难以检索而躺在了「最近访问」的最下层。

我在思考,现在有没有能兼具纸质阅读和数字化笔记的方法呢。我找到了一些朋友们实践,比如:

  • 阅读时,直接在书本上做标记,读完后再统一摘抄出来,使用键盘输入摘抄,或语音输入摘抄;
  • 边阅读边使用手机 app OCR,如自带相机、白描、Office Lens、Readwise 等应用识别并手动拾取文字;
  • 使用智能硬件进行文字摘抄,如扫描笔。

似乎一切方案都不那么完美,要么有点打扰阅读,要么读后的整理工作太繁琐,要么没法摘抄图片。有没有方法可以克服这些问题呢?经过搜索调研,我初步设想了一种使用机器视觉的方法来辅助阅读摘抄。既然是机器视觉,当然还是使用 OCR,但现在的 OCR 方法需要我们「拿起」手机—「端正」手机—手动拾取,目的是提高 OCR 的成功率。所以关键是如何简化该流程,尽可能地实现自动化,最好只需要「随手一拍」,最完美的是「不要拿起手机」。

如何自动化摘录?

成果预览——

手势触发摘录
后台迭代计算与摘录

我现在的目标是解决碎片化的原文摘录问题,关于笔记书写和录入,能在更集中的时间和版面内完成,方法也更简单,暂时不在本文讨论范围。

又,本文不讨论读书方法论,不讨论摘录是否有价值的问题。

问题的关键——扭曲矫正

要提取书摘,首先要提高 OCR 的成功率,但书籍表面往往不是平面,且书籍方向不正,大大降低了 OCR 成功率,后续的文字提取也无从谈起了。即使是白描这样优秀的 OCR 软件,在这样苛刻的工况下,不进行扭曲矫正也难以做到很高的 OCR 正确率。

白描 OCR,大角度拍摄造成的文本错行

文档图像的变形有扭曲、褶皱、透视等多种情况,这阻碍了形变图像的信息提取,对下游任务如 OCR 识别、版面分析等任务增加难度。为解决文档弯曲矫正问题,学界业界已有多种方案:

  • 利用多目相机,结构光或者激光雷达等专用硬件对文档进行扫描,获得文档表面的 3D 结构信息,进而对文档校正展平。这类方法一般可以得到比较好的校正效果,但依赖专用设备的特点限制了其使用场景,一般应用在高拍仪上。
  • 利用显式的几何模型以适应形变文档曲面,依靠图像信息以及文档形变的先验知识对图像进行校正。一般需要进行文字行或者表格线的检测,并假设曲面符合特定的几何约束,如曲面是柱面。其校正效果受文字行检测准确度的限制,对文档版式比较敏感,无法处理存在大量图表的文档,且误检的文字行有可能会对校正造成严重干扰。
  • 基于优化的方法,利用损失函数缓慢迭代优化以获得形变矫正结果。
  • 数据驱动的方法。训练形变矫正神经网络,学习形变场,得到类似扫描的结果。

总结下来,扭曲矫正解决方案可分为参数化方法及非参数化方法。参数化方法构建了低维数学模型,只能处理简单场景;非参数化方法一般需要建立成对数据集。在2024年,我们当然首先要尝试一下基于深度学习的方案,包括了 DewarpNet、DocGeoNet、DocTr、DocTr++ 等等,这些工作多关注于通用文档校正,但对于我们这个应用场景,实际效果都不太好,且大多项目由于商业因素,没有开源。实测下来,合合的文档图像切边矫正效果是最好的,但有时也会出现很怪的大畸变,合合方案调用 API  使用,按量付费。

书籍具有相对固定的形态、比例,且表面是连续平滑的,这些约束极大降低了问题的复杂度。针对书籍的扭曲矫正,比较有名的是 mzucker/page_dewarp 开源项目,通过样条拟合书表面的形状,通过迭代优化,减少重投影误差。该方法中,书表面尽可能垂直于相机光轴,否则容易产生透视畸变,还要求相机尽可能少的横滚角,以免文本行提取失败。page_dewarp 处理图片耗时较长,20 秒左右,大部分耗时在迭代计算环节。

mzucker/page_dewarp
表面扭曲与文本行变形

最后,找到了 Document dewarping via text-line based optimization 这篇文章,最适合解决我的需求。通过文本行估计表面形状,构建损失函数,通过牛顿迭代法找到最优的变换参数,这个方法假设了:1. 文本是水平的;2. 在同一个文本块中,两个相邻文本行之间的行距应该是恒定的;3. 大多数文本块是左对齐、右对齐或两端对齐的。这些假设也限定了我们的应用范围:书籍内容以横排文本为主。这个方法运行速度很快,耗时秒级,且成功率非常高。具体的处理流程我们放在下节说明。

还有很多桌面/移动应用也提供了扭曲矫正的功能,具代表性的有 ABBYY FineReader、ScanTailor-Experimental、ComicEnhancerPro、VFlat 以及扫描全能王等。这些应用的处理速度很快,但对拍摄偏角大的图片往往就失效了,一般还是应用在扫描质量高的图片中,进行后期微校正。

以下是上述方法的测试情况。仅定性比较,非严谨对比,部分输入和输出图片有裁切,ComicEnhancerPro 为手动调整控制点。对于拍摄角度正的图片,大多软件都有可观的结果,对于拍摄角度大的图片,只有合合方案和 Kim 的方法有较好的效果。虽然有时参数化方法不一定得到最佳效果,校正后的图片总体还是平滑的;而基于深度学习的方法有时结果扭曲得厉害,翻看论文,感觉这类方法还是更擅长处理褶皱的文档,可能是数据集的原因,也可能图片需要预处理。

非严谨对比 1
非严谨对比 2

如何实现

为了稳定地实现书摘的提取,我设计了一个流程,由「分割」——扭曲矫正——光照校正——标记提取与 OCR」组成。对待提取的文本和图片,我们预设了两种标记:下划线用于提取文字,拇指食指指尖位置用于标记提取段落或图片。

自动化流程

分割

为了提高系统在自动运行时的可靠性,需要尽可能排除环境干扰。我们直接使用 Yolo 对书籍目标进行分割,我们对分割的效果要求不高,只需粗略将书籍分离出来,即使是 small 模型也可以满足要求。

在扭曲矫正的环节中需要提取文本行特征,一般来说通过文本行特征可以完成书籍「左页」和「右页」的分离,但在书本旋转角度过大或左右页文字相隔太近时,该方法就失效了。因此我们加了一个分离书籍「左页」和「右页」的模块。该模块以 Yolo 的分割结果作为输入,通过掩膜缩放、二值化处理、轮廓识别、形态学操作等步骤,首先尝试寻找书籍的中缝,以中缝为界分离「左页」和「右页」;如果光照比较均匀且书籍较薄时,中缝寻找失败,则遍历旋转角度 -45° ~ -45°,估计中缝和旋转角度。

含中缝,书籍较厚或斜向光照(左);不含中缝,书籍较薄或光照均匀

结合 Yolo 的分割结果和中缝数据,我们就可以将书籍「左页」和「右页」干净地分离出来了。

扭曲矫正

我们基于优化的方法对书本进行形变矫正。详细的过程可以参考论文和代码 rebook。由于本人水平有限,没有完全按照原文构建 pipeline,但实际测试下来,校正结果尚可,在此基础上,我做了二阶段处理:根据文本行重新校正纵向的偏差,根据文本行左右边界校正水平倾斜。结果也是基本满足我们强力约束的:文本水平、行距恒定、两端对齐。

Dewarp流程与基本概念

光照校正

对扭曲矫正的图像进行切边和光照的校正,我们就得到了一张等待 OCR 的图片啦。光照校正分两种情况,一种是文本类,我们采用类似扫描类 app 中的「背景去除」功能,将背景设置为纯白,根据前景/背景比值重新映射前景值,这种方法也可以去除大面积的阴影,代价是损失一些对比度;一种是图像类,「背景去除」会将图片中的大色块清除,因此,对于图像类,我们仅进行白平衡和亮度的调整。

去大面积阴影
对图像和文本的不同处理方法与对比

标记提取与OCR

对目标文本和图片,我们预设了两种标记,即下划线和指尖位置。代码中,我在扭曲矫正校正环节,已经将指尖坐标点也做了映射,并在提取文本行时将下划线提取出来了,因此在该环节,我们只需根据该标记选择性地进行文本 OCR 或图片处理。

下划线标记的提取原则很简单,即提取线上的文本,并根据缩进和段落,对每行文本重新组织段落。

指尖标记。若只有一个有效指尖坐标,则提取其指向的文本行,提取结果为整行文字。若有两个有效指尖坐标,分析这两个坐标的 y 值间的内容,若文字密度大于预设的阈值,则提取两个 y 值间的所有文本;若文字密度小于预设的阈值,则判定为插图,仅裁切而不进行 OCR。

同时,通过分析首尾三段文本行,提取出页码。将原图、校正图、OCR 文本、插图、页码按照 markdown 格式保存,我们就获得了该页的电子书摘。

文本提取(左);Markdown 格式摘录

离线与在线运行

离线运行程序代码托管在 Github上:https://github.com/osnsyc/Excerptor

离线运行适合任何阅读场景。只需要将待摘抄的书页拍摄下来,运行程序,程序对图片进行统一处理,输出为 Markdown 格式的文档。拍照时,程序自动选取更靠近图像中心的那一页进行处理。在该场景下,我们可以选择用彩色标签标记段落,最后统一拍摄、处理;也可以阅读时随时拍摄,最后统一处理。批量处理图片,平均每张耗时低于 10 秒。

彩色标签

在线运行,我们需要利用边缘设备,搭建一个「读书场景」。我将程序部署在 Orangepi 5 pro 上,摄像头采用 CMOS 尺寸 1/2’ 的 5000 万像素 USB 摄像头。该场景下,我们可以“实时”地做书摘。我在之前的文章《在家做一个魔法师,智能家居也可以动「手」不动口》中, 演示了如何在 Orangepi 上做一个手势控制智能家居的控制器,我将该控制器也融合进了这个项目中,使用预编程的手势触发信号,控制器收到信号后,在固定的延时(5 秒)后拍摄图片,并进行书摘的提取, 输出为 markdown 格式的文档。为了极致的自动化,我们也可以将 markdown 文档直接保存在 Obsidian 库中,或着通过 API 调用同步至在线笔记中。

手势触发摘录
后台迭代计算与摘录

结尾

本文是我在探索读书笔记数字化过程中的粗浅实践,还有很多不完善之处,比如,最终的 OCR 结果不是 100% 正确,手指拾取文本只能做到整行提取。未来可能进行的优化工作有:

  • 结合电子书文件对 OCR 结果进行校正;
  • 手指拾取文本行后的智能断句;
  • 复杂排版书籍的扭曲校正;
  • 手写注释的提取。

值得一提的是,在本文成文时,我发现微信读书有个「连接纸书」功能也可以对书本内容进行匹配和对下划文本进行识别。或许可以把微信读书也融入到自动化流程中。最后,贴一些图书数字化的图以飨读者,并附上我在实践中看到的好文好物。

纵向图文混排
手指段落提取
手指图片提取
不同的图像处理效果 与 手指提取图片

附录

Digitalize notes

Methods

App

Online demo

Hardware

> 下载少数派 客户端、关注 少数派公众号,了解更多的新玩意 🆒

> 特惠、好用的硬件产品,尽在 少数派 sspai 官方店铺 🛒