기술스택 | 버전 | 설명 |
---|---|---|
Visual Studio Code | 1.97.2 | 개발 환경 (IDE) |
React Native | expo | 모바일 앱 개발 프레임워크 |
Fast TFLite | 1.6.1 | 로컬 TFLite 추론 엔 |
Frame Processor | 프레임 단위로 추론 호출 (60FPS 대응) | |
EfficientDet-lite0 | 사과 탐지용 TFLite 객체 인식 모델 (모바일 최적화) | |
Lottie | 7.1.0 | 애니메이션 로딩 |
Skia | 1.5.0 | 2D 그래픽 렌더링 |
Vision Camera | 4.6.4 | 카메라 입력처리 |
Expo | ~52.0.11 | Expo 앱 빌드 및 실행도구 |
Expo SlapshScreen | ~0.29.24 | 앱 로딩 화면 제어 |
항목 | 스택 / 프레임워크 | 버전 | 설명 |
---|---|---|---|
언어 및 환경 | Python | 3.10 | 백엔드 및 AI 모델 전반에 사용된 언어 |
백엔드 프레임워크 | FastAPI | 0.115.12 | 비동기 REST API 백엔드 구현 |
서버 실행기 | Uvicorn | 0.34.2 | ASGI 서버로 FastAPI 실행 |
데이터 처리 | NumPy / Pandas / Scikit-Learn | 2.1.3 / 2.2.3 / 1.6.1 | 수치 연산 및 전처리 |
시각화 도구 | Matplotlib / Seaborn | 3.10.3 / 0.13.2 | 디버깅 및 결과 분석 시 시각화 |
모델 추론용 프레임워크 | LightGBM / XGBoost | 4.6.0 / 3.0.1 | 당도 예측 모델 (트리 기반) |
딥러닝 프레임워크 | PyTorch / TensorFlow | 2.7.0 / 2.19.0 | CNN 추출 및 TFLite 모델 사용 |
융합 모델 구조 | CNN + 수작업 특징 + MLP | 이미지 CNN 임베딩(EfficientNetB0)과 수작업 feature(색상, 텍스처 등)를 결합한 회귀 모델 구조 | |
이미지 처리 | OpenCV / Kornia / scikit-image | 4.11.0 / 0.8.1 / 0.25.2 | 이미지 전처리 및 변환 |
YOLO 모델 | Ultralytics YOLOv8 | 8.3.131 | 사과 인식 모델 (PyTorch 및 TFLite 지원) |
API 유틸리티 | python-multipart / Pydantic | 0.0.20 / 2.11.4 | 이미지 업로드 및 스키마 검증 |
로깅 및 디버깅 | Rich / tqdm | 14.0.0 / 4.67.1 | 터미널 시각화 및 진행률 표시 |
기타 도구 | TensorBoard / Netron | 2.19.0 / 8.3.3 | 학습 로그 시각화 및 모델 구조 확인 |
소프트웨어 | 버전 | 설명 |
---|---|---|
Ubuntu | 22.04.05 LTS x86_64 | 서버 운영체제 |
Nginx | 1.18.0 | Reverse Proxy 및 Static 파일 서빙 |
Docker | 28.1.1 | 컨테이너 가상화 플랫폼 |
Jenkins | 2.504.1 | CI/CD 자동화 도구 |
필요 패키지 설치
npm install
개발 모드로 빌드(emulator 활용 혹은 안드로이드 폰 연결 후 사용)
SDK 설치 및 환경변수 PATH 설정 필요(C:\…\…\AppData\Local\Android\Sdk)
adb devices(폰 연결 했을 경우 연결 확인용)
npx expo start --dev-client
빌드 후 QR 코드와 접속할 서버 주소가 뜸
(expo server 주소 입력하는 곳에 http://{IP주소}:8081 입력
)
개발 완료 후 production build 하기(배포)
(expo 계정 필요)
eas build --platform android --profile production