使用Amazon Nova 2 Lite进行目标检测
本文介绍了如何通过Amazon Nova 2 Lite实现目标检测,无需训练模型或管理基础设施。利用Amazon Bedrock、Lambda和API Gateway构建应用,通过自然语言提示即可检测物体并获取边界框坐标。涵盖制造业、农业和物流等实际应用场景。
传统的计算机视觉解决方案通常需要大量的前期投入,包括数据管道、模型训练基础设施、计算资源以及专门的数据科学团队,这对于小型公司或团队来说往往难以承受。通过Amazon Bedrock提供的Amazon Nova 2 Lite提供了一个有吸引力的替代方案。这个多模态基础模型可以通过自然语言提示检测物体,无需任何训练。只需指定“车辆”、“人”或“凹痕”,Nova就会以结构化JSON格式返回精确的边界框坐标。
在本篇文章中,我们将逐步介绍如何使用Amazon Nova 2 Lite实现目标检测。您将学习如何利用Amazon Bedrock、AWS Lambda和Amazon API Gateway部署一个目标检测应用。您还将学习如何设计有效的提示、处理结构化JSON输出以及可视化结果。我们将探讨在制造业、农业和物流领域的实际应用。
解决方案概述
在开始之前,请确保您具备以下条件:
- AWS账户及权限:有效AWS账户并启用Amazon Bedrock访问权限,具备bedrock:InvokeModel的IAM权限,以及所在区域对Amazon Nova 2 Lite模型的访问权。
- AWS CLI已配置(用于部署)。
- 开发环境(用于本地测试):Python 3.8或更高版本,AWS SDK for Python (Boto3) 1.28.0+,Python Imaging Library (PIL/Pillow)。
- 安装命令:pip install boto3 pillow
预估成本
- Amazon Bedrock:每千个输入令牌0.0003美元,每千个输出令牌0.0025美元。
- 典型图像:约230个输入令牌(约0.000069美元/图像)和约200个输出令牌(约0.0005美元/图像)。
- 示例:10,000张图像约5.69美元。
- AWS Lambda、Amazon API Gateway:按使用量付费(测试时成本极低)。
- 时间预估:30-45分钟。
目标检测解决方案通过四个主要步骤识别和定位图像中的物体:
- 提示工程:结构化提示以指定物体和期望的JSON输出格式。
- Amazon Bedrock:调用Amazon Bedrock访问Amazon Nova 2 Lite,无需管理基础设施,并从响应中提取边界框信息。
- 坐标处理:将Nova的归一化坐标(0-1000范围)转换为像素位置。
- 可视化:在图像上渲染边界框以供验证。
您通过Amazon Bedrock的Converse API发送图像和待检测物体列表。Amazon Nova 2 Lite分析图像并返回包含每个检测物体边界框坐标的JSON响应。然后根据图像尺寸将归一化坐标(0-1000范围)转换为像素位置。最后,通过在原始图像上绘制边界框来可视化结果。
提示设计
提示工程在实现准确检测中扮演重要角色。提示模板包含精心设计的指令集,指定了关键要求。模板中的两个变量elements和schema根据检测物体类型动态构建,使提示模板能够处理任意物体类别而无需修改。
提示示例包括:目标、指令、输出要求和示例JSON结构。完整的提示内容请参阅GitHub仓库。
示例:街景检测
我们使用Nova 2 Lite测试了一张街景图像。无需任何训练或微调,我们要求Nova检测“车辆”和“停车标志”两种物体。如图1所示,Nova不仅准确检测出明显物体,还能检测出小型、遥远或部分遮挡的物体。边界框紧密贴合物体边界,间隙极小。Nova仅使用基本的物体名称如“车辆”和“停车标志”就实现了这样的精度。
云端部署
Amazon Bedrock提供了对Amazon Nova 2 Lite的API访问,这意味着您可以从任何AWS计算服务中调用它。选择最适合您工作负载的服务。对于事件驱动的工作负载和API端点,AWS Lambda提供自动扩展和按调用付费模式,消除了空闲成本。如果您需要更多控制运行时环境或具有长时间运行的进程,Amazon EC2提供了完全灵活性。对于基于容器的部署,可使用Amazon ECS或Amazon EKS。
无论选择哪种计算服务,它们都调用相同的Amazon Bedrock Converse API与Nova模型交互。这种一致性使目标检测能够轻松集成到现有基础设施中,或在计算平台之间迁移。
构建目标检测应用
我们构建了一个示例无服务器Web应用,展示了如何使用Amazon Nova 2 Lite进行目标检测。该概念验证包括Web界面、安全基础设施和自动扩展。您可以在几分钟内部署到自己的AWS账户。
该应用采用无服务器优先架构,多个AWS服务协同工作。Amazon CloudFront通过Origin Access Control从私有Amazon S3存储桶提供单页应用,提供全球分发和HTTPS强制。用户上传图像并指定待检测物体后,前端发送请求到Amazon API Gateway,再由其路由到AWS Lambda函数。
Lambda函数作为编排层,调用Amazon Bedrock的Converse API将图像和检测提示发送给Amazon Nova 2 Lite。Nova返回每个检测物体的归一化边界框坐标,Lambda函数将其转换为像素位置并在图像上绘制标注框。标注后的结果通过相同路径返回:Lambda到API Gateway再到前端。用户即可看到带有检测物体高亮的图像。
图2展示了无服务器目标检测示例应用的架构。
自行尝试
完整源代码(包括所有AWS CDK基础设施定义和Lambda函数)可在GitHub仓库中找到。安装AWS CLI和AWS CDK并在Amazon Bedrock控制台中启用Amazon Nova 2 Lite访问后,部署非常简单直接。
这个无服务器模式展示了使用Nova模型构建AI应用的速度。由于所有内容均为基础设施即代码,您可以对完整应用栈进行版本控制,并在多个环境或AWS账户中一致部署。
清理资源
为避免持续产生费用,请删除本教程中创建的资源。
- 如果部署了示例应用:运行cdk destroy删除CloudFormation堆栈,并验证资源已移除。
- 手动清理(如需):删除S3存储桶及其内容,移除Lambda函数,删除API Gateway端点,移除CloudFront分发。
- 成本影响:Amazon Bedrock API调用按使用付费,无持续基础设施成本。删除部署资源后,仅在调用API时产生费用。
实际应用
以下示例展示了Amazon Nova 2 Lite在跨行业实际用例中的应用。
制造业质量控制
一家金属加工厂每月处理10,000个零件。每个有缺陷的零件发运后会产生50-200美元的退货和返工成本。训练传统计算机视觉模型所需的大量前期投资通常难以承受。借助Amazon Nova 2 Lite,该工厂实现了质量检测自动化。他们指定缺陷如“划痕”、“凹痕”或“锈斑”,系统自动识别。每个零件分析5张图像,每月成本约8美元。
精准农业
一个5,000英亩的农场在20周生长季内每周拍摄无人机图像,以尽早发现作物问题。早期检测可防止化学品过度施用和作物损害。农场指定:“病叶”、“虫害”、“真菌”。每季处理120万张高分辨率图像的成本约200美元。同样的方法使GPS引导设备能够检测障碍物(如“车辆”、“设备”、“碎片”),可能实现自主田间作业。
物流与配送
配送中心通过指定“破损箱子”、“压扁包裹”、“水渍”来检测损坏包裹。系统自动标记需要检查的物品并将其路由到质量控制区域,确保整个运营过程中标准一致。这种方法还可扩展到库存监控(如“空货架”、“放错物品”)和安全合规(如“安全帽”、“安全背心”、“安全眼镜”),使计算机视觉适用于各种规模的运营。
结论
在本文中,我们展示了Amazon Nova 2 Lite如何使目标检测变得易于使用。通过自然语言提示指定物体名称,您可以在数小时内而不是数月内部署计算机视觉应用,无需管理任何基础设施。它通过单个API提供目标检测性能,采用按需付费的成本结构,且无需机器学习专业知识。
准备好尝试了吗?从我们的GitHub仓库部署示例应用,或在Amazon Bedrock控制台中探索Amazon Nova模型。