Giter Club home page Giter Club logo

photo-style's Introduction

HackGStyle

Style transfer models and photobooth infrastructure.

The style transfer model is modified from PyTorch/examples and is located under the fast_neural_style directory along with the original license and readme.

For 'quick out of the box' localhost setup:

BACKEND:

- Use paperspace! (DL box is has versions that are too new, https://myselfhimanshu.github.io/posts/setting_paperspace_dl/) - USE ML IN A BOX
- ./setup.sh (may run into some directory issues, data directory should be on base of DetectronPytorch)
- Load appropriate env vars:
	- SENDGRID_API_KEY
	- FROM_EMAIL = [email protected]
	- CLOUD_BUCKET (new one should be made per event, just the bucket name)
	- Export service key json filename:
		- (have file in backend/)
		- export GOOGLE_APPLICATION_CREDENTIALS=<key.json>
		- https://cloud.google.com/storage/docs/reference/libraries#client-libraries-install-cpp (export/load into a file)
		- https://cloud.google.com/storage/docs/reference/libraries#client-libraries-install-cpp
- conda install -c pytorch=0.4.1
- open port, include port in address (test server up using simple get)
	- sudo ufw status verbose
	- sudo ufw enable
	- sudo ufw allow <port>/tcp
- python server.py
- Startup the backend server, link the proper address in frontend

FRONTEND:

- Clone this repo and nfc-badge-server on serving laptop 
- Use nvm to get node, npm i, npm run build
- Start nfc-badge-server and follow appropriate instructions
	- if registered, starting the server will output nfc id
- Load env vars:
	- REGISTRATION_API_KEY (find in admin panel)
	- REGISTRATION_URL (graphql for registration, make sure it's non-redirect)
	- CHECKIN_API_KEY [?]
	- CHECKIN_URL (non redirect)
- Use python3/pip3 to install everything
- python3 app.py
	- access via localhost to avoid insecure origins on chrome
- Ready camera should log 'ready to capture...'

photo-style's People

Contributors

ajliu avatar anish2 avatar bunsenmcdubbs avatar ehsanmasdar avatar evan10s avatar joel99 avatar mjkaufer avatar ruyimarone avatar stephanie-a avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

baifengbai

photo-style's Issues

photobooth 1.5

Simpler big step-up to make photobooth a legitimate stand-alone application:
Still run the same server, but short circuit styling.
Have backend hold a larger map of pending images (up to some hard limit), and send participants links to a photobooth url, where they can do styling on their own computer.

Additionally, have showcase of saved styled photos.

photobooth 2.0

Will put more documentation on confluence:
Create mobile units that attach to cameras - allow participants to tap badges, have their photo taken.
Mobile units will send info to photostyle server, which will process photos and shoot a slack message to participants. Participants can further customize on the photostyle site, and then download/email the image.

Add outline for background in filter selection

Currently the background is select-able like all the other segments, but there is no highlight due to difficulty thinking of an algorithm for finding the border mask. Implement an efficient algorithm for doing so, forward the appropriate info to frontend.

Make photobooth themable and easier to startup

Bring it dependencies (nfc-badge-server)
Write a single script that will startup frontend server, badge server, backend server.

Add theming that supports fonts, title, favicon, background

Documentation

Let's make photobooth a more sustainable project. Make a confluence document for architecture and other data flow, config, deployment, notes on future development, etc.

Frontend cleanup

Have a more state controlled frontend, remove the white box that holds webcam. Build in a mechanism to allow short circuiting the backend (see the short circuit branch) to allow skipping of style transfer.

  • Test scrolling of filter section on a few different browsers (scrollbar was gone on chrome in new linux box).
  • Consider substituting in a static photo (style image sources) to tease style instead of showing filtered photo in filter list

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.