About FaceChecker

FaceChecker is an IoT application use LINKEDFACE++ platform for recognizing human face appearing in camera. This project was initiated and developed by LabsOfThings, under MIT License. Developers and software producers can unlimitedly use, copy, modify and distribute this software.

This application captures image from camera, detect faces and recognize who’s in that image. If pre-defined conditions fired, it creates event of that faces, saves it in database.

System operator can see events happened in real-time with a web application called: Surveillance board.

You can modify application so that application can do more specific tasks each time there is an event occurred.

It’s very important that developers don’t need to know AI, face recognition. Application owner does not need to build face data. Just using LINKEDFACE++ platform can save a lot of cost and effort to build and run application.

System Architecture

FaceChecker architecture

  1. Surveillance Camera: input device, used to capture image and send to camera Hub

  2. Camera Hub: is a mini-computer such as Raspberry Pi. This device will pre-process image data and create event and then send to Server (3). It does following tasks:

    • Capture image from camera
    • Detect and check whether there is any face in image
    • Send image to Linkedface++ to check: who’s in image.
    • Search result from Linkedface++ and image will be packed as event and send to server
  3. Application server: provides service for system. This module does some server tasks:

    • Manage front end devices in system (camera hub): manage device information, device token Device token: is token used by device, in order to access services of application server
    • Manage event occurred in the system: receive event from device, process it and store it in database; emit message to socket client (web application) each time an event has just occurred.
    • Manage application’s identity information. This is App_id and App_secret information. Server will use this information to request Linkedface++ to exchange into access_token. And server distribute this access-token to front devices. Front devices will use access_token to request services in Linkedface++. App_id and App_secret are information belong to FaceChecker application. You register application in Linkedface++ then you will have these information.
  4. Administration web application: is an UI - middle module between user and application server

  5. App DB: store events and device information

Use cases of FaceChecker

There are a lot of areas that can use FaceChecker as a facial engine:

  • Face check for Home security system
  • Face check at ATM as second security factor of authentication
  • Searching for missing people
  • Auto-profile in meeting: recognize people in the meeting and display profile information
  • Recognize VIP customers in retail banking
  • Auto tagging
  • Recognize crime
  • Face ticket in cinema
  • Your idea …

Demonstration

You can visit Administration boad at: http://demo.linkedface.com:7100