AI 기반 실시간 공항 수하물 반입 가능 여부 판별 서비스
EasyPack은 여행객이 공항에서 수하물 규정을 쉽게 확인할 수 있도록 개발한 서비스입니다.
사용자가 물품 사진을 촬영하면 YOLOv8 기반 객체 탐지 모델이 물품을 인식하고, 회원가입 시 설정한 항공사 및 여행 국가 정보를 기반으로 해당 물품의 기내 반입 가능 여부를 안내합니다.
단순 물품 인식을 넘어 항공사 및 국가별 규정을 반영하여 실제 여행 상황에서 활용할 수 있는 서비스를 목표로 개발했습니다.
- **2024.09 ~ 2025.10
- 성결대학교 졸업작품
| 역할 | 인원 |
|---|---|
| Android | 2명 |
| Backend | 1명 |
| AI / Object Detection | 1명 |
담당 역할
- Spring Boot 백엔드 개발
- FastAPI 기반 AI 서버 구축
- AWS EC2 배포
- JWT 인증 구현
- 수하물 규정 판별 로직 구현
- Java 17
- Spring Boot
- Spring Security
- JPA
- JWT
- MySQL
- Python
- FastAPI
- YOLOv8
- AWS EC2
- GitHub
- 회원가입
- 로그인
- JWT 기반 인증
- 여행 국가 설정
- 이용 항공사 설정
- 카메라 촬영 이미지 업로드
- YOLOv8 객체 탐지
- 인식 결과 반환
- 국가별 규정 적용
- 항공사별 규정 적용
- 기내 반입 가능 여부 안내
- 위탁 수하물 가능 여부 안내
- 반입 불가 품목 안내
Android App
│
▼
Spring Boot Server
│
├── MySQL
│
▼
FastAPI Server
│
▼
YOLOv8 Model
- REST API 설계 및 구현
- JWT 기반 인증 및 인가 구현
- 사용자 정보 관리 기능 개발
- 국가 및 항공사 정보 관리 기능 개발
- YOLOv8 모델 서빙
- 이미지 업로드 API 개발
- 객체 탐지 결과 반환 API 개발
- 국가별 수하물 규정 관리
- 항공사별 수하물 규정 관리
- 사용자 설정 기반 규정 자동 적용
- AWS EC2 서버 배포
- Spring Boot + FastAPI 통합 운영
- 서버 환경 설정 및 유지보수
YOLOv8 모델은 Python 환경에서 동작하기 때문에 Spring Boot 내부가 아닌 FastAPI 서버를 별도로 구축했습니다.
이를 통해
- 백엔드 서버와 AI 서버 역할 분리
- 유지보수성 향상
- AI 모델 교체 용이성 확보
를 달성했습니다.
제한된 AWS 인프라 환경에서
- Spring Boot
- FastAPI
두 서버를 동시에 운영해야 했습니다.
프로세스 분리와 서버 환경 최적화를 통해 안정적인 운영 환경을 구축했습니다.
단순 객체 인식 결과만 제공하는 것이 아니라
- 일본 + 대한항공
- 미국 + 제주항공
- 베트남 + 진에어
등 다양한 국가 및 항공사 조합에 따라 서로 다른 수하물 규정을 적용할 수 있도록 규칙 기반 검증 로직을 구현했습니다.
- Spring Boot와 FastAPI를 연동한 서버 아키텍처 구축
- YOLOv8 기반 객체 탐지 서비스 개발
- AWS EC2 배포 경험
- JWT 인증 시스템 구축
- 국가 및 항공사 규정 기반 비즈니스 로직 설계
- 졸업작품 프로젝트 수행