Video Analytics Fundamentals Guide
Video analytics is a major differentiator in video surveillance, but because of the different marketing terms, names, and features, understanding how they work and differ is difficult.
In this 30+ page guide, we teach the following:
- Accuracy Concerns
- Hardware Tradeoffs
- Video Analytics And Computer Vision
- Basic Image Analysis
- Computer Vision Evolution in Video Surveillance
- Video Motion Detection (VMD) - Pros and Cons
- Heuristics Analytics - Pros and Cons
- Machine Learning - Pros and Cons
- Supervised and Unsupervised Learning
- Haar and HOG
- Deep Learning - Pros and Cons
- Convolutional Neural Networks (CNNs)
- Neural Network Optimizers
- Don't Always Need Deep Learning
- Datasets for Training
- Common Datasets
- Dataset Issues
This is the first chapter in our Video Analytics Course starting at the end of March.
Video ********* *******
***** ********* *********** ****** ******, **** strong ** **** **** *** ***** is ** ****** *** ** ****** this ***** ** ***** ********* ******. Users *** *********** ****** ** ******* to **** ********* ***** ***** *** specific **********, ** **** *** **** an ******** ********. **** ***-********** ********* may **** ** *********** ************ (*.*. dynamic ********, *** *******).
************* **** ************ ********** *********** *** claim "*****" ** "**" ********* **** struggles ** ****-***** ************. ***** ******-********** analytics *** *********, **** *** **********, not *** ****.
Computational **** ** ******** *****-***
*** ******* ***** ********* ******** *******, the ******* *** ************* ***** ***, generally. ***** ********** ***** (** ** covered ** *** *********** ********** ********), typically ********** ***** ********* ******** ***** increasing ************* *****, ***** ** ****** of *********. *** *******, *** *** make **** **** ******** **** * neural ******* *** ** ***** ******* 1/1000th (** *****) ********* *********.
*******************
******** *********** *** * ***** ****** in ********** ***** ************ *********, ***** the ****-****, **** ****** ****** ** the ***********. *****, ******** ********** ***** analytics *** ******** ** *** *** hardware *********** ** *******, ********, ***. See ****'****** ********* ******** ***** ***** ****.
Video ********* *** ******** ******
***** ********* ** * ********** **** uses ********* ** ******* ****** ** detect ** ******** *******. ***** **** is * ****** **** *** ******, computers ** *** "***" ****** ** people **.
**** * ******** ***** ** * digitally ******* *****, ** ** * collection ** ******:
* ******** *** *** ********* ** being **** ** ****** ******* ** many ****** **************, ********* ****** *** greatly ******* **. *******, ********* **** a ************ ** **** ** ***** significant ********* ** ** *** **** of ********* **** ****** **** *** granted ** **** ** * *******.
***** ********* ***** ********** ** ******* to ****** *** ***** ** **** patterns ** ******* ** *** ****** that ********* ** ****** (*.*. ******, Face, *******), ******** (*.*. * ****, a ****, * *****), ***/** ********* (e.g. *********, ******* ********, ********).
Basic ***** ********
***** ********* ******* *** ********* ****** to **** *********** ** *** ******, which ********* ***** ** *******:
********* ****** *** *** ******* **** RGB/color ******, **** *** **** ****** of ******. ******* ****** ***** *** fewer ********** *********, ********** **** *****.
***** *********** ** *** ****** ** 2 ******** ****** *** ******** ** edge, *** ******** ****** **** ******* values ** ***:
***** ****** ********** *** ** *** core ** *** ***** ********* *** are ******* ****** **** ** *** most ***** **** **** ** ********* VMD.
Computer ****** ********* ** ***** ************
***** *** * **** ******** ********** for ***** *********, ** ***** ** complexity:
- ***** ****** ********* (***)- ******* ******* ** ******, *** objects
- **********- ******* *** ****** ***** ** hard-coded *****-******* ***** (*.*. "****** ***** changes ******* *", "****** ***** ******* that **** **** * *******")
- ************ ****** *********- ******* ******* ***** ****** *****-******* rules *** ***** ******* ******** (******** optimizes *** ********* ***** ** ******** images).
- **** ******** ****** *********- ******* ******* ***** ********-********* **********, based ** ******** ****/******.
Video ****** ********* (***)
*** ******** ******* ** *** **** pixel **** *** *****/***** ** *** next. ** ****** ******' *****/******** ****** by ****** ** * ***** (*.*., sensitivity), *** ****** ******** ****** ********. VMD **** *** ****** *******, ****** the ***** ***** ********* ******* ** this ******, *** **** *** ******* values ** ******** ******.
*** ***** ***** ***** *** *** might '***' * *** ****** *** correctly ********* ******:
VMD **********
*** *** * *** ************* *** development ****, *********** ****, *** ** ubiquitous ** ** *******.
****, ** **** ***** ******, **** minimal ***** *******, *** *** ********* detect ** ***** ** ** ******, meaning ** ****** ** ******** *** detected.
*******, *** *** *********** *********** ******.
VMD *************
*** ** **** ***** ** ******, and ******** **** ******* ******* ***** on ***** ******* *** ** ********/*******, because *** ****** ****** ** ****** is ***** ** ******:
*** **** ********* ** ******* ************, constantly ********** *** ** *******, *******, and *** *********** (*.*. *****, ****** of *****):
Heuristics *********
********* ******* *** ***** ** *** to ******** ***** ****** ***** **** keeping *********** *** **** ***. ******** providers, ********* ****** ************* ***** * series ** ******* ** ******* ** help ********* **** ***** ******.
*** **** ****** ******* *** ***** change ***********, ******** ** ********, *** direction ** ********, *** * ******* and ******* ****:
* **** ******** ***** ** ********* analytics ** ********* ****** ***** ********* or ****** ** ***** ***** ** determine **** **** ** ****** ** in ****** (*.*. ****** ** *******):
Heuristic ****
********* ********* ** ******* ** *** in **** **** *** ********** **** to *******, *** *** *** *************** ****, *** *** **** accurate **** ***:
********, ** ********** ****** ******, ********* analytics *** ********** ****** ** ***** is ** ****** ******* *** **** be **** ***** ** ***** ****** due ** ***** ***** ******* **** VMD.
Heuristic ****
********* *********' ******* ******** ** **** they *** ******* ** ********* ******** or ********* **** *** ****-***** ** humans.
********* ********* *** ***** ** ****************** when ******* ** *** **** *** pre-set ************, * ****** ******** ** the ****** ******* ****** ******* ******** might ** ********** ** * ******* instead ** * ******, ***** ***** aspect ***** *** ******* ********:
************, ********* ******* ******* **** *****, trial-and-error *******, ** ******** ***** ******** than **** ******** *********.
Machine ********
******* ******** ** *** **** **** beyond ********** ** ***** *********. ***** a ***** ******** ***-********** ************ ******* what *** ******** ** **** **, the ******** ********* *** *********, *********** using **** **** ********* **** ***** be ********** **** ********* ******. ** such, ******* ******** ********* *** ********* more *************** ******* *** **** ********.
*** *******, * ******** ** **** how ** ****** * ****** ******* by *********** *********** **********:
- *** ***** ** *** ****** ****** be ****** **** *** *****
- ***** ****** ** ******** ** **** and **** **** ** **********
- ***** ****** ** *********** ******** ******* of ********
- ***** ****** ** **** ***** *** texture ******* (************ ********)
**** *** ********* ** **** *** video, ** **** **** *** ***** parameters, *** ** ** ***** ****** of ****, ** **** ****** *** video ******** * ****** *******.
Supervised *** ************ ********
**** ***** ************ ********* *** ********** learning ****** ***********. ********** ***** *** training ****** *** *******, *** *** computer ******* **** *******/****** **** ** used ** ****** *** *******. ******** labeled ****** *** ******** *** ******* learning ** ****** *** ******* *******.
********* ** *** ********, *** ** more ****** *** ** **** ** provide ******* ****** **** ******* *** information ** *** ******. **** ***** pictures ** **** *** ** ******* as ****, *** ************ ** ******* as *** **** ** ***:
** ************ ********, *** ****** *** not *******, *** *** ******** ******* how ** ***** *** *******. *******, this ***** *** ******* **** ***** in ** ************* ******, **** *** likely ******* ** ********* ******** ********, like *** ***** ** ******* ******* of ****** ** *******:
************ ********, ** ********, ***** ******* save **** ** *********** ******** ******** of ****** ** ********. ************, ************ learning *** **** **** ******* ******** and ******** **** * ***** ***** not ********* ** ******. ** ****, unsupervised ******** ** ********* ********** ** detecting ********* ** ****-**** ******** ** movement-related ********.
***** ****, ************ ******** *** ** growing ** ***** ************ *** ********** or ******* ******** *********. *** ****'* tests ********** ******* ******** ******************* ********* ********* ******* *********.
Haar *** ***
**** *** ***-***** ******* ******** ********* are ******* ** **** **** *** human-defined ******* *** *** ******** ********** to ****** *******. **** ***** ********, then *****. *** ***** ***** *** then ********.
****
**** ** *** ** *** ****** machine ******** ******* *** ****** *********, is *************** *********, *** ******** **** by ** *******.**** ** **** **** ** ********* edges *** ***** ** ******* *** uses ********* ******* *********** (**** ********* by * ****, ******** ***** *** eyes) ** ****** ***** *** *** details ** *** ****:
** *** ***** *******, **** ****** may ********* ******** ***** *** ***:
**** *********** *** ******* ******* *** multiple ******* *******, ** **** ** 38 ** *** ** *** **** common ******* *****-*****.
******* **** ***** ** ******* *****, it ******** ****-*** ******** **** * high ***** ** ******, ******* **** ********* ************ ** ********** ********* **** ****** faces.
***
*** ** ******* ****** ******* ******** detection ****** **** ** ***** ************, offering * ******** ********** ******* ********** and ********. *** ****** *** "********* of ******** *********" *** ******* ******* by ******* ***** *** ******* ** an *****, *** *** ******/***** *** edges *** ******* ***:
******* *********** *** ******* ** *** simplified ***** *** *** ** ********** to ****** *** ***, *******, ** specific ******* **** *** ******* *****, by ***** *** ******** ** **** edges. ******* ** ****, *** *** be **** ******** **** **** ** some *****, *** **** ***** ** errors *** ** ******** *** ****** compared ** ****.
*** **** ******* ** **** ********* using ****, ***, *** **** ********, ee **** ****'***** ********* ********.
Machine ******** ****
******* ******** ********* *** ********-********* *** uses **** ******** **** *****-********** **********. This ***** ** ** **** ******** at ********* ******* **** **** ** not ***** ***** *********** ** ********** examples. ** ****, ******* ******** ********* are ****** **** ********** ** ********* a ****** ******* **** *** ********, running, *******, ***..
******* ******** ******** **** ********** **** VMD *** ********** *** ** ********* efficient ****** ** ** ********* ** lower ********** ******* ******* **** ******* and ****. ********, **** **** ***** requirements **** **** ********, *** **** are *** ****** *** **** ************.
Machine ******** ****
******* ******** ** **** ****** ** develop ******* *** ******** ***** ***** amounts ** ****/****** ** ***** ****, which ** *********. ************, ******* ******* learning ** **** ******* **** *** or ********* *********, ** ** **** computationally ********* *** ** ******-***** ******* increases **** (*** ********* ********* ******** ***).
******* ******** ********* *** **** **** problems **** ******** **** ******* ** a ****** ******* ********** ******, *** example **** * **** ** ******* with * ****:
** ******** ******** *** ********* ************ beyond ******* ********, ******** ********* ******* Deep ******** ********** ** ***** ************.
Deep ******** ********* ***** ****** ********
**** ******** ********* ******* ****** ******* 3+ ****** ** ******* ** ************** neurons, ***** ********** **** *** ******** object **** ****** **:
***** **** ******** ********* ***** ** their *** **** ** ***** ** during *** ******** *******, *** ***** of *** ******* ** ******* ** the *********, ********* ******* *****-***-*****.
*******, ****** ********** ** ******* ********, the ******** ***** ** ******* *** not ********** ** ******, **** *** determined ** *** ********, ***** ** the ******** ******.
Learning **** *** ****** ** *******
* ****** **************** ** **** **** learning/AI ********* ******** ** "*****" ***** installation. **** ** ******** ** **** cases, **** ** ********'* ****-******** *** cameras, *** **** ******** *********, ***** attempt ** ***** *** ***** **** are ****** **.
*******, *** **** *********, *** ******** happens ****** *** ******** ** ********, and **** *** *******-******* *****, ***** does *** ****** **** **** ***** on ******** ** ******* ******** ** the ***** ** ****. ************* *** periodically ******* ***** ****** ********* * firmware ******* ** **** ****** ** apply *** ******* *****.
Convolutional ****** ******** (****)
************* ****** ******** ** **** *** most ******** **** *** ******** **** learning ***** ********* *** ****** ********* and **************.
*** * ******** ****** ** * CNNs ***:
- ***********:******** ********/******* **** ** ***** ** applying * ******* ****** ******, ******* to **** ******* **********, ***** ******* the ************* **** ** *** *********.
- ***-********* / ****: ***-****** ********** ** *** *********** filter ** **** **** *** ****** network *** ******* *** ***-****** ******** (e.g. ***** ** ****** *** ***** of ********* ********).
- *******:************* ******* *** ***** ***** **** between **** *********** ***** ** *********** multiple ******* **** *** ************** ******. This ****** *** ************* **** ** reducing *** ****** ** *********** ****. It **** ***** **** ********** ** small ******* ** ********, *****, ** resolution *** ******* * ****** ******** to *** **** ** ***********, ** generalizing *** *********** ** ********* ***/******** reducing *** ***** ** ******.
- ***** *********: **** *** ******** **** *** Convolution *** ******* ****** ** ******** the ***** **** ***-******* *******/*******, ***** on *** ******** ********.
** **** **** ** ***** ******* in ** *****, *********** *** **** layers/filters (******* ** *** ** *** brand). *******, *** ** *** ******** ways **** ******** *** ** ***********, the ***** ** *** ****** ******* is *** ****** * **** ********* of ******* ****** ********. ********, **** layers ** * ****** ******* **** generally ******* **** ******** ********** *** higher ************* **** *** ******:
Open ****** **** - ******** *** ****
******** **** ** ****-****** *** *** customizing/modifying ** *** * ******** *********** is ****** ** ***** *********. ************* often ****** *** ********* ****-****** ****, saving *********** *** ************.
**** ***** ************ ************* *** *** have *** **** ******* ** *********** resources ******** ** ***** ***** *** neural ********, *** **** ****-****** **** (e.g.*********,******,*********,****, ***) *** ****** ******** *** computationally *********.
Neural ******* **********
********** *** ********** ** ****** ***** maintaining **** ******** ** *** ** the **** ******** ***** *** **** learning *********. ****** ******* ********** *** algorithms ** ******* **** ******** ********** can *** ** ****** ** ****** how *** ******** ****** ****** *** training *******.
***** *** **** ************/*********** ******* *** optimizing ****** ******* ******** (*.*. ******** Descent, **********, ******** ********, ***.) **** different ************* ***** *** ******** *****-****.
*****'* ********** * ********-******** ********* **** ************* increases *** ********** ** ******* **** learning ***** ********* ** ***** ***/****, by ********** *** ****** ** ***** the ****** *******:
Deep ******** ****
**** ******** ********* ********* ***** ************* more ******** *********** *** *** *** susceptible ** ***** ****** *** ** poor ******** ** ***** *******. ************, they *** ****** **** ** ******** objects ********** ** *********** **********, ** when *** ****** **** *** ***** any ***** *********** ** ************:
**** ************ ********* ************ *** ***** to ****** ******* ** * **** or ***** ***** **** ****** *** be (*.*.: *********** ********* *****-*****). **** learning ********* *** **** ** ****** "abnormal" ********, ****** ******* **** **** usually ****, ** * ***** ***** all ****** ** *** **** ********* suddenly (**** ** ** * ***** evacuation), ***** ***** ***** ** ********* would ** ****** *******. ** ***** able ** ****** ********* ******* ** interest ** * *****, **** ******** helps ***** ********* ******** ***** ******** and **********.
Do *** ****** **** **** ********
*** **** *****, **** ****** ** face ********* ** ** ****** ******* intercom, * ******* ******* ******** ********* is **** ****** ******* *** ***** of **** ** ******, *** ****** is ******* ******** ** *** ******, and ******** *** ** **********.
***** ******* ********, *** **** **** of ** ***********, **** **** *********** costs **** ******** ** **** ********, and **** ******* ******* **** ******** detection ** **** *********** ************.
Deep ******** ****
***** **** ******** ********* *** **** accurate **** ********* ** ******* ********, they ********* ******* ********* *** ******** (see ********* ********* ******** ***) ******* ** ************* ************ *** training, *** ** **********.
************, ******* **** ******** ********* ******** a *** ** ******** ****/******, ***** development *** ******** ***** *** ************* increase *** ***** **** ** *** analytics ** *****. **** ******** **** recognition *** **** ******* ** $*,*** - $*,*** *** ******.
********, ***** **** ******** ********* *** typically **** ** ********* *** *********** objects **** ** *** ******* ***** training ****** ** ********** ********** *******, every *********** *** ********* **********. ** such, ***** ****** ** ********* **** multiple ***** ** *** ****-***** ********, to ******* *********** ** * **** range ** *******, ********, *** *******.
Datasets *** ********
******** *** **** ** ***** **** learning ********* ** *** ** ****** or ********* *******, ********, *********, *****, or *** ******/******. ******** *** ********* composed ** ********* ** ******** ** labeled ****** ** ******.
**** ******** ********* ******** ** ******* dependent ** ******* ******* ***** ** 4 *******:
- ******* ******
- ************** ** *** ****
- ******* ******
- ****** ** ******
******* ******
******** ******* ******** ****** ** * specific ******* (*.*. ****** ***********, ******* detection):
*******, **** **** **** ** ** carefully *******, *** ******* ** ** so *** ****** ** ******** ** algorithm ** ****** ** ********* *** wrong *******/******** (*.*. **** ****** ******* of ******, ***** ******* ******* ** dogs ******* *******).
************** ** *** ****
***** **** ******** *** ******* **** non-surveillance ****** (*.*. ***** ******, ********, passport/ID ******), ** ** ********* ** train ************ ********* **** ************ *****. Surveillance ******* ********* **** *********** ****** and ********.
***** **** ******** ********* ** **** resilient ** ***** ****** **** ******* learning, ******** **** ****** ******** *** most ***** ** ************** **** ** not ****:
*******, ************-******* ******** *** *** ******, meaning ******** *** **** ** ** created ** *** ******** *********, ** a *********** ****.
******* ******
******** **** ** **** ****** **** are ******* **** ******* ** ******** like *********, ***, *** ******, *** failure ** ** ** **** ****** in ****, ***** ********, *** **** of ****** ********. ************, ******* ******* images *** ** ********* ** ***, many ****-****** ********* ** ***** ************* lack ** *********:
********, *******, ********, ** ******** *** look **** ********* ** *** ** vs ***** ** ** ***** *******. Likewise, * ****** ***** ** ******* with ********* ***** ** ********, ** African *****. **** * ****** ******** in ******* **** ****** ** ********* features, ******, ***. *** **** ** perform **********.
*** *****
******** **** ******** **** *** *** small **** ****** **** ******** **********. Algorithms **** ** ***** **** * person ** *** **** ****** ******* aging, ********** ******, ******** ******, ****-***** changes, ********, *****, *** ****-** ***** differentiating ******* "*************" ***** ******** * large ****** ** ****.
Common ********
***** ****** ******* ***** **** *** analytics ********, ******* **** **** ******** available ******** ** ******* ********** *** manufacturer-created ********.
****** ****** ********
****** *** ** *** **** ******** used ****** ********, ******* ** ** large, **** ********, *** ******** **** common *******. ** ******** ***,*** ******, with *.* ******* ******* ******* ** 80 **********, ***** *** ** ******** for ******** ************:
********** ******* ****** **** ****** ******* for ************** ********, **** **** ** million ******, *** **** ***,*** **** descriptors ****** "******" ** ***** ******* in ******. ******* *** ********* ******* with ******** ******* ** ******** ********** levels ** ******
********* * ****** ******* **** ** older *** ******* **** **** ** Imagenet. *******, ** ** **** *** training ****** *********, *** ******** ~**,*** labeled ****** *** *** ******* ****** types:
******* * ****** ******* ******* ** face *********, ********** **,***+ ****** *** 390,000+ ******* *****. ***** ****** "**** attributes" ********* *****, **********, *** ************:
********** ********
*********** **** ****** ** ****-******* ****** of ***** **********, ******* ************** ****** (e.g. ******* *******, ********, ***.) *** arrests/mugshot ******. *******, ********** *** ** these ****** ******. *** *** ****** government *** ****** ** ****** *********** companies *** *********** *** *******. *** US ********** **** ******** *** ******* IDs *** ******** ******* (*.*. ****).
*******, ** *** **,******* ***** ******* ********** ****** **** state-to-state, *** *** ********* ****** ****** once * ****** ** ********* ** a *****. **** ********* ***** ****** databases ** ** ******** (*,*,*), ***** ***** ** ******** *** facial *********** ********.
*********** ********
*** ** *********** ************ (*.*. *** detection, ******** *********), **** ******** ********* tout ***** *** ** *********** ********. While ***** ***** ** ****** ********, offering ****** ******** ** ********, ***** is ** *** ** ****** *** diversity ** ******, **** ** *** datasets, ** *******/***** **********.
Dataset ******
***** *** ****** ********** *** ********* challenges ** ***** ************ **** **** to ** ********* **** ******** ********. Issues **** ***** ********* ******** *** caused ****** *** ******** ******* ******* an ********* ***** ********** *** ******** data ** ******** ***** **** ** detect *** ********.
Not ****** ******
******* ****** ******, *** ********* *** focus ** ******* **** *** *** important ** *** ***********, *** ****** correct, *** ******* *******. *** *******, a ****** *********** ****** *** ****** people ******* ******* ********, ****** **** classifying ******* **** ********:
Distinct ******** *** ** ******* ******
******** ******** ** * ****** ** vehicle *** ** ****** *******, *** an ********* **** ****** ******* ** hair, ****** ****, *******, ********, ***. may ******* ****** ** *** **** world:
***** ******* ****** ******** (*.*. *******, beards), ** *** ***** * *********** decrease ** ********, **** ******* *** revealed ******** ************* ***** **** ****** ********** ****** **************:
Public ******** - ***** *** ******* **********
****** ******** **** ***** **********, ********* in *** ** *** ****** *** to ******* ******** *** ********** **********. The ***** ********** **** ****** *** use *** *********** ** ****** *********** technology, ** ******** *** ********** ** faces **** *** ** **** *** training ****, *** ******** ** ****** recognition *******.
****** *********** ********** *** **** ****** ethical **********. ***** ***** ****** ***** and ********** ** ****** *** ** legal, ** ** *** ***** ** many ****** **** ***** ***** *** be **** *** ****** *********** ********. In ****, ******, *********, *** *********** **** ****** *********** ******************** ****** ********.
Labeling **** ** *** ****
******** ****** ** ******** ***** * lot ** **** ** ** **********, because ** *** ******** ** ********* to ******** ** ****** ****** ** datasets.
************, ***** *** ********** *** ******* challenges ** ********:
- ** ** ******* ** *** *********, ethnic, ********* ******, ***.?
- * ******'* **** *** ** *** definition, *** ** ** *******?
- **** ***** ** **** *** **********?
- **** ******* * **** ** *******?
- * *******? ** ******** *******? * stroller?
*** ****** *** ******* ******** *** specific ************ *** ****** ********* ** offer ******* ******** ******** ******* ********* like****** ********** *********** ******** ** *** ******-*******, *** extremely *****-*********.