Giter Site home page Giter Site logo

nazosnare / civisface Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mdagost/civisface

0.0 1.0 0.0 30 KB

An app for exploring facial recognition using react-native, AWS Rekognition, and AWS Polly.

License: BSD 3-Clause "New" or "Revised" License

JavaScript 72.92% Objective-C 21.27% Shell 1.10% Python 4.71%

civisface's Introduction

Maintenance

โ— This project is released as-is and is not actively maintained by Civis Analytics.

Introduction

This is an iOS app for exploring facial recognition using react-native, AWS Rekognition, and AWS Polly. It was made to playfully recognize our employees around the office from their staff photos and to educate visitors on facial recognition technology.

Note: this is only a POC app useful for exploration and research. It does some things which are non-ideal like embedding AWS credentials directly into the application itself, storing a uuid/name map in an embedded json file in the application rather than using a database, etc. Please don't send this off to the AppStore.

Click for a Demo Video:

Demo

Installation

  1. You'll need credentials for an AWS IAM role that has access to the Rekognition and Polly services. Create a file called secrets.json that has the format {"awsAccessKeyId": "INSERT_AWS_ACCESS_KEY_ID_HERE", "awsSecretAccessKey": "INSERT_AWS_SECRET_ACESS_KEY_HERE"}.

  2. Create a Rekognition "face collection" using the AWS CLI by running the commands in rekognition_setup_commands.sh.

  3. Load some faces into the face collection. You can see example code for doing that in scrape_photos.py, which will load a photo of former Vice President (and all-around great guy) Joe Biden. In our application, we scraped photos from our company website team page and from social media profiles provided by visitors to a special event in our office.

  4. Install node/npm if you don't have them already. On a Mac, do brew install node.

  5. Install the react-native CLI: npm install -g react-native-cli.

  6. Compile and install the app:

cd CivisFace
npm install

Usage

To check if things run, you can use the iOS simulator, but note that the simulator doesn't have access to a camera:

cd CivisFace
react-native run-ios

To actually run the app on an iPhone, you can follow instructions here. NOTE: you'll need an Apple developer account and registered iPhone. Open ios/CivisFace.xcodeproj/project.pbxproj in the XCode GUI and change the "Development Team" under the "Signing" section to your provisioning profile (you'll need to do this both for the project itself and for the main build target). Then run the following from the commandline:

cd CivisFace
react-native run-ios --scheme CivisFace --configuration Release --device "NAME OF YOUR IPHONE"

License

This code is licensed under BSD 3-clause. Full license text is available in LICENSE.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/civisanalytics/CivisFace. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

civisface's People

Contributors

keithing avatar jusblan331 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.