Botanical Extract AI Pro:一套实验性背景分离工作流
一套实验性的网页与批处理工作流,用多模态图像模型把植株置于白色背景上,并说明其科学和隐私局限。
Liangchao DengPostdoctoral Researcher概述

Botanical Extract AI Pro 探索多模态图像模型能否在不进行项目专属模型训练的情况下,减少植株照片中的背景杂乱。它为单张图像提供一个交互式网页工作流,并为重复处理提供一个面向 Node.js 的工作流。
它最好被描述为 AI 辅助的背景分离,而非经过验证的科学分割。生成式模型可能重绘叶片、移除细小结构、改变颜色,或在提示词要求不要这么做时仍虚构边界。
“零样本”指的是未进行任务专属训练。它并不暗含零误差、像素级完美保留,或适合定量表型。
工作流
两个客户端遵循相同的基本路径:
- 加载图像并解码,以确认格式和尺寸。
- 选择所选模型 API 支持的最接近的宽高比。
- 把图像和一条受约束的背景替换指令发送给提供商。
- 把返回的图像保存在未经触碰的原图旁边。
- 记录提供商、模型、提示词版本、时间和处理结果。
网页界面支持单个样本的视觉比较。批处理工作流扫描一个目录,在输出目录中镜像其结构,并记录成功和失败。
提示词能做什么和不能做什么
提示词可以请求白色背景并要求模型保留植株。它不能强制生成式系统保留原始像素。因此诸如“像素级完美”之类的说法是给模型的指令,而非对结果的保证。
宽高比匹配同样有限。选择最接近的支持比例可以减少 API 请求中可避免的裁剪或拉伸,但不能保证生成图像中几何或分辨率一致。
输入验证
仅凭文件扩展名不足以验证。更安全的客户端应当:
- 检查二进制签名并成功解码图像
- 强制文件大小和像素尺寸限制
- 拒绝不支持或畸形的数据
- 在不悄悄丢弃原图的情况下归一化朝向
- 把提供商负载与本地元数据分开
当前的 Base64 式请求模式会把图像加载到内存中。它不应被描述为流式处理,大输入需要明确的限制。
有界的批处理
Promise.allSettled(files.map(processFile)) 并不控制并发;它会立即调度所有任务。生产批处理客户端应围绕提供商调用设置一个小限制:
import pLimit from 'p-limit';
const limit = pLimit(3);
const results = await Promise.allSettled(
files.map((file) => limit(() => processOneImage(file))),
);
处理函数还应为可重试的 429 和 5xx 响应使用有上限的指数退避,对永久性错误停止重试,并写入可恢复的清单。并发必须根据提供商文档的限制和可用内存来调整。
科学质量控制
未经验证,生成的输出不应用于叶面积、形状、病害、生长或时间序列测量。一次实用的审查应包括:
- 在相同尺度下叠加源图像和输出。
- 检查细茎、叶尖、孔洞、花、标签和盆边界。
- 检查颜色、阴影或植株几何是否改变。
- 把人工标注的验证子集与合适的掩膜和边界指标比较。
- 在定量分析之前拒绝或人工修正失败样本。
对于需要可复现二值掩膜的测量,常规分割模型或经验证的交互式分割工具通常比图像生成更合适。
隐私、成本与可复现性
除非使用本地模型,否则上传的图像会离开设备并由外部提供商处理。在处理科研数据之前:
- 审查提供商的留存和训练政策。
- 移除敏感标签、位置和个人信息。
- 把 API 密钥存储在服务端或环境配置中,绝不放在公开的客户端代码中。
- 在开始批处理前估计单图成本和速率限制。
- 保留原始文件和机器可读的处理清单。
当前局限
- 目前没有公开基准确立跨物种、器官、背景或成像条件的精度。
- 结果可能因模型版本和重复请求而异。
- 该工作流产出一幅编辑后的图像,不一定是 alpha 掩膜或带类别标签的分割。
- 大规模处理需要有界的并发、恢复日志和人工质量保证。
- 除非提供公共仓库和许可,否则该项目不应被描述为开源。
该项目作为一个用于快速视觉清理和研究多模态模型在植物图像上行为的原型,仍然有用。其输出应被视为生成式衍生物,而非真值。

DISCUSSION
Questions or field notes?