About SVQ

SVQ is an interactive declarative query processing system for streaming video. State of the art image/video analytical algorithms based on deep learning depict high accuracy in object detection but their per image/frame cost is high. Therefore straight-forward execution of detection algorithms and subsequent query processing logic cannot execute in real-time. SVQ introduces a set of cheap approximate filters for query predicates to quickly determine if a frame is promising for further processing, given a specific query. That way, expensive image analytical algorithms are invoked with enough confidence only when applicable. SVQ exhibits a dramatically improved frame processing rate and speeds up query processing by at least two orders of magnitude. The goal of the project is to develop a relational query execution engine that can express SQL-like queries using an enhance representation of frames with a schema as dictated by video analytics algorithms. We are supporting any video analytics algorithm as a UDF. We are interested in queries involving localized predicates (e.g., car left of truck), temporal constraints (e.g., car left of truck for 10min), actions (e.g., human breaking a glass), group activities and much more.

Sample Queries

Class Count Query
SELECT cameraID, count(frameID), C1(F1(vehBox1)) AS vehType1 FROM (PROCESS inputVideo PRODUCE cameraID, frameID, vehBox1 USING VehDetector) WHERE vehType1 = car
Spatial Constraint Query
SELECT cameraID, frameID, C1 (F1 (vehBox1)) AS vehType1, C1 (F1 (vehbox2)) AS vehType2 FROM (PROCESS inputVideo PRODUCE cameraID, frameID, vehBox1, vehBox2 USING VehDetector) WHERE vehType1 = car AND vehType2 = bus AND (ORDER(vehType1, vehType2) = RIGHT