Amazon web services 如何利用训练好的AWS模型进行实时目标检测

Amazon web services 如何利用训练好的AWS模型进行实时目标检测,amazon-web-services,object-detection,amazon-sagemaker,Amazon Web Services,Object Detection,Amazon Sagemaker,使用AWS SageMaker成功培训对象检测模型后,如何使用此模型在RTSP视频上执行实时对象检测?您尚未指定模型的宿主位置:AWS、移动设备或其他设备。然而,一般的方法是,假设CNN处理图像,您的模型将一次消耗一帧。您尚未指定编程语言或库,因此以下是psuedocode中的一般过程: while True: video_frame = get_next_rtsp_frame() detections = model.predict(video_frame) # The

使用AWS SageMaker成功培训对象检测模型后,如何使用此模型在RTSP视频上执行实时对象检测?

您尚未指定模型的宿主位置:AWS、移动设备或其他设备。然而,一般的方法是,假设CNN处理图像,您的模型将一次消耗一帧。您尚未指定编程语言或库,因此以下是psuedocode中的一般过程:

while True:
    video_frame = get_next_rtsp_frame()
    detections = model.predict(video_frame)
    # There might be multiple objects detected, handle each one:
    for detected_object in detections:
        (x1, y1, x2, y2, score) = detected_object # bounding box
        # use the bounding box information, say to draw a box on the image
        

实时视频流需求的一个挑战是避免延迟,这取决于您的平台以及您在循环中所做的处理。您可以跳过帧或不缓冲丢失的帧来解决此问题。

一种实时对象检测解决方案如下

训练模型后,将模型上载到S3。您可以使用

$aws sagemaker list-training-jobs --region us-east-1
然后,您需要在Amazon SageMaker端点上创建经过培训的模型。您可以使用以下方法执行此操作:

object_detector = estimator.deploy(initial_instance_count = 1,                                 
instance_type = 'ml.g4dn.xlarge')
将模型附加到端点后,需要创建一个API,允许用户将输入传递到经过训练的模型进行推理。您可以使用。使用Serverless,您可以创建一个模板,将Lambda函数创建为
handler.py
和Serverless.yml,需要根据应用程序的运行方式进行配置。确保在
serverless.yml
中指定端点名称,
SAGEMAKER\u endpoint\u name
以及
Resource:${ssm:sagemakern}
。这是需要传入的允许策略资源(AWS Systems Manager代理)参数。在lambda函数中,确保调用SageMaker端点

现在,您可以在此部署API进行实时检测:

serverless deploy -v 
最后,可以使用curl调用API

有关详细的漫游,请参见