본문 바로가기
프로젝트

KG IT BANK 세 번째 프로젝트 - MOGATSHOO (모갔슈) 탈모진단 AI 웹서비스

by hidden picture 2025. 7. 18.

프로젝트 개요

프로젝트 정보
프로젝트명 MOGATSHOO (모갔슈) - 탈모진단 AI 웹서비스
기관명 KG IT BANK 웹 개발 프로젝트 (최종 프로젝트)
개발 기간 2025년 6월 10일 ~ 7월 5일 (약 4주)
팀 구성 3명 (팀장 역할 수행)
개발 환경 IDE : IntelliJ IDEA, VS Code
서버 : 웹 배포 (Render)
데이터베이스 : MySQL
앱 배포 : Google Play Store
사용 기술 Java, Spring Boot, Spring Security, MySQL, JavaScript, HTML/CSS, Python, Teachable Machine, Firebase

1. 프로젝트 배경 및 필요성

1.1 제작 동기

프로젝트명 '모갔슈'는 '모(털) + 갔슈(가다)'로 '머리털이 탈출했다'는 의미를 담고 있다. 이번 프로젝트의 핵심 키워드는 딥러닝 기술 활용과 실용성 있는 특이한 아이디어와 재미를 합쳐 제작했다.

 

딥러닝 기술을 실제로 활용해보고 싶다는 생각에서 시작하여, 탈모라는 현대인의 고민거리를 AI로 해결하는 실용적이면서도 약간의 재미를 가미한 웹서비스를 기획했다.

1.2 해결하고자 한 문제들

  • 탈모인들의 고민 : 객관적인 탈모 진단 기준의 부재
  • 접근성 문제 : 병원 방문 전 간편한 자가진단 필요성
  • 사용자 참여도 : 단순한 진단을 넘어선 재미있는 부가 서비스
  • 데이터 활용 : 진단 결과를 활용한 다양한 서비스 연계

1.3 프로젝트 목적

목적 : 탈모인들을 위한 AI 탈모진단 서비스와 포인트를 모아 상품을 구매하는 포인트샵 등 다양한 서비스를 제공하는 종합 웹서비스 구축

비전 : 딥러닝 기술을 활용한 정확한 탈모 진단부터 투표 시스템, 운세 서비스까지 탈모인들의 라이프스타일을 종합적으로 지원하는 플랫폼 제공


2. 프로젝트 목표 및 시스템 설계

2.1 핵심 목표

기능적 목표

  • UX 관점 강조 : 사용자가 서비스 이용 중 불편함을 느끼지 않도록 UX 보강
  • 오류 처리 : 사용자가 당황하지 않도록 안내와 피드백을 제공하는 오류 페이지 구현
  • 기술적 안정성 : 각 기능의 예외 처리와 데이터 유효성 검증에 집중

기술적 목표

  • 딥러닝 정확도 : 이미지 딥러닝 기술의 정확성을 최대한 향상
  • Spring Boot 기반 : MVC 패턴 구현과 Spring Security를 통한 보안성 확보
  • 다중 플랫폼 : 웹과 앱 동시 지원으로 접근성 향상

2.2 시스템 아키텍처

 
┌─────────────────────────────────────────┐
│         Presentation Layer              │
│      Thymeleaf/HTML/CSS/JS              │
├─────────────────────────────────────────┤
│         Controller Layer                │
│      Spring Boot Controllers           │
├─────────────────────────────────────────┤
│         Service Layer                   │
│       Business Logic                   │
├─────────────────────────────────────────┤
│         Repository Layer                │
│        Spring Data JPA                 │
├─────────────────────────────────────────┤
│         Data Layer                      │
│         MySQL Database                 │
└─────────────────────────────────────────┘

2.3 기술 스택 분석

백엔드

  • Spring Boot : 애플리케이션 핵심 로직 구현 및 웹 서버 구축
  • Spring Security : 사용자 인증 및 권한 관리 (소셜 로그인 포함)
  • MySQL : Oracle 대신 선택한 이유는 웹 배포와 무료 사용 측면에서 효율성이 높다고 판단
  • DBeaver : 시스템 도구로 사용

프론트엔드

  • HTML/CSS : 웹과 앱 배포를 위한 반응형 디자인에 가장 많은 신경을 썼다.
  • JavaScript : 동적 UI 구현 및 API 연동

딥러닝 및 AI

  • Python : 이미지 증강 처리 스크립트 개발
  • Teachable Machine : 딥러닝 환경이 갖춰진 플랫폼 적극 활용

클라우드 및 외부 연동

  • Firebase : 실시간 데이터 동기화 및 이미지 파일 저장

3. 핵심 기능 설계 및 구현

3.1 회원 관리 시스템 (다중 인증 시스템)

1) 기능 개요

자체 회원가입부터 카카오, 네이버, 구글의 소셜 로그인까지 다양한 인증 방식을 통합 지원하는 완전한 회원 관리 솔루션이다. Spring Security를 기반으로 설계하여 보안성과 확장성을 모두 확보했다.

 

2) 회원가입 프로세스 - java

// MemberEntity 구조 예시
@Entity
public class MemberEntity {
    private String memberId, memberPwd, memberName, memberEmail;
    private String memberGender, memberTel, memberNickName;
    private LocalDate memberBirth;
    private LocalDateTime memberCreate, memberUpdate;
    private String provider; // local, kakao, naver, google
    private String providerId, role;
}

단계별 프로세스

  1. 약관 동의 : 개인정보 이용 및 수집에 대한 동의 (AgreeEntity로 별도 관리)
  2. 실시간 중복 검사 : 아이디, 이메일, 닉네임 중복 여부 즉시 확인
  3. 이메일 인증 : 사용자에게 인증 코드 발송해 본인 확인
  4. 암호화 저장 : BCrypt로 암호화하여 안전하게 저장

3) 인증 시스템 구현

  • 일반 로그인 : UserDetailService 구현으로 Spring Security 표준 방식 처리
  • 소셜 로그인 : OAuth2UserService를 통해 플랫폼별 사용자 정보 처리
  • 세션 기반 관리 : 중요 기능 접근 시 세션 정보 검증으로 무단 접근 차단

4) 계정 관리 기능

  • 아이디 찾기 : 이메일 인증 후 해당 이메일로 가입된 아이디 정보 발송
  • 비밀번호 찾기 : 아이디와 이메일 인증을 거쳐 새 비밀번호로 변경
  • 보안 정책 : 자체 회원가입 사용자만 계정 복구 기능 제공

5) 통합 데이터 연동

  • 포인트 연동 : 회원가입 시 pointService와 연동해 가입 포인트 자동 지급
  • 탈모 진단 연동 : 마이페이지에서 HairLossTestService와 연동해 진단 결과 표시
  • 투표 시스템 연계 : 탈모 진단 사진을 투표 시스템 소재로 활용
  • 트랜잭션 보장 : @Transactional로 데이터 일관성과 롤백 처리 보장

3.2 딥러닝 탈모 진단 시스템

1) 기능 개요

사용자가 업로드한 머리 사진을 Teachable Machine으로 학습된 AI 모델이 분석하여 0단계부터 4단계까지 5단계로 탈모 진행률을 자동 판별하는 시스템이다. 분석된 데이터는 투표 시스템, 추천 서비스, 운세 등 다양한 부가 기능의 기반 데이터로 활용된다.

 

2) 개발 프로세스

 
데이터 수집 → 데이터 증강 → AI 모델 학습 → 웹서비스 연동 → 서비스 활용

데이터 수집 단계

  • 구글 데이터셋에서 탈모 0~4단계 이미지 수집
  • 예외처리용으로 탈모인과 비슷한 느낌의 손, 얼굴, 동물 등 사진 수집

데이터 증강 단계

  • 7가지 증강 기법 적용: 좌우반전, 회전, 밝기/대비, 노이즈, 흐림/선명, 이동/확대축소, 색상 조정
  • Python 자동증강 처리로 1장당 5개 증강 이미지 생성
  • 결과: 70장 → 350장으로 5배 확장

AI 모델 학습 단계

  • Teachable Machine 플랫폼에서 이미지 분류 프로젝트 생성
  • 학습 데이터 구축
    • 탈모 5단계 : 각 350장
    • 예외처리 5개 클래스 : 각 150장
    • 기타 : 890장
    • 총 3,720장

웹서비스 연동 단계 - javascript

// 탈모 진단 결과 처리 예시
function extractHairStageFromPrediction(predictionData) {
    const mapper = new ObjectMapper();
    const rootNode = mapper.readTree(predictionData);
    
    if (rootNode.isArray() && rootNode.size() > 0) {
        return rootNode.get(0).get("className").asText();
    }
    return "기타";
}

3) 시스템 장점

  1. 효율성 : 이미지 증강으로 데이터 수집 시간 대폭 감소
  2. 속도 : 클라이언트 사이드에서 직접 실행으로 빠른 응답
  3. 통합성 : 진단 결과를 다른 서비스와 연계한 통합 사용자 경험

3.3 투표 시스템

1) 기능 개요

회원의 사진 데이터를 Firebase Storage에서 랜덤으로 4장 가져와 질문을 구성하는 시스템이다. 관리자 검토 후 공개되며, 자동 스케줄링으로 투표 상태를 관리한다.

 

2) 투표 상태 관리 - java

// 투표 상태 자동 업데이트
@Scheduled(fixedRate = 600000) // 10분마다
public void updateVotingStatus() {
    List<QuestionEntity> questions = questionService.getQuestionsByPublicStatus("yes");
    
    for (QuestionEntity question : questions) {
        String currentStatus = getCurrentVotingStatus(question);
        // 상태 업데이트 로직
    }
}

상태 분류

  • 보류 : 관리자가 질문 생성 시 시작일까지 자동 보류
  • 진행중 : 공개 전환 후 시작일부터 종료일까지
  • 종료 : 종료일 경과 시 자동 전환

3) 자동 스케줄링 시스템

  • Spring의 @EnableScheduling과 @Scheduled 활용
  • 매 10분마다 투표 상태 실시간 업데이트
  • 매 시간마다 종료된 투표 자동 처리
  • Controller 호출이나 관리자 개입 없이 자동 관리

4) 보상 시스템 - 투표 종료 시점의 조건

  • 참여율 50% 이상
  • 득표율 40% 이상
  • 조건 만족 시 이메일 페이지 활성화 및 기프티콘 발송

5) 통합 관리 시스템 - 관리자페이지에서 제공하는 기능

  • 투표 검색 기능
  • 페이징 처리
  • 투표 현황 모니터링

4. 사용자 인터페이스 설계

4.1 메인 페이지

 
┌─────────────────────────────────────────┐
│            MOGATSHOO                    │
│         [로그인] [회원가입]              │
├─────────────────────────────────────────┤
│                                         │
│        [탈모 진단 시작하기]              │
│                                         │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐    │
│  │ 투표    │ │ 운세    │  │ 포인트  │    │
│  │ 시스템  │ │ 서비스  │ │ 샵      │    │
│  └─────────┘ └─────────┘ └─────────┘    │
└─────────────────────────────────────────┘

4.2 탈모 진단 페이지

 
┌─────────────────────────────────────────┐
│            탈모 진단하기                 │
├─────────────────────────────────────────┤
│                                         │
│     [사진 업로드]                        │
│                                         │
│     진단 결과: 2단계                     │
│     진단 설명: 약간의 탈모 진행          │
│                                         │
│     [다시 진단하기] [결과 저장]          │
└─────────────────────────────────────────┘

5. 데이터베이스 설계

5.1 주요 테이블 구조

MemberEntity (회원) - sql

CREATE TABLE member (
    member_id VARCHAR(50) PRIMARY KEY,
    member_pwd VARCHAR(255),
    member_name VARCHAR(50),
    member_email VARCHAR(100),
    member_nick_name VARCHAR(50),
    provider VARCHAR(20) DEFAULT 'local',
    role VARCHAR(20) DEFAULT 'USER'
);

QuestionEntity (투표 질문) - sql

CREATE TABLE question (
    serial_number VARCHAR(20) PRIMARY KEY,
    question_title VARCHAR(200),
    question_content TEXT,
    voting_available BOOLEAN,
    voting_status VARCHAR(20)
);

VotingEntity (투표 참여) - sql

CREATE TABLE voting (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    serial_number VARCHAR(20),
    voter_id VARCHAR(50),
    voted_id VARCHAR(50),
    selected_option VARCHAR(20),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

6. 팀 구성 및 역할 분담

6.1 팀 구성 (3명)

팀장 (본인)

  • 프로젝트 기획 : 전체 시스템 아키텍처 설계 및 일정 관리
  • ERD 및 DB 설계 : MySQL 테이블 구조 설계 및 관계 설정
  • 기능 명세서 작성 : 상세 기능 정의 및 개발 가이드라인 제작
  • WBS 제작 : Work Breakdown Structure로 작업 일정 관리
  • 페이지 구성 및 피그마 : UI/UX 디자인 설계
  • 백엔드 개발
    • 투표 시스템 전체 (질문 생성, 수정, 삭제)
    • 관리자 기능 구현
    • 자동 스케줄링 시스템
  • 프론트엔드 : Sidebar, Footer 초기 디자인 제작
  • 앱 배포 : 웹을 앱으로 전환하여 Google Play Store 배포

팀원 A

  • 회원 관리 시스템 : 회원가입, 로그인 시스템 전체 구현
  • 소셜 로그인 : 카카오, 네이버, 구글 OAuth 연동
  • 계정 관리 : 아이디 찾기, 비밀번호 찾기, 내 정보 수정
  • 부가 서비스 : 오늘의 운세, 포인트 내역 관리
  • 보안 및 유효성 : 전체 시스템 유효성 검사 및 보안 강화

팀원 B

  • 딥러닝 모델 : 탈모 진단 기능 전체 개발
  • AI 모델 구축
    • Teachable Machine 학습 모델 사용
    • 구글 데이터셋 이미지 추출
    • Python 데이터 증강 스크립트 개발
    • 모델 정확도 개선 및 정교화
  • 반응형 디자인 : 웹/앱 동시 지원을 위한 프론트엔드 전환
  • 웹 배포 : 최종 서비스 배포 담당

6.2 협업 방식

개발 환경 통합

  • IntelliJ IDEA : 통일된 개발 환경으로 코드 충돌 최소화
  • MySQL : 공통 데이터베이스 스키마 사용
  • Git : 버전 관리 및 협업 도구 활용

업무 분담 전략

  • 기능별 모듈 분담으로 병렬 개발
  • API 우선 설계 후 프론트엔드 연동
  • 정기 통합 테스트 진행

7. 개발 과정에서의 도전과 해결

7.1 딥러닝 모델 성능 개선 (30% → 85%)

1) 발생 상황 - 첫 주차 프로토타입에서 150장 이미지로 학습한 모델 테스트 결과

  • 전체 정확도 : 30%
  • 기타 이미지 인식률 : 0%

2) 원인 분석

  1. 심각한 데이터 불균형 : 탈모 이미지 대비 '기타' 클래스 데이터 부족
  2. 미세한 차이 구분 능력 부족 : 1단계와 2단계 같은 미묘한 차이 인식 실패
  3. 형태적 유사성 오분류 : 둥근 도넛, 과일을 대머리로 인식하는 문제

3) 해결 과정 (주차별)

1주차 : 문제 인식 및 원인 파악

  • 테스트 결과 분석 및 데이터셋 구성 재검토

2주차 : 기본 해결책 적용

  • '기타' 클래스 신규 생성
  • 데이터 150장 → 440장으로 3배 확장
  • 결과: 정확도 50% 달성

3주차 : 정교한 접근

  • 혼동이 많은 1, 2단계 탈모 이미지 집중 증강
  • 데이터 2,850장까지 확장

4주차 : 예외 처리 완성

  • 대머리와 헷갈리는 객체들을 '기타' 클래스에 체계적 추가
  • 베이지색 둥근 도넛 등 구체적 예외 케이스 학습

4) 최종 결과

  • 전체 정확도 : 30% → 85%
  • 탈모 인식률 : 60% → 95%
  • 기타 인식률 : 0% → 80%

7.2 딥러닝 정확도 측정의 한계점 발견

1) 문제 인식

프로젝트 발표 후 멘토 피드백을 통해 딥러닝 정확도 측정 방식의 문제점을 발견했다

  • 단순한 단계별 인식률로는 정확한 모델 성능 평가 불가
  • 85% 정확도는 현실적으로 과도한 수치
  • 실제 딥러닝 모델은 60% 정도면 양호한 성능

2) 올바른 딥러닝 성능 평가 방법 - Confusion Matrix (혼동 행렬)

 
       예측
실제   0단계  1단계  2단계  3단계  4단계
0단계   30     3     2     0     0
1단계    2    25     8     0     0  
2단계    1     5    28     6     0
3단계    0     0     4    31     5
4단계    0     0     0     3    32

핵심 지표들

  • Precision (정밀도): TP / (TP + FP)
  • Recall (재현율): TP / (TP + FN)
  • F1-Score: 정밀도와 재현율의 조화평균
  • 클래스별 성능: 각 탈모 단계별 분류 정확도

현실적인 성능 기준

  • 의료 분야 이미지 분류: F1-score 70-80%면 실용화 가능
  • 일반 현실 이미지: 60-75% 정확도면 양호
  • 완전 단순 데이터셋: 90% 이상 기본

3) 개선된 평가 방식

향후 프로젝트에서는 다음과 같은 방식으로 평가해야 한다.

  • Confusion Matrix 기반 상세 분석
  • 클래스별 Precision, Recall, F1-Score 계산
  • ROC Curve와 AUC 값으로 전체 성능 평가
  • 실제 사용자 테스트와 임상 데이터 비교

8. 시스템 검증 및 성과

8.1 기능 검증 결과

회원 관리 시스템

  • 일반 회원가입 및 소셜 로그인 (카카오, 네이버, 구글) 정상 작동
  • 권한별 페이지 접근 제어 완료
  • 이메일 인증 시스템 안정성 확인

탈모 진단 시스템

  • AI 모델 연동 및 실시간 진단 기능 정상 작동
  • Firebase Storage 이미지 업로드/다운로드 안정성 검증
  • 진단 결과 데이터베이스 저장 및 관리 완료

투표 시스템

  • 자동 스케줄링을 통한 투표 상태 관리 정상 작동
  • 실시간 투표 참여 및 결과 집계 기능 완료
  • 보상 시스템 및 이메일 발송 기능 검증

8.2 성능 지표

항목 목표 결과
페이지 로딩 속도 3초 이내 평균 2.5초
AI 모델 응답시간 5초 이내 평균 3.2초
데이터베이스 응답시간 1초 이내 평균 0.8초
앱 다운로드 - Google Play Store 배포 완료

9. 주요 오류 해결 과정

9.1 Firebase Storage 연동 오류 - java

// 문제: Firebase 설정 파일 경로 오류
// 해결: 환경변수를 통한 동적 경로 설정
@PostConstruct
public void init() {
    try {
        String jsonCredentials = createJsonCredentials();
        InputStream credentialsStream = new ByteArrayInputStream(jsonCredentials.getBytes());
        GoogleCredentials credentials = GoogleCredentials.fromStream(credentialsStream);
        
        FirebaseOptions options = FirebaseOptions.builder()
            .setCredentials(credentials)
            .setStorageBucket(storageBucket)
            .build();
            
        if (FirebaseApp.getApps().isEmpty()) {
            FirebaseApp.initializeApp(options);
        }
    } catch (Exception e) {
        logger.error("Firebase 초기화 실패: {}", e.getMessage());
    }
}

9.2 소셜 로그인 중복 처리 오류 - java

// 문제: 동일 이메일로 다른 플랫폼 가입 시 충돌
// 해결: provider별 고유 처리 로직
public MemberEntity findByMemberEmail(String email, String provider) {
    Optional<MemberEntity> member = memberRepository.findByMemberEmail(email);
    
    if (member.isPresent() && !member.get().getProvider().equals(provider)) {
        throw new DuplicateEmailException("이미 다른 방식으로 가입된 이메일입니다.");
    }
    
    return member.orElse(null);
}

9.3 앱 변환 시 반응형 오류 - css

/* 문제: 웹에서 앱으로 전환 시 레이아웃 깨짐 */
/* 해결: 미디어 쿼리 세분화 */
@media screen and (max-width: 768px) {
    .container {
        padding: 10px;
        margin: 0;
    }
    
    .main-content {
        flex-direction: column;
        gap: 15px;
    }
}

@media screen and (max-width: 480px) {
    .voting-options {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
}

10. 향후 발전 방향

10.1 단기 개선 계획

딥러닝 모델 고도화

  • Confusion Matrix 기반 정확한 성능 평가
  • 클래스별 Precision, Recall, F1-Score 개선
  • 더 많은 실제 데이터셋 확보 및 학습

기능 확장

  • 탈모 관리 팁 및 추천 서비스
  • 탈모 전문의와의 상담 예약 시스템
  • 탈모 관련 제품 리뷰 및 구매 연계

성능 최적화

  • 이미지 압축 및 CDN 적용
  • 데이터베이스 쿼리 최적화
  • 캐싱 시스템 도입
 

10.2 장기 비전

플랫폼 확장

  • 모바일 네이티브 앱 : React Native 기반 iOS 앱 개발
  • 탈모 케어 커뮤니티 : 사용자 간 경험 공유 및 상담 플랫폼
  • 헬스케어 연동 : 웨어러블 기기와 연동한 종합 건강 관리 서비스
  • AI 개인화 : 개인별 탈모 진행 예측 및 맞춤형 관리 방안 제시

비즈니스 모델 다각화

  • 프리미엄 서비스 : 정밀 진단 및 전문가 상담 유료 서비스
  • 제품 파트너십 : 탈모 관련 제품 업체와의 제휴 마케팅
  • 데이터 분석 서비스 : 익명화된 탈모 데이터 분석 리포트 제공

11. 결론 및 소감

11.1 프로젝트 성과

MOGATSHOO 프로젝트는 KG IT BANK의 최종 프로젝트로서 딥러닝 기술과 웹 개발의 융합을 통해 실용적인 서비스를 구현한 의미 있는 경험이었다. 특히 팀장으로서 프로젝트 전반을 기획하고 관리하면서 리더십과 기술적 역량을 동시에 향상시킬 수 있었다.

 

핵심 성과

  • Full-Stack 개발 : 프론트엔드부터 딥러닝, 데이터베이스까지 전 영역 경험
  • 실제 서비스 런칭 : Google Play Store 앱 배포까지 완성된 서비스 구현
  • 팀 리더십 : 3명 팀원의 업무 조율 및 일정 관리 경험
  • 신기술 도전 : 딥러닝 기술을 실제 웹서비스에 성공적으로 적용
  • 문제 해결 : 복잡한 기술적 오류를 체계적으로 분석하고 해결

11.2 개인적 성장

기술적 역량 향상

  • Spring Boot 심화 : Spring Security를 활용한 다중 인증 시스템 구현
  • 딥러닝 실전 적용 : Python 데이터 증강부터 웹 연동까지 전 과정 경험
  • 클라우드 서비스 : Firebase 연동 및 실시간 데이터 처리 능력
  • 앱 개발 : 웹을 앱으로 변환하여 실제 스토어 배포 경험
  • 데이터베이스 설계 : MySQL 기반 효율적인 테이블 구조 설계

프로젝트 관리 능력

  • 기획 역량 : 사용자 니즈 분석부터 기능 명세서 작성까지
  • 일정 관리 : WBS 제작을 통한 체계적인 프로젝트 일정 관리
  • 팀 커뮤니케이션 : 기술적 이슈를 명확하게 공유하고 해결책 도출
  • 위기 관리 : 딥러닝 모델 성능 저하 등 예상치 못한 문제 상황 대응

11.3 아쉬웠던 점과 배운 교훈

기술적 아쉬움

  • 딥러닝 평가 방식 : 단순 정확도가 아닌 Confusion Matrix, F1-Score 등 정확한 평가 지표 사용 필요성 인식
  • 테스트 코드 : 체계적인 단위 테스트 및 통합 테스트 작성 부족
  • 성능 모니터링 : 실제 사용자 환경에서의 성능 측정 및 최적화 경험 부족
  • 보안 강화 : 더 세밀한 보안 취약점 분석 및 대응 필요

프로세스 개선점

  • 사용자 피드백 : 실제 사용자 테스트 및 피드백 수집 과정 부재
  • 문서화 : API 문서 및 시스템 아키텍처 문서의 체계적 작성 필요
  • 코드 품질 : 정적 분석 도구를 활용한 코드 품질 관리 부족

딥러닝 관련 깨달음 프로젝트 발표 후 멘토의 피드백을 통해 딥러닝 모델 평가의 올바른 방식을 깨달았다. 85%라는 정확도가 오히려 과도한 수치일 수 있으며, 실제로는 60-70%의 정확도라도 Precision, Recall, F1-Score가 균형 잡혀 있다면 더 신뢰할 수 있는 모델이라는 점을 배웠다. 이는 향후 AI 프로젝트에서 정확한 성능 평가 기준을 적용해야 한다는 중요한 교훈이 되었다.


12. 발표 및 시연

12.1 발표 구성

Part 1 : 프로젝트 개요

  • 탈모 진단 AI 서비스의 필요성과 시장 분석
  • MOGATSHOO 플랫폼의 핵심 가치 제안
  • 딥러닝 기술을 활용한 차별화 포인트

Part 2 : 기술 스택 및 구현

  • Spring Boot 기반 시스템 아키텍처
  • 딥러닝 모델 개발 과정 (데이터 수집 → 증강 → 학습 → 연동)
  • Firebase 연동 및 다중 인증 시스템
  • 투표 시스템 자동 스케줄링 구현

Part 3: 실제 시스템 시연

  • 회원가입부터 탈모 진단까지 전체 플로우
  • 소셜 로그인 및 투표 참여 과정
  • 관리자 페이지 기능 시연
  • 모바일 앱 버전 확인

Part 4: 성과 및 향후 계획

  • 딥러닝 모델 성능 개선 과정 (30% → 85%)
  • Google Play Store 앱 배포 성과
  • 향후 발전 방향 및 비즈니스 확장 계획

12.2 시연 시나리오

일반 사용자 시나리오

  1. 메인 페이지 접속 → MOGATSHOO 서비스 소개 확인
  2. 회원가입 → 이메일 인증 및 소셜 로그인 선택
  3. 탈모 진단 → 사진 업로드 후 AI 분석 결과 확인
  4. 투표 참여 → 랜덤 질문에 투표하고 포인트 획득
  5. 포인트샵 → 포인트로 상품 구매
  6. 오늘의 운세 → 탈모 진단 결과 기반 운세 확인

관리자 시나리오

  1. 관리자 로그인 → 관리자 전용 대시보드 접근
  2. 투표 관리 → 새로운 투표 질문 생성 및 상태 관리
  3. 회원 관리 → 가입 회원 현황 및 탈모 진단 통계 확인
  4. 시스템 모니터링 → 자동 스케줄링 작동 상태 점검

관련 링크

 

로그인 - Google 계정

이메일 또는 휴대전화

accounts.google.com

 

 

 

mogatshoo

Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.

www.erdcloud.com

 

 

Mogatshoo WBS

ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWMogatshoo WBS프로젝트 이름Mogatshoo회사명Mogatshoo프로젝트 팀원유태종, 서하나, 최승필기간2025년 5월 12일 ~ 2025년 6월 20일단계작업 제목세부 정

docs.google.com

 

 

GitHub - taejong12/mogatshoo: 모갔슈? (Mogatshoo)

모갔슈? (Mogatshoo). Contribute to taejong12/mogatshoo development by creating an account on GitHub.

github.com

 

 

Mogatshoo WBS

ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWMogatshoo WBS프로젝트 이름Mogatshoo회사명Mogatshoo프로젝트 팀원유태종, 서하나, 최승필기간2025년 5월 12일 ~ 2025년 6월 20일단계작업 제목세부 정

docs.google.com

모갔슈_-_탈모인을_위한_웹_개발_Project.pdf
4.50MB
AI 딥러닝 혼동 행렬(Confusion Matrix) 정리 분석.pdf
0.25MB