

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 了解非存储和存储 API 操作
<a name="how-it-works-storage-non-storage"></a>

Amazon Rekognition 提供了两种类型的 API 操作。即非存储操作和存储操作。对于前者，Amazon Rekognition 不存储任何信息；对于后者，Amazon Rekognition 存储特定人脸信息。

## 非存储操作
<a name="how-it-works-non-storage"></a>

Amazon Rekognition 针对图像提供了以下非存储 API 操作：
+ [DetectLabels](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectLabels.html)
+ [DetectFaces](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectFaces.html) 
+ [CompareFaces](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CompareFaces.html) 
+ [DetectModerationLabels](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectModerationLabels.html) 
+ [DetectProtectiveEquipment](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectProtectiveEquipment.html) 
+ [RecognizeCelebrities](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_RecognizeCelebrities.html) 
+ [DetectText](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectText.html) 
+ [GetCelebrityInfo](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetCelebrityInfo.html) 

Amazon Rekognition 针对视频提供了以下非存储 API 操作：
+ [StartLabelDetection](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartlabelDetection.html) 
+ [StartFaceDetection](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartFaceDetection.html) 
+ [StartPersonTracking](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartPersonTracking.html)
+ [StartCelebrityRecognition](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartCelebrityRecognition.html)
+ [StartContentModeration](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartContentModeration.html)

这些操作称作*非存储* API 操作，因为当您进行操作调用时，Amazon Rekognition 不会保留发现的有关输入图像的任何信息。与所有其他 Amazon Rekognition API 操作类似，非存储 API 操作不保留任何输入图像字节。

以下示例方案演示可将非存储 API 操作集成到应用程序中的情况。这些方案假定您有一个本地图像存储库。

**Example 1：一个在包含特定标签的本地存储库中查找图像的应用程序**  
首先，您使用 Amazon Rekognition `DetectLabels` 操作在存储库中的每个图像中检测标签（物体和概念）并建立客户端索引，如下所示：  

```
Label        ImageID

tree          image-1
flower        image-1
mountain      image-1
tulip         image-2
flower        image-2
apple         image-3
```
然后，您的应用程序可以搜索此索引以在本地存储库中查找包含特定标签的图像。例如，显示包含树的图像。  
Amazon Rekognition 检测到的每个标签均有一个关联的置信度值。该值指示包含该标签的输入图像的置信度级别。您可以使用此置信度值选择性地对标签执行其他客户端筛选，具体取决于有关检测中的置信度级别的应用程序要求。例如，如果您需要准确的标签，您可以筛选和选择仅具有更高置信度（例如 95% 或更高）的标签。如果您的应用程序不需要更高的置信度值，您可以选择筛选具有较小置信度值（接近 50%）的标签。

**Example 2：一个用于显示增强的人脸图像的应用程序**  
首先，您可以使用 Amazon Rekognition `DetectFaces` 操作在本地存储库中的每个图像中检测人脸，然后建立客户端索引。对于每个人脸，此操作将返回元数据，其中包含边界框、人脸标记（例如，嘴巴和耳朵的位置）和人脸属性（例如，性别）。您可以在客户端本地索引中存储此元数据，如下所示：  

```
ImageID     FaceID     FaceMetaData

image-1     face-1     <boundingbox>, etc.
image-1     face-2     <boundingbox>, etc.
image-1     face-3     <boundingbox>, etc.
...
```
在此索引中，主键是 `ImageID` 和 `FaceID` 的组合。  
然后，您可以使用索引中的信息，在应用程序从本地存储库显示图像时增强图像。例如，您可以在人脸周围添加边界框或突出显示人脸特征。  
 

## 基于存储的 API 操作
<a name="how-it-works-storage-based"></a>

Amazon Rekognition Image [IndexFaces](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_IndexFaces.html)支持该操作，您可以使用该操作来检测图像中的人脸并保留有关在亚马逊 Rekognition 集合中检测到的面部特征的信息。这是*基于存储的* API 操作的示例，因为服务会将信息保留在服务器上。

Amazon Rekognition Image 提供了以下存储 API 操作：
+ [IndexFaces](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_IndexFaces.html)
+ [ListFaces](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ListFaces.html) 
+ [SearchFacesByImage](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_SearchFacesByImage.html) 
+ [SearchFaces](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_SearchFaces.html) 
+ [DeleteFaces](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteFaces.html) 
+ [DescribeCollection](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeCollection.html) 
+ [DeleteCollection](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteCollection.html)
+ [ListCollections](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ListCollections.html)
+ [CreateCollection](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateCollection.html) 

Amazon Rekognition Video 提供了以下存储 API 操作：
+ [StartFaceSearch](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartFaceSearch.html) 
+ [CreateStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor.html)

要存储人脸信息，您必须先在账户的一个 AWS 区域中创建一个人脸集合。在调用 `IndexFaces` 操作时指定此人脸集合。在创建人脸集合并存储所有人脸的人脸特征信息后，您可以在集合中搜索匹配的人脸。例如，您可以检测图像中的最大人脸并通过调用 `searchFacesByImage.` 来搜索集合中匹配的人脸。

由 `IndexFaces` 存储在集合中的人脸信息可供 Amazon Rekognition Video 操作访问。例如，您可以通过调用 [StartFaceSearch](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartFaceSearch.html) 在视频中搜索其人脸与现有集合中的人脸匹配的人员。

有关创建和管理集合的信息，请参阅[在集合中搜索人脸](collections.md)。

**注意**  
集合存储人脸向量，这些向量是人脸的数学表示。集合不存储人脸图像。

**Example 1：用于对进出大楼进行身份验证的应用程序**  
首先，您应使用 `IndexFaces` 操作来创建一个人脸集合来存储扫描到的徽章图像，此操作将提取人脸并将其存储为可搜索的图像向量。然后，当员工进入大楼时，将捕获员工的人脸图像，并将此图像发送到 `SearchFacesByImage` 操作。如果人脸匹配得到了足够高的相似度得分（例如 99%），则可对员工进行身份验证。