Code Monkey home page Code Monkey logo

ar-cutpaste's Introduction

AR Cut & Paste

An AR+ML prototype that allows cutting elements from your surroundings and pasting them in an image editing software.

Although only Photoshop is being handled currently, it may handle different outputs in the future.

Demo & more infos: Thread

โš ๏ธ This is a research prototype and not a consumer / photoshop user tool.

Update 2020.05.11: If you're looking for an easy to use app based on this research, head over to https://arcopypaste.app

Modules

This prototype runs as 3 independent modules:

  • The mobile app

    • Check out the /app folder for instructions on how to deploy the app to your mobile.
  • The local server

    • The interface between the mobile app and Photoshop.
    • It finds the position pointed on screen by the camera using screenpoint
    • Check out the /server folder for instructions on configuring the local server
  • The object detection / background removal service

    • For now, the salience detection and background removal are delegated to an external service
    • It would be a lot simpler to use something like DeepLap directly within the mobile app. But that hasn't been implemented in this repo yet.

Usage

1 - Configure Photoshop

  • Go to "Preferences > Plug-ins", enable "Remote Connection" and set a friendly password that you'll need later.
  • Make sure that your PS document settings match those in server/src/ps.py, otherwise only an empty layer will be pasted.
  • Also make sure that your document has some sort of background. If the background is just blank, SIFT will probably not have enough feature to do a correct match.

2 - Setup the external salience object detection service

Option 1: Set up your own model service (requires a CUDA GPU)

  • As mentioned above, for the time being, you must deploy the BASNet model (Qin & al, CVPR 2019) as an external HTTP service using this BASNet-HTTP wrapper (requires a CUDA GPU)

  • You will need the deployed service URL to configure the local server

  • Make sure to configure a different port if you're running BASNet on the same computer as the local service

Option 2: Use a community provided endpoint

A public endpoint has been provided by members of the community. This is useful if you don't have your own CUDA GPU or do not want to go through the process of running the servce on your own.

Use this endpoint by launching the local server with --basnet_service_ip http://u2net-predictor.tenant-compass.global.coreweave.com

3 - Configure and run the local server

  • Follow the instructions in /server to setup & run the local server.

4 - Configure and run the mobile app

  • Follow the instructions in /app to setup & deploy the mobile app.

Thanks and Acknowledgements

ar-cutpaste's People

Contributors

cyrildiagne avatar gamcoh avatar hitbittyboy avatar salanki avatar xraymemory avatar

Watchers

 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.