用于对象搜索的 ML
ML for object search
我正在尝试找到一种使用 AWS 构建 ML 的方法,最好使用他们的服务,例如 SageMaker 而不仅仅是 EC2,以使用图像作为输入来检测图像中的对象。
AWS Rekognition 提供图像比较和对象检测 API,但它们并不是我要找的,比较仅适用于人脸而不适用于对象,对象检测太基础了。
AlibabCloud 具有作为服务的功能 (https://www.alibabacloud.com/product/imagesearch),但我想在 AWS 上使用类似的东西,而不是阿里巴巴。
我将如何着手构建这样的东西?
谢谢。
2020 年 3 月 8 日编辑以添加视觉搜索指针
因为您似乎对 对象检测(输入图像,return 带有对象 类 的边界框)和 视觉搜索(输入图像和return相关图像)让我给你指点:)
对于对象检测,您有 3 个选项:
- 使用托管服务Amazon Rekognition Custom Labels。该服务的主要优势在于 (1) 它不需要编写 ML 代码,因为服务 运行s autoML 在内部可以找到最佳模型,(2) 它在交互方面非常灵活(SDK , console), data loading and annotation and (3) 它甚至可以处理小数据集(通常只有几百张或更少的图像)。
- 使用 SageMaker 对象检测模型(documentation, demo). In this option, the model is also already written (SSD architecture with Resnet or VGG backbone) and you just need to choose or tune hyperparameters
- 在 Amazon SageMaker 上使用您自己的模型。这可以是 docker 中您自己的代码,也可以是来自 SageMaker ML Framework 容器中 ML 框架的代码。有这样的容器Pytorch, Tensorflow, MXNet, Chainer and Sklearn. In terms of model code, I recommend considering
gluoncv
, a compact python computer vision toolkit (based on mxnet backend) that comes with many state-of-the-art models and tutorials 用于对象检测
视觉搜索 的任务需要更多自定义,因为您需要提供以下信息:(1) 您定义为搜索相关性的内容(例如,视觉相似性?还是对象互补性?等)和(2)要搜索的集合。如果您只需要视觉相似性,一个流行的选择是使用预训练的神经网络将图像转换为向量,并在查询图像和转换后的图像集合之间进行 运行 kNN 搜索。这里有 2 个教程展示了如何在 AWS 上构建此类系统:
- Blog Post Visual Search on AWS(MXNet resnet 嵌入 +
SageMaker kNN)
- Visual Search on MMS demo(MXNet resnet
嵌入 + AWS Fargate 上的 HNSW kNN)
我正在尝试找到一种使用 AWS 构建 ML 的方法,最好使用他们的服务,例如 SageMaker 而不仅仅是 EC2,以使用图像作为输入来检测图像中的对象。
AWS Rekognition 提供图像比较和对象检测 API,但它们并不是我要找的,比较仅适用于人脸而不适用于对象,对象检测太基础了。
AlibabCloud 具有作为服务的功能 (https://www.alibabacloud.com/product/imagesearch),但我想在 AWS 上使用类似的东西,而不是阿里巴巴。
我将如何着手构建这样的东西?
谢谢。
2020 年 3 月 8 日编辑以添加视觉搜索指针
因为您似乎对 对象检测(输入图像,return 带有对象 类 的边界框)和 视觉搜索(输入图像和return相关图像)让我给你指点:)
对于对象检测,您有 3 个选项:
- 使用托管服务Amazon Rekognition Custom Labels。该服务的主要优势在于 (1) 它不需要编写 ML 代码,因为服务 运行s autoML 在内部可以找到最佳模型,(2) 它在交互方面非常灵活(SDK , console), data loading and annotation and (3) 它甚至可以处理小数据集(通常只有几百张或更少的图像)。
- 使用 SageMaker 对象检测模型(documentation, demo). In this option, the model is also already written (SSD architecture with Resnet or VGG backbone) and you just need to choose or tune hyperparameters
- 在 Amazon SageMaker 上使用您自己的模型。这可以是 docker 中您自己的代码,也可以是来自 SageMaker ML Framework 容器中 ML 框架的代码。有这样的容器Pytorch, Tensorflow, MXNet, Chainer and Sklearn. In terms of model code, I recommend considering
gluoncv
, a compact python computer vision toolkit (based on mxnet backend) that comes with many state-of-the-art models and tutorials 用于对象检测
视觉搜索 的任务需要更多自定义,因为您需要提供以下信息:(1) 您定义为搜索相关性的内容(例如,视觉相似性?还是对象互补性?等)和(2)要搜索的集合。如果您只需要视觉相似性,一个流行的选择是使用预训练的神经网络将图像转换为向量,并在查询图像和转换后的图像集合之间进行 运行 kNN 搜索。这里有 2 个教程展示了如何在 AWS 上构建此类系统:
- Blog Post Visual Search on AWS(MXNet resnet 嵌入 + SageMaker kNN)
- Visual Search on MMS demo(MXNet resnet 嵌入 + AWS Fargate 上的 HNSW kNN)