2026 SOFTWARE EXHIBITION
ArtLens AI
ArtLensAI는 AI 기반 이미지 스타일 분석 및 작가 탐색 플랫폼입니다. 사용자는 이미지를 업로드하여 AI 분석을 요청할 수 있으며, 시스템은 업로드된 이미지를 기반으로 화풍, 색감, 구도, 분위기 등의 스타일 특징을 분석합니다. 분석 과정에서는 OpenAI의 CLIP(ViT-B/32) 모델을 활용하여 이미지 임베딩(Vector Embedding)을 생성하고, 사전에 구축한 작가 데이터셋의 임베딩과 코사인 유사도(Cosine Similarity)를 계산하여 유사한 스타일의 작가를 추천합니다. 작가 데이터는 Safebooru API를 활용하여 수집하였으며, 각 작가별 이미지 데이터에 대해 임베딩을 생성하여 데이터베이스에 저장하였습니다. 사용자가 이미지를 업로드하면 생성된 임베딩과 저장된 작가 임베딩을 비교하여 유사도가 높은 작가를 선별하고, AI 분석 결과와 함께 추천 결과를 제공합니다. 또한 이미지 스타일 분석 결과를 기반으로 스타일 태그를 생성하고, 색상, 조명, 구도, 분위기 등의 요소를 카테고리별로 분류하여 시각적으로 제공합니다. 사용자는 분석 결과 페이지에서 주요 스타일 태그와 색상 팔레트를 확인할 수 있으며, AI가 생성한 분석 리포트를 통해 이미지의 특징을 상세하게 파악할 수 있습니다. 작가 탐색 기능에서는 등록된 작가 목록을 조회하고 작가별 대표 작품과 스타일 특징을 확인할 수 있습니다. 또한 T-SNE 차원 축소 기법을 활용하여 고차원 임베딩 데이터를 2차원 공간에 시각화한 스타일 맵을 제공하며, 사용자는 이를 통해 작가 간 스타일 유사도와 위치 관계를 직관적으로 탐색할 수 있습니다. 분석 이력 관리 기능을 통해 사용자는 과거에 수행한 이미지 분석 결과를 저장하고 다시 조회할 수 있습니다. 회원가입, 로그인, 비밀번호 재설정, 마이페이지 기능을 제공하여 개인별 분석 기록을 관리할 수 있도록 구성하였습니다. 프론트엔드는 React와 Vite 기반으로 개발하였으며, 사용자 인터페이스와 데이터 시각화를 담당합니다. 백엔드는 Spring Boot 기반 REST API 서버로 구성하여 회원 관리, 분석 요청 처리, 분석 결과 저장 및 조회 기능을 제공합니다. AI 분석 서버는 FastAPI와 Python 기반으로 구축하였으며, CLIP 모델을 활용한 이미지 임베딩 생성과 OpenAI API 기반 스타일 분석을 수행합니다. 데이터 저장소는 목적에 따라 분리하여 구성하였습니다. PostgreSQL은 회원 정보, 작가 정보, 태그 데이터 등 관계형 데이터를 저장하고, MongoDB는 이미지 분석 결과와 작가별 분석결과 등 비정형 데이터를 저장합니다. Redis는 JWT Refresh Token 관리와 인증 관련 임시 데이터를 저장하는 용도로 활용하였습니다. 인증 및 보안은 Spring Security와 JWT 기반으로 구현하였습니다. Access Token은 HttpOnly Cookie를 통해 관리하고, Refresh Token은 Redis에 저장하여 토큰 재발급을 처리하도록 구성하였습니다. 비밀번호는 BCrypt를 사용하여 암호화하였으며, HTTPS 환경을 적용하여 통신 보안성을 확보하였습니다. 배포 환경은 AWS EC2와 NAVER Cloud Object Storage를 활용하여 구축하였습니다. 이미지 파일은 Object Storage에 저장하고, Spring Boot 서버와 FastAPI 서버는 Docker 컨테이너 기반으로 운영하였습니다. Nginx를 리버스 프록시 서버로 구성하여 HTTPS 인증서를 적용하고, 프론트엔드와 백엔드 서비스를 통합적으로 제공하는 구조로 설계하였습니다.