Memanggil operasi deteksi label untuk streaming acara video - Amazon Rekognition

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memanggil operasi deteksi label untuk streaming acara video

Amazon Rekognition Video dapat mendeteksi orang atau objek yang relevan dalam video streaming dan memberi tahu Anda ketika mereka terdeteksi. Saat Anda membuat prosesor aliran deteksi label, pilih label apa yang ingin dideteksi oleh Video Rekognition Amazon. Ini bisa berupa orang, paket dan hewan peliharaan, atau orang, paket, dan hewan peliharaan. Pilih hanya label tertentu yang ingin Anda deteksi. Dengan begitu, satu-satunya label yang relevan membuat notifikasi. Anda dapat mengonfigurasi opsi untuk menentukan kapan harus menyimpan informasi video, dan kemudian melakukan pemrosesan tambahan berdasarkan label yang terdeteksi dalam bingkai.

Setelah mengatur sumber daya, proses untuk mendeteksi label dalam video streaming adalah sebagai berikut:

  1. Buat prosesor aliran

  2. Mulai prosesor streaming

  3. Jika objek yang menarik terdeteksi, Anda menerima pemberitahuan Amazon SNS untuk kemunculan pertama setiap objek yang menarik.

  4. Prosesor aliran berhenti ketika waktu yang MaxDurationInSeconds ditentukan selesai.

  5. Anda menerima pemberitahuan Amazon SNS akhir dengan ringkasan acara.

  6. Amazon Rekognition Video menerbitkan ringkasan sesi terperinci ke bucket S3 Anda.

Membuat prosesor aliran deteksi label Amazon Rekognition Video

Sebelum Anda dapat menganalisis video streaming, Anda membuat pemroses aliran Amazon Rekognition Video (CreateStreamProcessor).

Jika Anda ingin membuat prosesor streaming untuk mendeteksi label yang diminati dan orang, berikan sebagai input Kinesis video stream (Input), informasi bucket Amazon S3 (), dan topik Amazon SNS ARN Output (). StreamProcessorNotificationChannel Anda juga dapat memberikan ID kunci KMS untuk mengenkripsi data yang dikirim ke bucket S3 Anda. Anda menentukan apa yang ingin Anda deteksiSettings, seperti orang, paket dan orang, atau hewan peliharaan, orang, dan paket. Anda juga dapat menentukan di mana dalam bingkai yang ingin Anda pantau Amazon Rekognition. RegionsOfInterest Berikut ini adalah contoh JSON untuk permintaan CreateStreamProcessor.

{ "DataSharingPreference": { "OptIn":TRUE }, "Input": { "KinesisVideoStream": { "Arn": "arn:aws:kinesisvideo:us-east-1:nnnnnnnnnnnn:stream/muh_video_stream/nnnnnnnnnnnnn" } }, "KmsKeyId": "muhkey", "Name": "muh-default_stream_processor", "Output": { "S3Destination": { "Bucket": "s3bucket", "KeyPrefix": "s3prefix" } }, "NotificationChannel": { "SNSTopicArn": "arn:aws:sns:us-east-2:nnnnnnnnnnnn:MyTopic" }, "RoleArn": "arn:aws:iam::nnnnnnnnn:role/Admin", "Settings": { "ConnectedHome": { "Labels": [ "PET" ] "MinConfidence": 80 } }, "RegionsOfInterest": [ { "BoundingBox": { "Top": 0.11, "Left": 0.22, "Width": 0.33, "Height": 0.44 } }, { "Polygon": [ { "X": 0.11, "Y": 0.11 }, { "X": 0.22, "Y": 0.22 }, { "X": 0.33, "Y": 0.33 } ] } ] }

Perhatikan bahwa Anda dapat mengubah MinConfidence nilai saat Anda menentukan ConnectedHomeSettings untuk prosesor aliran. MinConfidenceadalah nilai numerik mulai dari 0 hingga 100 yang menunjukkan seberapa pasti algoritme tentang prediksinya. Misalnya, pemberitahuan untuk person dengan nilai kepercayaan 90 berarti bahwa algoritme benar-benar yakin bahwa orang tersebut hadir dalam video. Nilai kepercayaan 10 menunjukkan bahwa mungkin ada seseorang. Anda dapat mengatur MinConfidence ke nilai yang diinginkan dari pilihan Anda antara 0 dan 100 tergantung pada seberapa sering Anda ingin diberi tahu. Misalnya, jika Anda ingin diberi tahu hanya ketika Rekognition benar-benar yakin ada paket dalam bingkai video maka Anda dapat mengatur ke 90. MinConfidence

Secara default, MinConfidence diatur ke 50. Jika Anda ingin mengoptimalkan algoritma untuk presisi yang lebih tinggi, maka Anda dapat mengatur MinConfidence menjadi lebih tinggi dari 50. Anda kemudian menerima lebih sedikit pemberitahuan, tetapi setiap pemberitahuan lebih dapat diandalkan. Jika Anda ingin mengoptimalkan algoritme untuk penarikan yang lebih tinggi, maka Anda dapat mengatur MinConfidence menjadi lebih rendah dari 50 untuk menerima lebih banyak notifikasi.

Memulai prosesor aliran deteksi label Amazon Rekognition Video

Anda mulai menganalisis streaming video dengan memanggil StartStreamProcessor dengan nama pemroses aliran yang Anda tentukan di CreateStreamProcessor. Saat Anda menjalankan StartStreamProcessor operasi pada prosesor aliran deteksi label, Anda memasukkan informasi mulai dan berhenti untuk menentukan waktu pemrosesan.

Saat Anda memulai prosesor streaming, status prosesor aliran deteksi label berubah dengan cara berikut:

  1. Saat Anda meneleponStartStreamProcessor, status prosesor aliran deteksi label beralih dari STOPPED atau FAILED keSTARTING.

  2. Saat prosesor aliran deteksi label berjalan, prosesor tetap masukSTARTING.

  3. Ketika prosesor aliran deteksi label selesai berjalan, status menjadi salah satu STOPPED atauFAILED.

StartSelectorMenentukan titik awal dalam aliran Kinesis untuk memulai pemrosesan. Anda dapat menggunakan stempel waktu Produsen KVS atau nomor Fragmen KVS. Untuk informasi selengkapnya, lihat Fragmen.

catatan

Jika Anda menggunakan stempel waktu Produsen KVS, Anda harus memasukkan waktu dalam milidetik.

StopSelectorMenentukan kapan harus berhenti memproses aliran. Anda dapat menentukan jumlah waktu maksimum untuk memproses video. Defaultnya adalah durasi maksimum 10 detik. Perhatikan bahwa waktu pemrosesan sebenarnya mungkin sedikit lebih lama dari durasi maksimum, tergantung pada ukuran fragmen KVS individu. Jika durasi maksimum telah tercapai atau terlampaui pada akhir fragmen, waktu pemrosesan berhenti.

Berikut ini adalah contoh JSON untuk permintaan StartStreamProcessor.

{ "Name": "string", "StartSelector": { "KVSStreamStartSelector": { "KVSProducerTimestamp": 1655930623123 }, "StopSelector": { "MaxDurationInSeconds": 11 } } }

Jika prosesor streaming berhasil dimulai, respons HTTP 200 dikembalikan. Badan JSON kosong disertakan.

Menganalisis hasil deteksi label

Ada tiga cara Amazon Rekognition Video menerbitkan notifikasi dari prosesor aliran deteksi label: Notifikasi Amazon SNS untuk peristiwa deteksi objek, notifikasi Amazon SNS untuk ringkasan, end-of-session dan laporan bucket Amazon S3 terperinci.

  • Notifikasi Amazon SNS untuk peristiwa deteksi objek.

    Jika label terdeteksi dalam aliran video, Anda menerima notifikasi Amazon SNS untuk peristiwa deteksi objek. Amazon Rekognition menerbitkan pemberitahuan pertama kali bahwa seseorang atau objek yang menarik terdeteksi dalam aliran video. Pemberitahuan mencakup informasi seperti jenis label yang terdeteksi, kepercayaan diri, dan tautan ke gambar pahlawan. Mereka juga termasuk gambar yang dipotong dari orang atau objek yang terdeteksi dan stempel waktu deteksi. Pemberitahuan memiliki format berikut:

    {"Subject": "Rekognition Stream Processing Event", "Message": { "inputInformation": { "kinesisVideo": { "streamArn": string } }, "eventNamespace": { "type": "LABEL_DETECTED" }, "labels": [{ "id": string, "name": "PERSON" | "PET" | "PACKAGE", "frameImageUri": string, "croppedImageUri": string, "videoMapping": { "kinesisVideoMapping": { "fragmentNumber": string, "serverTimestamp": number, "producerTimestamp": number, "frameOffsetMillis": number } }, "boundingBox": { "left": number, "top": number, "height": number, "width": number } }], "eventId": string, "tags": { [string]: string }, "sessionId": string, "startStreamProcessorRequest": object } }
  • Ringkasan Amazon SNS end-of-session.

    Anda juga menerima notifikasi Amazon SNS saat sesi pemrosesan streaming selesai. Pemberitahuan ini mencantumkan metadata untuk sesi tersebut. Ini termasuk detail seperti durasi aliran yang diproses. Pemberitahuan memiliki format berikut:

    {"Subject": "Rekognition Stream Processing Event", "Message": { "inputInformation": { "kinesisVideo": { "streamArn": string, "processedVideoDurationMillis": number } }, "eventNamespace": { "type": "STREAM_PROCESSING_COMPLETE" }, "streamProcessingResults": { "message": string }, "eventId": string, "tags": { [string]: string }, "sessionId": string, "startStreamProcessorRequest": object } }
  • Laporan ember Amazon S3.

    Amazon Rekognition Video menerbitkan hasil inferensi terperinci dari operasi analisis video ke bucket Amazon S3 yang disediakan dalam operasi. CreateStreamProcessor Hasil ini termasuk bingkai gambar di mana objek yang menarik atau orang terdeteksi untuk pertama kalinya.

    Bingkai tersedia di S3 di jalur berikut: ObjectKeyPrefix//StreamProcessorNameSessionId/service_determined_unique_path. Di jalur ini, LabelKeyPrefixadalah argumen opsional yang diberikan pelanggan, StreamProcessorNameadalah nama sumber daya prosesor aliran, dan SessionIdmerupakan ID unik untuk sesi pemrosesan aliran. Ganti ini sesuai dengan situasi Anda.