Amazon Rekognition getFaceSearch返回重复Person Index问题求助
Hey there! Sorry to hear you're running into this odd issue with Amazon Rekognition's Face Search—having different faces tagged with the same Person Index definitely isn't right, especially since your first video worked perfectly. Let's break down some possible fixes and checks you can do:
First, double-check how Rekognition's Person Index works
ThePerson.Indexfield is tied to Rekognition's person tracking logic, not just face matching. If your second video has tricky scenarios like heavy occlusion, fast camera movements, similar-looking individuals, or blurry footage, the tracking model might incorrectly link different people to the same index. Take a look at the timestamps (35960 and 46520) in your video—do those frames have any of these issues?Verify your
startFaceSearchparameters
When you kicked off the job, did you correctly specify aCollectionId? Face Search relies on your face collection to match detected faces to known individuals. If you omitted this parameter (or used an incorrect collection), the service might fall back to basic person tracking without proper face matching, leading to inconsistent indexing. Also, make sure you're not accidentally usingstartPersonTrackinginstead ofstartFaceSearch—they handle indexing differently.Check video quality differences
Compare the second video to your working first one. Is the resolution lower? Is there more motion blur or poor lighting? Rekognition's models perform best with clear, well-lit footage. Low-quality videos can throw off both tracking and face recognition, causing the service to misassign indices.Ensure you're getting the full result set
When callinggetFaceSearch, did you use theNextTokenparameter to fetch all pages of results? If you only grabbed the first page, you might be missing context that explains the index overlap. Also, confirm the job status wasSUCCEEDEDbefore retrieving results—partial or failed jobs can return incomplete/incorrect data.Rule out temporary service glitches
Sometimes, rare transient issues can cause odd results. Try re-submitting the Face Search job for the problematic video to see if the index assignment works correctly the second time around.
Here's your sample result formatted properly for clarity:
{ "Timestamp": 35960, "Person": { "Index": 11, "BoundingBox": { "Width": 0.09375, "Height": 0.24583333730698, "Left": 0.1875, "Top": 0.375 }, "Face": { "BoundingBox": { "Width": 0.06993006914854, "Height": 0.10256410390139, "Left": 0.24475525319576, "Top": 0.375 }, "Landmarks": [ { "Type": "eyeLeft", "X": 0.26899611949921, "Y": 0.40649232268333 }, { "Type": "eyeRight", "X": 0.28330621123314, "Y": 0.41610333323479 }, { "Type": "nose", "X": 0.27063181996346, "Y": 0.43293061852455 }, { "Type": "mouthLeft", "X": 0.25983560085297, "Y": 0.44362303614616 }, { "Type": "mouthRight", "X": 0.27296212315559, "Y": 0.44758656620979 } ], "Pose": { "Roll": 22.106262207031, "Yaw": 6.3516845703125, "Pitch": -6.2676968574524 }, "Quality": { "Brightness": 41.875026702881, "Sharpness": 65.948883056641 }, "Confidence": 90.114051818848 } } } { "Timestamp": 46520, "Person": { "Index": 11, "BoundingBox": { "Width": 0.19034090638161, "Height": 0.42083331942558, "Left": 0.30681818723679, "Top": 0.17916665971279 }, "Face": { "BoundingBox": { "Width": 0.076486013829708, "Height": 0.11217948794365, "Left": 0.38680067658424, "Top": 0.26923078298569 }, "Landmarks": [ { "Type": "eyeLeft", "X": 0.40642243623734, "Y": 0.32347011566162 }, { "Type": "eyeRight", "X": 0.43237379193306, "Y": 0.32369664311409 }, { "Type": "nose", "X": 0.42121160030365, "Y": 0.34618207812309 }, { "Type": "mouthLeft", "X": 0.41044121980667, "Y": 0.36520344018936 }, { "Type": "mouthRight", "X": 0.43202903866768, "Y": 0.36483728885651 } ], "Pose": { "Roll": 0.3165397644043, "Yaw": 2.038902759552, "Pitch": -1.9931464195251 }, "Quality": { "Brightness": 54.697460174561, "Sharpness": 53.806159973145 }, "Confidence": 95.216400146484 } } }
内容的提问来源于stack exchange,提问作者Nati

