Panduan analisis tingkat keterisian

kartu model analisis jumlah tamu di konsol

Model Analisis jumlah orang memungkinkan Anda menghitung orang atau kendaraan berdasarkan input tertentu yang Anda tambahkan dalam frame video. Dibandingkan dengan model Pendeteksi Kendaraan Orang, fitur lanjutan disediakan dalam model Analisis Kehadiran. Fitur ini adalah penghitungan zona aktif, penghitungan persimpangan garis, dan deteksi tinggal.

  • Zona aktif memungkinkan pengguna menghitung orang atau kendaraan di zona tertentu yang ditentukan pengguna.
  • Penyeberangan garis memberikan kemampuan untuk menghitung arah objek menyeberangi garis tertentu.
  • Deteksi waktu diam dibuat berdasarkan zona aktif dan memberikan kemampuan untuk mendeteksi apakah objek telah berada di zona selama jangka waktu minimal atau tidak.

Model ini menerima streaming video sebagai input dan menghasilkan buffer protokol dengan jumlah orang dan kendaraan yang terdeteksi di setiap frame. Model berjalan pada enam FPS.

Kasus penggunaan: Analisis traffic kota pintar

Video berikut menunjukkan cara menggunakan Vertex AI Vision untuk membuat, mem-build, dan men-deploy aplikasi analisis jumlah tamu.

Aplikasi ini menggunakan model yang menghitung mobil yang melintasi garis di persimpangan yang ditentukan pengguna di konsol Google Cloud. Selain itu, aplikasi menggunakan model pemburaman orang untuk melindungi identitas siapa pun yang muncul di sumber feed video.

Aplikasi mengirimkan data yang dianalisis ke Media Warehouse Vertex AI Vision untuk penyimpanan media, dan juga ke BigQuery untuk menyimpan data terstruktur dalam tabel. Dengan gudang, Anda dapat menelusuri data yang disimpan berdasarkan kriteria dari model, seperti jumlah kendaraan atau orang. Data tabel di BigQuery memungkinkan Anda membuat kueri data untuk mendapatkan informasi analisis.

Output model

Deteksi Kendaraan Orang menampilkan jumlah orang dan kendaraan yang terdeteksi dalam bingkai yang sedang diproses saat ini. Jenis penghitungan didasarkan pada input anotasi yang disediakan pengguna. Hasil deteksi dan pelacakan mentah juga ada dalam output. Berikut adalah definisi buffering protokol dari output prosesor. Frekuensi aliran output konstan: tiga frame per detik.

// The prediction result proto for Person/Vehicle Detection.
message OccupancyCountingPredictionResult {

 // Current timestamp.
 google.protobuf.Timestamp current_time = 1;

 // The entity info for annotations from the processor.
 message Entity {
   // Label id.
   int64 label_id = 1;
   // Human readable string of the label.
   string label_string = 2;
 }

 // Identified box contains location and the entity of the object.
 message IdentifiedBox {
   // An unique id for this box.
   int64 box_id = 1;
   // 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;
   }

   // Bounding Box in the normalized coordinates.
   NormalizedBoundingBox normalized_bounding_box = 2;

   // Confidence score associated with this box.
   float score = 3;

   // Entity of this box.
   Entity entity = 4;

   // A unique id to identify a track. It must be consistent across frames.
   // It only exists if tracking is enabled.
   int64 track_id = 5;
 }

 // A list of identified boxes.
 repeated IdentifiedBox identified_boxes = 2;

 // The statistics info for annotations from the processor.
 message Stats {
   // The object info and count for annotations from the processor.
   message ObjectCount {
     // Entity of this object.
     Entity entity = 1;
     // Count of the object.
     int32 count = 2;
   }

   // Counts of the full frame.
   repeated ObjectCount full_frame_count = 1;

   // Message for Crossing line count.
   message CrossingLineCount {
     // Line annotation from the user.
     StreamAnnotation annotation = 1;
     // The direction that follows the right hand rule.
     repeated ObjectCount positive_direction_counts = 2;
     // The direction that is opposite to the right hand rule.
     repeated ObjectCount negative_direction_counts = 3;
   }

   // Crossing line counts.
   repeated CrossingLineCount crossing_line_counts = 2;

   // Message for the active zone count.
   message ActiveZoneCount {
     // Active zone annotation from the user.
     StreamAnnotation annotation = 1;
     // Counts in the zone.
     repeated ObjectCount counts = 2;
   }

   // Active zone counts.
   repeated ActiveZoneCount active_zone_counts = 3;
 }

 // Detection statistics.
 Stats stats = 3;

 // The track info for annotations from the processor.
 message TrackInfo {
   // A unique id to identify a track. It must be consistent across frames.
   string track_id = 1;
   // Start timestamp of this track.
   google.protobuf.Timestamp start_time = 2;
 }

 // The dwell time info for annotations from the processor.
 message DwellTimeInfo {
   // A unique id to identify a track. It must be consistent across frames.
   string track_id = 1;
   // The unique id for the zone in which the object is dwelling/waiting.
   string zone_id = 2;
   // The beginning time when a dwelling object has been identified in a zone.
   google.protobuf.Timestamp dwell_start_time = 3;
   // The end time when a dwelling object has exited in a zone.
   google.protobuf.Timestamp dwell_end_time = 4;
 }

 // Track related information. All the tracks that are live at this timestamp.
 // It only exists if tracking is enabled.
 repeated TrackInfo track_info = 4;

 // Dwell time related information. All the tracks that are live in a given
 // zone with a start and end dwell time timestamp
 repeated DwellTimeInfo dwell_time_info = 5;
}

Praktik terbaik dan batasan

  • Hindari sudut pandang kamera yang tidak biasa (misalnya, tampilan dari atas ke bawah) yang menampilkan orang dan kendaraan secara berbeda dari tampilan standar atau umum. Kualitas deteksi dapat sangat terpengaruh oleh tampilan yang tidak biasa.
  • Pastikan orang dan kendaraan terlihat sepenuhnya atau sebagian besar. Kualitas deteksi dapat dipengaruhi oleh oklusi parsial oleh objek lain.
  • Pendeteksi kendaraan orang memiliki ukuran objek minimum yang dapat dideteksi. Ukuran ini adalah sekitar 2% sehubungan dengan ukuran tampilan kamera. Pastikan orang dan kendaraan target tidak terlalu jauh dari kamera. Ukuran objek utama yang dapat dilihat harus cukup besar.
  • Area minat harus memiliki pencahayaan yang tepat.
  • Pastikan lensa kamera sumber video bersih.
  • Pastikan entitas (selain orang atau mobil) tidak menghalangi bagian apa pun dari ruang pandang kamera.
  • Faktor berikut dapat menurunkan performa model. Pertimbangkan faktor-faktor berikut saat Anda mendapatkan data:
    • Kondisi pencahayaan yang buruk.
    • Kepadatan dan oklusi objek.
    • Sudut pandang yang tidak umum atau kurang umum.
    • Ukuran objek kecil.