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)
- π·πΊ Nikita Rusetskii (Irkutsk National Research Technical University, Russia)
- π·πΊ Konstantin Shusterzon (Melentiev Energy Systems Institute, Russia)
- π·πΊ Lily Grunwald (Novosibirsk State University, Russia)
- π°π· Bison Lim (Inha University, South Korea)
- π°π· Junyong Lee (Inha University, South Korea)
- Vue.js (frontend)
- Flask (backend)
- PyTorch (machine learning library)
- Unet++ (neural network)
.
βββ app
β βββ unet # UNET++ files
...
βββ src # Vue.js frontend
βββ app.py # Flask backend
...
Check presentation
- 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.
- 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
- Install Node.JS modules:
$ npm install
- Run backend:
$ python app.py
It is usually run on http://127.0.0.1:5000/
(basically only needed for API)
- Run frontend (you need second terminal):
$ npm run serve
It is usually run on http://127.0.0.1:8080/
(open in your browser)
-
Upload pics to neural net and get results
5.1. Go to
Upload
page5.2. Upload two pics of the size
650x650
before and after5.3. Click
Upload
button5.4. Get result and download by clicking
Download
button
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.