Panduan analisis tingkat keterisian

Ikon yang menggambarkan kartu model analisis Hunian.

Model Analisis hunian memungkinkan Anda menghitung orang atau kendaraan berdasarkan input spesifik yang Anda tambahkan dalam frame video. Dibandingkan dengan model Person Vehicle Detector, fitur lanjutan disediakan dalam model Analisis Hunian. Fitur ini adalah penghitungan zona aktif, penghitungan persimpangan garis, dan deteksi pergerakan.

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

Model ini menerima aliran 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 smart

Video berikut menunjukkan cara menggunakan Gemini Enterprise Agent Platform Vision untuk membuat, membangun, dan men-deploy aplikasi analisis hunian.

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

Aplikasi mengirimkan data yang dianalisis ke Media Warehouse Vision Gemini Enterprise Agent Platform untuk penyimpanan media, dan juga ke BigQuery untuk menyimpan data terstruktur dalam tabel. Gudang memungkinkan Anda menelusuri data tersimpan 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 menunjukkan jumlah orang dan kendaraan yang terdeteksi dalam frame yang diproses saat ini. Jenis jumlah didasarkan pada input anotasi yang diberikan pengguna. Hasil deteksi dan pelacakan mentah juga ada dalam output. Berikut adalah definisi buffer 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 vertikal) yang membuat orang dan kendaraan tampak 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 sebagian oleh objek lain.
  • Detektor kendaraan orang memiliki ukuran objek minimum yang dapat dideteksi. Ukuran ini kira-kira 2% dari ukuran tampilan kamera. Pastikan orang dan kendaraan target tidak terlalu jauh dari kamera. Ukuran objek utama yang dapat dilihat ini harus cukup besar.
  • Area yang menarik harus memiliki pencahayaan yang tepat.
  • Pastikan lensa kamera sumber video bersih.
  • Pastikan entitas (selain orang atau mobil) tidak menghalangi bagian mana pun dari ruang pandang kamera.
  • Faktor berikut dapat menurunkan performa model. Pertimbangkan faktor-faktor berikut saat Anda mencari sumber data:
    • Kondisi pencahayaan yang buruk.
    • Kepadatan dan oklusi objek.
    • Sudut pandang yang tidak umum atau kurang umum.
    • Ukuran objek kecil.