Image management FAQ

更新时间:
复制 MD 格式

This topic answers frequently asked questions about image management in Intelligent Media Management (IMM).

Image limit per dataset

Yes. The number of images in a dataset cannot exceed its configured file quota. For more information, see Quotas.

Designing dataset granularity

Search queries and face clustering are not supported across datasets. We recommend that you partition your data based on this constraint. For example, in a cloud photo album application, create a separate dataset for each end user.

Why face clustering fails to create groups

To ensure accurate face clustering, you must meet the following requirements:

  • Use the IndexFileMeta operation to add images to the dataset.

  • The dataset must contain at least three high-quality face images of the same person that meet the following criteria:

    • The face size is larger than 75 × 75 pixels.

    • The absolute value of each of the three elements in the HeadPose parameter is less than 30°.

    • The FaceQuality value is greater than 0.8.

After a face group is created, other images in the dataset that do not meet these high-quality criteria may still be clustered into the same group.

Querying images in a face group

Call the SimpleQuery operation with the face group ID in the Query parameter to retrieve the list of images in the group, as shown in the following example.

Note

You can call the QueryFigureClusters operation to get the FigureClusterId, which is the face group ID, from the FigureClusters parameter in the response.

{
  "Field ": "Figures.FigureClusterId ",
  "Operation ": "eq ",
  "Value ": "your-face-group-id"
}

New face groups not appearing in search results

Metadata indexing is an asynchronous process. It takes time for image indexing, face clustering, and search availability to complete. When designing your application logic, consider the potential for data consistency issues caused by this delay.

  • Image indexing: Calling the IndexFileMeta operation to index an image typically takes about 10 seconds.

  • Face clustering: Calling the CreateFigureClusteringTask operation to perform face clustering can take up to 180 seconds. The actual time depends on the number of images indexed in a single batch but usually completes in a few seconds.

    Important

    The CreateFigureClusteringTask operation depends on the IndexFileMeta operation to detect faces in images. If you use Message Service (MNS) to subscribe to the results of the IndexFileMeta call, wait at least 10 seconds after the IndexFileMeta call completes before calling CreateFigureClusteringTask. This ensures that CreateFigureClusteringTask can access the latest face information.

  • After asynchronous operations like IndexFileMeta and CreateFigureClusteringTask complete, it may take up to 10 seconds for the SimpleQuery operation to return the latest results.

Call CreateFigureClusteringTask for each indexed image?

This is not recommended. The CreateFigureClusteringTask operation performs incremental clustering. You can call it once to process a batch of newly indexed images. Consider the following two approaches:

  • Simple approach: For each dataset, call the CreateFigureClusteringTask operation at a fixed interval, such as every 5 minutes.

  • Recommended approach: Each time you call the IndexFileMeta operation, push the corresponding dataset into a delayed queue. Periodically retrieve the DatasetName from this queue to identify datasets with new images. Call the CreateFigureClusteringTask operation 10 seconds after the most recent IndexFileMeta call for that dataset.

Grouping multiple people in one image

Face clustering operates at the individual face level. If an image contains multiple people, each face is independently evaluated and may be assigned to a different face group.

Why SimpleQuery results include other faces

The SimpleQuery operation returns results at the image level, returning all faces and tags within a matching image. To find the specific face information for the person you searched for, iterate through the Figures field in the response. Retrieve the face object where the FigureClusterId matches the one in your query. This object will contain details like the face's position, expression, and age.

How to get CreateFacesSearchingTask results without notifications

The CreateFacesSearchingTask operation delivers results only through notifications. The GetTask operation can query the task status but cannot retrieve the search results.

Does calling CreateStory again modify an existing story?

When you call the CreateStory operation, if you do not pass the ObjectId parameter, a new story is created. If you pass an ObjectId, the existing story with that ID is updated.

Does image stitching support AI processing?

No. It does not support AI processing. It performs a simple image merge without content analysis.