Skip to main content

DeGirum Face Tracking Application Package

Project description

Face Tracking Demo

Demonstrates the following technologies:

  • Face Detection in a video stream. Yolo models from DeGirum zoo are used.
  • Creating face embeddings by DeepFace
  • Saving face metadata, including embeddings, in a vector database (LanceDB)
  • Recognition of detected faces, using saved faces metadata.

Used as a mock-up for development of hybrid deployment of a vector db.

1.Installation

Create a new conda environment:

conda env create -f environment.yml

Activate it:

conda activate dg_face_tracking

Create a database folder:

mkdir db

Open env.ini file and fill the DEGIRUM_CLOUD_TOKEN field with a valid DeGirum cloud platform API access token.

2. Running

A laptop with an enabled camera must be used.

Start the face tracking app:

python track.py -d <deployment>  -c <config>

Options:

  • deployment: cloud, local or docker
  • config: config path, relative to Configs subfolder

Press OK button to finalize keying.

Ctrl+C stops the app.

3. Creating a dataset.

  1. Edit the face_tracker_camera.cfg config file by adding
 [${data_source.id}, ${dataset_writer}]

line in data_connections section.

  1. In dataset section of LocalDBWriter.cfg config file:
  • Set the valid paths for catalogue (catalogue_path) and the datasets path (datasets_path);
  • Set dataset name dataset_name
  • If you want to overwrite the existing dataset, set write_mode as "overwrite"

Run the application.

To stop data collection, press Ctrl+C

4. Running on a dataset

python DataFace.py  face_tracker_dataset

dataset section of FaceTrackerDataset.cfg must contain the valid parameters of the dataset to be used:

  • Set the valid paths for catalogue (catalogue_path) and the datasets path (datasets_path);
  • Set the dataset name (dataset_name)

Run the application.

To stop running, press Ctrl+C

5. CI/CD

To make new release perform the following steps:

  1. Assign new git tag by running the following command:

    ./rel-tag.sh x.y.z
    

    where x.y.z is semantic version of new release.

  2. Open Github Release action page and configure release action by clicking Run workflow combo box, selecting Tags tab in Branch combo box, and specifying the tag, which corresponds to the released version:

    image

  3. Start release action by pressing green Run workflow button.

  4. Make sure Release action finishes successfully (green checkmark new recent Release action run status)

  5. Open Github Upload action page and configure upload action by clicking Run workflow combo box and specifying the release version tag in Release tag containing wheels to upload edit box:

    image

  6. Start upload action by pressing green Run workflow button.

  7. Make sure Upload action finishes successfully (green checkmark new recent Upload action run status)

  8. Verify, that release is avaiable for installation by running the following command:

    pip uninstall -y dg_face_tracking && pip install -U dg_face_tracking
    

    You should see the following prompt:

    Successfully installed dg_face_tracking-x.y.z
    

6. Orin Local Demo Installation

6.1 Prerequisites

  • Install the NVIDIA Container Toolkit and Configure Docker

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

6.2. Create conda environment and install dg_face_tracking package

conda create --name face_tracking python=3.9
conda activate face_tracking
pip install dg_face_tracking

6.3 Run the Demo

 dr_face_tracking   

To stop the demo: hit "x".

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

dg_face_tracking-0.0.7-py3-none-any.whl (125.3 kB view details)

Uploaded Python 3

File details

Details for the file dg_face_tracking-0.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for dg_face_tracking-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1696d15b92a23074c7131e135cca03155fb25c4cbcd0982c5d60562a5e305670
MD5 b612363891723f3e9fef58c1c262bd9f
BLAKE2b-256 07b81963d9ee34ddcec8413a7b1c03596d276380fe5ab31fd1da601aeff80b72

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page