PROJECT PRESENTATION

MetalVision
AI

비전공자가 금속 현미경 사진 한 장으로
AI 진단 시스템을 만들고
설명 가능한 AI까지 구현한 이야기
딥러닝 미세조직 분류 · Grad-CAM 설명가능 AI · 웹 서비스 배포 · 2026
학습 곡선
MetalVision AI
ResNet50 기반 금속 미세조직 자동 분류
Val Accuracy 90.3%
1 / 11
PROJECT OVERVIEW

한 줄 요약

"금속 현미경 사진을 올리면 AI가 어떤 미세조직인지 자동으로 분류하고,
어느 부분을 보고 그렇게 판단했는지까지 시각적으로 설명해주는 웹 서비스"
7
분류 클래스
90.3%
검증 정확도
961
학습용 현미경 사진
3주
개발 기간 (혼자)
📥
데이터 준비
NIST 공개 데이터셋 961장을 클래스별로 정리·분할
🧠
모델 학습
ResNet50 전이학습으로 7개 조직 분류 (1주차)
🔍
Grad-CAM
AI가 어디를 보고 판단했는지 히트맵으로 검증 (2주차)
🌐
웹 앱 & 배포
Streamlit 웹 UI + Docker로 Hugging Face Spaces 배포 (3주차)
2 / 11
WHY

왜 만들었나요?

관심사에서 출발

금속 미세조직 사진은 전문가가 눈으로 보고 종류를 판별한다. "이걸 AI가 대신 배울 수 있을까?"라는 단순한 궁금증에서 시작했다.

아이디어 구체화

NIST(미국 표준기술연구소)가 공개한 금속 현미경 사진 데이터셋을 발견. 이미 학습된 이미지 인식 AI(ResNet50)에 전이학습을 적용하면 961장만으로도 분류가 가능하다는 것을 알게 됐다.

3주 단계별 설계로 시작

비전공자지만 "1주 학습 → 2주 검증 → 3주 배포"로 나누면 각 단계마다 독립적으로 결과를 확인할 수 있다고 판단. 한 번에 완성하는 대신 매주 검증 가능한 결과물을 만들기로 했다.

목표 설정

단순히 정확도 높은 모델이 아니라, AI가 올바른 근거로 판단했는지 설명할 수 있는 시스템을 만들고, 누구나 웹에서 바로 써볼 수 있도록 실제 배포까지 목표로 했다.

3 / 11
HOW · 비전공자 설명

어떤 도구를 어떻게 썼나요?

도구실제 역할비유로 설명하면
PyTorch + ResNet50 AI 모델을 만들고 학습시키는 핵심 도구 이미 사진을 잘 아는 전문가(ResNet50)를 데려와
"이제부터 금속 조직만 봐줘"라고 재교육하는 것
전이학습 (Transfer Learning) 적은 데이터로도 학습 가능하게 하는 전략 처음부터 가르치지 않고, 이미 아는 지식 위에 새 지식만 추가
Grad-CAM AI 판단 근거를 시각화 의사가 X-ray 사진에서 "여기를 보고 진단했습니다"라고
손가락으로 가리켜주는 것
Streamlit 웹 화면(UI) 제작 파이썬 코드 몇 줄로 이미지 업로드·차트·버튼이 있는
웹사이트를 뚝딱 만드는 도구
Docker + Hugging Face Spaces 앱을 인터넷에 배포 실행 환경을 통째로 포장(Docker)해서,
AI 서비스 전용 무료 창고(Hugging Face)에 올려두는 것
4 / 11
LIVE RESULTS

실제 학습·분석 결과

학습 곡선
학습 곡선 (Val Acc 90.3%)
Grad-CAM Martensite
Grad-CAM · Martensite
Grad-CAM network
Grad-CAM · network
Confusion Matrix
혼동행렬 (전체 90.3%)
빨간색 = AI가 집중해서 본 영역 → 마르텐사이트의 침상(바늘 모양) 구조에 정확히 집중,
금속공학적으로 타당한 부위를 보고 판단했음을 확인
5 / 11
FEATURES

주요 기능 소개

🧪 AI 자동 분류

현미경 사진을 업로드하면 마르텐사이트·펄라이트·스페로다이트 등 7개 미세조직 중 어떤 조직인지, 각 클래스별 확률과 함께 즉시 표시합니다.

🔥 Grad-CAM 히트맵

AI가 사진의 어느 부분을 보고 판단했는지 색상으로 오버레이. 특정 클래스를 강제로 지정해 해당 기준의 히트맵을 재생성할 수도 있습니다.

📊 분류 신뢰도 분석

혼동행렬(Confusion Matrix)과 클래스별 Precision·Recall·F1-score를 제공해 어떤 조직에서 AI가 자주 틀리는지 투명하게 보여줍니다.

📖 금속공학적 해설

분류 결과에 맞춰 해당 미세조직의 특징(결정구조, 형성 조건 등)을 자동으로 설명하고, 활성화 영역의 집중도·분산도 수치도 제공합니다.

6 / 11
CHALLENGES

어려웠던 점들

처음 해보는 딥러닝 프로젝트라 예상치 못한 문제들이 단계마다 터졌습니다.

🖥️

GPU 없이 CPU로 학습

GPU 없는 환경에서 30 epoch 학습에 약 3시간이 걸렸습니다. 절전모드 때문에 학습이 중간에 끊기는 문제까지 있었습니다.

⚖️

데이터 불균형

스페로다이트는 374장이지만 마르텐사이트는 36장뿐. 클래스마다 학습 난이도가 크게 달랐습니다.

📦

282MB 모델, 배포의 벽

학습된 모델 파일이 282MB — 일반 무료 배포 플랫폼의 100MB 제한을 훌쩍 넘어 처음 선택한 플랫폼으로는 배포가 불가능했습니다.

"정확도 90.3%를 만드는 것과, 그 모델을 실제로 동작하는 서비스로 세상에 내보내는 것은 완전히 다른 문제였습니다."
7 / 11
PROBLEM SOLVING

어떻게 이겨냈나요?

🔴 문제

마르텐사이트 등 일부 클래스는 학습 사진이 36장뿐 — 모델이 제대로 못 배울 위험

🟢 해결

회전·색상 변화·블러·잘림 등 데이터 증강(Augmentation)을 적용해 적은 사진도 다양한 조건에서 학습되도록 보강

🔴 문제

전이학습한 모델이 ImageNet에서 배운 일반 지식을 잊어버리고 과적합될 위험

🟢 해결

레이어별로 학습률을 다르게 설정(저수준 레이어는 거의 동결, 마지막 레이어만 집중 학습)해 기존 지식은 보존하고 금속 조직 특징만 새로 학습

🔴 문제

282MB 모델 파일 — Streamlit Community Cloud(100MB 제한)에 배포 불가

🟢 해결

대용량 모델을 지원하는 Hugging Face Spaces로 전환, Docker로 실행 환경을 통째로 패키징해 어디서나 동일하게 동작하도록 구성

"정확도만 믿지 않고, 데이터의 한계를 먼저 인정한 뒤 그에 맞는 해법을 찾았습니다."
8 / 11
LEARNINGS

이 프로젝트에서 배운 것

기술적으로 배운 것

전이학습 (Transfer Learning)이미 잘 훈련된 AI를 새로운 문제에 재활용하는 기법, 적은 데이터로도 높은 정확도 달성 가능
설명 가능한 AI (XAI)Grad-CAM으로 AI의 판단 근거를 사람이 이해할 수 있는 형태로 시각화
데이터 증강과 학습 전략회전·색상·블러 등 증강 기법과 레이어별 학습률 설정으로 불균형·과적합 대응
배포 파이프라인Docker로 환경을 패키징하고 Hugging Face Spaces에 올리는 실전 배포 경험

더 중요하게 배운 것

단계적 설계의 힘한 번에 완성하려 했다면 어디서 잘못됐는지 찾기 어려웠을 것. 3주로 나누어 매주 검증했기에 문제를 빠르게 좁힐 수 있었다
정확도 ≠ 신뢰성90.3%라는 숫자만으로는 부족하다. AI가 "왜" 그렇게 판단했는지 확인해야 진짜 신뢰할 수 있는 시스템이 된다
데이터의 한계를 솔직하게 인정부족한 데이터, 빠진 클래스를 숨기지 않고 한계로 명시 → 더 나은 개선 방향을 설계할 수 있었다
비전공 분야 + AI의 융합재료공학 지식과 AI 기술을 연결하는 경험 — 도메인을 알면 AI를 더 잘 설계할 수 있다
9 / 11
JOB RELEVANCE

이 경험이 직무에서 어떤 의미인가요?

AI/개발 직무가 아니더라도, 이 프로젝트는 아래 역량을 증명합니다.

🧩

문제를 단계로 쪼개는 설계력

"학습 → 검증 → 배포"처럼 큰 과제를 검증 가능한 단계로 나누고, 각 단계의 전제조건을 명확히 했습니다.

→ 기획·프로젝트 관리·QA 직무에 직결
🔎

결과를 의심하고 검증하는 태도

정확도 90.3%라는 좋은 결과에도 "왜 맞췄는가"를 추가로 검증해 신뢰성을 확보했습니다.

→ 데이터 분석·R&D·품질관리 직무에 직결

새로운 기술의 빠른 습득·적용

비전공자로서 딥러닝·XAI·Docker·클라우드 배포까지 처음 접하는 기술 6종 이상을 독학으로 익혀 실제로 동작시켰습니다.

→ 새로운 환경·도구에 빠르게 적응하는 능력
🧱

한계를 인정하고 대안을 찾는 끈기

데이터 부족, 배포 용량 초과 등 막히는 문제마다 원인을 분해해 현실적인 대안을 찾아 끝까지 완성했습니다.

→ 끈기·문제해결력, 어떤 직무든 필요한 기본기
문제 정의 단계적 설계 데이터 기반 의사결정 자기주도 학습 끈기 신뢰성·검증 감각 기술 수용 능력 도메인 × AI 융합 사고
10 / 11
🔩

"AI에게
판단의 이유까지
물었습니다"

비전공자로서 궁금증에서 시작해, 데이터를 모으고, 모델을 학습시키고, 그 판단을 검증하고, 실제 서비스로 만들어 세상에 내놓는 과정 전체가 저의 문제해결 방식입니다.

MODEL
ResNet50 · Val Acc 90.3% (best_metal_model.pth)
DEMO
Streamlit 웹 앱 (로컬 실행 / Hugging Face Spaces 배포 준비)
Grad-CAM 예시
11 / 11