搞学术的人,每天早上的固定动作大概都一样:先刷一遍ArXiv,看看自己关注的几个方向有没有新论文出来。CV(计算机视觉)这个领域尤其夸张,一天上百篇是常态,多的时候两三百篇也不稀奇,光看标题就能看半天,更别说还要挑出真正值得精读的。这个项目就是从今年年初开始做的——每天把ArXiv上CV相关的新论文过一遍,挑出有价值的,整理成一份带一句话点评的清单,附带原文链接和摘要速览,当天更新发出来。今天这篇就分享一下这套流程怎么搭起来的,包括选文标准、抓取工具、读论文的方法,以及踩过的几个比较典型的坑。
1. 为什么要把“每日追论文”做成一个固定栏目
CV领域的信息密度和衰变速度,在计算机科学的各个方向里都算得上极端。今天挂到ArXiv上的一个想法,可能两个月后就变成某篇顶会的核心模块,半年后就进了开源仓库,一年后就出现在你手机摄像头里的某个功能里。这意味着,如果你不是每天都刷,错过的东西不会自己回来找你,只会悄悄成为别人论文里的related work。
但这里有个很现实的问题:ArXiv的CV论文量,已经从几年前的一天四五十篇涨到了现在的一两百篇。一个人如果按摘要——全文——复现的节奏去读,一天最多消化三五篇,这还是在没有其他科研任务的前提下。绝大多数人根本做不到每天把全部论文看完,更别说看懂了。于是大家都在用各种各样的方式做筛选:关注几个大牛的名字,盯住几个实验室的主页,或者靠推特上的学术号和人肉推荐。这些方法都有用,但都不够系统,而且很依赖信息源的稳定性和个人精力。
这个每日分享的项目本质上就是在解决这个矛盾。它把“筛选”这个动作从个人行为变成了一条标准化的流水线:固定时间抓取,固定规则过滤,固定格式输出。这样一来,读者不需要自己从几百篇论文里大海捞针,只需要看挑好的那几十篇就行。一开始这个栏目只是给自己看的,后来发现周围不少同学也有同样的需求,就把格式整理得规范了一些,慢慢形成了现在这个样子。它的价值不在于“分享”这个动作本身,而在于分享背后的那套筛选逻辑,这套逻辑才是可以复制、可以迁移的东西。
2. 选文标准与主题分类:怎么从几百篇里挑出值得看的
2.1 三条硬性门槛
每天ArXiv上CV相关的论文数量摆在那里,如果不设硬性门槛,筛选工作根本没法做。我给自己定了三条规则,每条都还必须同时满足,缺一票就淘汰。
第一,必须是新论文。这个“新”有两层含义:一是今天新挂到ArXiv上的,二是内容本身没有在别的渠道(比如学术会议预印本)提前见过。ArXiv上经常有作者先挂了 preprint,后来被某个会议接收,又把 camera-ready 版本贴回来,这种严格来说不算是新论文,一般不给它单独占一个分享位。
第二,必须是真的CV论文,而不是只是提到了CV术语。ArXiv的cs.CV分类下经常混入一些纯数学、纯优化或者纯系统方向的东西,它们可能用了“图像”“卷积”这些词,但核心问题不是视觉问题。分享出去会误导人,所以这类的一律不要。
第三,至少有一个点让人“眼前一亮”。这个标准主观性很强,但我理解是这样的:要么方法上有新意——哪怕只是小改进,只要不是拿别人的backbone换了个数据集刷点;要么实验做得特别扎实,消融和可视化都到位,这种论文即使idea没那么惊艳,参考价值也很高;要么是综述或者benchmark,这类对领域的组织性贡献很大,值得单独标注。
三条门槛过完之后,一般能从一两百篇里面筛出二三十篇左右,大概是不超过六分之一的比例。这个比例我觉得是合理的——既保证了信息密度,又不至于让读者觉得每天都要读一堆低质量的东西。
2.2 主题分类的设定逻辑
筛完之后还要做分类。ArXiv官方给的分类其实够用了,但太粗,比如“cs.CV”底下什么都有。我做了一个更贴合自己关注方向的分类体系,目前是九个主题:
- 检测与分割:包括目标检测、实例分割、语义分割、全景分割,以及相关的半监督、弱监督方法。
- 图像生成与编辑:扩散模型、GAN、图像翻译、风格迁移、图像修复与编辑。
- 视频理解与分析:动作识别、视频检索、时序动作检测、视频摘要。
- 三维视觉与重建:NeRF、3DGS、深度估计、点云处理、多视图几何。
- 多模态与视觉语言(如果正文内容实在不够我再追加):VLM、图文检索、OCR相关的多模态方法、视觉问答。
- 自监督与表征学习:对比学习、掩码建模、预训练策略等。
- 模型轻量化与加速:蒸馏、剪枝、量化、高效注意力、移动端部署等方向。
- 数据集与评测:新benchmark、新评测指标、挑战赛总结报告。
- 应用与交叉:医疗影像、自动驾驶、遥感、文档分析、工业检测等落地导向的工作。
这个分类不是拍脑袋定的,参考了近两年主流会议的track设置和几个大实验室的研究方向。分类的作用不只是让人好检索,更重要的是帮你建立脑子里的“知识地图”——每个子方向当前在解决什么问题、有哪些人在做、做到什么程度了,时间久了会在你的视角里自然形成一条线索。
3. 实操流程:从抓取到成稿的完整工具链
3.1 抓取环节
每天定时抓论文数据,我用的是ArXiv官方提供的API,而不是网页爬虫。两者的区别在于:API返回的是结构化数据,直接就是XML格式的条目列表,包含标题、摘要、作者、分类、链接这些字段,解析起来非常方便;网页爬虫则要面对HTML结构变化,今天能解析的嵌套,明天可能就变了,维护成本极高。
这里给一个简单的示例代码,基于arxiv.py这个封装库,几行就能拿到当天的论文列表:
import arxiv client = arxiv.Client() search = arxiv.Search( query="cat:cs.CV AND submittedDate:[202608260000 TO 202608272359]", max_results=500, sort_by=arxiv.SortCriterion.SubmittedDate ) results = list(client.results(search)) print(f"抓到 {len(results)} 篇") for paper in results[:5]: print(paper.title, "|", paper.entry_id)注意这里的submittedDate范围用的是UTC时间,ArXiv服务器的时间标准就是UTC。如果你人在东八区,每天早上(比如8点)去抓,实际上抓的是前一天的晚上到当天早上的新文章,时间范围要自己换算清楚。这个细节很坑,我第一次跑脚本时就是没注意时区,导致每天漏掉最后几个小时的新论文,后来才发现是这个问题。
另一个容易忽略的点是max_results的建议值。ArXiv API对单次请求是有限制的,设置太小会漏,设置太大容易超时。实测max_results设置在300到500之间比较稳妥,如果当天论文特别多,可以用分页的方式往后翻。ArXiv官方限速是每3秒请求一次,也就是每秒钟大约不超过1次请求。如果文章数量很大,建议加个简单的延迟控制,避免被暂时封IP——这个后面会细说。
3.2 筛选环节
筛选是整个流程里最需要人工介入的部分。全自动筛选试过一段时间,用关键词过滤加引用量排序,效果一般,原因是CV论文的标题和摘要里到处是高频词,比如“novel”“state-of-the-art”“effective”,这些词对判断论文质量几乎没有区分度。关键词过滤更适合做“排雷”,而不是“淘金”,也就是说适合先把明确不相关的东西去掉,剩下的再人工判断。
我的实际流程是分为三步走。第一步,粗筛:先用脚本把当天所有论文的标题、摘要、作者、分类拉成一张表,按我前面说的分类体系打标签,排除掉明显不相关的。第二步,复筛:具体做法是,把粗筛剩下的论文摘要逐条扫一遍,重点看三处:动机是否清晰、方法是否有实质贡献、实验是否回应了动机。如果摘要看不出来,就再点进PDF扫一眼图表,重点看实验对比的那几行。第三步,精读备选:把复筛通过的论文再分成“必读”“推荐”“可看”三档。必读是当天最重要的几篇,推荐是值得收藏慢慢看的,可看是一般关注的。
这个筛选标准听起来简单,实践起来比较考验学术直觉。我的建议是:刚开始做的时候不要怕误伤,宁可漏掉几篇,也不要让垃圾混进来。一条错误分享消耗的是读者的信任,这个代价比漏掉一篇好论文大得多。
3.3 标注与成稿
选好论文之后,要给每篇写一条简短评注。评注不是摘要的翻译,而是回答几个问题:这篇论文解决什么问题?方法的核心思路是什么?最值得关注的点在哪里?跟之前看过的哪些工作有关?以及——如果不是“必读”级别——还差在哪里?
示例格式如下:
- 标题:XXXX(指向ArXiv页面)
- 作者:XXX、XXX等
- 分类:三维视觉与重建
- 一句话评注:用3DGS做动态场景重建,把时域信息编码进高斯属性里,在真实视频数据上的效果比之前的方法明显自然,适合做自动驾驶或具身智能方向的读者关注。
每条评注控制在五到十行以内。这个长度有讲究:太短没信息量,太长没人看。我一般会控制在一屏能看完的范围内——正常字号下大概五到八行的评注,信息密度足够,又不至于让人觉得在读摘要。
3.4 发布与存档
发布平台比较随意,主要是公众号加一个自己的博客存档。博客的作用是留档,方便以后按主题回溯。推荐大家用带标签功能的静态博客或笔记系统,这样以后想看某个方向之前整理过的论文时,直接点标签就能找到。
这里要单独提一下每日更新的节奏问题。经过实测,固定时间更新非常重要——我的习惯是每天早上九点到十点之间发,因为这时大多数人刚开始工作或学习,看到新论文时更容易转化为深读行为。频率上每天更新比每周汇总更好,因为CV论文的时效性太强,攒一周再发,很多信息已经失去价值了。
4. 读一篇CV论文,我到底在读什么
分享论文的副产品,是逼着你每天都在读论文。这个项目坚持了半年多,最大的收获不是流量和关注,而是逼出了一套比较高效的论文阅读方法。
读一篇CV论文,我一般分三个层次。第一个层次是了解“它做了什么”——看标题、摘要和结论,弄清楚这篇论文提出了哪项方法,在什么任务上提升了多少个点。这个层次五分钟就能完成,适合绝大多数只想知道动态的读者。
第二个层次是理解“它怎么做”——要仔细看方法部分,了解网络结构、损失函数、训练策略,尤其要关注那些“不讲清楚会影响复现”的细节,比如归一化方式、学习率调整策略、数据增强方案。这些内容在论文里往往只有一句话,但在实际复现时可能就是成败的关键。
第三个层次是追问“它为什么有效”——这是只有少数精读文章才会走到的层次。方法创新往往不是凭空冒出来的,而是对某个已有缺陷的系统性修正。如果能把“之前为什么不行——文章做了什么改变——这个改变对应哪个缺陷的修复”这条逻辑链理顺,才算真正读懂了论文。
三个层次对应三种不同的精力投入,不要求每篇都读第三层,但每周至少要有一篇精读到第三层。否则每天刷几十篇,只是停留在第一层的信息搬运工,长期下来并不会沉淀出属于自己的方法论。
5. 常见坑与排查经验:ArXiv使用中的几个高频问题
ARXIV作为日常工具用了几年,踩过的坑不少,下面几个是最高频、也是最困扰大家的,单独列出来分享。
5.1 “ArXiv打不开”怎么办
这个问题几乎每个月都会遇到一次。原因很多,多数时候是网络波动造成的连接超时,偶尔也有域名解析和CDN节点的问题。
我自己的排查顺序是这样的:先换一个网络环境试试(比如手机从WiFi切到数据流量),如果换完能打开,那就是本地网络到ArXiv节点链路的问题。如果所有网络环境都打不开,用第三方工具查一下DNS解析状态和连通性,看看是不是域名被污染了或节点超时。ArXiv有多个官方镜像站点,可以在打不开主站时临时用镜像应急,功能和主站基本一致,只是同步有一点点延迟。
不建议用任何需要额外安装或者配置的“加速工具”——这些工具要求你去信任一个非官方渠道,风险完全不可控。更好的方案是耐心等待,ArXiv的节点一般几小时内就会恢复。如果你正在提交论文,遇到打不开的情况也不用急,给ArXiv官方邮件发个说明,他们会回复处理。
5.2 提交的论文一直显示“on hold”怎么办
在ArXiv提交论文后,状态可能变成“on hold”,意思是论文正在等待人工审核。这种情况通常由这几个原因触发:一是作者信息不完整;二是提交内容和LaTeX源文件不匹配;三是元数据(标题、摘要、分类)填写有误;四是论文被系统判定为需要人工确认的敏感内容。
遇到on hold不用慌,这是一个正常的审核环节,不代表论文有问题。处理方式就是在提交系统里查看系统Messages和注释,按照审核员的反馈补充信息,或者联系他们说明情况。处理过程可能需要一两天,提交时预留好时间余量,避免撞上会议截止日才仓促提交。
5.3 镜像站与“伪镜像”怎么分辨
因为ArXiv主站偶尔不稳定,催生了一堆镜像站。正规镜像站通常只做数据同步和界面转发,不会要求你登录账号或提供额外资料。反过来,如果某个镜像站要求注册、收集信息、或者下载额外软件,这种的不要碰。
我自己平时一般都用主站,只有在主站打不开的时候用镜像应急,应急时也只浏览和下载PDF,绝不在上面提交论文、修改账号等敏感操作。这个原则我建议每个人都照做,中央仓库系统被“中间商”代理是最大的安全风险。
5.4 CV社区和交流群为什么突然用不了
这个问题我遇到过两次,一次是社区服务商整顿,一次是服务器到期没及时续费。如果你发现之前关注的爱发电社区或付费群突然进不去,先别着急找“新入口”,很可能是服务提供方自己出了问题。建议通过创建者的其他公开渠道(比如公众号、博客)确认情况,不要相信任何“迁移通知”的私聊消息,这种话术是常用的网络钓鱼方式。
5.5 CV论文投期刊还是投会议
CV方向主流仍然是顶会,比如CVPR、ICCV、ECCV,周期短、反馈快、社区关注度最高。期刊方面TPAMI是公认的顶级,审稿周期长,但发表后的学术认可度更高。现在不少团队的做法是:先投顶会,拿到反馈和曝光后扩展成期刊版。算是比较实际的两段式投稿策略。选哪个没有标准答案,还是看课题组氛围、毕业要求和个人规划。但有一点很重要——不要在同一个结果上同时投会议和期刊,学术规范上这属于学术不端。
6. 几个优化迭代的方向:做这件事能走多远
做到第六个月的时候,我意识到这个栏目的瓶颈不在于内容,而在于流程效率和分发形式。目前每天的人工筛选时间大概在一到两个小时,已经是一个比较稳定的成本。之后如果想规模化,可以考虑下面几个方向。
一是把筛选环节的半自动程度再提高。现在粗筛和复筛虽然已经减负很多,但最终的关键判断仍然依赖我自己的知识储备和审美。可以尝试在第一层粗筛后加入作者影响力排序、论文被关注热度等外部信号,帮助复筛时优先看更可能重要的论文。
二是把“每日清单”进一步产品化。比如按细分方向做周报,或者做一个可交互的在线版本——读者可以点开某篇论文看到更详细的提纲和代码仓库入口,支持按标签检索历史记录。这些功能做出来之后,栏目的实用价值会从“每天看一下”升级成“需要时能查到”。
三是在内容呈现上加入更多的“连接”信息。ArXiv上的论文不是孤立的,它们与之前的论文有引用链,与同期的论文有平行关系。如果能显式标出“这篇论文的idea跟某某工作的区别是什么”,帮助读者建立知识网络,会比单独看一篇论文有用得多。
四是引入社区机制。这个栏目现在基本是单方面输出,但学术信息分享天然适合讨论——某个方向近期有哪些突破、哪些论文的结论后来被推翻了,这些信息如果能通过读者反馈汇入进来,栏目价值会更大。当然,这意味着要从内容的策划者变成一个社区的维护者,这个角色转换不是每个人都适合,我自己也还在摸索。
7. 我踩过的大坑与小技巧汇总
最后汇总一些实操中的心得体会,不一定都写在前面了,但每一条都是亲身试错得出来的。
时间窗口的把握是最值得说的一件事。ArXiv默认每天更新的时间点是美东时间下午,换算成北京时间正好是凌晨。如果你早上八点去抓,抓到的前一天的更新基本已经稳定了;但如果你想赶在第一时间看到最新论文,可以凌晨一点左右刷一次,这个时间点往往能看到第一波上传,早上八点会再补充一些。凌晨刷的优势是信息量最小(通常只有几十篇),适合人肉快速过一遍,是最省力的追新时机。
批量下载论文PDF时,注意ArXiv文件名并不等于论文ID——实际文件名是arXiv:2406.09246加上v1/v2这样的版本号。如果按标题建文件夹,建议在脚本里直接用paper.entry_id作为唯一标识,避免重复和错乱。
写评注明带“个人观点”没有问题,但一定要跟纯事实区分开。比如“这篇论文的消融实验不够完整”是观点,但如果要写“作者没有跑过某个对比实验”就必须先确认过,不能凭感觉说。学术分享的公信力建立在准确性的基础上,这一点是最底线的要求。
关于是否要展示“全部论文”还是“精选论文”,我倾向于后者。原因很简单:信息筛选本身就是一种创造,你过滤掉什么、推荐什么,实际上反映了对领域的理解。全量转发的栏目没有灵魂,精选加上个人化的判断,才是读者持续关注的理由。
做每日论文分享能做到什么程度,说实话我也没有明确规划,中间也有过断更的念头。但每次看到有读者反馈说“今天这篇正好解决了最近一直在想的问题”的时候,就会觉得这件事值得继续做下去。它本质上不是在做信息搬运,而是在帮助一个社区更快地完成“发现——理解——吸收”的循环,这个循环对任何一个技术领域来说都是非常重要的。