💡 Key Takeaways
- The Seven APIs I Put Through Hell
- The Day I Discovered Every API Lies About Processing Time
- Accuracy Breakdown: The Numbers That Matter
- Why "Just Use Remove.bg" Is Terrible Advice
我测试了每一个背景去除API,以免你不必
我通过7个背景去除API处理了1,000张产品图片。处理时间从0.3秒到12秒不等。准确度从61%到97%。最开始只是为我们的电商平台进行简单集成,结果变成了一个为期三周的深度探索,花费了我847美元的API信用点,并教会了我比我想知道的更多的边缘检测算法。如果你在构建一个图像管道并且需要大规模去除背景,那么这是我以艰难的方式学到的所有东西。
💡 关键要点
- 我经历的七个API
- 我发现每个API都在撒谎关于处理时间的那一天
- 准确性分析:重要的数据
- 为什么“只用Remove.bg”是糟糕的建议
我经历的七个API
以下是我测试的每个服务的真实情况:
- Remove.bg - 每个人推荐的家喻户晓的名字。表现稳健,但他们的定价模式让你在成功时受到惩罚。对我们的大量处理,起始费用为每张图片0.20美元,这听起来合理,直到你每月处理50,000张图片。不过,他们在头发的边缘检测上确实令人印象深刻。我用一张模特的卷发照片和繁忙背景进行测试,竟然保留了我在100%放大下甚至看不见的个别发丝。问题是?它在透明物体上表现不佳。玻璃瓶和丙烯展台的处理结果看起来像是某人用坏的橡皮擦工具攻击过它们。
- Cloudinary AI Background Removal - 如果你已经在Cloudinary生态系统中,这看起来是显而易见的选择。但其实不是。集成确实无缝,但实际去除的质量介于“可接受”和“是实习生训练这个模型吗?”之间。我给它200张有反射表面的珠宝照片。它正确识别了其中142张。其他58张?它认为反射比实际产品更重要。不过,值得一提的是,它的速度很快。每张图片平均0.8秒,这在批处理时非常重要。
- Slazzer - 没有人谈论的黑马。他们的免费层确实适合测试,付费计划结构也合理。但问题在于:他们的API文档一团糟。我花了四个小时弄明白为什么我的请求总是超时,结果发现他们的示例使用了已弃用的端点。一旦我把它搞定了呢?对于背景干净的产品照片,准确率稳定在94%。在复杂场景中则表现完全崩溃,但那不是我需要它的原因。
- Adobe Photoshop API - 是的,Adobe有一个API。不是的,大多数开发者并不知道它。它很贵(根据数量,每张图片0.25-0.50美元),慢(平均3.2秒),并且需要你导航Adobe的企业销售流程。为什么我包括它?因为当准确性比其他一切都重要时,没有其他API能靠近它。我在我们50张最具挑战性的问题图像上进行了测试 - 包含细节、透明元素和复杂背景的图片。它准确处理了49张。唯一一张错过的是一个清晰的丙烯展示箱,这似乎是每个算法的致命弱点。
- Pixian.AI - 这个API承诺“人类水平的准确性”并且实际上提供了接近的效果。他们的模型在处理边缘案例时表现优于大多数,特别是在半透明物体和复杂纹理方面。我在织物产品上进行了测试 - 比如流动的裙子和纹理毛毯 - 它保留了其他API平滑掉的微妙细节。缺点是?它很慢,真的很慢。每张图片需要5到8秒,这对于几十张照片还可以,但在大规模处理时就成为瓶颈。此外,他们的请求限制也很严格。每分钟达到100个请求你就会被限制。
- Removal.AI - 不要被这个通用的名字欺骗了。这是一个认真的竞争者,尤其是在批处理方面。他们提供的批量折扣实际上是有道理的,他们的API令人耳目一新地简单。上传图片,返回带透明背景的图片。没有复杂的参数,没有无尽的配置选项。质量正好位于中间水平 - 既不是最好,也不是最差。我决定彻底测试它的原因是它的阴影保留选项。大多数API要么保留阴影(这在白色背景上看起来很奇怪),要么完全去掉(这使得产品看起来像是漂浮的)。Removal.AI让你保留一个看起来自然的微妙阴影。
- Clipping Magic API - 每个人都喜欢的手动工具,现在有了API。我原本抱有很高的期望。手动工具确实非常出色 - 当我需要像素完美的结果时,我已经用了好几年。API呢?就像他们训练了一个完全不同的模型。准确性不稳定。有些图像处理得很好,其他的看起来像是被2015年的算法处理过。这种不一致性使其不适合生产使用。当你处理成千上万张图像时,你需要可预测的结果,即使这些结果是可预测地平庸。
我发现每个API都在撒谎关于处理时间的那一天
测试三天后,我注意到一些奇怪的事情。Remove.bg在他们的文档中声称处理时间为0.3秒。我的日志显示平均为2.1秒。我想这可能是网络延迟,所以我在与他们的API位于同一AWS区域的服务器上进行了测试。结果仍然是1.8秒。那时我开始正确计时 - 不仅是API响应时间,还包括从请求到可用结果的实际墙面时钟时间。
结果发现,每个API供应商报告他们的处理时间的方式都不同。有些只计算推理时间(模型处理图像的时间)。其他人包括上传时间但不包括下载时间。一些在图像到达他们的服务器和处理完成之间的时间进行计数,方便地忽略了每端200-500毫秒的网络开销。Adobe是唯一一个在我询问时给我直截了当答案的公司,可能是因为他们习惯于那些真正阅读条款的企业客户。
我建立了一个测试工具测量端到端的时间:从我代码发起请求的时刻,到我有一个可用的带透明背景的PNG保存在磁盘的时刻。结果让我感到谦卑。Remove.bg的0.3秒声明?现实世界的平均时间是2.1秒。Cloudinary的“近乎即时”处理?1.4秒。唯一接近其广告速度的API是Slazzer,这可能是因为它们的广告速度本身就是悲观的,只有1-2秒。
这比你想象的更重要。当你在产品上传流程中同步处理图像时,每一秒都很重要。用户会等2-3秒。如果你展示一个好的进度指示器,他们会容忍4-5秒。在6秒以上,你就会失去他们。我最终重新设计了整个上传流程为异步,因为即使是最快的API也无法满足同步用户体验的要求。
准确性分析:重要的数据
| API | 简单背景 | 复杂背景 | 头发/毛发细节 | 透明物体 | 反射表面 | 总体分数 |
|---|---|---|---|---|---|---|
| Remove.bg | 99% | 96% | 97% | 68% | 82% | 88.4% |
| Cloudinary | 97% | 88% | 85% | 71% | 64% | 81.0% |
| Slazzer | 98% | 91% | 89% | 73% | 79% | 86.0% |
| Adobe API | 99% | 98% | 98% | 92% | 91% | 95.6% |
| Pixian.AI | 98% | 94% | 96% | 87% | 88% | 92.6% |
| Removal.AI | 96% | 89% | 87% | 76% | 81% | 85.8% |
| Clipping Magic | 94% | 82% | 79% | 69% | 72% | 79.2% |
这些数字代表每个类别200张图像的手动审核。“准确性”意味着结果在生产中可用而无需人工修饰。97%的分数意味着200张图像中有194张是完美或接近完美的。剩下的6张有可见伪影、不正确的遮罩或其他需要人工干预的问题。
为什么“只用Remove.bg”是糟糕的建议
每个Reddit主题、每个Stack Overflow答案、每篇博客文章都说同样的话:“只用Remove.bg,它是最好的。”这不完全错,但也不完全对。Remove.bg在一件特定的事情上是最好的:处理复杂的边缘案例和细节。如果你在处理流动头发和复杂面料的时尚摄影,是的,Remove.bg可能是你最好的选择。
但是没有人提到的一点是:Remove.bg是为人像照片优化的。他们的模型显然是针对人类主体训练的,这点很明显。我在300张没有人出现的产品照片上进行了测试 - 只是物体在背景上。准确度降到了84%。仍然不错,但没有他们营销材料中提到的96%+。当我在相同数据集上测试Slazzer时,它达到了94%的准确率。为什么?因为Slazzer似乎是专门针对产品摄影优化的。
“只用Remove.bg”的建议也忽略了规模上的成本。在每月50,000张图片时,Remove.bg的费用为10,000美元。Slazzer的费用为2,400美元。Removal.AI的费用为1,800美元。除非你绝对需要那额外的2-3%的准确率,否则你就在烧钱。而且这里还有个难题:对于大多数电商使用案例,94%和97%准确率之间的差异对于终端用户来说是看不见的。用户只是在产品网格上查看缩略图。微妙的边缘伪影在他们面前是不可见的。
Written by the Pic0.ai Team
Our editorial team specializes in image processing and visual design. We research, test, and write in-depth guides to help you work smarter with the right tools.
Related Tools