Amazon Rekognition Celebrity Detection Ios: Done for face detection with a provided image via camera and photo library.
Tried to manage with video (Either from bundle or live URL), to detect celebrity image over the video.
sendVideoToRekognition(celebVideoData: video)
func sendVideoToRekognition(celebVideoData: URL){
//Delete older labels or buttons
DispatchQueue.main.async {
[weak self] in
for subView in (self?.CelebImageView.subviews)! {
subView.removeFromSuperview()
}
}
rekognitionObject = AWSRekognition.default()
let celebVideoAWS = AWSRekognitionVideo()
//celebVideoAWS?.bytes = celebVideoData
let celebRequest = AWSRekognitionRecognizeCelebritiesRequest()
}
What parameters required and how to get video celebrity name?
Amazon Rekognition provides Celebrity image detection in several ways:
RecognizeCelebrities() returns an array of celebrities recognized in a still image. The image bytes can be provided with the call, or it can be supplied as an Amazon S3 object.
StartCelebrityRecognition() starts asynchronous recognition of celebrities in a video stored in Amazon S3. This is probably what you are seeking.
Please note that Amazon Rekognition outputs JSON data highlighting which frame contains a recognized face and where the face is located in the frame. It does not draw boxes on top of the video. You would need to do this in your own software.
You can also Recognize Faces in a Streaming Video by providing a Face Collection. The video must be streamed to Amazon Kinesis Video and it will output a Kinesis stream of recognized faces. However, it is not possible to recognize celebrities in a Streaming Video — it only operates off a Face Collection that you provide.
Therefore, the demonstration video that you linked can not be done on Amazon Rekognition as a streaming video. However, it could be done by analyzing a video stored in Amazon S3, taking the output data stream and then using it in an application to overlay the name information.
The video you linked appears to be using technology from SightHound.