แอป Vertex AI Vision Traffic Monitoring

1. วัตถุประสงค์

ภาพรวม

โค้ดแล็บนี้จะมุ่งเน้นที่การสร้างแอปพลิเคชัน Vertex AI Vision ตั้งแต่ต้นจนจบเพื่อตรวจสอบฟุตเทจวิดีโอการจราจรแบบเรียลไทม์ เราจะใช้ฟีเจอร์ในตัวของการวิเคราะห์อัตราการเข้าพักของโมเดลเฉพาะทางที่ผ่านการฝึกล่วงหน้าเพื่อบันทึกข้อมูลต่อไปนี้

  • นับจํานวนยานพาหนะและผู้ที่ข้ามถนนที่เส้นหนึ่งๆ
  • นับจํานวนยานพาหนะ/บุคคลในบริเวณใดก็ได้บนถนน
  • ตรวจจับการจราจรติดขัดบนถนน

สิ่งที่คุณจะได้เรียนรู้

  • วิธีตั้งค่า VM เพื่อส่งผ่านข้อมูลวิดีโอสำหรับการสตรีม
  • วิธีสร้างแอปพลิเคชันใน Vertex AI Vision
  • ฟีเจอร์ต่างๆ ที่มีให้ใช้งานใน Analytics อัตราการเข้าพัก และวิธีใช้
  • วิธีทำให้แอปใช้งานได้
  • วิธีค้นหาวิดีโอในพื้นที่เก็บข้อมูล Media Warehouse ของ Vertex AI Vision
  • วิธีเชื่อมต่อเอาต์พุตกับ BigQuery ให้เขียนการค้นหา SQL เพื่อดึงข้อมูลเชิงลึกจากเอาต์พุต JSON ของโมเดลและแสดงภาพผลลัพธ์ใน Looker Studio แบบเรียลไทม์

2. ก่อนที่คุณจะเริ่มต้น

  1. ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud ในหน้าตัวเลือกโปรเจ็กต์ หมายเหตุ: หากไม่ต้องการเก็บทรัพยากรที่สร้างขึ้นในขั้นตอนนี้ ให้สร้างโปรเจ็กต์แทนการเลือกโปรเจ็กต์ที่มีอยู่ หลังจากทำตามขั้นตอนเหล่านี้แล้ว คุณจะลบโปรเจ็กต์ซึ่งเป็นการนำทรัพยากรทั้งหมดที่เชื่อมโยงกับโปรเจ็กต์นี้ออกได้ ไปที่เครื่องมือเลือกโปรเจ็กต์
  2. ตรวจสอบว่าเปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ Cloud แล้ว ดูวิธีตรวจสอบว่าเปิดใช้การเรียกเก็บเงินในโปรเจ็กต์หรือไม่
  3. เปิดใช้ Compute Engine และ Vision AI API เปิดใช้ API

สร้างบัญชีบริการ

  1. ในคอนโซล Google Cloud ให้ไปที่หน้าสร้างบัญชีบริการ ไปที่ "สร้างบัญชีบริการ"
  2. เลือกโปรเจ็กต์
  3. ป้อนชื่อในช่องชื่อบัญชีบริการ คอนโซล Google Cloud จะกรอกข้อมูลในช่องรหัสบัญชีบริการตามชื่อนี้ ป้อนคำอธิบายในช่องคำอธิบายบัญชีบริการ เช่น บัญชีบริการสําหรับการเริ่มต้นใช้งานอย่างรวดเร็ว
  4. คลิกสร้างและต่อไป
  5. หากต้องการให้สิทธิ์เข้าถึงโปรเจ็กต์ ให้มอบบทบาทต่อไปนี้ให้กับบัญชีบริการ Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (เบต้า), Storage > Storage Object Viewer † เลือกบทบาทในรายการเลือกบทบาท สําหรับบทบาทเพิ่มเติม ให้คลิกเพิ่มบทบาทอื่น แล้วเพิ่มบทบาทเพิ่มเติมแต่ละบทบาท หมายเหตุ: ช่องบทบาทจะส่งผลต่อทรัพยากรที่บัญชีบริการเข้าถึงได้ในโปรเจ็กต์ คุณสามารถเพิกถอนบทบาทเหล่านี้หรือมอบบทบาทเพิ่มเติมได้ในภายหลัง ในสภาพแวดล้อมการใช้งานจริง อย่าให้บทบาทเจ้าของ เอดิเตอร์ หรือผู้ดู แต่ให้มอบบทบาทที่กําหนดไว้ล่วงหน้าหรือบทบาทที่กําหนดเองที่ตรงกับความต้องการของคุณแทน
  6. คลิกต่อไป
  7. คลิกเสร็จสิ้นเพื่อสร้างบัญชีบริการให้เสร็จสมบูรณ์ อย่าปิดหน้าต่างเบราว์เซอร์ คุณจะต้องใช้รหัสนี้ในขั้นตอนถัดไป

สร้างคีย์บัญชีบริการ

  1. ในคอนโซล Google Cloud ให้คลิกอีเมลของบัญชีบริการที่คุณสร้างขึ้น
  2. คลิกคีย์
  3. คลิกเพิ่มคีย์ แล้วคลิกสร้างคีย์ใหม่
  4. คลิกสร้าง ระบบจะดาวน์โหลดไฟล์คีย์ JSON ลงในคอมพิวเตอร์
  5. คลิกปิด
  6. ติดตั้งและเริ่มต้นใช้งาน Google Cloud CLI

† บทบาทจำเป็นเฉพาะเมื่อคุณคัดลอกไฟล์วิดีโอตัวอย่างจากที่เก็บข้อมูล Cloud Storage เท่านั้น

3. ตั้งค่า VM เพื่อสตรีมวิดีโอ

ก่อนที่จะสร้างแอปในข้อมูลวิเคราะห์อัตราการเข้าพัก คุณต้องลงทะเบียนสตรีมซึ่งแอปจะใช้ในภายหลังได้

ในบทแนะนํานี้ คุณจะได้สร้างอินสแตนซ์ VM ของ Compute Engine ที่โฮสต์วิดีโอ และส่งข้อมูลสตรีมมิงวิดีโอจาก VM

สร้าง VM ของ Linux

ขั้นตอนแรกในการส่งวิดีโอจากอินสแตนซ์ VM ของ Compute Engine คือการสร้างอินสแตนซ์ VM

  1. ในคอนโซล ให้ไปที่หน้าอินสแตนซ์ VM ไปที่อินสแตนซ์ VM
  2. เลือกโปรเจ็กต์แล้วคลิกต่อไป
  3. คลิกสร้างอินสแตนซ์
  4. ระบุชื่อสำหรับ VM โปรดดูข้อมูลเพิ่มเติมที่หัวข้อแบบแผนการตั้งชื่อทรัพยากร
  5. ไม่บังคับ: เปลี่ยนโซนของ VM นี้ Compute Engine จะสุ่มรายการโซนภายในแต่ละภูมิภาคเพื่อกระตุ้นการใช้งานในหลายโซน
  6. ยอมรับตัวเลือกเริ่มต้นที่เหลือ ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกเหล่านี้ได้ที่สร้างและเริ่ม VM
  7. หากต้องการสร้างและเริ่ม VM ให้คลิกสร้าง

ตั้งค่าสภาพแวดล้อม VM

หลังจาก VM เริ่มทำงานแล้ว คุณจะใช้คอนโซลเพื่อ SSH เข้าสู่ VM จากเบราว์เซอร์ได้ จากนั้นดาวน์โหลดเครื่องมือบรรทัดคำสั่ง vaictl เพื่อนำเข้าวิดีโอลงในสตรีม

สร้างการเชื่อมต่อ SSH กับ VM

  1. ในคอนโซล ให้ไปที่หน้าอินสแตนซ์ VM ไปที่อินสแตนซ์ VM
  2. ในส่วนเชื่อมต่อของบรรทัดอินสแตนซ์ที่คุณสร้างขึ้น ให้คลิก SSH ซึ่งจะเปิดการเชื่อมต่อ SSH ในหน้าต่างเบราว์เซอร์ใหม่ ตัวเลือก SSH ใน UI

ดาวน์โหลดเครื่องมือบรรทัดคำสั่ง vaictl

  1. ในหน้าต่าง SSH ในเบราว์เซอร์ ให้ดาวน์โหลดเครื่องมือบรรทัดคำสั่ง Vertex AI Vision (vaictl) โดยใช้คำสั่งต่อไปนี้
wget https://github.com/google/visionai/releases/download/v0.0.4/visionai_0.0-4_amd64.deb
  1. ติดตั้งเครื่องมือบรรทัดคำสั่งโดยเรียกใช้คำสั่งต่อไปนี้
sudo apt install ./visionai_0.0-4_amd64.deb
  1. คุณสามารถทดสอบการติดตั้งโดยเรียกใช้คำสั่งต่อไปนี้:
vaictl --help

4. ส่งผ่านไฟล์วิดีโอสำหรับการสตรีม

หลังจากตั้งค่าสภาพแวดล้อม VM แล้ว คุณสามารถคัดลอกไฟล์วิดีโอตัวอย่าง จากนั้นใช้ vaictl เพื่อสตรีมข้อมูลวิดีโอไปยังแอปวิเคราะห์อัตราการเข้าพัก

เริ่มต้นโดยการเปิดใช้งาน Vision AI API ใน Cloud Console

ลงทะเบียนสตรีมใหม่

  1. คลิกแท็บสตรีมในแผงด้านซ้ายของ Vertex AI Vision
  2. คลิก "ลงทะเบียน"
  3. ป้อน "traffic-stream" ในชื่อสตรีม
  4. ในภูมิภาค ให้ป้อน "us-central1"
  5. คลิก "ลงทะเบียน"

สตรีมจะใช้เวลา 2-3 นาทีในการลงทะเบียน

คัดลอกวิดีโอตัวอย่างไปยัง VM

  1. ในหน้าต่าง SSH ในเบราว์เซอร์สำหรับ VM ให้คัดลอกวิดีโอตัวอย่างด้วยคำสั่ง gsutil cp ต่อไปนี้ แทนที่ตัวแปรต่อไปนี้
  • แหล่งที่มา: ตำแหน่งของไฟล์วิดีโอที่จะใช้ คุณสามารถใช้แหล่งที่มาของไฟล์วิดีโอของคุณเอง (เช่น gs://BUCKET_NAME/FILENAME.mp4) หรือใช้วิดีโอตัวอย่าง (gs://cloud-samples-data/vertex-ai-vision/street_vehicles_people.mp4 )(วิดีโอที่มีผู้คนและยานพาหนะ แหล่งที่มา)
export SOURCE=gs://cloud-samples-data/vertex-ai-vision/street_vehicles_people.mp4
gsutil cp $SOURCE .

สตรีมวิดีโอจาก VM และส่งผ่านข้อมูลไปยังสตรีม

  1. หากต้องการส่งไฟล์วิดีโอในเครื่องนี้ไปยังสตรีมอินพุตแอป ให้ใช้คำสั่งต่อไปนี้ คุณต้องทำการแทนที่ตัวแปรต่อไปนี้
  • PROJECT_ID: รหัสโปรเจ็กต์ Google Cloud
  • LOCATION_ID: รหัสสถานที่ตั้งของคุณ เช่น us-central1 ดูข้อมูลเพิ่มเติมได้ที่ตำแหน่งของข้อมูลในระบบคลาวด์
  • LOCAL_FILE: ชื่อไฟล์ของไฟล์วิดีโอในเครื่อง เช่น street_vehicles_people.mp4
  • –flag loop: ไม่บังคับ วนข้อมูลไฟล์เพื่อจำลองการสตรีม
export PROJECT_ID=<Your Google Cloud project ID>
export LOCATION_ID=us-central1
export LOCAL_FILE=street_vehicles_people.mp4
  1. คำสั่งนี้จะสตรีมไฟล์วิดีโอไปยังสตรีม หากใช้ Flag –loop ระบบจะเล่นวิดีโอซ้ำในสตรีมจนกว่าคุณจะหยุดคําสั่ง เราจะเรียกใช้คําสั่งนี้เป็นงานเบื้องหลังเพื่อให้สตรีมต่อไปได้แม้ว่า VM จะตัดการเชื่อมต่อแล้วก็ตาม
  • ( ใส่ Nohup ด้านหน้าและ "&" ที่ด้านท้ายเพื่อทำให้เป็นงานพื้นหลัง)
nohup vaictl -p $PROJECT_ID \
    -l $LOCATION_ID \
    -c application-cluster-0 \
    --service-endpoint visionai.googleapis.com \
send video-file to streams 'traffic-stream' --file-path $LOCAL_FILE --loop &

ระบบอาจใช้เวลาประมาณ 100 วินาทีระหว่างการเริ่มการนำเข้า Vaictl กับเวลาที่วิดีโอปรากฏในแดชบอร์ด

หลังจากการส่งผ่านข้อมูลสตรีมพร้อมใช้งานแล้ว คุณจะดูฟีดวิดีโอในแท็บสตรีมของแดชบอร์ด Vertex AI Vision ได้โดยเลือกสตรีมสตรีมการเข้าชม

ไปที่แท็บสตรีม

มุมมองวิดีโอสดที่สตรีมใน UIภาพสดของวิดีโอที่ส่งผ่านข้อมูลไปยังสตรีมในคอนโซล Google Cloud เครดิตวิดีโอ: Elizabeth Mavor จาก Pixabay (เพิ่มภาพแตกแบบพิกเซล)

5. สร้างแอปพลิเคชัน

ขั้นตอนแรกคือการสร้างแอปที่ประมวลผลข้อมูล คุณอาจมองแอปเป็นไปป์ไลน์อัตโนมัติที่เชื่อมต่อสิ่งต่อไปนี้

  • การนำเข้าข้อมูล: ระบบจะนำเข้าฟีดวิดีโอไปยังสตรีม
  • การวิเคราะห์ข้อมูล: เพิ่มโมเดล AI(Computer Vision) ได้หลังจากการนำเข้า
  • พื้นที่เก็บข้อมูล: ฟีดวิดีโอ 2 เวอร์ชัน (สตรีมต้นฉบับและสตรีมที่โมเดล AI ประมวลผล) สามารถจัดเก็บไว้ในคลังสื่อ

ในคอนโซล Google Cloud แอปจะแสดงเป็นกราฟ

สร้างแอปว่าง

คุณต้องสร้างแอปเปล่าก่อนจึงจะป้อนข้อมูลกราฟแอปได้

สร้างแอปในคอนโซล Google Cloud

  1. ไปที่คอนโซล Google Cloud
  2. เปิดแท็บ Applications ของแดชบอร์ด Vertex AI Vision

ไปที่แท็บแอปพลิเคชัน

  1. คลิกปุ่มเพิ่ม Create
  2. ป้อน traffic-app เป็นชื่อแอป แล้วเลือกภูมิภาค
  3. คลิกสร้าง

เพิ่มโหนดคอมโพเนนต์แอป

หลังจากสร้างแอปพลิเคชันว่างแล้ว คุณสามารถเพิ่มโหนด 3 รายการลงในกราฟแอปได้ดังนี้

  1. โหนดการส่งผ่านข้อมูล: ทรัพยากรสตรีมที่ส่งผ่านข้อมูลที่ส่งจากอินสแตนซ์ VM ของ Compute Engine ที่คุณสร้างขึ้น
  2. โหนดการประมวลผล: โมเดลการวิเคราะห์อัตราการเข้าพักที่ดำเนินการกับข้อมูลที่นำเข้า
  3. โหนดพื้นที่เก็บข้อมูล: คลังสื่อที่จัดเก็บวิดีโอที่ประมวลผลแล้ว และทำหน้าที่เป็นพื้นที่เก็บข้อมูลเมตา พื้นที่เก็บข้อมูลเมตาประกอบด้วยข้อมูลวิเคราะห์เกี่ยวกับข้อมูลวิดีโอที่ส่งผ่านข้อมูล และข้อมูลที่ได้จากโมเดล AI

เพิ่มโหนดคอมโพเนนต์ลงในแอปในคอนโซล

  1. เปิดแท็บแอปพลิเคชันของแดชบอร์ด Vertex AI Vision ไปที่แท็บแอปพลิเคชัน
  2. ในบรรทัดการเข้าชมแอป ให้เลือกดูกราฟ ซึ่งจะนำคุณไปยังการแสดงภาพกราฟของไปป์ไลน์การประมวลผล

เพิ่มโหนดการส่งผ่านข้อมูล

  1. หากต้องการเพิ่มโหนดสตรีมอินพุต ให้เลือกตัวเลือกสตรีมในส่วนคอนเนคเตอร์ของเมนูด้านข้าง
  2. ในส่วนแหล่งที่มาของเมนูสตรีมที่เปิดขึ้น ให้เลือกเพิ่มสตรีม
  3. ในเมนูเพิ่มสตรีม ให้เลือกลงทะเบียนสตรีมใหม่ แล้วเพิ่ม traffic-stream เป็นชื่อสตรีม
  4. หากต้องการเพิ่มสตรีมลงในกราฟแอป ให้คลิกเพิ่มสตรีม

เพิ่มโหนดการประมวลผลข้อมูล

  1. หากต้องการเพิ่มโหนดรูปแบบจํานวนผู้เข้าพัก ให้เลือกตัวเลือกข้อมูลวิเคราะห์อัตราการเข้าพักในส่วนรูปแบบเฉพาะของเมนูด้านข้าง
  2. เลือกผู้คนและยานพาหนะตามค่าเริ่มต้น
  3. เพิ่มเส้นใน "เส้นตัดกัน" ใช้เครื่องมือเส้นหลายจุดเพื่อวาดเส้นที่ต้องการตรวจจับรถยนต์หรือผู้คนที่ออกจากหรือเข้า
  4. วาดโซนตรวจจับเพื่อนับคน/ยานพาหนะในโซนนั้น
  5. เพิ่มการตั้งค่าสำหรับเวลาในการเข้าพักเพื่อตรวจหาความแออัดหากมีการวาดโซนตรวจจับกิจกรรม
  • (ปัจจุบันระบบยังไม่รองรับทั้งโซนตรวจจับและเส้นที่ตัดกันพร้อมกัน ใช้ฟีเจอร์ได้ครั้งละ 1 รายการเท่านั้น)

3acdb6f1e8474e07.png ce63449d601995e9.png

194c54d2bbcf7e8a.png

เพิ่มโหนดพื้นที่เก็บข้อมูล

  1. หากต้องการเพิ่มโหนดปลายทางเอาต์พุต (พื้นที่เก็บข้อมูล) ให้เลือกตัวเลือกคลังสื่อของ Vertex AI Vision ในส่วนตัวเชื่อมต่อของเมนูด้านข้าง
  2. ในเมนูคลังสื่อของ Vertex AI Vision ให้คลิกเชื่อมต่อคลัง
  3. ในเมนูเชื่อมต่อคลังสินค้า ให้เลือกสร้างคลังสินค้าใหม่ ตั้งชื่อคลังสินค้าเป็น traffic-warehouse และตั้งค่าระยะเวลา TTL เป็น 14 วัน
  4. คลิกปุ่มสร้างเพื่อเพิ่มคลังสินค้า

6. เชื่อมต่อเอาต์พุตกับตาราง BigQuery

เมื่อคุณเพิ่มเครื่องมือเชื่อมต่อ BigQuery ลงในแอป Vertex AI Vision ระบบจะส่งผ่านเอาต์พุตโมเดลแอปที่เชื่อมต่อทั้งหมดไปยังตารางเป้าหมาย

คุณสามารถสร้างตาราง BigQuery ของคุณเองและระบุตารางนั้นเมื่อเพิ่มตัวเชื่อมต่อ BigQuery ลงในแอป หรือจะให้แพลตฟอร์มแอป Vertex AI Vision สร้างตารางโดยอัตโนมัติก็ได้

การสร้างตารางอัตโนมัติ

หากอนุญาตให้แพลตฟอร์มแอป Vertex AI Vision สร้างตารางโดยอัตโนมัติ คุณจะระบุตัวเลือกนี้ได้เมื่อเพิ่มโหนดตัวเชื่อมต่อ BigQuery

เงื่อนไขชุดข้อมูลและตารางต่อไปนี้จะมีผลหากคุณต้องการใช้การสร้างตารางอัตโนมัติ

  • ชุดข้อมูล: ชื่อชุดข้อมูลที่สร้างโดยอัตโนมัติคือ visionai_dataset
  • ตาราง: ชื่อตารางที่สร้างขึ้นโดยอัตโนมัติคือ visionai_dataset.APPLICATION_ID
  • การจัดการข้อผิดพลาด
  • หากมีตารางที่ใช้ชื่อเดียวกันในชุดข้อมูลเดียวกันอยู่แล้ว ระบบจะไม่สร้างตารางโดยอัตโนมัติ
  1. เปิดแท็บ Applications ของแดชบอร์ด Vertex AI Vision ไปที่แท็บแอปพลิเคชัน
  2. เลือกดูแอปข้างชื่อแอปพลิเคชันจากรายการ
  3. ในหน้าเครื่องมือสร้างแอปพลิเคชัน ให้เลือก BigQuery จากส่วนเครื่องมือเชื่อมต่อ
  4. เว้นช่องเส้นทาง BigQuery ว่างไว้ ee0b67d4ab2263d.png
  5. ในจัดเก็บข้อมูลเมตาจาก: ให้เลือกเฉพาะ "ข้อมูลวิเคราะห์อัตราการเข้าพัก" และยกเลิกการเลือกสตรีม

กราฟแอปสุดท้ายควรมีลักษณะดังนี้

1787242465fd6da7.png

7. ทำให้แอปใช้งานได้

หลังจากสร้างแอปแบบต้นทางถึงปลายทางพร้อมคอมโพเนนต์ที่จำเป็นทั้งหมดแล้ว ขั้นตอนสุดท้ายในการใช้แอปก็คือการทำให้แอปใช้งานได้

  1. เปิดแท็บแอปพลิเคชันของแดชบอร์ด Vertex AI Vision ไปที่แท็บแอปพลิเคชัน
  2. เลือกดูกราฟข้างแอปการเข้าชมในรายการ
  3. จากหน้าเครื่องมือสร้างกราฟแอปพลิเคชัน ให้คลิกปุ่มทำให้ใช้งานได้
  4. เลือกทำให้ใช้งานได้ในกล่องโต้ตอบการยืนยันต่อไปนี้ การดำเนินการทำให้ใช้งานได้อาจใช้เวลาหลายนาทีจึงจะเสร็จสมบูรณ์ หลังจากการทำให้ใช้งานได้เสร็จสิ้นแล้ว เครื่องหมายถูกสีเขียวจะปรากฏขึ้นข้างโหนด ee78bbf00e5db898.png

8. ค้นหาเนื้อหาวิดีโอในคลังพื้นที่เก็บข้อมูล

หลังจากนำเข้าข้อมูลวิดีโอลงในแอปการประมวลผลแล้ว คุณจะดูข้อมูลวิดีโอที่วิเคราะห์แล้ว และค้นหาข้อมูลตามข้อมูลการวิเคราะห์อัตราการเข้าพักได้

  1. เปิดแท็บคลังสินค้าของหน้าแดชบอร์ด Vertex AI Vision ไปที่แท็บคลังสินค้า
  2. ค้นหาคลังสินค้าและการขนส่งการจราจรในรายการ แล้วคลิกดูชิ้นงาน
  3. ในส่วนจํานวนคนหรือจํานวนยานพาหนะ ให้ตั้งค่าต่ำสุดเป็น 1 และค่าสูงสุดเป็น 5
  4. หากต้องการกรองข้อมูลวิดีโอที่ประมวลผลแล้วซึ่งจัดเก็บไว้ในคลังสื่อของ Vertex AI Vision ให้คลิกค้นหา

e636361b19738c8d.png

มุมมองข้อมูลวิดีโอที่จัดเก็บไว้ซึ่งตรงกับเกณฑ์การค้นหาในคอนโซล Google Cloud เครดิตวิดีโอ: Elizabeth Mavor จาก Pixabay (ใช้เกณฑ์การค้นหา)

9. วิเคราะห์เอาต์พุตในตาราง BigQuery

ไปที่ BigQuery

เลือกชุดข้อมูล: visionai_dataset

เลือกตาราง: APPLICATION_ID ของคุณ (ในกรณีนี้คือ traffic-app)

คลิกจุด 3 จุดด้านขวาของชื่อตาราง แล้วคลิก "การค้นหา"

เขียนคําค้นหาต่อไปนี้

ข้อความค้นหา 1: ข้อความค้นหาเพื่อตรวจสอบจำนวนยานพาหนะที่ข้ามบรรทัดละ 1 นาที

abc.sql

—- Get list of active marked lines for each timeframe
WITH line_array AS (
  SELECT
  t.ingestion_time AS ingestion_time,
  JSON_QUERY_ARRAY(t.annotation.stats["crossingLineCounts"]) AS lines
  FROM
  `PROJ_ID.visionai_dataset.APP_ID` AS t
),
—- Flatten active lines to get individual entities details
flattened AS (
  SELECT
  line_array.ingestion_time,
  JSON_VALUE(line.annotation.id) as line_id,
  JSON_QUERY_ARRAY(line["positiveDirectionCounts"]) AS entities
  FROM line_array, unnest(line_array.lines) as line
 )
—- Generate aggregate vehicle count per zone w.r.t time 
SELECT
  STRING(TIMESTAMP_TRUNC(ingestion_time, MINUTE) ) AS time, line_id,
  SUM(INT64(entity["count"])) as vehicle_count
FROM
  flattened, UNNEST(flattened.entities) AS entity
WHERE JSON_VALUE(entity['entity']['labelString']) = 'Vehicle'
GROUP BY time, line_id

ข้อความค้นหา 2: ข้อความค้นหาเพื่อตรวจสอบจำนวนยานพาหนะต่อนาทีในแต่ละโซน

—- Get list of active zones for each timeframe
WITH zone_array AS (
     SELECT
     t.ingestion_time AS ingestion_time,
     JSON_QUERY_ARRAY(t.annotation.stats["activeZoneCounts"]) AS zones
     FROM
     `PROJ_ID.visionai_dataset.APP_ID` AS t
),
—- Flatten active zones to get individual entities details
flattened AS (
   SELECT zone_array.ingestion_time, JSON_VALUE(zone.annotation.id) as zone_id,
         JSON_QUERY_ARRAY(zone["counts"]) AS entities
   FROM zone_array, unnest(zone_array.zones) as zone
 )
—- Generate aggregate vehicle count per zone w.r.t time 
SELECT 
STRING(TIMESTAMP_TRUNC(ingestion_time, MINUTE) ) AS time, 
zone_id,
SUM(INT64(entity["count"])) as vehicle_count
FROM flattened, UNNEST(flattened.entities) AS entity
WHERE JSON_VALUE(entity['entity']['labelString']) = 'Vehicle'
GROUP BY time, zone_id

ในข้อความค้นหาข้างต้น คุณสามารถเปลี่ยน "ยานพาหนะ" เป็น "บุคคล" เพื่อนับจำนวนบุคคลได้

Codelab นี้จะแสดงข้อมูลตัวอย่างและการแสดงภาพสําหรับคําค้นหา 1 เท่านั้น คุณทําตามกระบวนการที่คล้ายกันสําหรับ Query2 ได้

e6fd891f3a46246.png

คลิก "สํารวจข้อมูล" ในเมนูด้านขวา แล้วเลือก "สํารวจด้วย Looker Studio"

9e737ddb4d0d25b6.png

ในแผง "มิติข้อมูล" ให้เพิ่มเวลาและเปลี่ยนการกำหนดค่าเวลาเป็นวันที่และเวลา ใน "มิติข้อมูลรายละเอียด" ให้เพิ่ม line_id b5da9704ccd8db.png

กราฟด้านบนแสดงจํานวนยานพาหนะ/บุคคลที่ข้ามเส้นแต่ละเส้นต่อนาที

แถบสีน้ำเงินเข้มและน้ำเงินอ่อนแสดงรหัสบรรทัดที่แตกต่างกัน 2 รหัส

10. ขอแสดงความยินดี

ยินดีด้วย คุณทำแล็บเสร็จแล้ว

ล้างข้อมูล

เพื่อหลีกเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้ โปรดลบโปรเจ็กต์ที่มีทรัพยากรดังกล่าวหรือเก็บโปรเจ็กต์ไว้และลบทรัพยากรแต่ละรายการ

ลบโปรเจ็กต์

ลบทรัพยากรแต่ละรายการ

แหล่งข้อมูล

https://cloud.google.com/vision-ai/docs/overview

https://cloud.google.com/vision-ai/docs/occupancy-count-tutorial

ความคิดเห็น

คลิกที่นี่เพื่อแสดงความคิดเห็น

แบบสํารวจ

คุณจะใช้บทแนะนำนี้อย่างไร

อ่านให้จบเท่านั้น อ่านและทำแบบทดสอบให้เสร็จสมบูรณ์

Codelab นี้มีประโยชน์มากน้อยเพียงใด

มีประโยชน์มาก มีประโยชน์พอสมควร