Automated Video Analysis of Crowd Behavior

Similar documents
Crowd Scene Analysis

Lecture 28 Intro to Tracking

Recall: Blob Merge/Split Lecture 28

Real-time Detection of Illegally Parked Vehicles Using 1-D Transformation

CS 664 Segmentation. Daniel Huttenlocher

CSE 586 Final Programming Project Spring 2011 Due date: Tuesday, May 3

Definition, Detection, and Evaluation of Meeting Events in Airport Surveillance Videos

Tracking People. Tracking People: Context

Particle Filters for Visual Tracking

Human Upper Body Pose Estimation in Static Images

Performance Evaluation Metrics and Statistics for Positional Tracker Evaluation

Introduction to behavior-recognition and object tracking

cse 252c Fall 2004 Project Report: A Model of Perpendicular Texture for Determining Surface Geometry

Observing people with multiple cameras

Multiple Ant Tracking with Global Foreground Maximization and Variable Target Proposal Distribution

Approximate Bayesian Computation. Alireza Shafaei - April 2016

Evaluation of Moving Object Tracking Techniques for Video Surveillance Applications

Detection and Classification of Vehicles

Detecting Piecewise Linear Networks Using Reversible Jump Markov Chain Monte Carlo

Level-set MCMC Curve Sampling and Geometric Conditional Simulation

Tri-modal Human Body Segmentation

Samuel Coolidge, Dan Simon, Dennis Shasha, Technical Report NYU/CIMS/TR

Midterm Examination CS540-2: Introduction to Artificial Intelligence

A multiple hypothesis tracking method with fragmentation handling

10.4 Linear interpolation method Newton s method

Pairwise Threshold for Gaussian Mixture Classification and its Application on Human Tracking Enhancement

arxiv: v1 [cs.cv] 2 Sep 2018

Stochastic geometry. automatic object detection and tracking. remotely sensed image sequences

Simultaneous Appearance Modeling and Segmentation for Matching People under Occlusion

CS 534: Computer Vision Segmentation and Perceptual Grouping

Motion Tracking and Event Understanding in Video Sequences

Robust False Positive Detection for Real-Time Multi-Target Tracking

Human Motion Detection and Tracking for Video Surveillance

Detecting and Identifying Moving Objects in Real-Time

Object detection using Region Proposals (RCNN) Ernest Cheung COMP Presentation

Image Analysis Lecture Segmentation. Idar Dyrdal

Automatic Tracking of Moving Objects in Video for Surveillance Applications

CS 231A Computer Vision (Fall 2012) Problem Set 3

Face detection, validation and tracking. Océane Esposito, Grazina Laurinaviciute, Alexandre Majetniak

Segmentation by Clustering. Segmentation by Clustering Reading: Chapter 14 (skip 14.5) General ideas

CS 223B Computer Vision Problem Set 3

CS 534: Computer Vision Segmentation and Perceptual Grouping

Pedestrian Detection and Tracking in Images and Videos

A Fast Moving Object Detection Technique In Video Surveillance System

Segmentation by Clustering Reading: Chapter 14 (skip 14.5)

Recognition of Animal Skin Texture Attributes in the Wild. Amey Dharwadker (aap2174) Kai Zhang (kz2213)

Data Mining 4. Cluster Analysis

CITS 4402 Computer Vision

CS 231A Computer Vision (Winter 2014) Problem Set 3

Combining Edge and Color Features for Tracking Partially Occluded Humans

Evaluating optical flow vectors through collision points of object trajectories in varying computergenerated snow intensities for autonomous vehicles

Object Detection Design challenges

Tracking Multiple Pedestrians in Real-Time Using Kinematics

Detecting and Segmenting Humans in Crowded Scenes

Multi-Camera Calibration, Object Tracking and Query Generation

Image Segmentation. Shengnan Wang

A Novel Multi-Planar Homography Constraint Algorithm for Robust Multi-People Location with Severe Occlusion

Types of general clustering methods. Clustering Algorithms for general similarity measures. Similarity between clusters

Knowledge-Based Organ Identification from CT Images. Masahara Kobashi and Linda Shapiro Best-Paper Prize in Pattern Recognition Vol. 28, No.

Adaptive Model for Robust Pedestrian Counting

Object Category Detection: Sliding Windows

Harder case. Image matching. Even harder case. Harder still? by Diva Sian. by swashford

Overview. Monte Carlo Methods. Statistics & Bayesian Inference Lecture 3. Situation At End Of Last Week

Visuelle Perzeption für Mensch- Maschine Schnittstellen

Mean shift based object tracking with accurate centroid estimation and adaptive Kernel bandwidth

Robotics. CSPP Artificial Intelligence March 10, 2004

Harder case. Image matching. Even harder case. Harder still? by Diva Sian. by swashford

10703 Deep Reinforcement Learning and Control

Clustering K-means. Machine Learning CSEP546 Carlos Guestrin University of Washington February 18, Carlos Guestrin

Mining Social Network Graphs

Large-scale Surveillance System based on Hybrid Cooperative Multi-Camera Tracking

Segmentation and low-level grouping.

A Real Time System for Detecting and Tracking People. Ismail Haritaoglu, David Harwood and Larry S. Davis. University of Maryland

Spatial biosurveillance

Tracking and Activity Analysis in Retail Environments Technical Report 620

CS4670: Computer Vision

Detecting Abandoned Luggage Items in a Public Space

On Road Vehicle Detection using Shadows

Idle Object Detection in Video for Banking ATM Applications

Chapter 1. Introduction

LEARNING TO SEGMENT MOVING OBJECTS IN VIDEOS FRAGKIADAKI ET AL. 2015

Analysis Of Classification And Tracking In Vehicles Using Shape Based Features

ETISEO, performance evaluation for video surveillance systems

A Spatio-Spectral Algorithm for Robust and Scalable Object Tracking in Videos

Fundamental Matrices from Moving Objects Using Line Motion Barcodes

Defining a Better Vehicle Trajectory With GMM

A Street Scene Surveillance System for Moving Object Detection, Tracking and Classification

The Application of Image Processing to Solve Occlusion Issue in Object Tracking

Shape from Silhouettes I

Index. Guide. Camera Detect Event Guide. AcuraVision

FAST HUMAN DETECTION USING TEMPLATE MATCHING FOR GRADIENT IMAGES AND ASC DESCRIPTORS BASED ON SUBTRACTION STEREO

Optical Flow-Based Person Tracking by Multiple Cameras

Outline. Data Association Scenarios. Data Association Scenarios. Data Association Scenarios

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

A Low Power, High Throughput, Fully Event-Based Stereo System: Supplementary Documentation

Fully Automatic Methodology for Human Action Recognition Incorporating Dynamic Information

3. International Conference on Face and Gesture Recognition, April 14-16, 1998, Nara, Japan 1. A Real Time System for Detecting and Tracking People

Multi-Modal Metropolis Nested Sampling For Inspiralling Binaries

Detecting Pedestrians Using Patterns of Motion and Appearance

Tracking and Recognizing People in Colour using the Earth Mover s Distance

Transcription:

Automated Video Analysis of Crowd Behavior Robert Collins CSE Department Mar 30, 2009 Computational Science Seminar Series, Spring 2009.

We Are... Lab for Perception, Action and Cognition

Research Interest: Looking at People (one of many!) Biometrics Pose/Activity Recognition Multi-person tracking Analysis of social behavior

Crowd Analysis: Motivation Automated video analysis of crowd scenes using computer vision tools, to facilitate: Real-time monitoring situation awareness notification / alarms After-action review trend analysis analyze abnormal events

Historical Perspective Our work has roots in video surveillance algorithms that automatically detect and track moving objects. Main components of a video surveillance system: Foreground/background subtraction Connected components to get blobs Data association to get trajectories

Simple Background Subtraction Keep a background image (assumed to have no objects present). Subtract current frame from background image Label pixels as foreground (1) or background (0) based on thresholding I(t) abs T M(t) B B = I(0); loop time t I(t) = next frame; diff = abs[b I(t)]; M(t) = threshold(diff, ); end

Adaptive Background Subtraction Continually update background image with current frame Yields resilience to slow changes in illumination I(t) abs T M(t) B(t-1) delay B(t) I(t) + (1 )B(t-1) B(0) = I(0); loop time t I(t) = next frame; diff = abs[b(t-1) I(t)]; M(t) = threshold(diff, ); B(t) = I(t)+(1 )B(t-1); end

Grouping FG Pixels Into Blobs dilate Connected components AND Bounding box = smallest rectangle containing all pixels on the object.

Data Association Determining the correspondence of blobs across frames is based on feature similarity between blobs. Commonly used features: location, size / shape, velocity, appearance For example: location, size and shape similarity can be measured based on bounding box overlap: A B score = 2 * area(a and B) area(a) + area(b) A = bounding box at time t B = bounding box at time t+1

Simple Surveillance Results movie

Problem: Blob Merge/Split merge occlusion occlusion split When two objects pass close to each other, they are detected as a single blob. Often, one object will become occluded by the other one. One of the challenging problems is to maintain correct labeling of each object after they split again.

Problem with Crowd Scenes Merge/Split events are the rule, rather than the exception!

Our Approach Estimate number/configuration of people using Markov Chain Monte Carlo (a stochastic search method) Good for low-resolution / wide-angle views. Still relies on foreground/background segmentation. Not appropriate for very high crowd density.

Problem Statement Given a foreground image, and person-sized bounding box*, find a configuration (number and locations) of bounding boxes that cover a majority of foreground pixels while leaving a majority of background pixels uncovered. foreground image person-sized bounding box *note: height, width and orientation of the bounding box may depend on image location we determine these relationships beforehand through a calibration procedure.

Likelihood Score To measure how good a proposed configuration is, we generate a foreground image from it and compare with the observed foreground image to get a likelihood score. config = {{x 1,y 1,w 1,h 1,theta 1 },{x 2,y 2,w 2,h 2,theta 2 },{x 3,y 3,w 3,h 3,theta 3 }} generated foreground image observed foreground image compare Likelihood Score

Likelihood Score Bernoulli distribution model likelihood simplify, by assuming log likelihood Number of pixels that disagree!

Searching for the Max The space of configurations is very large. We can t exhaustively search for the max likelihood configuration. We can t even really uniformly sample the space to a reasonable degree of accuracy. config k = {{x 1,y 1,w 1,h 1,theta 1 },{x 2,y 2,w 2,h 2,theta 2 },,{x k,y k,w k,h k,theta k }} Let N = number of possible locations for (x i,y i ) in a k-person configuration. Size of config k = N k And we don t even know how many people there are... Size of config space = N 0 + N 1 + N 2 + N 3 + If we also wanted to search for width, height and orientation, this space would be even more huge.

Searching for the Max Local Search Approach Given a current configuration, propose a small change to it Compare likelihood of proposed config with likelihood of the current config Decide whether to accept the change

Proposals Add a rectangle (birth) add current configuration proposed configuration

Proposals Remove a rectangle (death) remove current configuration proposed configuration

Move a rectangle Proposals move current configuration proposed configuration

Searching for the Max Naïve Acceptance Accept proposed configuration if it has a larger likelihood score, i.e. Compute a = L(proposed) L(current) Accept if a > 1 Problem: leads to hill-climbing behavior that gets stuck in local maxima Brings us here But we really want to be over here! start Likelihood

Searching for the Max The MCMC approach Generate random configurations from a distribution proportional to the likelihood! Generates many high likelihood configurations Likelihood Generates few low likelihood ones.

Searching for the Max The MCMC approach Generate random configurations from a distribution proportional to the likelihood! This searches the space of configurations in an efficient way. Now just remember the generated configuration with the highest likelihood.

Sounds good, but how to do it? Think of configurations as nodes in a graph. Put a link between nodes if you can get from one config to the other in one step (birth, death, move) death birth config A birth death config C config B move move move move move move move move birth death config D move move config E death birth Note links come in pairs: birth/death; move/move

Detailed Balance Consider a pair of configuration nodes r,s Want to generate them with frequency relative to their likelihoods L(r) and L(s) Let q(r,s) be relative frequency of proposing configuration s when the current state is r (and vice versa) A sufficient condition to generate r,s with the desired frequency is L(r) r q(r,s) L(r) q(r,s) = L(s) q(s,r) detailed balance s L(s) q(s,r)

Detailed Balance Typically, your proposal frequencies do NOT satisfy detailed balance (unless you are extremely lucky). To fix this, we introduce a computational fudge factor a Detailed balance: a* L(r) q(r,s) = L(s) q(s,r) a * q(r,s) Solve for a: L(r) r a = L(s) q(s,r) L(r) q(r,s) s L(s) q(s,r)

MCMC Sampling Metropolis Hastings algorithm Propose a new configuration Compute a = L(proposed) q(proposed,current) L(current) q(current,proposed) Accept if a > 1 Else accept anyways with probability a Difference from Naïve algorithm

Trans-dimensional MCMC Green s reversible-jump approach (RJMCMC) gives a general template for exploring and comparing states of differing dimension (diff numbers of rectangles in our case). Proposals come in reversible pairs: birth/death and move/move. We should add another term to the acceptance ratio for pairs that jump across dimensions. However, that term is 1 for our simple proposals.

MCMC in Action Sequence of proposed configurations Sequence of accepted configurations movies

MCMC in Action Max likelihood configuration Looking good!

Examples

Adding Shape to the Estimation video frame estimated state library of candidate shapes

Adding Shape to the Estimation MCMC iterations movie MCMC proposes changes to current configuration add/remove a person shift location of person change their shape

Soccer Dataset Evaluation run on every 10th frame green contours: true positives red boxes: false negatives pink contours: false positives movie detailed view

Caviar Dataset evaluation on six sequences learned shapes results from sample frames

Detections, Nov 22, Curtin Road

Crowd Behavior In areas of bidirectional motion, people tend to follow others to minimize collisions (maximize throughput). Known as the fingering effect. movie Green: leftward moving. Red: rightward moving,

Fingering Effect Density by image row Green (leftward); Red (rightward)

Detections, Sep 6, Gate A

Crowd Flow/Density Keep in mind this scene structure (as depicted by red lines)

Crowd Flow/Density 30 minute period

Crowd Flow/Density movie Time Lapse. Integrated over spatial/temporal windows.

GateA Path Counts \ movie Maintain a running count of number of people whose trajectories cross a set of user-specified lines (color-coded).

Collective locomotion find small groups traveling in a crowd sociological hypothesis: validating that the majority of people in a crowd cluster in small groups public safety: improving situation awareness and realtime emergency response during public disturbances through real-time monitoring and modeling of crowd behavior

Agglomerative Hierarchical Clustering 1 3 2 5 4 6 7 8 9 10 11 12 13 14

Sample Results note: computer only sees this view! Evaluation reveals substantial agreement between computer-generated groupings and those found by human coders (ground truth) p <.001

More Results

Research Directions Validation; improve algorithm robustness. Detection of stationary people Tackle the HARD problems. Primarily high-density crowds.

Research Directions Idea: might be good to try other human shapes (activities) or other animals/objects.