- 상품 트래킹과 바코드 다중인식을 적용한 쇼핑 어플리케이션
2018112011 최수정
2018112021 최은지
2019112007 권예진
- 대형 마트 및 소매점에서 계산대 없이 스마트폰을 사용하여 결제할 수 있는 시스템.
- 실시간으로 카트 내부의 영상을 송출하여 카트에 물품을 담고, 빼는 행위만으로 상품을 결제할 수 있습니다.
- YOLO v4
- Python OpenCV
- Android Kotlin (Client)
- Flask (Server)
- MySQL (Database)
상품 및 바코드 객체 인식을 위해 딥러닝 YOLO를 사용합니다.
https://github.com/AlexeyAB/darknet 을 이용해 이미지를 학습하였으며 학습된 이미지 예시는 아래와 같습니다.
- Android Studio에서 Kotlin을 사용하였습니다.
- 서버 통신을 위해 retrofit과 okhttp를 사용하였습니다.
- 앱 하단에 BottomNavigationView를 적용하였고, 전반적으로 fragment화면을 사용하였습니다.
- 장바구니 화면에서 Listview를 사용하였고, 실시간 영상 촬영 화면에서 camera preview를 사용하였습니다.
- 서버 구성을 위해 Flask를 사용하였습니다.
- Flask
- 또한 Flask에서 ORM으로 작업하기 위해 SQLAlchemy를 이용합니다.
- SQLAlchemy
window에서 실행 시
1. python -m venv venv
2. .\venv\Scripts\activate
3. pip install -r requirements.txt
4. .env 제작
5. flask db init
6. flask db migrate
7. flask db upgrade
8. flask run
Ubuntu에서 실행 시
1. GPU사용을 위해 OpenCV 설정하기
2. source venv/bin/activate
3. flask run