Как сгенерировать кадр с обнаруженным лицом из потокового видео в реальном времени aws Kinesis?

Я работаю над POC для потокового видео в реальном времени Kinesis.

Я мог передавать видео из приложения Android в видеопоток и вызывать python boto3 api ('get_records') для обнаружения лиц.

Обнаружение лица и получение ответа от API.

"InputInformation": {
            "KinesisVideo": {
                "StreamArn": "arn:aws:kinesisvideo:<video-stream>",
                "FragmentNumber": "913..",
                "ServerTimestamp": 1.5234201234E9,
                "ProducerTimestamp": 1.523420130123E9,
                "FrameOffsetInSeconds": 0.6769999861718424
            }
        },
        "StreamProcessorInformation": {
            "Status": "RUNNING"
        },
        "FaceSearchResponse": [{
            "DetectedFace": {
                "BoundingBox": {
                    "Height": 0.41025642,
                    "Width": 0.30769232,
                    "Left": 0.45673078,
                    "Top": 0.23397435
                },
                "Confidence": 99.99998, ........

Вопрос: Как мне сгенерировать кадр, выделив обнаруженное лицо из этого вывода потока данных (ссылаясь на данные видеопотока)?

Я не нашел ни одного примера или документа на справочной странице AWS, чтобы создать фрейм и сохранить его как изображение jpeg с выделением лица.

Любая помощь / указатель на пример в java / python api для создания кадра из видеопотока?


person Suresh Rajagopal    schedule 12.04.2018    source источник


Ответы (2)


Для интеграции AWS Rekognition с Kinesis Video Streams ознакомьтесь с KinesisVideoRekognitionIntegrationExample, опубликованный в библиотеке Consumer Parser. В этом примере показано, как загрузить видеофайл (который можно заменить производителем в реальном времени, например GStreamer sample application), получать данные, анализировать MKV, декодировать кадры H264 с помощью JCodec, интегрировать с выводом Rekognition JSON и рисовать ограничивающие рамки на лице, обнаруженном с помощью JFrame.

person Babu Prasad    schedule 21.05.2018
comment
Спасибо @ Бабу-прасад - person Suresh Rajagopal; 21.05.2018

Не существует автоматизированного средства для изменения видеоданных на основе обнаруженных лиц. Вам нужно будет написать приложение, которое:

  • Получает кадр из Amazon Kinesis Video
  • Получает запись из Amazon Kinesis Stream, созданного Amazon Rekognition Video.
  • Добавьте свой собственный прямоугольник в рамку (например, с ImageMagick или OpenCV)
person John Rotenstein    schedule 12.04.2018