Panduan pendeteksi alat pelindung diri (APD)

kartu model pemburaman orang di konsol

Model Detektor Alat Pelindung Diri (APD) membantu Anda memverifikasi kehadiran peralatan yang membatasi paparan terhadap bahaya di tempat kerja atau lingkungan masyarakat.

Model ini mendeteksi orang dan item APD (sarung tangan, masker, dan helm) pada orang tertentu. Model mendeteksi item APD, dan apakah item tersebut menutupi bagian tubuh manusia yang sesuai. Model melaporkan informasi cakupan ini sebagai skor cakupan yang berkisar dari [0, 1]. Model menerima streaming video sebagai input. Model menghasilkan hasil deteksi sebagai buffer protokol yang dapat Anda lihat di BigQuery. Model berjalan pada satu FPS.

Operator deteksi APD memiliki tiga parameter kontrol yang dapat Anda tetapkan:

  • Penutup kepala: Operator mengeluarkan informasi item APD terkait penutup kepala. Tetapkan nilai ini di konsol Google Cloud, atau tetapkan enableHeadCoverageDetection ke true di PersonalProtectiveEquipmentDetectionConfig.
  • Penutup wajah: Operator menampilkan informasi item PPE terkait penutup wajah. Tetapkan nilai ini di konsol Google Cloud, atau tetapkan enableFaceCoverageDetection ke true di PersonalProtectiveEquipmentDetectionConfig.
  • Pelindung tangan: Operator menampilkan informasi item PPE terkait pelindung tangan. Tetapkan nilai ini di konsol Google Cloud, atau tetapkan enableHandsCoverageDetection true di PersonalProtectiveEquipmentDetectionConfig.

Spesifikasi aplikasi model pendeteksi APD

Gunakan petunjuk berikut untuk membuat model pendeteksi PPE di konsol Google Cloud.

Konsol

Membuat aplikasi di konsol Google Cloud

  1. Untuk membuat aplikasi pendeteksi APD, ikuti petunjuk dalam Mem-build aplikasi.

    Buka tab Applications

Menambahkan model pendeteksi APD

  1. Saat menambahkan node model, pilih PPE detector dari daftar model terlatih.

  2. Tetapkan jenis APD yang ingin Anda deteksi di menu opsi.

Menambahkan konektor BigQuery

  1. Untuk menggunakan output, hubungkan aplikasi ke konektor BigQuery.

    Untuk informasi tentang cara menggunakan konektor BigQuery, lihat Menghubungkan dan menyimpan data ke BigQuery. Untuk mengetahui informasi harga BigQuery, lihat halaman harga BigQuery.

Melihat hasil output di BigQuery

Setelah model menghasilkan output data ke BigQuery, lihat anotasi output di dasbor BigQuery.

Jika tidak menentukan jalur BigQuery, Anda dapat melihat jalur yang dibuat sistem di halaman Studio Vertex AI Vision.

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Pilih Expand di samping project target, nama set data, dan nama aplikasi.

    Memilih tabel aplikasi di BigQuery

  3. Di tampilan detail tabel, klik Pratinjau. Lihat hasil di kolom anotasi. Untuk deskripsi format output, lihat output model.

Aplikasi menyimpan hasil dalam urutan kronologis. Hasil terlama adalah awal tabel, sedangkan hasil terbaru ditambahkan ke akhir tabel. Untuk memeriksa hasil terbaru, klik nomor halaman untuk membuka halaman tabel terakhir.

Output model

Output model mencakup stempel waktu, kotak deteksi, label objek yang sesuai dengan kotak, dan skor keyakinan dari objek tersebut. Kecepatan stream output adalah satu frame per detik.

Output model adalah format buffer protokol yang menyertakan informasi tentang frame video dan hasil prediksi deteksi PPE. Sasaran model ini adalah untuk memeriksa apakah orang mengenakan peralatan perlindungan dengan benar. Akibatnya, model ini berfokus pada mendeteksi orang dan PPE yang dikenakan orang tersebut. Output model berfokus pada deteksi orang. Untuk setiap orang yang terdeteksi, model ini mencantumkan APD di sekitar orang tersebut dan skor cakupan setiap peralatan.

Dalam contoh buffering protokol yang akan datang, perhatikan hal berikut.

  • Waktu saat ini - Stempel waktu mencatat waktu pembuatan hasil inferensi.
  • Orang yang terdeteksi - Hasil deteksi utama yang mencakup satu kotak yang diidentifikasi orang, beberapa kotak yang diidentifikasi PPE, dan skor cakupan untuk setiap bagian tubuh.
  • Kotak yang mengidentifikasi orang - Kotak pembatas, skor keyakinan, dan entitas orang.
  • Kotak yang diidentifikasi APD - Kotak pembatas, skor keyakinan, dan entitas APD.

Contoh objek JSON output anotasi

{
  "currentTime": "2022-11-10T21:02:13.499255040Z",
  "detectedPersons": [
    {
      "personId": "0",
      "detectedPersonIdentifiedBox": {
        "boxId": "0",
        "normalizedBoundingBox": {
          "xmin": 0.486749,
          "ymin": 0.35927793,
          "width": 0.048630536,
          "height": 0.21746585
        },
        "confidenceScore": 0.31775203,
        "personEntity":{
          "personEntityId":"0"
        }
      },
      "detected_ppe_identified_boxes": {
        "normalized_bounding_box": {
          "xmin": 0.07268746,
          "ymin": 0.80575824,
          "width": 0.22973709,
          "height": 0.18754286
        },
        "confidence_score": 0.45171335,
        "ppe_entity": {
          "ppe_label_string": "Glove",
          "ppe_supercategory_label_string": "Hand Coverage"
        }
      },
      "detected_ppe_identified_boxes":{
        "normalized_bounding_box":{
          "xmin": 0.35457548,
          "ymin": 0.016402662,
          "width": 0.31828704,
          "height": 0.18849815
        },
        "confidence_score": 0.44129524,
        "ppe_entity":{
          "ppe_label_string": "Helmet",
          "ppe_supercategory_label_string": "Head Coverage"
          }
      }
    }
  ]
}

Definisi buffering protokol

// Output format for Personal Protective Equipment Detection Operator
message PersonalProtectiveEquipmentDetectionOutput {
 // Current timestamp
 protobuf.Timestamp current_time = 1;

 // The entity info for annotations from person detection prediction result
 message PersonEntity {

   // Entity id
   int64 person_entity_id = 1;
 }

 // The entity info for annotations from PPE detection prediction result
 message PPEEntity {
   // Label id
   int64 ppe_label_id = 1;
   // Human readable string of the label (Examples: helmet, glove, mask)
   string ppe_label_string = 2;
   // Human readable string of the super category label (Examples: head_cover,
   // hands_cover, face_cover)
   string ppe_supercategory_label_string = 3;
   // Entity id
   int64 ppe_entity_id = 4;
 }

 // Bounding Box in the normalized coordinates
 message NormalizedBoundingBox {
   // Min in x coordinate
   float xmin = 1;
   // Min in y coordinate
   float ymin = 2;
   // Width of the bounding box
   float width = 3;
   // Height of the bounding box
   float height = 4;
 }

 // PersonIdentified box contains the location and the entity info of the
 // person
 message PersonIdentifiedBox {
   // An unique id for this box
   int64 box_id = 1;
   // Bounding Box in the normalized coordinates
   NormalizedBoundingBox normalized_bounding_box = 2;
   // Confidence score associated with this box
   float confidence_score = 3;
   // Person entity info
   PersonEntity person_entity = 4;
 }

 // PPEIdentified box contains the location and the entity info of the PPE
 message PPEIdentifiedBox {
   // An unique id for this box
   int64 box_id = 1;
   // Bounding Box in the normalized coordinates
   NormalizedBoundingBox normalized_bounding_box = 2;
   // Confidence score associated with this box
   float confidence_score = 3;
   // PPE entity info
   PPEEntity ppe_entity = 4;
 }

 // Detected Person contains the detected person and their associated
 // PPE and their protecting information
 message DetectedPerson {
   // The id of detected person
   int64 person_id = 1;
   // The info of detected person identified box
   PersonIdentifiedBox detected_person_identified_box = 2;
   // The info of detected person associated ppe identified boxes
   repeated PPEIdentifiedBox detected_ppe_identified_boxes = 3;

   // Coverage score for each body part


   // Coverage score for face
   optional float face_coverage_score = 4;
   // Coverage score for eyes
   optional float eyes_coverage_score = 5;
   // Coverage score for head
   optional float head_coverage_score = 6;
   // Coverage score for hands
   optional float hands_coverage_score = 7;
   // Coverage score for body
   optional float body_coverage_score = 8;
   // Coverage score for feet
   optional float feet_coverage_score = 9;
 }

 // A list of DetectedPersons
 repeated DetectedPerson detected_persons = 2;
}

Praktik terbaik dan batasan

Untuk mendapatkan hasil terbaik saat menggunakan detektor PPE, pertimbangkan hal berikut saat Anda mendapatkan data dan menggunakan model.

Rekomendasi data sumber

Direkomendasikan: Jika memungkinkan, minta subjek deteksi untuk berdiri diam dan menghadap kamera.

Contoh data gambar yang dapat diproses dengan benar oleh pendeteksi APD:

contoh gambar seseorang yang menghadap kamera dengan penutup wajah
Sumber gambar: Ani Kolleshi di Unsplash.
contoh gambar seseorang yang menghadap kamera dengan penutup wajah
Sumber gambar: Ahsanization di Unsplash.
contoh gambar seseorang yang menghadap kamera dengan penutup wajah
Sumber gambar: Anastasiia Chepinska di Unsplash.

Tidak direkomendasikan: Hindari data gambar dengan item PPE utama yang terlalu kecil dalam bingkai.

Contoh data gambar yang tidak dapat diproses dengan benar oleh detektor PPE:

contoh gambar item APD yang terlalu kecil untuk dideteksi
Sumber gambar: Josue Isai Ramos Figueroa di Unsplash.

Tidak direkomendasikan: Hindari data gambar yang menampilkan item APD utama dari sudut pandang yang tidak biasa atau sudut yang tidak beraturan.

Contoh data gambar yang tidak dapat diproses dengan benar oleh detektor PPE:

contoh gambar item APD yang ditampilkan pada sudut yang terlalu tidak biasa untuk dideteksi
Sumber gambar: Niclas Moser di Unsplash.

Batasan

  • Resolusi: Resolusi video input maksimum yang direkomendasikan adalah 1920x1080, dan resolusi minimum yang direkomendasikan adalah 160x120.
  • Ukuran objek minimum yang dapat dideteksi: Model mengabaikan objek apa pun dalam adegan yang menempati kurang dari 5% ukuran frame.
  • Pencahayaan: Pencahayaan video harus normal. Kecerahan atau kegelapan yang ekstrem dalam data video dapat menyebabkan performa detektor yang lebih rendah.
  • Penempatan item APD: Model APD berfokus pada analisis apakah orang menggunakan item APD dengan benar. Akibatnya, jika seseorang tidak mengenakan item APD, model akan mengabaikan item tersebut.
  • Jenis item APD: Model ini berfokus pada peralatan perlindungan konstruksi dan bukan item APD medis. Oleh karena itu, detektor mungkin tidak berfungsi dengan baik di pusat medis atau rumah sakit.
  • Jenis PPE kustom: Model PPE tidak mendukung item PPE yang ditentukan pelanggan. Model ini mendukung deteksi helm, masker, dan sarung tangan.

Daftar ini tidak dimaksudkan untuk menjadi daftar lengkap, dan batasan serta fungsi ini dapat berubah sewaktu-waktu sesuai modifikasi produk.