![]()
这项由浙江大学郭子润、洪敏杰、谭韬等研究者与字节跳动BandAI团队合作完成的重要研究发表于2025年12月的arXiv论文库,论文编号为arXiv:2512.03746。对这一前沿研究感兴趣的读者可以通过该编号查询完整论文。
当你拿起手机拍了一张照片,却发现图片歪了或者文字看不清时,你会怎么做?大多数人会很自然地旋转手机屏幕,或者用手指放大图片来看清细节。这些看似简单的操作,对于人工智能来说却是一个巨大的挑战。
如今的AI图像识别技术已经相当先进,能够识别照片中的各种物体、阅读文字内容,甚至理解图片背后的含义。然而,研究团队发现了一个令人意外的问题:当图片稍微旋转一下,或者文字太小看不清楚时,这些先进的AI系统就会变得"手足无措",准确率急剧下降,有时甚至下降80%以上。
这就好比一个博学的教授,平时能够流利地讲解各种复杂理论,但当有人把教材倒过来放在他面前时,他就完全不知道该如何应对了。现实生活中,我们每天遇到的图片往往不是完美状态的——自拍可能是镜像的,文档可能扫描得歪斜,照片可能因为拍摄角度而需要旋转。如果AI无法处理这些日常情况,那它在实际应用中的价值就会大大降低。
为了解决这个问题,研究团队开发了一个名为"CodeVision"的革命性框架。与传统方法不同的是,这个系统不是简单地让AI"看"图片,而是教会AI像人类一样"动手"处理图片。当AI发现图片有问题时,它会自动编写代码来调用各种图像处理工具,比如旋转、裁剪、增强对比度等操作,然后再基于处理后的图片进行分析。
这种方法的巧妙之处在于将代码作为AI使用工具的通用接口。传统的AI系统需要预先定义好能使用哪些工具,就像给工人准备一个固定的工具箱。而CodeVision系统则让AI学会了"编程语言"这把万能钥匙,可以调用任何现有的图像处理功能,甚至能够创造性地组合多个工具来解决复杂问题。
一、AI的"近视眼"问题:当图片不完美时会发生什么
研究团队首先做了一个简单而直观的测试。他们从各个领域收集了200张图片,然后对每张图片进行五种常见的变换:顺时针旋转90度、180度、270度,水平翻转和垂直翻转。接着,他们让AI模型判断图片经历了哪种变换,这对人类来说是一个非常简单的任务。
结果让人震惊。即使是目前最先进的AI模型,如GPT-4和Gemini等,在这个看似简单的任务上表现都很糟糕,而普通人可以轻松做到100%准确。更重要的是,研究团队发现,当图片经过这些基本变换后,AI在各种实际任务中的表现都会显著下降。
以文字识别任务为例,当图片方向正确时,先进的AI模型能够达到85-90%的准确率。但是当图片旋转90度后,准确率可能降到60%左右;如果是180度旋转,准确率可能跌至45%;而对于水平或垂直翻转的图片,准确率甚至可能降到10%以下。这种表现差距就像一个平时能考90分的学生,当试卷倒过来放时只能考10分一样令人担忧。
在图表理解任务中,情况同样严重。正常方向的图表,AI能够准确理解其中的数据关系和趋势。但当图表旋转或翻转后,AI就像迷失方向的游客一样,无法正确解读其中的信息。这种脆弱性在现实应用中是不可接受的,因为我们无法保证所有输入的图片都是完美方向的。
这个发现揭示了当前AI系统的一个根本性问题:它们缺乏人类那种自然的"动手能力"。当人类看到一张倒置的图片时,会本能地旋转它;当文字太小看不清时,会放大图片。但是传统的AI系统只能"被动观看",无法主动调整输入内容来改善理解效果。
二、CodeVision:教AI学会"动手"的编程思维
面对这个挑战,研究团队设计了一个创新的解决方案——CodeVision框架。这个系统的核心思想是让AI像程序员一样思考和行动:当遇到问题时,不是硬着头皮去解决,而是先写代码来改善工作环境,然后再处理问题。
CodeVision系统的工作过程可以这样理解:当AI接收到一张图片和一个问题时,它首先会分析图片的状态,判断是否需要进行预处理。如果发现图片方向不对,它会编写代码来调用旋转功能;如果发现目标区域太小看不清楚,它会编写裁剪代码来放大特定区域;如果发现图片对比度不够,它会调用增强功能来改善视觉效果。
这种方法的最大优势是灵活性和可扩展性。传统的工具使用方法需要预先定义每个工具的名称、参数和调用方式,就像给AI一本固定的"工具使用手册"。如果要添加新工具或修改工具参数,就需要重新训练模型。而CodeVision则让AI学会了编程语言这个通用接口,可以调用任何现有的图像处理库和函数。
举个具体例子,当AI需要处理一张旋转了90度的包含小字的图片时,传统系统可能需要调用预定义的"rotate90"工具和"crop"工具。而CodeVision系统则会编写类似这样的代码:首先导入图像处理库,然后调用旋转函数将图片转正,接着计算目标文字区域的坐标,最后裁剪出包含文字的子图。整个过程就像一个熟练的程序员在解决图像处理问题一样自然流畅。
更令人印象深刻的是,CodeVision系统展现出了三个意想不到的"涌现能力"。首先是工具创新能力:系统能够调用训练时从未见过的新工具来解决问题,就像一个程序员能够学会使用新发布的编程库一样。其次是效率优化能力:系统学会了在一次执行中串联多个操作,而不是分步进行,大大提高了处理效率。最后是错误恢复能力:当代码执行失败时,系统能够分析错误信息,修改代码并重新尝试,展现出了令人惊讶的适应性。
三、两阶段训练:从模仿到策略思考的进化过程
训练CodeVision系统是一个精心设计的两阶段过程,就像培养一名优秀程序员需要先学习基础语法,再培养解决问题的战略思维一样。
第一阶段是"冷启动"监督学习阶段。研究团队构建了一个高质量的训练数据集,包含大约5000个精心设计的示例。这些示例涵盖了五种不同类型的任务:单工具使用、多工具组合、多步裁剪、错误处理和无工具解答。每个示例都包含完整的推理过程和代码实现。
在单工具使用示例中,AI学习如何识别图片问题并调用相应工具解决。比如看到一张旋转的图片,AI需要学会判断旋转角度并编写相应的旋转代码。多工具组合示例则更加复杂,需要AI学会组合使用多种工具来解决复杂问题,比如先旋转图片再裁剪特定区域。
错误处理示例特别有价值,因为它们模拟了真实编程中经常遇到的情况。研究团队故意在训练数据中加入了代码错误、参数错误等情况,然后展示AI应该如何分析错误信息并修正代码。这就像教学生不仅要知道正确答案,还要知道犯错后如何纠正。
第二阶段是强化学习阶段,这是整个训练过程的关键创新。研究团队设计了一个复杂的奖励函数,包含多个组成部分来指导AI的学习过程。这个奖励函数不仅关注最终结果是否正确,还关注AI是否使用了正确的策略和工具。
奖励函数的设计体现了深刻的教育智慧。首先是结果奖励,确保AI能够得出正确答案。其次是策略奖励,鼓励AI使用必要的工具和发现有益的工具组合。比如当图片确实需要旋转时,AI必须使用旋转工具才能获得策略奖励,即使它可能通过其他方式勉强得出答案。
最有趣的是"建议工具奖励"机制。系统会收集同一问题的多个解决方案,比较使用额外工具和不使用额外工具的成功率。如果使用某个额外工具确实提高了成功率,系统就会奖励那些使用该工具的解决方案。这种机制鼓励AI主动探索和发现有用的工具组合,而不是仅仅依赖预定义的必要工具。
为了防止AI的"取巧行为",研究团队还设计了约束惩罚机制。比如如果AI为了获得策略奖励而重复使用不必要的工具,或者在不需要工具的情况下强行使用工具,都会受到相应惩罚。这确保了AI学习到的是真正有效的策略,而不是游戏规则的漏洞。
四、MVToolBench:检验多工具协作能力的新标准
为了全面评估AI的工具使用能力,研究团队构建了一个全新的基准测试——MVToolBench。这个测试的设计理念是创造真正需要多个工具协作才能解决的挑战,就像现实世界中的复杂任务往往需要多种技能配合一样。
MVToolBench的构建过程充分考虑了实际应用场景。研究团队从HierText数据集中选择了包含丰富文本标注的图片,然后进行精心筛选,只保留那些目标文字区域占整张图片面积不到0.01%的样本。这种严格筛选确保了测试的挑战性——如果不使用裁剪工具放大目标区域,几乎不可能准确识别其中的文字内容。
接下来,研究团队针对这些筛选后的图片设计了各种类型的问题,包括文字识别、计数任务和信息提取等。问题设计的一个重要原则是避免使用任何位置提示,比如不会说"左边的文字"或"第三行的内容",而是通过内容描述来指定目标,如"以'Busy'开头的那行文字说了什么"。这种设计迫使AI必须依靠自己的理解能力来定位目标区域。
最后的关键步骤是为每张图片随机应用方向变换,包括90度、180度、270度旋转,以及水平翻转或垂直翻转。这样,解决任何一个问题都需要至少两个步骤:首先纠正图片方向,然后裁剪目标区域。这种设计确保了测试真正评估的是多工具协作能力,而不是单一工具的使用技巧。
在MVToolBench上的测试结果令人印象深刻。CodeVision系列模型在这个挑战性基准上取得了显著优势,其中CodeVision-7B模型达到了60.1分,几乎是第二名Gemini2.5-Pro(32.6分)的两倍。这种巨大差距表明,CodeVision框架在处理需要多步骤工具协作的复杂任务方面具有明显优势。
更值得注意的是,在传统的单工具基准测试(如V*和HRBench)上,CodeVision模型的表现与现有最佳模型相当,这说明新方法在保持原有能力的同时,显著提升了多工具协作能力。这种平衡发展体现了框架设计的巧妙之处。
五、实验验证:从理论到实践的全面检验
研究团队进行了大规模的实验来验证CodeVision框架的有效性。实验设计覆盖了多个维度,包括不同规模的模型、不同类型的任务和不同难度的挑战,确保结果的全面性和可靠性。
在图片方向识别能力测试中,CodeVision模型展现出了令人瞩目的改进。以OCRBench数据集为例,当图片经过180度旋转时,基础的Qwen2.5-VL-7B模型准确率仅为58.0%,而经过CodeVision训练的同规模模型准确率达到了73.1%,提升了15个百分点。在垂直翻转这个最困难的变换上,基础模型准确率仅为17.0%,CodeVision模型则达到了67.4%,提升幅度达到50个百分点。
在ChartQAPro图表理解任务中,改进同样显著。这个任务主要测试AI对图表内容的理解和推理能力,而不是对每个字符的精确识别。CodeVision-8B模型在处理水平翻转的图表时准确率达到39.7%,而基础模型仅为21.3%。这种改进表明,工具使用能力不仅提升了视觉感知,还增强了高层次的推理能力。
训练过程的分析揭示了CodeVision学习策略的有效性。奖励曲线显示,模型在训练过程中不仅提高了最终答案的正确率,还学会了更加战略性的工具使用方法。特别值得注意的是,"涌现工具使用"奖励的持续上升表明,模型正在主动发现和使用训练数据中未明确要求的有益工具。
通过具体案例分析,研究团队展示了CodeVision模型的多项高级能力。在一个典型案例中,模型需要处理一张既旋转又需要裁剪的复杂图片。模型首先分析图片状态,识别出需要90度旋转,然后编写代码执行旋转操作。接着,它分析旋转后的图片,确定目标文字区域的大致位置,编写裁剪代码提取该区域。最后,基于清晰的裁剪图片,模型准确回答了问题。
更令人印象深刻的是模型的错误恢复能力。在另一个案例中,模型最初选择了错误的变换操作(水平翻转而非90度旋转)。当接收到执行结果后,模型能够分析结果,意识到选择错误,然后自动修正策略,选择正确的旋转操作。这种自我纠正能力在传统AI系统中是很难实现的。
模型还展现出了创造性的工具组合能力。在一个需要增强图片对比度并转换为灰度图的任务中,模型将对比度增强和灰度转换操作巧妙地组合在一次代码执行中,而这两个工具在训练数据中从未以这种方式组合出现过。这种创造性组合能力表明,模型真正理解了工具的功能,而不是简单地记忆固定的使用模式。
六、技术细节:构建智能工具使用的关键要素
CodeVision框架的成功离不开多个技术层面的精心设计。首先是代码生成和执行环境的构建。研究团队创建了一个安全的代码执行沙盒,允许AI生成的代码在受控环境中运行,同时防止潜在的安全风险。这个执行环境支持主流的Python图像处理库,如OpenCV、PIL、numpy等,为AI提供了丰富的工具选择。
模型架构方面,CodeVision在现有的多模态大语言模型基础上进行了适配性改进。研究团队选择了Qwen2.5-VL和Qwen3-VL系列作为基础模型,这些模型在视觉理解和代码生成方面都具有良好的基础能力。通过在这些模型上进行专门的工具使用训练,实现了视觉理解、代码生成和工具调用的有机统一。
训练数据的构建过程体现了研究团队的深厚经验。他们从多个领域收集了训练样本,包括手写文字数据集、野外OCR数据集、表格图表数据集和数学推理数据集。为了确保数据质量,团队开发了自动验证机制,通过比较工具操作前后的结果来判断操作的正确性。只有通过验证的高质量示例才被纳入最终的训练数据集。
强化学习的实现采用了GRPO(Group Relative Policy Optimization)算法,这是一种改进的策略优化方法,特别适合处理具有复杂奖励结构的任务。训练过程中,每个样本会生成8个不同的解决方案,通过比较这些方案的奖励来指导模型学习更好的策略。
约束惩罚机制的设计特别精巧。研究团队识别了三类需要惩罚的行为:超出合理回合数的冗余操作、在目标区域IoU很低情况下声称正确答案的低质量推理,以及在不需要工具时错误使用方向调整工具的不当操作。这些惩罚机制确保了模型学习到高效、准确的工具使用策略。
七、突破与局限:技术进步的真实画像
CodeVision框架在多个方面实现了显著突破,但也存在一些需要进一步改进的局限性。研究团队以客观态度分析了这些优势和不足,为未来发展指明了方向。
最显著的突破是工具使用的灵活性。传统方法需要为每个工具预定义接口和参数,而CodeVision通过代码作为通用接口,实现了真正的工具使用灵活性。这种设计不仅支持现有工具的使用,还为未来工具的整合提供了无限可能。模型能够调用训练时从未见过的新工具,并且能够创造性地组合多个工具来解决复杂问题。
在错误恢复能力方面,CodeVision也展现出了传统方法难以企及的优势。当代码执行失败或结果不理想时,模型能够分析错误信息,理解失败原因,并相应调整策略。这种能力使得AI系统在面对意外情况时具有更好的鲁棒性。
训练效率的提升是另一个重要优势。通过两阶段训练策略,模型能够在相对较少的训练数据上获得显著的性能提升。监督学习阶段为模型提供了基础能力,强化学习阶段则优化了策略选择,这种分工明确的训练方式比端到端训练更加高效。
然而,研究团队也坦诚地指出了一些局限性。首先是工具范围相对有限。目前的研究主要集中在图像的基础操作上,如旋转、裁剪、对比度调整等。虽然这些操作在实际应用中很重要,但要构建真正通用的视觉助手,还需要整合更多类型的工具,如图像生成、多图像对比、三维处理等。
精确定位能力是另一个需要改进的方面。虽然模型能够大致确定目标区域的位置,但在生成精确的裁剪坐标时仍有不足。研究团队观察到,模型有时会采用"安全策略",裁剪出比实际需要更大的区域以确保包含目标内容,这虽然能够完成任务,但效率不够理想。
计算成本也是一个现实考虑因素。由于需要多轮代码生成和执行,CodeVision的推理过程比传统的单次前向传播需要更多计算资源。在实际部署时,需要在性能提升和计算成本之间找到合适的平衡点。
评估基准的构建虽然有所创新,但仍有扩展空间。目前的基准主要关注文本相关的任务,未来需要构建更多样化的评估场景,涵盖不同类型的视觉理解和推理任务。
八、实际应用前景:从实验室到日常生活的转化
CodeVision框架的潜在应用前景十分广阔,几乎涵盖了所有需要智能图像处理的场景。在文档处理领域,这项技术能够自动处理各种方向和格式的扫描文档,无论是歪斜的发票、旋转的合同还是模糊的身份证件,都能通过自动调整和增强来提高识别准确率。
在教育技术方面,CodeVision可以大大改善在线学习体验。学生上传的作业照片往往质量参差不齐,可能存在角度倾斜、光线不佳、字迹模糊等问题。传统的AI批改系统在处理这些"非标准"图片时效果很差,而配备CodeVision技术的系统能够自动纠正这些问题,准确识别学生的答案和解题过程。
医疗影像分析是另一个重要应用领域。医疗设备产生的图像有时需要调整对比度、旋转角度或裁剪特定区域才能进行准确分析。CodeVision技术能够让AI系统像经验丰富的影像医生一样,自动进行这些预处理操作,然后进行精确的病理分析。
在社交媒体和内容管理方面,这项技术能够自动处理用户上传的各种图片。无论是自拍时的镜像效果、风景照的方向问题,还是文档照片的质量问题,都能通过智能处理来改善用户体验。平台可以在用户上传图片后自动进行优化,提供更清晰、更准确的显示效果。
工业检测和质量控制领域也将大大受益。生产线上的产品图像可能因为摄像头角度、光照条件或产品位置的变化而需要动态调整。CodeVision技术能够让检测系统自动适应这些变化,确保检测的准确性和可靠性。
无人驾驶汽车的视觉系统同样可以从这项技术中获益。在复杂的驾驶环境中,摄像头可能因为震动、污垢或角度问题而影响图像质量。配备智能图像处理能力的视觉系统能够实时调整和优化输入图像,提供更准确的环境感知能力。
值得注意的是,CodeVision的代码生成特性还为个性化应用开辟了新的可能性。不同用户可能有不同的图像处理需求,系统能够根据具体情况生成定制化的处理代码,而不是依赖预设的处理流程。
九、深入剖析:奖励机制设计的智慧
CodeVision框架中最精巧的部分之一是其奖励函数的设计,这个看似技术性的细节实际上体现了深刻的教育哲学和心理学洞察。研究团队在设计这个奖励系统时,必须解决一个根本性问题:如何让AI不仅学会得出正确答案,还学会使用正确的方法。
传统的AI训练往往只关注最终结果——答案对了就是好,答案错了就是坏。但这种简单的奖励机制在复杂任务中会导致AI学会"取巧"行为。就像学生可能通过猜测或作弊得到正确答案,但实际上没有真正理解知识一样。
CodeVision的奖励设计采用了"过程导向"的思路。系统不仅要求AI得出正确答案,还要求它使用恰当的工具和合理的步骤。这就像一个好老师不仅看学生的答案,还要看学生的解题过程,确保学生真正掌握了解题方法。
"必需工具奖励"机制特别有趣。当一张图片确实需要旋转时,AI必须使用旋转工具才能获得这部分奖励,即使它可能通过其他方式勉强得出答案。这种设计强化了AI对任务本质的理解,避免了投机取巧的行为。
更巧妙的是"建议工具发现"机制。系统会自动分析哪些额外工具确实有助于提高成功率,然后奖励那些使用这些有益工具的解决方案。这种机制鼓励AI主动探索和创新,而不是仅仅依赖预定义的要求。这就像鼓励学生不仅要完成基本作业,还要主动学习额外的有用技能。
约束惩罚机制则起到了"规则意识"培养的作用。当AI为了获得奖励而进行无意义的重复操作,或者在不需要时强行使用工具时,系统会给予相应惩罚。这种设计确保AI学习到的是真正有效的策略,而不是钻系统漏洞的技巧。
研究团队还发现,不同类型的任务需要不同的奖励权重。对于需要精确裁剪的任务,IoU(交并比)奖励的权重会更高;对于方向纠正任务,工具使用的奖励会更重要。这种动态调整体现了奖励设计的精细化程度。
十、技术演进的更大图景:从工具使用到通用智能
CodeVision框架的意义不仅仅在于解决了图像处理中的具体问题,更在于它为AI系统的发展开辟了一个新方向。这个方向可以概括为"从被动感知到主动操作"的转变。
在AI发展的早期阶段,系统主要扮演"观察者"的角色——接收输入,处理信息,给出输出。就像一个只能看书但不能写字的学者,这样的AI虽然能够理解很多内容,但在面对需要动手解决的问题时就显得力不从心。
CodeVision代表的是AI向"操作者"角色的进化。系统不再满足于被动接受输入,而是能够主动改善输入质量,优化工作环境。这种能力的获得意味着AI开始具备了类似人类的"元认知"能力——不仅知道如何思考,还知道如何创造更好的思考条件。
这种演进的影响是深远的。在自然语言处理领域,类似的思路已经开始出现,AI系统开始学会搜索信息、调用计算器、运行代码来增强自己的推理能力。在多模态领域,CodeVision展示了如何让AI获得视觉工具使用能力。未来,我们可以预见AI将具备更多维度的工具使用能力,包括音频处理、3D建模、科学计算等。
从更宏观的角度来看,工具使用能力的发展标志着AI向通用人工智能迈出了重要一步。人类智能的一个关键特征就是工具的创造和使用,从简单的石器到复杂的计算机,工具使用能力一直是人类文明进步的重要推动力。AI系统开始掌握工具使用能力,意味着它们开始具备了人类智能的一个核心特征。
CodeVision框架还暗示了AI系统架构的未来发展方向。传统的AI系统往往是单一的、封闭的,而具备工具使用能力的AI系统则是开放的、可扩展的。这种系统可以通过整合新工具来不断扩展自己的能力边界,而不需要从头重新训练。
这种开放性和可扩展性对AI的实际部署具有重要意义。在快速变化的技术环境中,固定能力的AI系统很容易过时,而具备工具使用能力的系统则能够通过整合新工具来保持竞争力。这就像智能手机通过安装新应用来获得新功能一样,AI系统也将通过学习使用新工具来持续进化。
当然,这种发展也带来了新的挑战。如何确保AI系统安全地使用工具?如何防止恶意工具的使用?如何处理工具之间的冲突和兼容性问题?这些都是需要深入研究和解决的重要问题。
CodeVision框架为这些挑战提供了一些初步的解决思路。通过代码作为中介接口,系统可以在受控环境中执行工具操作,提供了安全性保障。通过精心设计的奖励机制,系统学会了合理和高效的工具使用方式,避免了滥用和误用。
说到底,CodeVision代表的不仅仅是一个技术框架,更是AI发展理念的一次重要转变。它告诉我们,未来的AI系统不应该是封闭的黑盒子,而应该是开放的、能够与环境互动的智能体。这种AI将不仅仅是信息处理器,更将成为能够改造和优化自身工作环境的主动参与者。
这项研究表明,当我们的图像识别AI学会了像人类一样"动手"处理图片后,它们在处理现实世界复杂视觉任务时的能力将得到质的提升。随着技术的不断发展和完善,我们有理由期待更加智能、灵活和实用的AI助手出现在我们的日常生活中,真正实现人工智能与人类需求的无缝对接。
Q&A
Q1:CodeVision跟普通的AI图像识别有什么不同?
A:普通AI只能"看"图片然后给出答案,就像一个只能读书不能动手的学生。而CodeVision教会了AI"动手"处理图片——当发现图片角度不对时会自动旋转,文字太小时会自动放大,就像人类遇到问题时会本能地调整一样。这让AI在处理现实中那些不完美的图片时表现更好。
Q2:这个技术能解决什么实际问题?
A:主要解决现实中图片质量不完美的问题。比如你扫描文档时角度歪了,或者拍照时文字太小看不清,普通AI的识别准确率会大幅下降甚至降低80%。CodeVision通过让AI自动纠正这些问题,大大提高了在真实场景中的实用性,特别适用于文档处理、教育批改、医疗影像等领域。
Q3:CodeVision是怎么学会使用工具的?
A:研究团队采用了两阶段训练法。第一阶段像教小学生一样,用5000个精心设计的例子教AI基础的工具使用方法。第二阶段采用强化学习,设计了复杂的奖励机制,不仅奖励正确答案,还奖励使用恰当工具的过程,同时惩罚取巧行为。这样AI就学会了既要答对,又要方法对。





京公网安备 11011402013531号