Projects

OnTheTop

onthetop_main
2025.04.01. ~ 2025.08.01.
해당 서비스는 Desk Setup 이미지를 기반으로 AI가 맞춤형 데스크테리어를 제안하는 서비스 입니다.
사용자가 추가적인 자료 탐색 과정 없이도 자신만의 최적화된 작업 공간을 빠르고 간편하게 구축할 수 있으며, 추천된 제품은 바로 구매할 수 있도록 연결되어 실제 구매까지 이어질 수 있습니다.
사진을 올리면 AI가 공간에 맞는 Desk Setup을 제안하고 곧바로 구매까지 이어지는 '번거로움 없이 나만의 공간을 완성할 수 있는 경험'이 해당 서비스가 제공하는 핵심 가치입니다.
Demo Video Ad Video Services Link Gihub Wiki AI Repo Figma
  • 주요 역할
    • 이미지 생성 Pipeline 설계:
      • CNN 도입 및 제작: 서비스 특성상 사용자가 책상과 무관한 이미지를 업로드할 가능성이 있어 초기 입력 단계에서 BLIP 기반 캡셔닝으로 판별하였으나 평균 응답시간이 3초대로 길어져 CPU환경에서도 0.2초 수준으로 판별할 수 있도록 경량 CNN을 설계하여 도입
      • Inpainting 모델 설계: img2txt → txt2img 기반으로 이미지를 생성하였으나 생성된 이미지가 원본 사진과의 괴리감이 있다는 피드백을 받아 원본 이미지를 유지하기 위해 Inpainting 모델 도입
      • Masking 자동화 설계 및 구현: Inpainting 과정 중 원본 이미지에서 유지하고자 하는 부분을 Grounding DINO와 SAM2를 활용하여 Masking 이미지 생성 및 자동화
      • LoRA 설계 및 제작: OnTheTop 서비스 특유의 톤을 유지하기 위해 GPT에서 생성한 121장의 DeskSetup이미지를 통해 서비스 특화 LoRA 설계 및 제작, 서비스의 재미를 느끼기 위한 각종 Style LoRA 도입
    • 아이템 추천 Pipeline 설계:
      • Desk Setup 맞춤형 아이템 추천 설계: 원본 이미지를 Grounding DINO로 탐색한 이후 OpenAI API(GPT-4o)를 활용하여 아이템 추천하고 SDXL Inpainting Prompt로 활용할 수 있도록 설계
      • 추천 아이템 구매링크 연결: 생성된 이미지를 Grounding DINO로 재탐색한 이후 해당 아이템의 정보를 Naver API를 활용하여 구매링크 생성 및 연결
    • AI Model Serving:
      • AI 서버 제작: FastAPI 기반 AI 모델 서빙
      • CNN 서버 분리: 이미지 생성을 단일 메서드처럼 활용하고 불필요한 서버 통신을 제거하기 위해 데스크 분류만 백엔드와 통신하도록 CNN 서버 분리
      • Multi-GPU 구현: 트래픽 급증에 대비해 Redis Stremas 기반 작업 큐를 설계하고 GCP, AWS, Google Colab의 GPU를 Consumer Group으로 묶어 Multi-GPU 병렬처리 구현
  • 기술 스택
    • Vison: CNN, Gronding DINO, SAM2, Open CV
    • Generation: SDXL Inpainting, LoRA
    • Serving: FastAPI, PyTorch, Diffusers
    • Supporting Services: Redis Streams/Sentinel, AWS S3

Feature Map 기반 CNN 모델 최적화

feature_map
2025.03.19. ~ 2025.03.30.
CNN 기반 이미지 분류 모델의 성능을 유지하면서 연산 비용과 메모리 사용량을 줄이기 위해 경량화에 대해 연구해 본 개인 프로젝트입니다.
해당 프로젝트는 다른 연구들과는 달리 Feature Map 기반으로 모델이 어떤 특징들을 뽑아내는지 살펴보며 불필요한 Filter 및 Layer는 제거하거나 없애 시각적으로 경량화했습니다.
Details MySQL
  • 기술 스택: CNN, VGG16, GoogLeNet
  • 주요 연구 내용:
    • 모델 구성 및 비교:
      • 기본 CNN, VGG16, GoogLeNet 모델을 구현하고 성능 평가
      • 각 모델의 Feature Map을 시각화하여 불필요한 필터나 Layer 식별
      • 식별된 요소를 제거하여 경량화된 모델을 구성하고 성능 비교
    • Feature Map 시각화:
      • 각 Convolution Layer를 틍과한 Feature Map을 시각화하여 정보 손실 여부 확인
      • 깊은 Layer에서 Feature Map 활성화가 희소해지고 의미있는 특징이 소실되는 현상을 관찰
      • 사람이 직접 확인했을 때도 특정 Filter 및 Layer에서는 Feature Map이 점 몇 개 수준으로만 남아 활용도가 낮을 수 있음을 확인
    • 설명 가능한 경량화
      • 기존의 무작위 기반 pruning과 달리, Feature Map 시각화를 통해 제거 대상 Filter 및 Layer를 선정
      • 직관적으로 설명 가능한 근거에 기반한 pruning 수행
      • GoogLeNet 구조에서 해당 현상을 재현하고, 불필요한 Filter 및 Layer 제거를 통해 효율성 향상
  • 성능 평가 및 결과:
    • 연구 내용을 바탕으로 Rice Image Dataset에 적합한 모델 설계 및 제작
    • 모델별 성능 비교:
      • model_summary model_filter model_flops
      • 기본 모델과 경량화된 모델의 정확도, 필터의 개수, 연산량을 비교
      • 모델의 정확도와 필터, 연산량 등은 상관관계가 없고 경량화한 모델의 일반화 성능이 더욱 뛰어나며, 실제 응용 환경에서도 Feature Map을 통한 경량화는 의미가 있음

HarmonAI

2025.02.26. ~ 2025.02.28.
사용자의 위치(위도, 경도), 날씨, 감성의 정도와 함께 사용자의 기분을 입력받아 본인에게 맞는 음악을 추천해주는 서비스로 카카오테크부트캠프 해커톤에서 진행한 팀 프로젝트입니다.
해당 서비스에서 원하는 사용자 경험은 "이 기분, 장소, 날씨 그리고 감성"에 현재의 음악이 잘 어울린다는 느낌을 주는 것입니다.
Details AI Github
  • 기술 스택: FastAPI
  • 주요 기능 및 구현 내용
    • AI 백엔드 설계: Python, FastAPI
    • AI 파이프라인 설계: Backend(위도, 경도) → Google Maps API(위치 정보) → 기상청 API(날씨 정보) → OpenAI API(노래 추천) → Spotify API(할루시네이션 검증 및 노래 추천 활용) → Backend(추천 노래 정보 전달)
    • ChatGPT 프롬프트 엔지니어링: 위치, 날씨, 기분 등을 고려한 노래를 추천해주기 위한 프롬프트 작성

TPS Project

2024.12.03. ~ 2024.12.13.
TPS 게임 개발을 통해 객체지향 프로그래밍의 핵심 개념인 캡슐화, 상속, 다형성을 실습하고 Singleton 패턴, 벡터 계산 등을 구현해 보면서 객체지향 설계의 원리를 체득한 개인 프로젝트 입니다.
Source Code
  • 기술 스택: C#, Unity
  • 주요 기능 및 구현 내용:
    • 캐릭터 컨트롤러: 3인칭 시점에서의 캐릭터 이동 및 조작 구현
    • 시네마틱 카메라 시스템: 게임 플레이에 몰입감을 더하는 카메라 연출 구현
    • 적 AI: 적 캐릭터의 행동 패턴 및 반응 구현
    • 무기 시스템: 다양한 무기의 사용 및 전환 기능 구현
    • Singleton 패턴: 게임의 전체 상태 관리를 위한 Singleton 패턴 적용
    • 벡터 계산: 무기 시스템에서의 정확한 위치 및 방향 계산을 위한 벡터 수학 활용

감성분석을 활용한 언론사의 양극화 분석

sentiment_5
2024.09.11. ~ 2024.12.04.
미국 대선 기간동안 주요 언론사의 헤드라인을 분석하여 정치적 양극화 현상을 감성분석을 통해 정량적으로 평가해 본 팀 프로젝트입니다.
언론의 정치적 편향성 증가로 인해 독자들은 자신과 일치하는 정보만을 소비하는 경향이 강화되고 있으며 이는 사회적 갈등을 심화시킬 수 있습니다. 따라서 해당 프로젝트에서는 언론사의 헤드라인을 감성 분석하여 정치적 성향에 따른 보도 경향을 정량적으로 분석하고자 하였습니다.
Details
  • 주요 역할: 여러 감성 분석 기법(RoBERTa, VADER, TextBlob, Topic 모델링)을 적용하여 결과를 비교 분석 후 인사이트 도출, 언론사의 정치적 성향에 따른 감성 분석 결과를 시각화하고 해석
  • 기술 스택: RoBERTa, VADER, TextBlob, LDA Topic Modeling, NumPy, Pandas, Matplotlib
  • 분석 결과:
    • 진보 성향 언론사는 Biden 관련 헤드라인에서 긍정적인 감성이 높게 나타남
    • 보수 성향 언론사는 Trump 관련 헤드라인에서 긍정적인 감성이 높게 나타남
    • 부정적인 감성의 경우 극단적인 성향의 언론사일수록 키워드와 무관하게 높게 나타남
    • TextBlob 분석결과 부정적인 감성과 주관성은 연관이 있음을 알 수 있음
    • 편향성이 두드러질수록 부정적인 감성과 주관성이 두드러짐
  • 성과:
    • 정성적인 부분을 정량적으로 평가함
    • 편향은 정치뿐만 아니라 제품군에서도 두드러지므로 부정적 리뷰를 모아 분석하면 어떤 부분에서 경쟁사 대비 선호도가 낮은지 수치적으로 분석할 수 있음

Honeybee Disease Diagnosis

2024.05.30. ~ 2024.06.06.
꿀벌의 주요 질병(백묵병), 기생충(바로아), 천적(말벌)을 실시간으로 탐지하는 AI 모델 개발을 한 팀 프로젝트입니다.
꿀벌은 농작물의 수분을 담당하는 필수적인 화분매개자로 국내 농업 경제에 약 6조 원의 가치를 창출하고 있습니다. 그러나 최근 꿀벌의 집단 폐사가 심각한 문제로 대두되고 있으며 그 주요 원인 중 하나로 각종 질병이 지목되고 있습니다. 따라서 우리는 이러한 질병을 조기에 감지하고 대응하기 위한 시스템을 개발하고자 하였습니다.
Details
  • 주요 역할: YOLOv8 탐지 모델 설계 및 학습 파이프라인 구축
  • 기술 스택: YOLOv8, Tensorflow
  • 성능 평가: Confusion Matrix 및 PR Curve를 통해 성능 평가를 하였으며 백묵병 탐지 정확도 및 실시간 탐지 성능이 우수
  • 모델 개발 및 개선 과정:
    • 초기 모델은 CNN을 사용 하였으나 높은 정확도 (99%)에도 불구하고 환경에 민감하여 일반화가 어려움
    • 또한 백묵병과 바로아, 말벌 등 꿀벌에게 위협이 되는 것들은 짧은 시간 내에 막대한 피해를 입히기 때문에 질병을 잘 감지하는 것만이 좋은 방향은 아님
    • YOLO의 경우 이미지 전체를 한 번에 처리하여 객체를 감지하며 실시간 탐지가 가능, 다양한 환경에서도 높은 정확도 유지
    • 기존 백묵병 이외에도 바로아 기생충, 말벌 등을 추가 탐지