Skip to content

Latest commit

 

History

History
49 lines (34 loc) · 3.43 KB

README.md

File metadata and controls

49 lines (34 loc) · 3.43 KB

Faces Demo: Real-Time Image Recognition with Deep Learning

Overview | Demo Flow | Pipeline Output | Notebooks and Code

Overview

This demo demonstrates how to build a real-time face-recognition application. It includes streaming video to the Iguazio Data Science Platform ("the platform"); running a face-recognition algorithm in real time; and building a face-tagging interface. The application administrator can use the face-tagging interface to see the unrecognized faces and manually tag them, thus allowing the system to learn and train the model accordingly. In addition, the demo implements location tracking of the identities determined by the faces recognition.

This demo uses OpenCV, PyTorch, Streamlit, Nuclio, and MLRun. MLRun is used to build and track the functions.

Demo Flow

The demo includes five MLRun and Nuclio functions for implementing the following flow:

  1. Face recognition and encoding in photos using the OpenCV deep-learning model — from a notebook.
  2. Model training and an output PyTorch predictor, based on the extracted encodings — from a notebook.
  3. Automated deployment of a model-serving Nuclio function — from a notebook.
  4. A client that records video, streams the data to the platform's data store (file system), and triggers the serving function (see client/README.md).
  5. Labeling of unrecognized faces using an interactive dashboard that's built with Streamlit — from code (see streamlit/README.md).

The demo also demonstrates how to build an automated pipeline from a notebook using MLRun and Kubeflow Pipelines, including using the platform's NoSQL (key-value) data store and time-series database (TSDB) library to store metadata and track data of the identified and unidentified faces.

Pipeline Output

The following image illustrates the generated pipeline:

Pipeline output

Notebooks and Code

Running the demo

  1. run face-recognition notebook — from a notebook.
  2. follow client Readme to stream images into iguazio platform.
  3. follow streamlit Readme to deploy streamlit into iguazio platform.