개발기간: 2025.06 ~
Built with Python
육류에 대한 고객/구매자의 맛에 대한 선호도(Tasty preference) 데이터를 육류 이미지와 분석된 미각 데이터로 나누어 체계적으로 수집하고 이를 기반으로 이미지 기반의 육류에 관한 상세한 맛 데이터를 자동으로 분류하고 예측하는 인공지능 예측 모델을 구축하여 향후 고객/구매자들에게 최적화된 육류 개인화 추천을 위한 시스템 개발을 목표로 하며 프로젝트를 추진했습니다.
육류 및 유저 데이터의 조회/입력/수정/통계/예측 등 관리 및 조회가 가능한 어드민 웹 페이지입니다.
관리자 및 연구자가 사용하기 위한 페이지로 개발되었습니다.
접속 주소 : http://deeplant-web.s3-website.ap-northeast-2.amazonaws.com
육류 맛 예측 인공지능 위한 데이터 수집에 사용되는 어플리케이션입니다.
육류 이력 번호 조회, 사진 촬영, 관능평가 및 실험 데이터 등록, 조회, 수정이 가능합니다.
APK 설치 경로 : http://deeplant-web.s3-website.ap-northeast-2.amazonaws.com
-
git repository clone
-
[환경 변수 및 Secret 변수 설정]
-
git push origin main
git clone https://github.com/deun115/20242R0136COSE48002.gitcd test-webnpm installnpm run start
- flutter 설치
- Android Studio를 활용하여 에뮬레이터 실행 혹은 실제 모바일 기기 연결
git clone https://github.com/deun115/20242R0136COSE48002.gitcd app/structureflutter pub getflutter run
스크립트 기반 실행 (권장)
프로젝트의 백엔드와 MLflow 서버는 test-ML-backend/training_HSI/scripts/ 디렉토리에 있는 스크립트를 사용하여 실행할 수 있습니다.
1) MLflow 서버 실행
cd test-ML-backend/training_HSI/scripts/
./run_mlflow.sh- MLflow 서버가 포트 5000에서 실행됩니다
configs/mlflow_config.json의 설정을 기반으로 실행됩니다- 백엔드 스토어와 아티팩트 저장소를 자동으로 설정합니다
2) 백엔드 서버 실행
cd test-ML-backend/training_HSI/scripts/
./run_backend.sh- FastAPI 백엔드 서버가 포트 8000에서 실행됩니다
- Celery 워커가 백그라운드에서 실행됩니다
- tmux 세션을 사용하여 여러 프로세스를 관리합니다
3) 포트 5000 프로세스 종료
cd test-ML-backend/training_HSI/scripts/
./kill_5000_script.sh- MLflow 서버 등 포트 5000을 사용하는 프로세스를 안전하게 종료합니다
4) 가상환경을 통한 로컬 실행
# 가상환경 생성 및 활성화
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 의존성 설치
cd test-ML-backend
pip install -r requirements_mlops.txt
# MLflow 서버 실행
cd training_HSI/scripts/
./run_mlflow.sh
# 새 터미널에서 백엔드 실행
cd test-ML-backend
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000- 메인 서버:
app/main.py에서 FastAPI 애플리케이션 초기화 - 라우터 구조: 각 기능별로 모듈화된 API 엔드포인트
/train: 모델 학습 API/predict: 예측 API/meat: 육류 데이터 관리/user: 사용자 관리/statistic: 통계 데이터/data-upload: 데이터 업로드/xai: 설명 가능한 AI/hsi-predict: HSI 예측/hsi-train: HSI 학습/spectral: 스펙트럼 정보/dashboard: 대시보드
- CORS 설정
- 로깅 미들웨어
- 성능 모니터링
- 전역 예외 처리
- Firebase 인증
- PostgreSQL 연결
- SQLAlchemy ORM
- Alembic 마이그레이션
test-ML-backend/training_HSI/ 디렉토리는 HSI 데이터를 사용한 딥러닝 모델 학습을 위한 완전한 파이프라인을 제공합니다.
- HSI Image Models:
- ResNet, 2D CNN, ViT, CNN-Transformer
- Dual Branch Regression, HybridSN
- SSANet, SSSERN, SpectrumNet
- RGB Image Models: ResNet 기반 모델
- Vector Models: PLSR, Random Forest, Hybrid 모델
- 멀티태스크 학습: 분류와 회귀 태스크를 동시에 학습
- 데이터 증강: 랜덤 크롭, 뒤집기, 회전, 노이즈 추가
- MLflow 통합: 실험 추적, 메트릭 로깅, 모델 저장
- Early Stopping: 검증 손실 기반 자동 중단
- AMP (Automatic Mixed Precision): GPU 메모리 최적화
- Gradient Clipping: 학습 안정성 향상
- StandardScaler 모드: normalized, raw, off 옵션
- 데이터 누출 방지: 훈련 데이터로만 스케일러 학습
- 메모리 최적화: 무작위 픽셀 샘플링
- column_config.json: 데이터 컬럼, 라벨 타입, 파장 정보 정의
- 모델별 config: 각 모델의 하이퍼파라미터 및 학습 설정
- MLflow 설정: 실험 이름, 추적 URI, 아티팩트 저장소
# HSI 2D CNN 학습
python train_HSI_2d.py --config configs/HSI_image/hsi_resnet.json
# RGB 이미지 학습
python train_RGB.py --config configs/RGB_image/rgb_resnet.json
# 벡터 데이터 학습
python train_vector.py --config configs/HSI_vector/vector_plsr.json| 정진성 (Jinseong Jung) | 송재헌 (Jaeheon Song) | 김강민 (Kangmin Kim) | 김우진 (Woojin Kim) | 서연지 (Yeonji Seo) | 이정민 (Jeongmin Lee) | 김명하 (Myeongha Kim) | 황기현 (Kihyun Hwang) | 김보민 (Bomin Kim) |
|---|---|---|---|---|---|---|---|---|
| GitHub: @JANGHANPYEONG | GitHub: @Songjaeheon0923 | GitHub: @The-Numb3 | GitHub: @3sirn3203 | GitHub: @t2easure | GitHub: @KUCSEPotato | GitHub: @myeonghah | GitHub: @hkihyun | GitHub: @kminbo |
| 고려대학교 컴퓨터학과 | 고려대학교 컴퓨터학과 | 고려대학교 컴퓨터학과 | 고려대학교 컴퓨터학과 | 고려대학교 컴퓨터학과 | 고려대학교 컴퓨터학과 | 고려대학교 컴퓨터학과 | 고려대학교 컴퓨터학과 | 고려대학교 컴퓨터학과 |

