https://github.com/ziweek/desirable-sea
π Grand Prize, in 2023 Jeju Island Satellite Data Utilization Competition - π°οΈπΊοΈ Intelligent Platform for Long-Term Abandoned Vehicle Detection Utilizing Jeju Satellite Data
https://github.com/ziweek/desirable-sea
Last synced: 2 months ago
JSON representation
π Grand Prize, in 2023 Jeju Island Satellite Data Utilization Competition - π°οΈπΊοΈ Intelligent Platform for Long-Term Abandoned Vehicle Detection Utilizing Jeju Satellite Data
- Host: GitHub
- URL: https://github.com/ziweek/desirable-sea
- Owner: ziweek
- License: mit
- Created: 2023-12-30T11:52:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-02T23:39:33.000Z (4 months ago)
- Last Synced: 2025-02-10T08:48:58.713Z (4 months ago)
- Language: TypeScript
- Homepage: https://desirable-sea.vercel.app
- Size: 161 MB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hello, Desirable Sea
ENGLISH
Β |Β
KOREAN
π Grand Prize, in 2023 Jeju Island Satellite Data Utilization Competition π
Intelligent Platform for Long-Term Abandoned Vehicle Detection Utilizing Jeju Satellite Data
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Check out prototypes in the badge below.
![]()
![]()
![]()
# 1. Introduction
> [!NOTE]
>
> - This idea is a project that was submitted to the [2023 Jeju Satellite Data Utilization Contest](https://aifactory.space/task/2700/overview) hosted by Jeju Special Self-Governing Province and won the Grand Prize (Jeju Special Self-Governing Province Governor Award).
> - This idea is to research and develop an intelligent platform that utilizes Jeju satellite data and applies computer vision object recognition AI technology to detect vehicles parked or abandoned for a long time in the Jeju area and to integrate and manage the information by related organizations.Why is it needed?
There is serious issues caused surrounding parking lots in JeJu island. And also there are heavy traffic problems.
details>https://github.com/ziweek/desirable-sea/assets/99459331/4a7edb47-754c-47fd-8dab-7d2adbb045ec
Image Super Resolution
Small Object Detection
Prototype Web Application
![]()
![]()
![]()
# 2. Implementation
ν΅μ¬κΈ°λ₯
### 1. Image Super Resolution
1.1 Image Super Resolution
![]()
μν κ°μ²΄ νμ§ λͺ¨λΈμ μ±λ₯μ κ°μ νκΈ° μν΄ μ μ²λ¦¬ λͺ¨λΈλ‘ XPixelGroupμ HATλΌλ μ΄κ³ ν΄μλ κ°μ λͺ¨λΈμ λμ νμμ΅λλ€. μ΄λ₯Ό ν΅ν΄ λν μΈ‘μμ μ 곡ν μμ±μ΄λ―Έμ§ λ°μ΄ν°μ ν΄μλλ₯Ό 4λ°° μ΄μ κ°μ ν μ μμμ΅λλ€.
1.2 μ΄κ³ ν΄μλ μ΄λ―Έμ§ κ°μ λ₯λ¬λ λͺ¨λΈ
https://github.com/ziweek/desirable-sea/assets/99459331/2212ce20-bb1b-42f8-a97c-bebd22ce3fb3
μ΄κ³ ν΄μλ κ°μ λͺ¨λΈλ‘ μ μ²λ¦¬λ λ°μ΄ν°μ λΌλ²¨λ§νμμ΅λλ€. μ΄λ, μ¬μ νμ΅λ λͺ¨λΈμ μ¬μ©νμ¬ μλμΌλ‘ μ°¨λμ μλ³νκ² νμμ΅λλ€. μμ μμμ μ¬μ νμ΅ λͺ¨λΈμ΄ μλ³νμ§ λͺ»ν μμΈμ μΈ κ²½μ°μ μμμ μΌλ‘ λΌλ²¨λ§μ μ§νν κ²μ λλ€.
### 2. μν κ°μ²΄ νμ§ λ₯λ¬λ λͺ¨λΈ
2.1 κ°μ²΄ νμ§ λ₯λ¬λ λͺ¨λΈ λμ
![]()
MMRotate νλ μμν¬λ₯Ό νμ©νμ¬ μμ±μ΄λ―Έμ§ λ°μ΄ν° λ΄μμ μ°¨λ λ±μ κ°μ²΄λ₯Ό μλ³ν μ μμμ΅λλ€. μ²μμλ μ¬μ νμ΅λ λͺ¨λΈμ νμ©νμ¬ μ±λ₯μ§νλ₯Ό νκ°νμμ΅λλ€.
2.2 Weighted Boxed Ensemble μμλΈ κΈ°λ²μΌλ‘ μ±λ₯ κ°μ
![]()
μν κ°μ²΄ νμ§ λͺ¨λΈμ μ±λ₯μ κ°μ νκΈ° μνμ¬, μΆκ°μ μΈ νμ΅κ³Ό Weighted Boxed Ensemble κΈ°λ²μ μ μ©νμμ΅λλ€. κ·Έ κ²°κ³Ό, μ΄μ μ μλ³ν μ°¨λμ λν΄μλ μ λ’°λκ° λν μμΉν κ²μ νμΈν μ μμμ΅λλ€. λΏλ§ μλλΌ, μ΄μ μλ μλ³νμ§ λͺ»νλ μ μ±μμ μ°¨λμ΄λ μ£Όλ³ κ΅¬μ‘°λ¬Όμ κ·Έλ¦Όμκ° κ²°μ³μ§ μ°¨λλ μλ³ν μ μμμ΅λλ€.
### 3. μ¬μ©μ κ²½ν
3.1 Google Map APIλ₯Ό νμ©ν UX ꡬν
![]()
Google Map APIλ₯Ό νμ©νμ¬ μ§λ κΈ°λ°μ μΈν°νμ΄μ€λ₯Ό ꡬννμμ΅λλ€. μ΄ λλΆμ μ¬μ©μλ μ μ£Όλ μ μμ μμΉν 곡μμ£Όμ°¨μ₯μ μμΉλ₯Ό νλμ νμ ν μ μμ΅λλ€. λΏλ§ μλλΌ, μΆνμ κ²½λ‘ νμ κΈ°λ₯μ μΆκ°ν κ³νμ λλ€.
3.2 λ°μν UI λ° λ€ν¬λͺ¨λ μ§μμΌλ‘ μ¬μ©μ± κ°μ
![]()
μ€λ§νΈν°, νλΈλ¦Ώ, λλ μ»΄ν¨ν°μμλ μ°μμ μΈ μ¬μ©μ κ²½νμ μ λ¬ν μ μλλ‘ λ°μν μΉλμμΈμ μ μ©νμμ΅λλ€. λ, λ λμκ° λ€ν¬λͺ¨λ λμμΈμ μ μ©νμμ΅λλ€.
μν€ν μ²
### νλ‘λνΈ μν€ν μ²
![]()
λ³Έ νλ‘μ νΈμ μλΉμ€ μν€ν μ²λ ν¬κ² 4κ°μ§λ‘ λλ μ μ΄ν΄λ³Ό μ μμ΅λλ€.
1. λ°μ΄ν° μ μ²λ¦¬ μν μλ²
- μ΄κ³ ν΄μλ μ΄λ―Έμ§ κ°μ λ₯λ¬λ λͺ¨λΈ
- ν΅μ¬ κΈ°λ₯ μν μλ²(μν κ°μ²΄ μλ³ λ₯λ¬λ λͺ¨λΈ)
- μΉ μ΄ν리μΌμ΄μ (νλ‘ νΈμλμ 벑μλ λ° λ°μ΄ν°λ² μ΄μ€)
2. ν΅μ¬ κΈ°λ₯ μν μλ²
- μν κ°μ²΄ μλ³ λ₯λ¬λ λͺ¨λΈ
- ν΅μ¬ κΈ°λ₯ μν μλ²(μν κ°μ²΄ μλ³ λ₯λ¬λ λͺ¨λΈ)
- μΉ μ΄ν리μΌμ΄μ (νλ‘ νΈμλμ 벑μλ λ° λ°μ΄ν°λ² μ΄μ€)
3. μΉ μ΄ν리μΌμ΄μ
- νλ‘ νΈμλ
- 벑μλ
- λ°μ΄ν°λ² μ΄μ€
4. 컨ν μ΄λν λ° λ°°ν¬ μ΄μ
- νλ‘ νΈμλ
- 벑μλ
- λ°μ΄ν°λ² μ΄μ€
### AI μν€ν μ²
λ³Έ νλ‘μ νΈμ AI μν€ν μ²λ ν¬κ² 2κ°μ§λ‘ λλ μ μ΄ν΄λ³Ό μ μμ΅λλ€.
1. μ΄κ³ ν΄μλ μ΄λ―Έμ§ κ°μ λ₯λ¬λ λͺ¨λΈ
-
λλ ν 리 ꡬ쑰
```
ESRGAN
βββ LR # Pytorch λͺ¨λΈμ μ μ₯νλ ν΄λμ λλ€.
β βββ demo.png # MVP μμ°μ μ¬μ©λ λ°λͺ¨ μ΄λ―Έμ§μ λλ€.
βββ models
β βββ ...
β βββ RRDB_ESRGAN_x4.pth # λ² μ΄μ€λΌμΈ κ΄λ ¨ μ½λμ λλ€.
βββ ...
βββ results
βββ demo_rlt.png # λͺ¨λΈλ§ κ²°κ³Όλ‘ μΆλ ₯λλ μ΄λ―Έμ§μ λλ€.
``` -
μ΄κΈ° μ€μΉλ°©λ²```shell
# setup.sh νμΌ λ§λ€κΈ°.
# μλμ μμ€ν¬λ¦½νΈ λ³΅μ¬ ν λΆμ¬λ£κΈ°.
# ν°λ―Έλμμ setup.sh μ€νgit clone https://github.com/xinntao/ESRGAN
cd ESRGANcd models
wget --load-cookies ~/cookies.txt \
"https://docs.google.com/uc?export=download&confirm=$(wget \
--quiet --save-cookies ~/cookies.txt \
--keep-session-cookies --no-check-certificate \
'https://docs.google.com/uc?export=download&id=1TPrz5QKd8DHHt1k8SRtm6tMiPjz_Qene' -O- \
| sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1TPrz5QKd8DHHt1k8SRtm6tMiPjz_Qene" -O RRDB_ESRGAN_x4.pth \
&& rm -rf ~/cookies.txt
cd ..cd LR
wget https://raw.githubusercontent.com/ziweek/desirable-sea/main/src/demo.png
cd ..
``` -
μΆλ‘ μ€νλ°©λ²```shell
# 1. μλμ μμ€ν¬λ¦½νΈ λ³΅μ¬ ν ν°λ―Έλμ λΆμ¬λ£κΈ°.
# 2. ν°λ―Έλμμ μ€ννκΈ°.
# 3. λμΌ λλ ν 리 λ΄μμ result-resolution.jpg νμΌ νμΈνκΈ°.python test.py
```
2. μν κ°μ²΄ μλ³ λ₯λ¬λ λͺ¨λΈ
-
λλ ν 리 ꡬ쑰
```
desirable-sea
βββ checkpoints # Pytorch λͺ¨λΈμ μ μ₯νλ ν΄λμ λλ€.
βββ mmrotate # λ² μ΄μ€λΌμΈ κ΄λ ¨ μ½λμ λλ€.
β βββ config
β βββ ...
β βββ demo
βββ ...
βββ demo.png # MVP μμ°μ μ¬μ©λ λ°λͺ¨ μ΄λ―Έμ§μ λλ€.
βββ result.jpg # λͺ¨λΈλ§ κ²°κ³Όλ‘ μΆλ ₯λλ μ΄λ―Έμ§μ λλ€.
``` -
μ΄κΈ° μ€μΉλ°©λ²
```shell
# 1. setup.sh νμΌ λ§λ€κΈ°.
# 2. μλμ μμ€ν¬λ¦½νΈ λ³΅μ¬ ν λΆμ¬λ£κΈ°.
# 3. ν°λ―Έλμμ setup.sh μ€νsudo apt update
sudo apt -y install libgl1-mesa-glxwget https://repo.anaconda.com/miniconda/Miniconda3-py37_4.9.2-Linux-x86_64.sh
chmod +x Miniconda3-py37_4.9.2-Linux-x86_64.sh
bash ./Miniconda3-py37_4.9.2-Linux-x86_64.sh -b -f -p /usr/local
which conda
conda --versionpip install torch==1.7.0+cu110 torchvision==0.8.1+cu110 torchaudio==0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
pip install openmim --use-feature=2020-resolver
mim install mmcv-full==1.5.3
mim install mmdet==2.25.1git clone https://github.com/open-mmlab/mmrotate.git
cd mmrotate
pip install -r requirements/build.txt
pip install -v -e .cd ..
mkdir checkpoints
cd checkpoints
wget https://download.openmmlab.com/mmrotate/v0.1.0/redet/redet_re50_fpn_1x_dota_ms_rr_le90/redet_re50_fpn_1x_dota_ms_rr_le90-fc9217b5.pth
cd ..wget https://raw.githubusercontent.com/ziweek/desirable-sea/main/src/demo.png
````
-
μΆλ‘ μ€νλ°©λ²```shell
# 1. μλμ μμ€ν¬λ¦½νΈ λ³΅μ¬ ν ν°λ―Έλμ λΆμ¬λ£κΈ°.
# 2. ν°λ―Έλμμ μ€ννκΈ°.
# 3. λμΌ λλ ν 리 λ΄μμ result.jpg νμΌ νμΈνκΈ°.python mmrotate/demo/image_demo.py demo.png \
mmrotate/configs/redet/redet_re50_refpn_1x_dota_ms_rr_le90.py \
checkpoints/redet_re50_fpn_1x_dota_ms_rr_le90-fc9217b5.pth \
--out-file result.jpg
````
# 3. νμ
κΉμ§μ±
μ΄ νλ‘μ νΈμ 리λλ‘ μ°Έμ¬νμ¬ λ¨Όμ , μ₯κΈ° λ°©μΉ μ°¨λ λ¬Έμ μ μ§λ©΄ν΄ μ΄λ₯Ό κ΄λ¦¬ νκΈ° μν μ§λ₯ν νλ«νΌμ νμμ±μ κΉ¨λ«κ² λμμ΅λλ€. Next.js, Google Map API, κ·Έλ¦¬κ³ FastAPI λ±μ νλμ μΈ κΈ°μ λ€μ ν΅ν©ν¨μΌλ‘μ¨ μ°λ¦¬μ μ루μ
μ ν¨μ¨μ μ΄κ³ μ¬μ©μ μΉνμ μΈ μ₯κΈ° λ°©μΉ μ°¨λ κ΄λ¦¬λ₯Ό μ€ννλ©°, μμ±λ°μ΄ν°λ₯Ό νμ©ν μ§λ₯ν νλ«νΌμ λ°μ μ μΌμ‘°νλ λ° μλΆμ¬μ λλ μ μμμ΅λλ€. μ΄ νλ«νΌμ μ μ£Όμ μ°¨λλ¬Έμ λ₯Ό νμ νκ³ λ―Έλ λμ κ³νμ κΈ°μ¬νλ μ€μν λ°νμΌλ‘μμ μν μ ν κ²μΌλ‘ κΈ°λλ©λλ€.
λΆμ μ
CTOλ‘ μ°Έμ¬ν μ΄ νλ‘μ νΈλ μ΅μ κΈ°μ μ νμ©νμ¬ μ μ£Όμ μ₯κΈ° λ°©μΉ μ°¨λ λ¬Έμ μ λμ νλ ν₯λ―Έλ‘μ΄ κ²½νμ΄μμ΅λλ€. μμ±λ°μ΄ν°μ λ₯λ¬λμ κ²°ν©νμ¬ μ°¨λμ μ ννκ² νμ§νλ μμ€ν
μ κ°λ°νλ κ³Όμ μμ, κΈ°μ μ μΈ λμ κ³Ό νμ μ κΈ°νλ₯Ό λ§μ£Όνκ² λμμ΅λλ€. μ΄ νλ«νΌμ λ―Έλ μ μ£Όμ μ€λ§νΈν μ§λ₯ν μμ€ν
μ λͺ¨μνλ λ° μμ΄ ν΅μ¬μ μΈ μν μ ν κ²μΌλ‘ μλΆνκ³ μμ΅λλ€.