Skip to content

[πŸ₯‰ 3rd place] AI-powered web application able to track changes in the urban landscape

License

Notifications You must be signed in to change notification settings

daredevils-team/SmartChange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SmartChange - JunctionX Seoul 2021

AI-powered web application able to track changes in urban landscape

πŸ₯‰ Third winner in the SI Analytics track of JunctionX Seoul 2021 Hackathon (21-23rd, May 2021)

main page

Team

  • πŸ‡·πŸ‡Ί Nikita Rusetskii (Irkutsk National Research Technical University, Russia) LinkedIn GitHub
  • πŸ‡·πŸ‡Ί Konstantin Shusterzon (Melentiev Energy Systems Institute, Russia) LinkedIn GitHub
  • πŸ‡·πŸ‡Ί Lily Grunwald (Novosibirsk State University, Russia)
  • πŸ‡°πŸ‡· Bison Lim (Inha University, South Korea)
  • πŸ‡°πŸ‡· Junyong Lee (Inha University, South Korea)

Technologies

  • Vue.js (frontend)
  • Flask (backend)
  • PyTorch (machine learning library)
  • Unet++ (neural network)

Structure

.
β”œβ”€β”€ app
β”‚   └── unet # UNET++ files
...
β”œβ”€β”€ src      # Vue.js frontend
└── app.py   # Flask backend
...

Demo

Demo

Check presentation

How to use

  1. Install CUDA Toolkit and cudNN.

I personally use CUDA 10.0 and cudNN 7.6.4.

During CUDA Toolkit installation I recommend you to choose Custom installation and disable all components except CUDA (also disable Visual Studio Integration in the CUDA component tree first) to avoid rewriting new drivers with old ones (since we're gonna install older version of CUDA) and minimize possible problems (especially with Visual Studio Integration)

Don't forget to add cudNN to %PATH% variable.

  1. Set up your environment. I recommend you to use anaconda for it since we're doing some machine learning:
# create conda env with Python 3.7
$ conda create -n junctionx python=3.7

# activate it
$ conda activate junctionx

# install all dependencies
$ pip install -r requirements.txt
  1. Install Node.JS modules:
$ npm install
  1. Run backend:
$ python app.py

It is usually run on http://127.0.0.1:5000/ (basically only needed for API)

  1. Run frontend (you need second terminal):
$ npm run serve

It is usually run on http://127.0.0.1:8080/ (open in your browser)

  1. Upload pics to neural net and get results

    5.1. Go to Upload page

    5.2. Upload two pics of the size 650x650 before and after

    5.3. Click Upload button

    5.4. Get result and download by clicking Download button

FAQ

What Python do you use for this project?

Python 3.7 (since we're using PyTorch)

How to set up conda for IntelliJ IDEA?

File -> Settings -> Project -> Project Interpreter -> Add -> Pick up new conda environment or use existing

Why recognition is so inaccurate?

We didn't have much time during hackathon, so we trained it only on 22 images.