Out-the-box face recognition web app for desktop and mobile. Trust but verify
Antennae is a free and open-source face recognition node.js app using AWS Rekognition to detect and match faces. The app allows you to create collections of 'face prints' and later search an image across any number of selected databases. Each search will also return detected emotions, gender, estimated age range, and other facial features such as the presence of glasses, face hair and smiles. Use cases include allowing you to easily and quickly find missing persons, helping the visually impaired, verifying dates and rendevouz, recognizing celebrities, victim identificaion, and so much more!
Check-in stand mode allows you to set this up for point-of-sale, self-service checkin/out, vip recognition, loyalty rewards programs and greet returning guests by name. Simply by being recognized, allow guests to enter queues, pre-order, confirm options and view current status from their Antennae app. The dashboard shows all guests and where they were recognized.
This repo features infrastructure code that will allow you to self-host the application using a containerized, highly available, self-repairing, military grade, secure cloud environment. For a managed SaaS solution check out Antennae Cloud, featuring private and pre-populated public face print databases, teams, white-label and 24/7 support options.
- Meteor.js 1.6.13+ - Required for development; https://www.meteor.com/install
- Node.js 10.5.0+ - Required for production w/o docker; https://nodejs.org/en/
- Docker 2.0+ - Required for testing and production; Free, download and more info at https://docs.docker.com/install/
- MongoDB - Required for production; running meteor locally comes with mongodb; Install or use a SaaS
- Terraform 0.11.7+ - For provisioning cloud infrastructure; Install Terraform
- AWS Account - Free; If you don't have one you can get one at https://aws.amazon.com/.
$ git clone https://bitbucket.org/Antmounds/antennae.git && cd Antennae/
$ cd src/
$ meteor --settings='settings.json'
App should become available at http://localhost:3000/
This will allow you to save changes with live reloading of the app in the browser.
This will build the meteor.js app and then build resulting node.s app as Docker image ready for deployment.
$ meteor build --directory ../build
$ cd ../
$ docker build -t antmounds/antennae .
Alternatively run .circleci/build.sh
. See script for details
$ export MONGO_URL=${YOUR_MONGODB_URI}
$ export AWS_ACCESS_KEY_ID=${YOUR_AWS_ACCESS_KEY}
$ export AWS_SECRET_ACCESS_KEY=${YOUR_AWS_SECRET_KEY}
$ docker run --rm -d -e MONGO_URL=$MONGO_URL -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY --name antennae -p 3000:3000 antmounds/antennae:latest
App should become available at http://localhost:3000/
The app is ready to be deployed to a hosted docker runtime.
A prebuilt android sdk can be found here. But these instructions below will show how to build the app yourself.
From the src/
directory run meteor build command
$ meteor build android
This section goes over deploying the docker image to AWS and running it in production with Elastic Container Service (ECS)
$ terraform -v
$ terraform init
$ terraform plan
$ terraform apply
This will create the following resources:
- Read more about the goals and motivations for this project.
- Follow the getting started guide for basic usage instructions
Pull requests, forks and stars are mucho appreciated and encouraged. See CONTRIBUTING.md for how to get involved in this project.
- 🗣️ Join the Antmounds discord server for more discussion and support on this project.
- 📺 Watch LIVE development of this app on YouTube, Twitch.tv and Mixer
- 📋 Use the issue tracker for bugs, feature requests and enhancements
- 💰 For serious business inquiries contact business@antmounds.com
- Nick@antmounds - initial development
Copyright © 2018-present Antmounds.com, Inc. or its affiliates. All Rights Reserved.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License, version 3, as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.