探索云端视觉:Cloudy Vision —— 比较计算机视觉API的利器
在当今AI大行其道的时代,计算机视觉服务已成为许多开发者和企业的重要工具。然而,如何选择最适合您需求的服务呢?Cloudy Vision是一个开源项目,它允许您将一组图像通过多个计算机视觉API提供商进行处理,并直观地比较结果,从而帮助您找到最匹配的解决方案。
项目介绍
Cloudy Vision是一个Python脚本,旨在对Microsoft、IBM、Google、Cloudsight、Amazon(Rekognition)和Clarifai等多家知名厂商的计算机视觉API性能进行对比。该项目的核心功能是生成一个HTML输出文件,展示每个API识别同一组图像的结果,使您可以方便地评估每种服务的表现。
技术分析
Cloudy Vision的工作流程十分简洁:
- 对指定目录中的图像,逐个调用各服务商的API。
- 将结果存储为JSON文件,便于后期处理和比较。
- 可选地,您可以将自己的标签与API返回的结果进行匹配,以此来测试准确性。
- 计算响应时间、返回标签数量等相关统计信息。
- 创建缩略图以便于在输出页面中展示。
- 生成
output.html
,集中显示所有图像及其识别结果。
应用场景
- 针对特定业务场景,比较不同API的准确性和效率。
- 开发者或研究人员对新API的快速评估。
- 教育领域,用于教学和实践计算机视觉API的使用。
项目特点
- 多平台支持:覆盖了市场上的主流计算机视觉服务,提供了丰富的比较选项。
- 可视化结果:通过HTML页面清晰展示比较结果,使得评估直观易懂。
- 灵活配置:可设置期望的标签,评估API对预设标签的匹配程度。
- 自动化处理:一次运行,自动处理所有图片,节省时间和精力。
- 易于扩展:欢迎社区贡献,添加新的API供应商或增强现有功能。
使用方法
- 获取各个API的密钥并存入
api_keys.json
。 - 安装依赖库(见下文)。
- 将图像放入
input_images
目录。 - 运行
cloudy_vision.py
脚本。 - 查看
output/output.html
浏览结果。 - 添加新图片时,只需重新运行脚本,已有的结果会从缓存中读取。
注意事项
对于Amazon Rekognition和Clarifai,密钥需分别存放在.aws/credentials
和.clarifai/config
。
安装步骤
创建虚拟环境并安装要求的依赖:
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
如果不需要缩略图,可以省略Pillow的安装。
贡献指南
欢迎任何形式的贡献,比如增加新的图像识别提供商,暴露更多供应商特性,或者修复bug、提出建议。
致谢
项目由@goberoi发起,感谢@lucasdchamps提供的多项改进,包括响应时间统计、标签匹配、Amazon Rekognition支持以及其它优化。
许可证
该项目遵循MIT许可证,版权所有(2016) Gaurav Oberoi。