팀번호 | 팀명 | 프로젝트 |
---|---|---|
01 | Optimus GPrime | Hurry Attention: GPU의 구조를 고려한 Transformer-based LLM 추론 효율성 향상 및 가속화 |
02 | 박김배 | DoongDoongMaster: 드럼 초보자의 연습을 도와주는 어쿠스틱 드럼 채점기 |
03 | Munchkins | 휠카(WheelCar) : 휠체어 운송 차량 공급의 증대를 위해 탑승자 수요 예측 모델 결과와 슬로프 대여 기능을 제공하는 운전자-탑승자 매칭 O2O 웹서비스 |
04 | 심가탕후루 | 같이:가치-사용자 성향을 반영한 매칭 알고리즘을 통한 문화 행사 동행 구하기 웹 앱 |
05 | A.A | 모락모락: 개인 맞춤형 헤어스타일을 추천받고 다양한 조건을 비교하여 본인에게 맞는 헤어 디자이너를 찾을 수 있도록 매칭해주는 서비스 |
06 | 너도 멸종되지 않게 조심해 | Inkspire : NLP와 생성형 AI 기술을 이용하여 사용자의 취향을 기반으로 한 게임 목표를 생성하여 플레이하는 1인용 텍스트 RPG |
07 | 루스 | Once : 카드 다보유자의 똑똑한 소비를 위해 결제 전 최대 혜택을 받을 수 있는 카드를 추천해 주는 AI 챗봇 서비스 |
08 | ECST | 동영상 강의 시청시 딥러닝기반 집중도 감지를 통한 학습효율증진 서비스 : 러닝메이트 |
09 | 강철몽둥이 | 캠플 CAMFL : 가격 분석부터 신뢰도 체크까지, AI 기반 교내 스마트 중고거래 플랫폼 |
10 | Qt | IT 취준생을 위한 CS 기술 구두 면접 대비 & 학습 플랫폼 |
11 | 로켓단 | 망하지망고 : 고소득 작물인 망고 초보 재배자를 위한 이미지 객체 검출 및 분류 기반 농작물 질병 식별 앱 서비스 |
12 | 팀팀탱탱후라이팬 | 만 10세 이상의 청소년들을 위한 컴퓨팅 사고력을 기르는 모바일 코딩 학습 게임 - 메르헨 코더 : 코딩으로 동화 세계를 구하라! |
13 | 스윗팡이크루 | Agent.I : Generative Agent를 적용한 NPC와의 논리 경쟁 시스템으로 반사회적 집단을 와해시키는 게임 |
14 | CoB | 피치파인더 : 부르기 쉬운 노래를 찾고 싶은 당신을 위한 사용자 음높이 기반 가요 필터링 서비스 |
15 | 감자도리 | 다시: 은퇴 후에도 경력을 살려 일할 수 있도록 업무 한 줄 소개를 기반으로 기업에게 시니어 전문가를 추천해주는 AI 매칭 인재풀 웹 사이트 |
16 | 결번 | 결번 |
17 | 출발드림팀 | AI 객체 인식과 프롬프트 엔지니어링을 활용해 맞춤형 건강 조언을 제공하는 과민대장증후군 관리 어플리케이션, BellyWelly |
18 | 앤트 | Prompirit: Prompt Editing AI Tool to Improve AI-Generative Work Using User Emotion |
19 | TMM | 캣치타임: 효율적인 시간 관리에 어려움을 겪는 2030세대를 위한 타이머 기반 모바일 시간 관리 게임 어플리케이션 |
20 | 쿠킹마마 | 쿡세이브: 고물가 시대에 식비 절감을 원하는 1인 가구에게 ‘냉장고 속 식재료 관리’, ‘레시피 추천’, ‘식비 절감 통계’를 제공하는 웹 앱 서비스 |
21 | AtoB | 자언어처리를 이용하여 감정분석과 솔루션을 제공해주는 일상 기록 플랫폼 |
22 | 쓰리박 | Fairy Tairy 동화같은 그림을 자동으로 생성해주는 AI 일기 서비스 |
23 | 새우타코 | Stroke-based Collaborative Drawing between Robot(AI) and Human |
24 | 망고젤리 | Grounding Dino를 활용한 객체 탐지 기반 CCTV 속 흉기 난동 상황 모니터링 SDK |
25 | S | 소요시간과 동선을 기반으로 한 스케줄 추천 및 일정 관리 앱 서비스 |
26 | ETT | DISLODGED : 내가 직접 생성한 '나만의 가상 보이스'로 고민에 대한 위로를 주고 받으며, 보이스 위로들을 모아 하나의 음악처럼 들려주는 감성 웹 서비스 |
27 | E모지 | MosaicNow : 공공장소 라이브 방송에서 타인의 초상권 보호를 위한 실시간 안면인식 커스텀 모자이크 스트리밍 서비스 |
28 | 달리리 | 속마음을 담은 일기 교환을 통해 현대인의 소외감 해소를 돕는 교환일기 웹 서비스 <비밀친구> |
29 | 츄라이 | 영어 회화 실력을 향상시키기 위해, 원하는 주제의 영어 기사를 선택하면, 해당 내용을 기반으로 적절한 질문과 반응을 생성하는 AI와 대화하는 음성 채팅 앱 |
30 | 일구어냄 | CATCHUP: AI 챗봇을 활용해 컴퓨터 공학과 학생에게 선수 과목 학습을 위한 맞춤형 자료를 자동 생성 해주는 웹서비스 |
31 | BCS | MedCoLearn - 자가수면검사 데이터를 활용한 연합학습 기반 수면 장애 위험도 파악 어플 |
32 | 머니캐쳐 | HoBHuB : 일상 속 활력 충전을 위해 취미를 찾는 사람들에게 개인의 성향 및 상황을 반영한 맞춤형 취미를 추천해주는 서비스 |
33 | Donuts | 공유니폼 : 야구 팬을 위한 사용자 기반 추천 유니폼 대여 앱 및 대여 자판기 |
34 | 고등어 | 일정 기반 예산 관리 서비스 '돈 워리(Be Happy)' - 일정에 따른 예산 분배 머신러닝 알고리즘으로 사회초년생의 돈 관리를 돕고, 과도한 소비는 사용량 줄이기 챌린지 등을 통해 경계하도록 하는 일정 리스트·가계부 통합 모바일 웹 서비스 |
35 | log | 영상 일기 플랫폼 log: NLP를 활용한 간편하고 생생한 일기 기록 |
36 | 레쏘 | Neverland: 현실에서 벗어나 과거를 추억하고 싶은 현대인들을 위해 음악, 영화, 패션 등의 레트로 콘텐츠를 추천 AI로 맞춤 제공하는 추억 회상 힐링 앱 서비스 |
37 | re:coding | 사용자와 자유로운 상호작용이 가능한 Gen AI 기반 스마트 스케줄링 웹 서비스 |
38 | 화이 | 스킨트리: 실패 없는 화장품 선택을 위한 머신러닝 기반 성분 맞춤형 화장품 추천 서비스 |
39 | 순간포착 | 객체 인식과 NLP를 활용한 객관·단답·서술식 시험지 채점 AI 소프트웨어 |
40 | 흰토끼 | 초등학교 고학년 수화 교육을 위한 모션인식 게임 |
41 | 초이배리 | MATHORY: 재미있는 프롬포트 생성 기반 스토리텔링형 초등학교 저학년 산수 교육 게임 |
42 | 왈라비 | DRIVE GUARDIAN : 경량화한 딥러닝 모델을 통해 운전자의 졸음 운전 및 운전 중 부주의를 방지하는 운전자 모니터링 앱 서비스 |
프로젝트명 / 부제 | Hurry Attention: GPU의 구조를 고려한 Transformer-based LLM 추론 효율성 향상 및 가속화 |
---|---|
작성일 | 2023년12월17일 |
팀번호 및 팀명 | 01. Optimus GPrime |
팀구성원들의 역할분담 | 황재은(2176427) 팀장, 관련 선행 연구 분석, 프로파일링, 성능 평가 실험 정은비(2173109) 팀원, 관련 선행 연구 분석, 백그라운드 서치, 성능 평가 실험 최이경(2276327) 팀원, 관련 선행 연구 분석, 라이브러리 및 프레임워크 조사, 성능 평가 실험 |
팀지도교수 | 윤명국 교수님 |
엘리베이터 스피치 문장 | 거대 언어 모델 (Large Language Model, 이하 LLM)의 수요가 증가함에 따라 추론 비용의 감소는 더욱 중요해지고 있다. LLM의 추론을 위해서는 다량의 GPU가 사용되는데, GPU의 구조를 고려한 LLM 최적화 기법은 널리 알려지지 않았다. 따라서 본 팀에서는 GPU의 구조를 고려한 LLM 최적화 방법을 제시하여 LLM의 추론을 가속하고, 이와 더불어 데이터 센터의 에너지 소모 절감에도 기여하고자 한다. |
문제의 정의 | ChatGPT[1]와 같은 LLM의 수요는 점차 증가하고 있다. LLM은 수억 개의 가중치를 사용함에 따라 긴 시간의 연산을 요구하며, 이러한 연산을 빠르게 처리하기 위해 다량의 GPU를 필요로 한다. 이러한 GPU 서버를 모아둔 데이터 센터에서는 LLM 수요가 증가함에 따라 많은 양의 에너지를 소모하고 있다[12]. 따라서 GPU을 LLM 추론에 최적화하여 추론 비용을 감소시킴으로써, GPU의 에너지 소모를 감소시키는 것이 매우 중요한 문제로 대두되고 있다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | [관련 연구] NVIDIA에서 LLM의 추론을 가속화하기 위한 라이브러리인 FasterTransformer[5]를 구현했다. FasterTransformer는 다양한 가속 기법을 제공하는데, KV Cache의 효율적인 사용을 위한 memory reservation을 대표적인 예로 들 수 있다. 기존의 LLM 추론 과정에서는, 하나의 토큰을 생성할 때마다 해당하는 KV Cache 공간을 할당하는 방식을 사용했다. 하지만, FasterTransformer는 일정 개수의 토큰에 대한 메모리 공간을 미리 reservation 함으로써, 기존의 on-demand 방식의 memory allocation으로 발생한 overhead를 감소시킨다. vLLM[13]은 이와 같은 memory allocation 방식의 한게를 극복하기 위해, paged attention을 기반으로 한 가속화 엔진을 제안했다. vLLM은 운영체제의 가상 메모리와 페이징 기법을 차용하여 새로운 attention algorithm을 제안했다. 이를 통해 불필요한 메모리 공간의 reservation을 줄이고, batch size를 효율적으로 증가시킴으로써 throughput을 향상시킬 수 있다. [한계점] 위와 같은 memory reservation 기법은 주로 LLM이 생성할 수 있는 최대 토큰 개수에 비례하는 메모리 공간을 미리 reservation 한다. 따라서, 경우에 따라 불필요한 메모리 공간까지 reservation을 하여 상당한 양의 메모리 낭비를 초래할 수 있다는 문제점이 있다[3]. 또한, 메모리의 사용량은 GPU가 한 번에 처리할 수 있는 request의 수를 제한하는 요소 중 하나이므로, 메모리 낭비는 결국 throughput 감소의 문제로 이어질 수 있다. |
제안내용 | vLLM이라는 LLM 가속화 엔진을 기반으로 KV Cache의 Prefetching과 Preeviction 기술을 구현함으로써, KV Cache를 더욱 효율적으로 사용하고 보다 더 빠른 LLM의 추론을 실현할 것이다. |
구현방법 | 성능 평가 및 데이터 접근 패턴 분석 등을 위해 NVIDIA에서 제공하는 Nsight Systems[9]와 Nsight Compute[10] 프로파일링 툴을 활용한다. 프레임워크로 PyTorch[6]를 선택하여 vLLM에서의 Prefetching 및 Preeviction 기법을 구현한다. 실험 환경으로는 NVIDIA GeForce RTX 4090 GPU 서버 1대, intel i9-12900K CPU 서버 1대, ubuntu 22.04 운영체제를 사용하여, LLM의 추론 성능을 평가한다. |
사용할 세부기술 | 사용 언어: CUDA, python, C++ 프레임워크: PyTorch[6] 오픈소스 라이브러리: cuBLAS[7], Huggingface Transformers[8], FasterTransformer[5] |
기대효과 및 의의 | KV Cache의 최적화를 통해 한정된 GPU의 메모리 공간을 효율적으로 활용함으로써, 같은 시간 안에 더 많은 request를 처리할 수 있다. 이로써 throughput이 증가하여, LLM의 추론 성능을 향상시킬 수 있다. 더불어 LLM의 폭발적인 수요로 데이터 센터 내의 GPU 사용량이 급격히 증가함에 따라, 데이터 센터의 전력 소모가 심각한 문제로 주목받고 있다. 뿐만 아니라 데이터 센터의 온도 조절을 위해 사용되는 냉각수 소모 또한 중요한 이슈로 다루어진다. 본 연구를 통해 LLM의 throughput을 증가시킴으로써 이와 같은 데이터 센터의 전력 및 냉각수 소모 문제 해결에 기여할 수 있을 것으로 기대된다. 이러한 기대효과를 통해 본 연구는 효율적인 GPU 자원 활용과 지속 가능한 기술 발전에 기여하며, LLM을 활용한 다양한 응용 분야에서의 성능 향상에도 긍정적인 영향을 미칠 것으로 보인다. |
기술적 성취/ 산출물 | LLM에서 사용하는 Transformer[1] 모델 구조에 관한 전반적인 지식을 습득하였다. Transformer를 활용한 inference (추론) 과정은 attention 연산으로 이루어져 있다. attention 연산은 Query * Key 으로 구한 attention score에 Value를 곱함으로써, Query에 해당하는 단어가 다른 단어들에 주목할 확률을 구하는 것이다. chatGPT를 예로 들었을 때, 우리가 prompt에 문장을 입력하여 request를 주면, GPT model은 해당 문장을 query로 사용하여 단어들 간의 attention score을 계산한 뒤 다음 단어를 예측한다. 예측된 단어는 다시 Query로 사용되고, 이러한 attention 연산을 반복함으로써 request에 대한 output 문장을 생성한다. LLM 중 하나인 LLaMA 7B[4]를 Nsight Systems[9] 및 Compute[10]를 통해 프로파일링 하여 Transformer의 연산 과정을 파악하고, 병목이 되는 부분을 확인하였다. KV Cache란, 가중치를 통해서 구한 Key, Value 값을 저장해두고 Query가 주어질 때 다시 계산을 하지 않고 저장된 캐시값을 사용하는 것으로 빠른 추론을 위해 고안된 방법이다. 하지만, 이는 GPU 메모리에서 많은 공간을 차지하기 때문에 batch size를 제한하게 되어 throughput의 증대를 방해한다. 이는 throughput 향상을 통해 latency 를 줄이는 GPU 구조에 적합하지 않을 가능성이 있다. 선행 연구 조사 중, 이러한 KV Cache를 효율적으로 사용하기 위한 Paged Attention을 제안한 vLLM[13]을 분석하였고, vLLM을 보완하기 위한 방법을 고안했다. 그 후 batch size 과 throughput 증가를 위해 CPU와 GPU 두 장치의 메모리 주소 공간을 사용하는 Unified Memory를 vLLM 에 도입하고자 시도하였으나, python 기반 라이브러리에 CUDA Unified Memory를 적용하는 것이 어렵다는 사실을 확인하였다. 11월에는 vLLM의 추가 실험을 통해 다른 한계점을 찾기 위해 노력했다. Preemption이 발생하는 경우, KV Cache 값을 구하는 두 가지 방법인 Recomputation과 Swapping에 대한 여부를 첫 번째 조작변인으로, KV Cache의 다양한 Block Size를 두 번째 조작변인으로 설정하여 throughput의 분석을 수행했다. 이 분석 결과를 기반으로 Swapping이 vLLM 성능의 병목이 될 것이라는 가설을 세우고, Preemption과 Preeviction을 활용하여 vLLM을 개선하는 방향을 본 프로젝트의 핵심 아이디어로 도출했다. |
데모 시나리오 | vLLM의 block size 및 preemption mode에 따른 vLLM 성능 차이를 분석하기 위해 진행한 GPU 서버에서의 추론 실험 진행 과정을 보인다. |
발표자료 | https://drive.google.com/file/d/1qdIBkeVHgEICr4LWjtzBtfmBTKnf3jMQ/view?usp=sharing |
기타 | [References] [1] Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., ... & Polosukhin, I. (2017). Attention is all you need. Advances in neural information processing systems, 30. [2] Brown, T., Mann, B., Ryder, N., Subbiah, M., Kaplan, J. D., Dhariwal, P., ... & Amodei, D. (2020). Language models are few-shot learners. Advances in neural information processing systems, 33, 1877-1901. [3] Yu, G. I., Jeong, J. S., Kim, G. W., Kim, S., & Chun, B. G. (2022). Orca: A distributed serving system for {Transformer-Based} generative models. In 16th USENIX Symposium on Operating Systems Design and Implementation (OSDI 22) (pp. 521-538). [4] Touvron, H., Lavril, T., Izacard, G., Martinet, X., Lachaux, M. A., Lacroix, T., ... & Lample, G. (2023). Llama: Open and efficient foundation language models. arXiv preprint arXiv:2302.13971. [5] https://github.com/NVIDIA/FasterTransformer [6] https://github.com/pytorch/pytorch [7] https://developer.nvidia.com/cublas [8] https://github.com/huggingface/transformers [9] https://developer.nvidia.com/nsight-systems [10] https://developer.nvidia.com/nsight-compute [11] https://docs.nvidia.com/cuda/cuda-c-programming-guide/ [12] https://cse.engin.umich.edu/stories/power-hungry-ai-researchers-evaluate-energy-consumption-across-models [13] Kwon, W., Li, Z., Zhuang, S., Sheng, Y., Zheng, L., Yu, C. H., ... & Stoica, I. (2023). Efficient memory management for large language model serving with pagedattention. arXiv preprint arXiv:2309.06180. |
프로젝트명 / 부제 | DoongDoongMaster: 드럼 초보자의 연습을 도와주는 어쿠스틱 드럼 채점기 |
---|---|
작성일 | 2023년12월15일 |
팀번호 및 팀명 | 02. 박김배 |
팀구성원들의 역할분담 | 배수아(2071027/팀장) - AI: Optical Music Recognition (Lead) - AI: Automatic Drum Transcription - 모바일 어플리케이션 개발 - 서버 개발 김재서(2071015) - AI: Automatic Drum Transcription (Lead) - UI/UX 디자인 - 모바일 어플리케이션 개발 - AI: Optical Music Recognition 박지영(2076168) - 시스템 아키텍쳐 설계 - 모바일 어플리케이션 개발 (Lead) - 서버 개발 - AI: Optical Music Recognition - AI: Automatic Drum Transcription |
팀지도교수 | 김명 교수님 |
엘리베이터 스피치 문장 | 박자감 및 자기확신이 부족한 초보 드러머를 위해, 악보 프롬프트와 어쿠스틱 드럼 채점 기능을 갖춘 어플리케이션을 통해서 초보 드러머의 연습을 돕고자 한다. |
문제의 정의 | 초보 드러머의 경우, 악보 해석 능력이 부족해서 박자 자체를 이해하지 못하는 경우도 있고, 이해하더라도 가사가 없는 부분에서 박자를 놓치기 쉽다. 또한, 속도가 빠르고 박자가 복잡한 경우에도 어려움을 겪는다. 자신의 연주가 정확한지, 틀렸다면 정확히 어떤 부분이 어떻게 틀렸는지를 초보자가 판단하기 어렵기 때문에 이를 해결하고자 한다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | Cantabile: 실제 피아노 소리를 인식해, 피드백을 제공하고 채점해주는 등 피아노 연습을 도와주는 앱 - 지원 악기: 어쿠스틱 피아노, 디지털 피아노 등 모든 피아노 - 실시간으로 악기 연주 피드백 제공 및 연주 완료 후 채점을 AI를 통해 제공 - “피드백 모드”, “연주 모드”, “자동 음악 연주” 모드가 있어 다양하게 연습 가능 - 앱 내 등록된 곡들만 연주 가능하다는 한계 존재 Melodics: MIDI 기기와 연동하여 곡을 연습해 볼 수 있는 Desktop App - 지원 악기: 키보드, 핑거 드럼, 전자 드럼 등의 MIDI 악기 - 실시간으로 연주가 기록되는 형태로 피드백 제공 - 연주가 끝난 후, 종합 점수 제공 - 게이미피케이션을 통해 지속적 연습에 대한 동기 부여 Yamaha 전자드럼: 전자드럼에 내장되어 연습을 돕는 소프트웨어 - 연주가 끝난 후, 각 악기 별 점수 제공 - 장르 별로 준비된 곡에 대해 강습 기능 존재 - 스트로크 연습 가능 Real Drum Online : 앱/웹으로 드럼 연습 혹은 연주 - “수업”모드에서 서비스가 제공하는 드럼 연주를 사용자가 따라 연주한 후, 별점 및 점수 형태로 피드백 제공 - “루프”모드에서 원하는 장르 및 bpm인 곡을 선택 후, 선택한 곡의 박자에 맞게 드럼 연주 - 메트로놈 기능 제공(프리미엄) - 앱 내 등록된 곡들만 연주 가능하다는 한계 존재 |
제안내용 | 1. 사용자 연주 전사: 사용자의 연주를 녹음한 후, Automatic Drum Transcription AI를 통해 전사한다. 2. 사용자 연주 채점: 사전에 입력받은 악보 데이터와 사용자의 연주 기록을 비교하여 소리 및 박자 정확도를 기준으로 채점한다. |
구현방법 | 1. 드럼 전사 AI (Automatic Drum Transcription) : 시스템의 주요 기능으로, 사용자가 입력한 소리를 전사하여 사용자의 연주를 인식하는데 사용됨. 1-1. Segment & Classify 1-1-1. Onset Detect [박자 전사] 1-1-2. Feature extraction 1-1-3. Classification(CNN) [악기 전사] 1-2. Separate & Detect 1-2-1. Feature extraction 1-2-2. RNN [악기 전사] 1-2-3. Peak Detection [박자 전사] 2. 악보 인식 AI (Optical Music Recognition) : 사용자에게 악보를 사진으로 입력 받기 위함으로, 사용자의 연주와 비교하기 위한 악보 입력 방식 ⇒ 채점을 하기 위한 기술 ➔ 사용 기술: OpenCV 4.5, CNN, RNN 3. 아키텍처 클라우드: AWS EC2(Ubuntu 22.04), S3 / firebase 프레임워크: flutter, FastAPI AI: librosa, Tensorflow, essentia etc: redis |
사용할 세부기술 | flutter 3.13 FastAPI anaconda librosa 0.10 Tensorflow 2.14 essentia 2.1 OpenCV 4.5 |
기대효과 및 의의 | 악보를 기반으로 객관적인 피드백을 제공함으로써 사용자는 자신의 드럼 연주 능력에 따라 개선이 필요한 부분을 시각적으로 볼 수 있어, 보다 구체적인 연습 목표를 설정할 수 있다. 자신의 드럼 연주에 대해 수치화된 점수를 받음으로써 사용자는 연주에 재미를 느낄 수 있다. |
기술적 성취/ 산출물 | 1. PoC: ADT(Segment & Classify) 파이프라인 구축 - input: 사용자의 드럼 연주 녹음 파일 (wav, mp3, m4a) - output: 연주에 대한 박자 및 악기 컴포넌트 정보 -> 사용자의 연주를 전사할 수 있음을 확인하였으므로 사전에 입력된 정답 악보가 있다면 비교 채점이 가능한 상황임 2. 기획 구체화 - 세부 기능 및 구현 범위 확정 - 모바일 애플리케이션에 대한 wire-frame 3. 테스트 환경 구축 - 모바일 애플리케이션: 사용자 연주 녹음받을 수 있는 환경 구축 - 모델 서버 구축: 애플리케이션과 연동 완료 |
데모 시나리오 | 1. 플랫폼: 모바일 애플리케이션(Flutter) 2. 테스트 환경 - client: iOS (iPad) - server: windows WSL환경에서 Flask와 ngrok를 활용한 로컬 간이 서버 3. 데모 영상 시나리오: 드럼 연습실에서 iPad 애플리케이션으로 악보 프롬프트를 보며 드럼을 연주한다. 연주가 끝나면 간이 서버에 연주 녹음 파일을 전송하여 전사 결과를 받아서 화면에 보여줌 |
발표자료 | 바로가기 |
기타 |
프로젝트명 / 부제 | 휠카(WheelCar) : 휠체어 운송 차량 공급의 증대를 위해 탑승자 수요 예측 모델 결과와 슬로프 대여 기능을 제공하는 운전자-탑승자 매칭 O2O 웹서비스 |
---|---|
작성일 | 2023.12.15 |
팀번호 및 팀명 | 3. Munchkins |
팀구성원들의 역할분담 | 김현수(2176113) 팀장, 프론트엔드 React 와 Next.js 이용한 SPA 웹 애플리케이션 김경민(2062008) 팀원, AWS, DB, Spring Boot & Flask Framework 등 백엔드 한현경(2176410) 팀원, PyTorch 기반 Deep Learning 알고리즘 |
팀지도교수 | 심재형 교수님 |
엘리베이터 스피치 문장 | Wheel Car는, 공급과 수요가 불균형한 휠체어 이동수단과 휠체어 사용자간의 상황에서 운전자에게 탑승자 수요 예측과 슬로프 대여 기능을 통해 업계에 유입될 수 있는 편의성을 제공함으로써 민간 휠체어 운송 차량 공급 증대를 목표로 하는 운전자-탑승자 매칭 O2O 웹서비스 입니다. |
문제의 정의 | [휠체어 사용자들이 사용할 수 있는 교통 수단에는 무엇이 있을까?] 가장 먼저 떠오르는 방법은 대중교통이다. 그러나 최근 전국장애인차별철폐연대의 지하철 출근 시위에서 볼 수 있듯, 우리나라 대중교통은 휠체어 사용자들이 사용하기에 불편함이 많다. 예를 들어, 고속터미널역에서 7호선으로 환승하는 구간에는 엘리베이터가 없어 계단 옆에 있는 전동 리프트를 타고 이동해야 하고, 2호선 대림역에서 7호선으로 환승하는 구간에는 역 내에 엘리베이터가 없어 역 밖으로 나간 뒤 엘레베이터가 있는 7호선 출입구를 찾아 환승할 수 밖에 없다. 상황이 이렇다 보니 휠체어 사용자들은 자연스럽게 차를 이용한 이동을 가장 편하게 여기게 된다. [수요를 쫓아가지 못하는 공급] 문제는, 수요에 비해 휠체어 운송 차량의 공급이 턱없이 부족하다는 점이다. 휠체어 운송 차량의 공급 주체는 크게 공공과 민간으로 나누어 볼 수 있는데, 공공의 경우 시,도 별 장애인 콜택시와 경기도 광명시에서 제공하는 ‘희망카’ 서비스가 가장 대표적이고, 민간으로는 일반 차량을 개조한 휠체어 이동 전문 차량을 제공하는 ‘파파’ 서비스가 대표적이다. 먼저 공공에서 제공하는 서비스는 1번과 2번 기사에서 볼 수 있듯, 수요에 비해 공급이 턱없이 부족한 상황이다. 시도별 장애인 콜택시는 한 시간을 넘게 기다려야 탈 수 있을 때도 있고, 희망카는 사용을 위해선 며칠 전부터 예약을 해야만 한다. 이로 인해 휠체어 사용자들은 갑자기 이동할 일이 생겼을 때 해당 서비스들을 사용할 수 없게 되는데, 이는 이동권의 핵심인 ‘예측 가능성’을 침해하는 결과이다. 이렇게 공급이 수요를 따라가지 못하는 상황에서 공공 기관에서 쉽사리 공급을 늘릴 수 없는 데는 이유가 있다. 1번 기사에서 볼 수 있듯, 가장 큰 이유는 예산이고, 두 번째 이유는 1번 기사와 3번 기사에서 볼 수 있듯, 휠체어 운송 이동 차량 운전자에게 적절한 보상이 돌아가지 않는다는 점이다. 이 두 가지 문제는 “저부담 - 저복지” 라는 시스템에서 기인한 것으로, 적은 예산으로 최대한 많은 사람들이 복지를 누릴 수 있도록 하다보니 복지를 제공하는 사람들에 대한 보상이 적절히 이루어지지 않으면서 복지의 질이 떨어지는 문제를 낳았다. 이러한 현실적인 문제로, 공공 기관에서 장애인 운송 차량의 증차를 기대하기는 쉽지 않다. 실제로 광명시 희망카는 4번 기사에서 볼 수 있듯 수 년 간 몇 십 대 정도의 증차에 그쳤다. 이는 장애인 운송 차량을 민간에서 확대할 필요가 있음을 시사한다. 한편 현재 민간에서는 “고부담 - 고복지” 시스템으로 일반 차량을 개조한, 휠체어 운송 차량을 제공하는 시도를 하고 있다. 그러나 일반 차량을 개조한 휠체어 운송 차량은 가격이 비싸 충분한 수를 확보하기 힘들고, 모든 운전자를 해당 회사에서 관리하기에 그 수가 제한적일 수밖에 없다는 문제가 있다. 이에 우리 서비스 ‘휠카’는 “중부담 - 중복지” 시스템으로 민간에서도 장애인 운송 차량의 공급을 충분히 확보할 수 있는, 기존에 없던 새로운 방식을 제안하고자 한다. 1) https://www.beminor.com/news/articleView.html?idxno=24191 2) https://www.ohmynews.com/NWS_Web/View/at_pg.aspx?CNTN_CD=A0002080181 3) http://newsingm.co.kr/news/article.html?no=2856 4) https://www.sisafact.kr/news/articleView.html?idxno=2910 |
관련연구/서비스/ 시스템조사결과 및 한계점 | [시, 도 별 장애인 콜택시] 서비스 소개 : 시, 도별 지자체에서 제공하는 장애인을 위한 콜택시 대상 : 보행상 장애가 있는 장애정도가 심한(기존 1 운행 지역 : 서울시 전역, 서울시 인접 12개 市 및 인천국제공항 강점 : 5km까지 (기본요금) 1,500원이라는 저렴한 비용으로 이용할 수 있다. 한계점 : 공급이 부족해 대기 시간이 길어지고, (최대 1시간까지 기다려야할 수 있고, 한 시간을 초과할 경우 콜센터에 직접 연락해 차량을 요청할 수 있다.) 이용할 수 있는 대상에 제한이 있으며 이동 거리가 서울과 인접 도시들에 제한되는 한계가 있다. [파파] 서비스 소개 : 민간에서 운영하는 프리미엄 동행 서비스 대상 : 모든 사람 운행 지역 : 모든 지역 강점 : 언제 어디서나 손쉽게 휠체어 운송 전용 차량을 이용할 수 있다. 한계점 : 굳이 필요하지 않은, 에스코트나 전문 경력의 운전자같은 고급 서비스로 인해 높은 가격(30분에 5만원, 15km에 5만원)을 부담해야 한다. 또 이용할 수 있는 차량의 수가 최대 100대로 제한되어 있어 충분한 공급을 제공한다고 보기에 어렵다. |
제안내용 | 1. 운전자-탑승자 매칭 기능 - 동 별 탑승자 수요 지도 (운전자 회원 전용 기능):동 이름 검색 기능, 동 별 탑승자 수요 정보 제공(시간대 별 탑승자 수요량을 막대그래프 뷰로 제공) - 탑승자 찾기 (운전자 회원 전용 기능) : 동 별 탑승자 수요 지도에서 매칭을 시작할 동을 선택, 매칭 대기 중에 운전자 호출이 들어오면 해당 호출에 대한 정보 표시(출발지/도착지 정보 및 경로), 호출이 들어온 탑승자 수락 또는 거절 가능 - 운전자 호출(탑승자 회원 전용 기능) : 위치 검색을 통한 출발/도착지 설정(출발/도착지가 모두 설정되면 예상 경로 확인 가능, 경로 확인 후 운전자 선택 화면으로 이동), 선택한 출발/도착지에 따라 선택 가능한 운전자 정보 목록 확인(기사명, 시간 별 가격, 운전자 출발 위치, 차종), 운전자 선택 후 운전자 측에서 매칭을 수락하면 운행 상황 화면으로 이동 - 운행 상황 (운전자/탑승자 공통 기능) : 운전자/탑승자 회원 모두 매칭이 완료되면 출발/도착지에 따른 경로 정보와 실시간 차량 위치를 지도 뷰를 통해 확인 가능 2. 슬로프 대여 기능 - 슬로프 대여 예약 현황 및 대여 기록 조회(기록 정보 : 대여 센터 이름 및 대여 날짜), 동 이름 검색을 통한 대여 센터 위치 조회, 대여 센터 별 재고 수량, 운영 여부 조회, 대여 센터 별 대여 예약 및 예약 취소 3. 운전자/탑승자 마이페이지 - 운전자 또는 탑승자 신분에 따라 프로필 조회 및 수정, 운전자-탑승자 매칭 기록 조회(운전자 회원은 출발/도착 위치, 운행 시간 및 날짜, 금액을 확인, 탑승자 회원은 출발/도착 위치, 운행 시간 및 날짜, 금액, 차량 번호, 기사명 확인) 4. 회원가입 ∙ 로그인 - 소셜 로그인 또는 일반 회원가입(소셜 로그인 종류 : 네이버, 카카오, 구글), 운전자 회원가입 시 세부 정보 입력(세부 정보 : 차량번호, 차종 운행 범위(출발/도착지 기준), 시간 당 가격) |
구현방법 | #1 운전자-탑승자 매칭 기능 [FE] - Geolocation API와 kakao map api 를 이용해 지도상 사용자의 현재 위치와 poly line 을 표시할 예정 [BE] - 오픈소스를 사용해 동 정보(이름) - 좌표 범위 DB 구축 - kakao mobility의 길찾기 알고리즘을 통해 출발 - 도착지 경로 조회 - JPA와 QueryDSL를 사용한 검색(동이름, 출발/도착지) 구축 [ML] - 동 별 탑승자 수요 지도 : LSTM 시계열 예측 모델을 활용해 특정 날짜, 지역에 대한 휠체어 콜택시 수요를 예측함. 서비스 내 데이터가 축적됨에 따라 모델을 업데이트 할 경우, 학습에 사용할 데이터의 가중치 부여 알고리즘 구현 예정 #2 슬로프 대여 기능 [FE] - Kakao map api 를 이용해 지도 상에 대여 센터 위치를 표시할 예정 - useDefferedValue 훅을 이용해 검색 기능 렌더링 최적화 진행 예정 [BE] - JPA와 QueryDSL를 사용한 검색(동이름, 출발/도착지) 구축 - 예약 시 선착순 순서를 고려한 분산락 사용 예정 #3 기타 (마이페이지 ∙ 회원가입 ∙ 로그인) [FE] - JWT 토큰과 로컬 스토리지를 이용해 로그인 및 회원가입 기능 구현 예정 [BE] - JWT 토큰과 OAuth, Spring Security를 사용한 로그인, 회원가입 개발 예정 |
사용할 세부기술 | [FE] - Language : Typescript - Library : React.js 18 - Framework : Next.js 14 - 전역 상태 관리 : Recoil, Context API - 써드 파티 api : geolocation api, 카카오맵 api [BE] - Language : Java, Python - Framework : Spring Boot 3 / Flask - Spring Data JPA, QueryDSL, Spring Security - Open API : Google Map API, Oauth(Kakao, Naver, Google) - Cloud : AWS (EC2 - Ubuntu 22.04, RDS, S3, Route53, ELB, etc) - DB : PostgreSQL, Redis - CI/CD : Gihub Actions, Docker, docker-compose [ML] -Language: Python -Library: Statsmodels, cudf, sklearn -Framework: PyTorch |
기대효과 및 의의 | #1 운전자의 수익성과 편리성 보장 - 시계열 예측 모델을 통해 지역별, 시간별 콜택시 수요 예측 결과를 제공해 운전자가 수요가 많은 지역에서 대기를 할 수 있도록 하여, 콜택시를 운영했지만 손님이 없을 경우를 최소화하고 시간 대비 수익을 극대화할 수 있도록 돕는다. - 개조되지 않은 형태의 일반 대형 차량도 휠체어 운송 차량의 역할을 할 수 있도록 보조기구(슬로프) 대여 센터의 기구 보유 수량 확인 및 대여 예약이 가능하도록 한다. #2 탑승자에게 손쉽고 빠른 차량 제공 - 탑승 수요 대비 기존의 차량 공급 수단이 충분하지 않았기 때문에 민간인에게도 콜택시를 운영할 수 있게 함으로써 고려할 수 있는 또 하나의 선택지를 제공한다. #3 노인, 장애인뿐만 아니라 휠체어 사용자 모두를 포용 - 휠체어 사용자 중 공식적인 장애인 신분이 아닌 사용자도 이용할 수 있는 서비스를 제공한다. |
기술적 성취/ 산출물 | 1. 지도교수 및 멘토 선정 - 이메일을 통해 자문을 요청드림 2. 아이디에이션 - '날씨 경로 추천 및 지도 서비스', '휠체어 콜 택시 서비스'등 여러 아이디어를 도출해, 그 중 가장 실현 가능성이 높고, 사회적 의의가 흥미롭다고 생각되는 주제를 선정함 3. 주제 및 기능 구체화 - 휠체어 운송 차량 서비스를 이용해 본 사용자와의 인터뷰를 통해 어떤 부분에 문제를 겪고 있는지 구체화 함 - 인터뷰 내용을 바탕으로 주제에 따른 세부 기능을 정리함 (기능 명세 작성) 4. 기획 멘토링 - 줌, 구글밋등의 온라인 회의 서비스를 통해 자문을 구함 - 지도 교수님 및 멘토님과의 3회에 결친 면담을 통해 기획에 대한 자문을 얻음 5. 데이터셋 선정 - 서울 열린 데이터 광장에서 제공하는 '서울시 장애인 콜 데이터셋'을 사용하기로 결정함 6. 시스템 아키텍쳐 설계 7. 와이어프레임 설계 8. 공모전 출품 - 교내에서 열린 'SW창업경진대회'에 프로젝트를 출품했음 |
데모 시나리오 | 시간을 변수로 사용해 콜 요청 수를 예측하는 것이 우리 서비스의 핵심 기술 중 하나이므로, 이를 어떻게 해결하면 좋을지 고민했다. 시계열 데이터 분석 모델을 사용하면 과거 데이터의 패턴을 분석하여 미래의 값을 예측할 수 있겠다는 생각이 들었다. 시계열 분석을 하려면 먼저 사용하는 데이터의 패턴이 지속되는 ‘데이터의 안정성’이 가정되어야 한다. 따라서 ACF 그래프와 ADF 검정을 수행해 장애인콜시스템 데이터셋의 정상성을 확인했다. 그리고 난 후 대표적인 단일 시계열 예측 모델인 ARIMA를 사용해 시간에 따른 콜 수를 예측해봤다. 지금 단계에서는 단일 변수 예측 모델로 데모를 하지만, 앞으로 feature engineering 과정 및 여러 가지 다변량 시계열 예측 모델의 성능을 비교해가며 서비스에 가장 좋은 성과를 내는 모델을 만들어낼 예정이다. |
발표자료 | https://drive.google.com/file/d/1hleV_Ch-gHizcFnQ5lAE6wt0-7hHi-qS/view?usp=sharing |
기타 |
프로젝트명 / 부제 | 같이:가치-사용자 성향을 반영한 매칭 알고리즘을 통한 문화 행사 동행 구하기 웹 앱 |
---|---|
작성일 | 2023-12-15 |
팀번호 및 팀명 | 4. 심가탕후루 |
팀구성원들의 역할분담 | 이승민(2076308) 팀장, 백엔드 신단아(2144015) 팀원, 프론트엔드 조윤아(2171047) 팀원, 백엔드 |
팀지도교수 | 심재형 교수님 |
엘리베이터 스피치 문장 | 트위터나 에브리타임 같은 온라인에서 문화 행사 동행을 구하는 경우, 직접 만나기 전까지는 상대방의 성향을 파악하기 어렵습니다. 동행 상대와 실제로 만난 후에는 성향 차이로 인해 불편함을 느끼고, 동행을 구한 것을 후회하기도 합니다. 저희 같이는 이러한 기존 방식의 문제점을 극복하기 위해 성향 유사도 기반 매칭 알고리즘을 제공하여 사용자들이 자신의 성향과 꼭 맞는 동행을 쉽고 빠르게 찾을 수 있도록 하는 문화 행사 동행 구하기 웹 앱입니다. |
문제의 정의 | 1. 동행 구하기 서비스의 부재 - 현재 시장에 동행 구하기를 위한 서비스가 부재하거나, 혹은 사용자들이 편하게 사용할 만큼 편리하지 않아 사용자들이 트위터나 네이버 카페, 에브리타임, 당근 등 다른 커뮤니티나 SNS를 사용하여 동행을 구해야 한다는 문제점이 있다. 2. 동행과의 성향 차이로 인한 불편함 - 기존처럼 커뮤니티나 SNS를 통해 동행을 구하는 경우, 상대방의 성향에 대한 풍부한 이해를 하기 어렵기 때문에 실제로 동행 상대를 만난 후 성향이 맞지 않아 생기는 불편함을 느끼는 경우가 흔하다. 3. 여러 플랫폼에 분산되어 부족한 정보 - 동행을 구하는 사용자들이 여러 서비스에 분산되어 존재하기 때문에 사용자가 적은 서비스의 경우, 정보의 양이 적어 사용자는 동행을 구하는 데 불편함을 겪을 수 밖에 없다. 문토 같은 유사 서비스의 경우 파티와 같은 개인 친목 모임은 많으나 문화 생활을 같이 보러 갈 동행인을 구하는 모임은 현저히 적다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 관련 서비스 : 문토 - 소모임, 스터디, 인증, 동네친구, 동행까지 다양한 분야에서 다양한 목적의 일회성 정기적 모임을 할 수 있는 모바일 앱 강점 : 문화생활 동행 구히기를 포함한 다양한 분야의 서비스가 있다. 유저 관리를 위해 매너 온도 및 후기 시스템이 있다. 약점 : 다양한 서비스가 있지만 친목 모임에 치중되어 있어 문화생활 동행을 구하는 사용자가 적다. 만나기 전에 유저의 성별, 나이를 명확히 인증할 수 없고 후기 시스템을 악용하여 악의적인 후기를 남길 수도 있다. |
제안내용 | 1. 사용자의 성향을 반영한 매칭 알고리즘을 통한 자동 매칭 - '내가 설정한 나의 성향', '이전 동행 상대가 평가한 나의 성향', '내가 원하는 상대방의 성향', '그 동안의 매칭 기록' 등 다양한 척도를 반영하여 사용자의 성향에 가장 적합한 동행 상대를 자동적으로 매칭해준다. 2. 광학 문자 인식을 이용한 티켓북 기능 |
구현방법 | 1. 사용자의 성향에 맞추어 동행을 매칭해준다. 매칭 방식은 선호하는 동행의 성향을 키워드 형태로 수집한 후, scikit-learn의 TfidfVectorizer를 통해 측정된 유사도를 기반으로 이루어지는데, 사용자의 이전 매칭 기록이 가산점 요인이 되고, 사용자가 선호하지 않는 성향 키워드와의 유사도는 감점 요소가 된다. 이 모든 요소들을 합산하여 점수를 낸 후, 점수가 높은 10명 가량의 다른 유저들을 추천해준다. 2. openCV와 EasyOCR을 이용해 광학 문자 인식으로 텍스트 정보를 추출하여 모바일 티켓 콜렉트북 기능을 제공한다. |
사용할 세부기술 | React Node.js Expree.js MySQL MongoDB Firebase Python scikit-learn OpenCV EasyOCR Selenium |
기대효과 및 의의 | 기존의 방식과 동일하게 인터넷 상에서 동행을 구하지만, 상대방의 성향에 대한 풍부한 정보를 제공하고, 사용자와 얼마나 잘 맞는지에 대한 정보를 제공하여 문화 생활에서의 동행과의 성향 차이로 인한 불편함을 해소해준다. |
기술적 성취/ 산출물 | 주제 선정, 교수님 면담, 멘토링 1. 사용자 조사 - 동행 구하기에 대한 사용자들의 요구 사항을 면밀히 파악하기 위하여 사용자 조사를 진행하였다. 조사는 '콘서트 동행'이라는 키워드 바탕으로 더쿠, 인스티즈 등 타겟 사용자들이 다수 분포하고 있는 커뮤니티의 댓글을 분석하는 방식으로 이루어졌다. 사용자 조사를 통해 사용자들이 '자신의 성향에 맞는 동행을 찾는 것'에 대한 요구가 크다는 인사이트를 찾게 되었다. 2. 프로젝트 방향성 재정의 - 사용자 조사에서 나온 인사이트를 바탕으로 프로젝트의 방향성을 조정하였다. 기존에는 '신뢰할 수 있는 동행 구하기 모바일 앱'이라는 제목처럼 동행 구하기에 있어서 신뢰할 수 있는 상대를 구하는 것에 초점을 두었었다면, 사용자 조사에서 나왔던 인사이트를 반영하여 '사용자의 성향에 맞는 동행을 구해주는 것'에 초점을 두는 것으로 프로젝트의 방향성을 수정하였다. 3. 멘토링 마무리 - 멘토링을 통해 현재 계획한 프로젝트에서 더 추가하면 좋을 부분들을 정하였다. 4. 기능 재정의 - 중간 발표 피드백과 프로젝트 방향 수정, 멘토링 내용을 반영하여 구체적으로 기능을 정의하였다. 5. 12월 1일 데모 준비 - 12월 1일 데모 발표를 위해 데모 제작 계획을 수립하고 역할을 분배하였다. 동행 매칭 기능과 데이터 가공 기능 구현, 기능 구현을 위한 학습 |
데모 시나리오 | 어느 웹 브라우저에서나 사용이 가능한 웹 앱 형태로 데모 |
발표자료 | https://drive.google.com/file/d/1qUY0tHLuZWzL0-8pOQYGqziXbmzVaA0a/view?usp=drive_link |
기타 |
프로젝트명 / 부제 | 모락모락: 개인 맞춤형 헤어스타일을 추천받고 다양한 조건을 비교하여 본인에게 맞는 헤어 디자이너를 찾을 수 있도록 매칭해주는 서비스 |
---|---|
작성일 | 2023-12-08 00:14:51 |
팀번호 및 팀명 | 5. A.A |
팀구성원들의 역할분담 | 김지원(2176100) 팀장, 백엔드 AWS Ubuntu 배포, MySQL 관리 등 오예린(2176218) 팀원, 프론트 React 개발, UX/UI 디자인 등 황서정(2076456) 팀원, 백엔드 Spring API 개발 등 cf. AI는 같이 작업함 |
팀지도교수 | 김명 |
엘리베이터 스피치 문장 | 저희 서비스에서 일반 유저들은 본인의 얼굴형에 따른 best & worst 헤어스타일을 찾을 수 있고 헤어디자이너와의 매칭까지 하나의 로직 안에서 경험해볼 수 있으며, 헤어디자이너들에게는 개인의 작업물을 모아 자신을 홍보 및 브랜딩 할 수 있는 기회를 제공합니다. |
문제의 정의 | 1. 개성 욕구 미충족 2. 헤어 디자이너 개인 홍보의 장이 작음 |
관련연구/서비스/ 시스템조사결과 및 한계점 | 1. 미러로이드: 헤어샵 스마트 미러를 통해 시스템을 사용으로써 실제 어울리는 헤어스타일링을 볼 수 있지만, 설치 비용이 부담되고 개인적으로 소유하기 어렵다는 한계가 있다. 2. 헤어핏: 모바일로 가상 헤어스타일링을 적용해볼 수 있으며 미용실 추천 및 혜택을 받을 수 있지만, 부자연스러운 헤어 이미지와 광고를 거르기 어렵다는 단점이 있다. |
제안내용 | 1. 헤어스타일링 추천 2. 추천에 따른 디자이너 매칭 3. 헤어 디자이너 포트폴리오화 |
구현방법 | 얼굴 이미지에서 얼굴의 주요 특징(눈, 코, 입술, 턱선 등)을 감지하는 face landmarks detection 모델을 사용하여 얼굴 이미지에서 특징점을 식별하고, 이러한 지점을 제공받는다. 얼굴형을 분석하기 위해 Face Shape Dataset을 사용하여 다양한 얼굴형을 나타내는 이미지와 해당 얼굴형에 대한 라벨 또는 설명을 제공받는다. 얼굴 특징점을 Face Shape Dataset의 이미지에 매핑한 후, 얼굴형을 분석한다. 사용자의 얼굴에 맞는 여러 헤어 스타일 사진을 생성하기 위해 StarGAN-v2를 사용하고, 해당 모델에 '동양적인' 헤어스타일 이미지 데이터를 seeprettyface에서 확보하여 앞머리 유무, 헤어 스타일에 따라 라벨링 한 후, input으로 넣는다. SEAN을 사용해서 face-parsing.Pytorch에서 제공하는 pretrained 모델을 활용하여 segmentation map을 구한 것을 기반으로 헤어스타일 외 변화(메이크업 등)를 보정 및 제거한다. 이렇게 얻은 최종 이미지(best & worst) 여러장을 사용자에게 전달한다. 위 모든 로직을 EC2에 docker 이미지로 저장하여 구축한다. |
사용할 세부기술 | Spring MySQL AWS Docker Git action React Google Colab Flask Kaggle |
기대효과 및 의의 | 1. 개성에 맞는 헤어스타일링 가능 2. 헤어 디자이너 비교를 통한 합리적인 결정(디자인,날짜,거리) 가능 3. 헤어 디자이너의 포트폴리오화를 통한 커리어 정리 |
기술적 성취/ 산출물 | 배포 아키텍처 성립 주제 및 기능 정하기 교수상담 및 멘토링 진행 시장 분석 기능 확정 세부 기능 확정 및 프로토타입 개발 기술블로그 생성 및 작성 |
데모 시나리오 | colab을 통한 face landmark 적용과 얼굴형 분석 결과, starGAN v2를 이용한 얼굴 합성 결과를 보여주고 전체적인 플로우를 보여줌으로써, 프로젝트 전반에 대한 이해를 돕는다. |
발표자료 | https://drive.google.com/file/d/11k9hCoEFv16Q8NIx2SDfY4LpsJ4RKv_o/view?usp=sharing |
기타 |
프로젝트명 / 부제 | Inkspire : NLP와 생성형 AI 기술을 이용하여 사용자의 취향을 기반으로 한 게임 목표를 생성하여 플레이하는 1인용 텍스트 RPG |
---|---|
작성일 | 2023-12-08 16:30:00 |
팀번호 및 팀명 | 06. 너도 멸종되지 않게 조심해 |
팀구성원들의 역할분담 | 이가빈(2176240) 팀장, 서비스 기획 및 총괄, 클라이언트 Unity, 자연어처리 AI 모델 개발 오수현(1928019) 팀원, 백엔드 서버 구축 (Django API 설계, AWS 서버 배포), 자연어처리 AI 모델 개발 이소민(2071035) 팀원, 클라이언트 Unity, 자연어처리 AI 모델 개발 |
팀지도교수 | 박상수 교수님 |
엘리베이터 스피치 문장 | 내가 원하는 나만의 스토리 게임 Inkspire, inspired by you. Inkspire는 사용자에게 풍부한 맞춤형 게임 경험을 제공하는 어플리케이션입니다. 사용자가 선택한 스크립트 배경과 장르, 게임을 진행하며 주어지는 선택지에 따라 각자 다른 형태와 내용의 스크립트가 생성되어 사용자는 다양하고 흥미로운 게임 세계를 탐험할 수 있습니다. 뿐만 아니라 시나리오 작성, 미션 및 퀘스트 설계, 대화 시스템 구축 등과 같은 작업의 자동화로 끊임없이 새로운 아이디어를 도출해야 하는 게임 개발자들에게도 혁신적인 이점을 제공합니다. |
문제의 정의 | 최근 몇 년 동안 인공지능(AI) 기술의 혁신적인 발전은 다양한 산업 분야에 변화를 가져오고 있다. 이러한 변화들은 맞춤형 콘텐츠의 제공이라는 공통점을 지니고 있다. 즉, 인공지능은 빅데이터, 기계학습 및 자연어 처리 기술을 통합하여 사용자별로 맞춤형 경험을 제공하는데 이상적인 툴이 되었다. 이러한 기술 발전과 더불어 소비 경향도 변화하고 있다. Insight M과 CJ AI center에서 조사한 2023년 소비 트렌드 시리즈에 따르면 오늘날의 소비자는 다음과 같은 요구사항을 가지고 있다. 응답자의 72%가 기업이 소비자를 개인으로 인식하고 개인의 관심사를 알기를 기대하고, 71%의 소비자는 개인화된 커뮤니케이션과 제품을 제공받기를 원하며 76%의 소비자가 개인화된 브랜드에서 구매를 고려할 가능성이 더 높다고 답했다. 이러한 맥락 속에서 게임 산업도 AI의 발전에 영감을 받아 혁신적인 변화를 겪고 있다. 플레이어들은 개별화된 게임 경험을 원하며, 자신의 선택과 선호도에 따라 게임 세계를 탐험하고 싶어한다. 이와 같이 사용자의 취향에 맞는 "맞춤형 콘텐츠"에 대한 소비자들의 수요가 증가함에 따라 창작자의 취향에 맞추어 창작된 기존의 시나리오는 그들의 기대를 충족시키기 어렵다는 한계점을 가지고 있다. 하지만, 게임 개발자들이 이러한 사용자 맞춤형 콘텐츠를 만들기 위해서는 많은 노력과 시간을 투자해야 한다. 시나리오 작성, 다양한 미션 및 퀘스트 설계, 대화 시스템 구축 등 직접 맞춤형 콘텐츠를 제작하는 데에는 복잡한 작업들이 따르기 때문에 AI를 활용하여 자동화된 시나리오 생성 및 콘텐츠 제작을 지원하는 것은 게임 개발자들에게 큰 혁신적 이점을 제공할 수 있다. 또, 기존의 생성형 AI의 답변에는 매끄럽지 않은 부분이 많고, 특히 일관적인 내용이나 말투를 생성하는데 어려움이 있다. 따라서 이러한 문제들을 해결하고 사용자의 몰입감과 만족도를 높일 수 있는 AI 게임 스크립트 생성 어플리케이션을 개발할 계획이다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 최근 AI 기술의 발전 동향에 맞추어 게임 산업에서도 맞춤형 콘텐츠의 개발과 적용을 추진하고 있다. AI 던전 OpenAI의 AI 던전은 자연어 처리 및 기계학습 기술을 활용하여 맞춤형 텍스트 기반 어드벤처 게임을 생성하는 플랫폼이다. 플레이어는 자신의 선택에 따라 게임의 진행을 조작하며, AI는 플레이어의 입력에 따라 실시간으로 스토리와 상호작용을 생성한다. 이를 통해 각 플레이어에게 맞춤형 경험을 제공하고 있다. 그러나, AI 던전은 영어 기반의 텍스트로 훈련시킨 모델을 사용했기 때문에 한국어와 같은 다른 언어로의 번역이나 맥락 파악에 있어서 아직 완벽하지 않은 경우가 있다. 때로는 한국어로 게임을 플레이 했을 때 입력된 텍스트의 맥락을 정확하게 이해하지 못하거나, 부적절한 답변을 생성하기도 한다. 더 심각한 문제로는 AI에 과부하가 걸려 게임이 진행되지 않는 상황도 발생할 수 있다. 영어로 플레이를 하더라도 플레이어가 각종 설정을 세부적으로 설정하지 않으면 스토리가 제대로 진행되지 않는다는 단점이 있다. 또한, 게임의 목표나 보상이 불분명하여 게임이 아닌 AI와 함께 소설을 쓰는 과정과 유사하게 느껴질 수 있다. No Man’s Sky Hello Games의 No Man’s Sky는 초거대 개방형 우주 탐사 게임으로, 프로시저 생성 기술을 활용하여 수많은 행성과 생태계, 동물 종류를 생성한다. 이를 바탕으로 플레이어들에게 각기 다른 우주 탐험 경험을 제공하며, 게임 세계를 탐색하고 발견하는 과정에서 맞춤형 콘텐츠를 생성한다. 프로시저 생성은 무한한 다양성을 제공하지만, 어떤 플레이어들은 조금 더 개인화된 경험을 원할 수 있다. 이러한 측면에서 No Man’s Sky는 플레이어 개개인에 맞추어 행성, 생태계, 동물 종류를 생성하는 방식이 아니므로 완전한 맞춤형 콘텐츠로 간주하기 어려울 수 있다. 메이비(Maybe) 시나몬 게임즈의 메이비는 네이버 인기 웹툰 및 웹소설을 기반으로 플레이어가 특정 작품을 선택하면 각 상황에 따른 질문이 주어지고, 플레이어의 선택(답변)에 따라 메인 스토리가 전개되는 게임이다. 게임 내에는 다양한 직업과 능력이 있어 플레이어들은 자신만의 캐릭터를 발전시키고 특수 기술을 습득할 수 있으며, 플레이어의 다양한 선택에 따라 본인만의 엔딩을 만들어 갈 수 있기 때문에 기존 네이버웹툰 독자뿐만 아니라 새로운 유저들도 함께 즐길 수 있다. 하지만, 이는 네이버 웹툰 혹은 웹소설과 같이 정해진 스토리와 캐릭터를 기반으로 진행되는 게임이기 때문에 플레이어의 게임 내 자유도가 높다고 볼 수 없으며, 사용자의 취향에 맞는 새로운 서사구조를 맞춤형으로 제공한다고 보기는 어렵다. |
제안내용 | 앞서 정의한 문제 상황에 따라 AI 기반 맞춤형 콘텐츠 생성 서비스를 해결책으로 제시하고자 한다. 맞춤형 게임 경험 제공 Inkspire는 사용자의 선택과 입력하는 선호도를 기반으로 AI가 게임 시나리오 및 미션을 자동으로 생성하고 콘텐츠를 제작하는 시스템을 구축하여 개인 맞춤형 게임 경험을 제공한다. 기계 학습을 기반으로 한 알고리즘을 사용하여 플레이어의 행동과 선호도에 따라 게임의 스토리, 미션, 아이템, 적, 난이도 등을 적절하게게 조절하여 즐겁고 흥미로운 게임 경험을 선사하는 것이 Inkspire의 목적이다. 자동화된 시나리오 생성 및 콘텐츠 제작 자연어 처리 기술을 활용한 대화 시스템을 개발하여 플레이어의 질문 및 행동에 따라 자동으로 적절한 대화를 생성하고 스토리를 진행시키며 상호작용할 수 있는 게임 내 시나리오 진행 시스템을 구축할 계획이다. 이를 통해 콘텐츠 제작 과정에서 시나리오 작성에 소요되는 자원을 크게 줄일 수 있을 것이다. Inkspire는 기존 하나의 게임을 관통하는 세계관, 시나리오를 기반으로 제작되던 게임 서비스에서 벗어나 하나의 게임으로 다양한 세계를 탐험할 수 있는 게임 서비스로 나아갈 수 있는 시발점이 될 것이다. |
구현방법 | GPT-3.5 turbo 모델을 활용하여 시나리오 생성 및 대화 시스템을 개발할 계획이다. 우선 OpenAI 에서 제공하는 GPT-3.5 turbo API를 사용하여 모델에 접근하고 통신할 수 있는 API 연동 및 통신 구조를 구축할 것이다. API 연동 시, 시스템 설정에 게임의 목표 및 종료 시점에 대한 내용을 학습시킬 예정이며, 기존의 생성형 AI가 가지는 부자연스러운 답변과 일관적이지 않은 내용 및 말투에 관한 문제는 프롬프트 조정과 fine-tuning을 통해 해결할 것이다. |
사용할 세부기술 | AWS Ubuntu 22.04 LTS version MySQL ver 8.0.28 python ver 3.9.18 Django ver 4.2.7 Unity 2022.3.14f1 GPT-3.5 및 fine-tuning 모델 |
기대효과 및 의의 | 게임 플레이어 측면에서의 기대 효과로는 플레이어의 경험 개선 등을 기대할 수 있다. 최근 맞춤형 콘텐츠에 대한 수요가 증가하고 있으며 이러한 수요에 맞춰 플레이어들에게 게임 세계와 캐릭터에 대한 맞춤형 시나리오를 제공하여 게임 경험의 다양성을 향상시킬 것으로 기대된다. 플레이어들은 이 자동화된 시나리오를 통해 전보다 더욱 다양한 컨텐츠 및 높은 자유도 속에서 게임 세계에 더욱 깊이 참여하고 상호작용할 수 있으며, 게임의 흥미와 재미를 높일 것으로 예상된다. 게임 개발자 측면에서의 기대효과로는 게임 개발 생산성 향상과 스토리 라인의 다양성 등을 기대할 수 있다. 자연어 처리를 이용한 자동화된 시나리오 생성을 통해 다른 개발 단계에 전보다 많은 시간과 노력을 투자할 수 있어 개발 시간을 단축하고 최종적으로는 보다 빠른 게임 출시를 가능하게 할 것이다. 또한, 게임 개발자들의 무한한 창작 부담을 덜 수 있는 계기가 되어 게임의 스토리 라인을 더욱 다양하게 확장하고 풍부하게 만들 수 있도록 돕는 효과도 있을 것이다. 더 나아가 자연어 처리 기술을 게임 개발 분야에 적용하여 게임 개발과 엔터테인먼트 산업에 새로운 가능성을 제시하고 미래 게임 개발에 영감을 줄 수 있을 것이다. 이러한 기술 혁신은 게임 산업의 성장과 향상에 기여할 것으로 예상된다. |
기술적 성취/ 산출물 | 주제 확정 - 사용자 맞춤형 AI 게임 스크립트 생성기 작동 시나리오 및 대략적인 UI 기획 OpenAI API 연동 완료 후 프롬프트 엔지니어링을 통해 출력 형태 통일 서버 구축(데이터베이스 구조도 완성) 및 API 테스트 진행 리액트 데모 화면 구현 게임 목표 생성 및 NPC 자동 생성 기능 구현 학습 데이터 적재 시작 및 gpt-3.5 turbo 모델 fine-tuning 테스트 모델 학습 데이터 300건 이상 적재 |
데모 시나리오 | 1. Inkspire 게임 앱을 시작하면, 사용자는 “새 게임" 버튼을 눌러 게임을 시작한다. 2. 사용자는 게임 시나리오의 기본 뼈대를 이룰 키워드를 태그의 형식으로 선택한다. 3. 사용자가 “게임 생성" 버튼을 누르면, 선택한 태그를 기반으로 게임의 배경 마을 설정과 목표 및 주요 NPC 정보를 생성한다. 4. 하나의 게임은 총 5개의 챕터로 구성되며, 각 챕터별 목표 달성 조건에 밀접한 이벤트가 발생할 경우 플레이어의 캐릭터 능력치를 기반으로 이벤트 성공 여부를 결정한다. 5. 각 챕터 별 목표 달성 여부와 마지막 최종 목표 달성 여부에 따라 각기 다른 엔딩 스크립트를 생성하며 보상으로 칭호를 부여한다. |
발표자료 | https://www.canva.com/design/DAF10ppr_iM/kwpRwFVvct7317xy1KgSZw/view?utm_content=DAF10ppr_iM&utm_campaign=designshare&utm_medium=link&utm_source=editor |
기타 | Inkspire - Demo 영상 : https://drive.google.com/drive/folders/1-ISUG1wTyeCf7Nl1yruQYAmJBAr7jxD9 |
프로젝트명 / 부제 | Once : 카드 다보유자의 똑똑한 소비를 위해 결제 전 최대 혜택을 받을 수 있는 카드를 추천해 주는 AI 챗봇 서비스 |
---|---|
작성일 | 2023년 12월 17일 |
팀번호 및 팀명 | 07. 루스 |
팀구성원들의 역할분담 | 유지민(2171031) 팀원, 백엔드 리드, 공통 업무(React Native 프론트엔드, Spring Boot, AWS 백엔드, 크롤링, 인공지능 모델 개발, Figma 디자인) 이해원(2171040) 팀장, 인공지능 리드, 공통 업무(React Native 프론트엔드, Spring Boot, AWS 백엔드, 크롤링, 인공지능 모델 개발, Figma 디자인) 허채린(2171052) 팀원, 백엔드 리드, 공통 업무(React Native 프론트엔드, Spring Boot, AWS 백엔드, 크롤링, 인공지능 모델 개발, Figma 디자인) |
팀지도교수 | 오세은 교수님 |
엘리베이터 스피치 문장 | 카드 혜택, 영리하게 사용하고 계시나요? 안녕하세요, 여러분이 보유한 카드의 혜택과 이용 실적을 분석하여 현명한 소비를 도와드리는 핀테크 서비스 '원스'입니다. 처음 카드를 발급받을 때 가장 혜택이 좋은 카드를 선택하기 위해 몇 시간씩 비교해 본 경험이 한 번쯤 있을 텐데요. 내게 최적의 혜택을 제공해 주는 카드를 만들었다고 생각했지만 '왜 이번 달 혜택이 몇 천 원밖에 안되지?' 생각하셨을 겁니다. 카드 발급 전 좋은 혜택을 가진 카드를 발급받는 것도 중요하지만, 더 중요한 것은 카드의 혜택 조건을 꼼꼼히 챙겨 똑똑한 소비를 하는 것일 텐데요. 그래서 준비했습니다. 카드 결제 전 어떤 카드를 쓰는 것이 좋을지 고민되신다면, 원스에게 먼저 물어보세요. 여러분의 카드 상품을 분석하여 해당 결제처에서 최적의 혜택을 제공하는 카드를 추천해 드립니다. |
문제의 정의 | [ 매년 사라지는 카드 포인트 1000억원, 이대로 괜찮을까? ] 우리나라 1인당 신용카드 보유 개수는 3.9장이며, 개인의 신용카드 보유율은 80.2%에 달한다. 하지만 전체 발급 카드 중 1년 동안 사용 실적이 없는 휴면카드가 1300만장에 육박하며, 매년 사라지는 카드 포인트 1000억원이 소비자가 아닌 카드사의 부가 수입으로 들어가는 이유에 의문을 가지고 프로젝트를 시작하게 되었다. 수많은 금융상품이 쏟아지고 변화하는 상황에서, 소비자들이 자신이 보유한 모든 카드의 정보와 혜택을 관리하고 파악하기는 어렵다. ‘Once’는 소비자가 카드사의 혜택을 적극적으로 이용하고, 사용자가 보다 현명한 소비를 할 수 있도록 도와주어 금융사와 소비자 간의 정보 비대칭 문제를 해결해 나가고자 한다. |
관련연구 / 서비스 / 시스템조사결과 및 한계점 | 1. 카드고릴라 : 소비자가 원하는 혜택 유형과 분야에 따라 신용카드를 찾아주는 서비스를 제공한다. - 강점 : 원하는 혜택 분야를 여러 개 선택 가능하고, 전월 실적을 입력하면 이를 고려해 추천해 준다는 점에서 소비자가 자신에게 최적화된 카드를 찾기 편리하다. - 약점 : 전체 카드 상품 중에서 추천하는 서비스로, 해당 카드를 만들지 않으면 혜택을 받기 어렵다. 카드 상품 자체의 혜택 이외에 카드사별 단기 이벤트, 실제 자신의 전월 실적, 포인트 활용을 고려하지 못한다. 2. 뱅크샐러드 : 소비자가 입력하는 카드 종류, 카드사, 월 지출액과 할인을 원하는 브랜드를 기반으로 최적의 카드를 추천해 준다. - 강점 : 사용자가 원하는 업종별 카테고리를 세부적으로 입력할 수 있도록 하여, 보다 맞춤화된 카드 추천 서비스를 제공한다. - 약점 : 사용자가 직접 자신의 정보를 입력해야 한다는 점에서 번거롭고 접근성이 낮다. 또한 발급받을 카드에 집중 되어 있어, 소지 카드 중 사용할 카드를 고르는 데에는 적합하지 않다. |
제안내용 | - ‘Once’는 금융 상품(카드) 서비스 분야에서 카드사와 소비자 간의 정보 비대칭 문제를 해결하고자 한다. - 주기적인 크롤링을 통해 사용자가 최신 카드 혜택 정보를 파악할 수 있도록 함으로써, 정보 비대칭 문제를 해소한다. - 사용자는 카드 결제 전, 보유한 카드 중 결제처에서 최적의 혜택을 받을 수 있는 카드를 추천받을 수 있다. - 사용자가 보유한 카드별 실적, 혜택, 포인트 정보를 시각적으로 한눈에 보여주어, 손쉬운 카드 관리 서비스를 제공한다. - GPS 기술을 이용하여 단골매장에서 사용할 카드를 미리 알려주는 푸시알림 서비스를 제공한다. |
구현방법 | 필요 기술 1 : 스크래핑 기반 금융 API를 이용한 사용자 정보 조회 (*스크래핑 : 각 카드사와 통신하여 실제 데이터를 제공) → CODEF API 를 이용하여 실제 카드 보유 목록, 실적 충족 여부, 카드 승인 내역을 불러올 수 있다.필요 기술 2 : 크롤링을 이용한 카드사별 카드 혜택 정보 실시간 수집 → 파이썬 크롤링 라이브러리 BeautifulSoup , Selenium , Requests 등을 이용하여 카드별 혜택의 상세 정보를 불러올 수 있다.필요 기술 3 : 파인튜닝 된 GPT-3.5 Turbo 를 활용한 사용처에 맞는 최적의 카드 추천→ 파인튜닝 된 모델에 결제처를 input으로 하여 보유 카드 중 최적의 혜택을 제공하는 카드를 추천한다. 필요 기술 4 : react-native-geolocation-service 라이브러리를 이용한 사용자의 현재 위치 조회→ 라이브러리를 통해 조회한 사용자 현재 위치가 단골 매장 근처인지 판단 후, 알림 서비스를 제공한다. |
사용할 세부기술 | - Version Control : Git, Github - Communication : Notion, Discord - Development Tool : VS Code, IntelliJ - Design Tool : Figma - Front-End : React Native(JavaScript) - Back-End 1) 프레임워크 : Spring Boot(Java) 2) 클라우드 호스팅 : AWS - EC2, RDS(MySQL), S3 3) 크롤링 라이브러리 : BeautifulSoup, Selenium, Requests - 인공지능 모델 1) 카드 추천 모델 : OpenAI GPT-3.5 Turbo Fine-tuning |
기대효과 및 의의 | 사용자는 보유 카드의 최신 혜택 정보를 손쉽게 파악하고 관리할 수 있어, 금융 분야에서의 정보 비대칭 문제가 해소될 것으로 보인다. 먼저, 사용자가 카드 혜택 서비스를 적극적으로 이용하도록 장려함으로써, 휴면카드 활성화에 도움이 될 것으로 기대된다. 또한, 매년 사라지는 카드 포인트 1000억원이 카드사의 부가 수입으로 들어가지 않고 소비자가 온전히 누릴 수 있도록 포인트 현금화, 나에게 맞는 연회비 선택, 포인트를 활용한 쇼핑 등의 활용 방안을 추천해주는 데 의의가 있다. |
기술적 성취 / 산출물 | 9월 1주차 (2023.09.03 - 2023.09.09) : 주제 브레인스토밍 및 팀 지도교수 확정 9월 2주차 (2023.09.10 - 2023.09.16) : 주제 구체화 및 멘토 탐색 9월 3주차 (2023.09.17 - 2023.09.23) : 멘토 확정 및 기능 구체화 9월 4주차 (2023.09.24 - 2023.09.30) : 1차 멘토링 및 1차 보고서 작성, 와이어프레임 구축 → 기술적 성취 및 산출물 : 주제 구체화, 와이어프레임 10월 1주차 (2023.10.01 - 2023.10.07) : 1차 보고서 작성, CODEF API 테스트, 와이어프레임 구축 10월 2주차 (2023.10.08 - 2023.10.14) : 중간 발표 준비, 2차 멘토링, 관련 기술(머신러닝, 크롤링) 스터디 10월 3주차 (2023.10.15 - 2023.10.21) : 멘토링 보고서 작성, 3개 카드사(신한, 국민, 삼성) 크롤링 10월 4주차 (2023.10.22 - 2023.10.28) : 2차 보고서 작성, 프로토타입 설계, 3개 카드사(신한, 국민, 삼성) 크롤링 → 기술적 성취 및 산출물 : 크롤링 데이터, CODEF API 테스트 결과 11월 1주차 (2023.10.29 - 2023.11.04) : 기술 검증, 프로토타입 설계 11월 2주차 (2023.11.05 - 2023.11.11) : 기술 검증, GPT-3.5 파인튜닝 공부 11월 3주차 (2023.11.12 - 2023.11.18) : GPT-3.5 파인튜닝 테스트, 개인별 기술 블로그 작성 11월 4주차 (2023.11.19 - 2023.11.25) : 개인별 기술 블로그 작성, 최종 보고서 작성, 기말 발표 준비 11월 5주차 (2023.11.26 - 2023.12.02) : 최종 보고서 작성, 기말 발표 준비 → 기술적 성취 및 산출물 : 최종 프로토타입, 파인튜닝 모델 |
데모 시나리오 | 1. Figma 프로토타입을 이용하여 원스 애플리케이션의 전체적인 플로우를 보여준다. 1) 회원가입 및 로그인 2) 로그인 이후 Once 애플리케이션 이용이 가능하며, 크게 5가지 서비스로 구성된다. ▪️ 홈(카드 추천 챗봇 서비스) ▪️ 푸시 알림 서비스 ▪️ 마이 월렛 ▪️ 마이페이지 ▪️ 나의 혜택 정보 2. 스크래핑 기반 CODEF API를 이용하여 보유카드목록 조회 및 카드승인내역을 조회한 결과를 보여준다. 1) 보유카드조회 2) 승인내역조회 3. 주요 카드사(신한, 국민, 삼성)의 카드 혜택 정보를 크롤링한 결과를 보여준다. 1) 신한카드 크롤링 데모 영상 2) 국민카드 크롤링 결과 3) 삼성카드 크롤링 결과 4. 카드 추천 모델의 파인튜닝 결과를 보여준다. 1) 파인튜닝 과정 2) 파인튜닝 결과물 사용자가 보유한 카드의 혜택 정보를 이전 대화로 입력 후, “결제처: 롯데백화점, 결제 금액: 63000원” 를 input 으로 넣는다.보유한 카드 중 “신한카드 Shopping” 카드를 사용하면 ‘5대 백화점 10%할인’ 혜택이 적용되어 6300원이 할인된다는 output 을 얻을 수 있다. |
발표자료 | 발표 자료 |
기타 |
프로젝트명 / 부제 | 동영상 강의 시청시 딥러닝기반 집중도 감지를 통한 학습효율증진 서비스 : 러닝메이트 |
---|---|
작성일 | 2023-12-17 |
팀번호 및 팀명 | 8. ECST |
팀구성원들의 역할분담 | 이희원(2171087)팀장, 팀 리더 및 백엔드 및 프론트엔드 개발 이하나(2171089)팀원, 백엔드 및 프론트엔드 개발 김지윤(2171085)팀원, AI모델 개발과 통합 |
팀지도교수 | 오세은 교수님 |
엘리베이터 스피치 문장 | 다양한 플랫폼의 발달로 인한 비대면 교육 시스템 확대에 따라 동영상 강의와 같은 일방향 수업들의 증가 추세에 주목해, 딥러닝을 사용하여 동영상 시청시 학생들의 집중도를 분석 후 최종적으로 학습효율 증진을 위한 서비스를 만들고자 합니다. |
문제의 정의 | 코로나19 여파로 학습 환경의 변화가 일어났습니다. 디지털화 비대면 교육의 활성화되면서 원격 수업은 이제 일상 속에서 빠질 수 없는 분야가 되었습니다. 대면 수업과 비대면 수업을 비교해봤을때, 학업 성적 편차가 더 커져 교육 양극화 현상이 발생하였고, 일방향의 수업에 대해 학생들의 집중도 감소로 학업 성취도가 떨어진다는 것을 알 수 있었습니다. 대면과 양방향 수업과 같은 교육자의 지도 하의 학습은 강제성이 부여 되어 집중도가 어느 정도 유지가 될 수 있지만, 원격 수업과 같은 일방향 수업은 자기 주도적인 학습이 필요하여 자기 의지가 부족하다면 집중도가 떨어지게 됩니다. 앞서 말한 문제점들을 보완하여 학생들의 학업 수준과 학습효율증진이 올라갈 수 있게 필요한 서비스를 만들고자 합니다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 1. ‘소리알림 졸음방지기’ 디바이스 : 고개를 숙이거나 흔들리는 경우 경보 소리가 울리는 기능. 한계점 : 기계를 직접 들고 다녀야 하는 불편함, 졸음 감지로 인한 경보 소음 발생으로 조용한 실내 환경에서는 사용하기 부적합. 귀 뒤로 꽂아야 사용가능하므로 각각의 귀의 크기에 부합하지 않으면 사용 제한이 있음 2. '운전자 안전 모니터링 시스템 기반의 스마트폰 어플리케이션’ : 카메라를 통해 눈 깜빡임의 속도와 자동차의 속도, 운전자의 심전도 및 혈압을 측정 하여 졸음 여부 확인하고 스마트폰과 연결하여 화면에 경보 메세지를 나타냄. IOS에서는 앱 서비스를 이용할 수가 없다. 한계점 : 앱 뿐만 아니라 졸음 감지 경보 시스템을 현재 모든 자동차에 내재되어 있지 않음 3. 파트타임스터디: AI기반 공부 챌린지 앱: AI를 활용해 순공부시간 측정 한계점: 고개와 얼굴을 촬영하지 않아 정확도가 떨어진다. |
제안내용 | 1. 집중도 분석 : 노트북의 카메라 센서를 통해 사용자가 수업을 듣고 있는 모습을 실시간 영상 데이터 추출 -> 딥러닝을 통해 사용자 이미지 분석 2. 분석 결과 : 사용자의 집중도 score를 그래프로 시각화, 공부시간집계 3. 자가 학습 진단 : 자신의 집중도 파악 -> 학습 자가 진단 -> 자기 반성 혹은 자기 칭찬, 개선 사항 필요시 학습 방법 변경 -> 학업 성취도 향상 기대 4. 친구들과 study with me : 웹 내에서 친구와 관계 맺어 집중도 대결, 줌을 연결하여 친구와 캠 스터디 -> 집중도 향상 기대 |
구현방법 | 1. 실시간 집중도 감지 : 사용자의 얼굴 및 자세를 카메라로 감지 -> 딥러닝 모델을 사용해 집중도 감지 2. 데이터 송신 : 집중도 감지 결과를 실시간으로 클라우드 기반 GPU 서버로 전송 3. 레이블 서버 : server클라우드 내에서 수신된 데이터 처리 -> 현재 사용자의 집중도 계산 4. 환경 조성 : 낮은 집중도 감지 -> 사용자를 깨우기 위한 환경 조성 (예. 알람울리기, 스크린 밝기 조정,..) + 사용자에게 현재 집중도를 보여줌 |
사용할 세부기술 | 1. client & server -> AWS server(인스턴스)내에서 관리 2. 집중도 감지 AI 1) OpenCV을 이용하여 실시간 영상 처리 2) Dlib를 이용해 face에 포인트를 찍어 눈 깜빡임 및 목의 각도를 인지하여 졸음 상태 여부 확인 3) YOLOv8을 이용해 휴대폰 감지, 사람 객체 감지 등 공부에 집중을 하지 않는 모습 파악후 집중도 계산 4) Roboflow에서 hand/pen 데이터를 가져와 YOLOv8에 넣고 얼굴 인식이 안되는 경우, 필기하는 상황 제외하고 (졸고 있는 상황으로 간주하고) 집중도를 낮게 계산 3. 통신 : HTTP + RESTful API 를 통한 통신 4. 프론트엔트 : React 5. 백엔드 : Spring Boot (django로 변경될 수 있음) 6. DB : MySQL -> AWS RDS |
기대효과 및 의의 | 낮은 집중도 감지시, 화면에 경고문구 표시, 백색소음 재생, 산책 권유 등을 통해 수험생들의 학습에 대한 집중도를 높이는데 도움을 줍니다. 공부시간집계를 통해 자신의 공부량 및 공부시간 체크, 앞으로의 공부 방향 검수 및 실행, 졸음으로 인해 부족했던 부분 복습 등과 같이 자기 공부 시간 확대와 공부 성과를 극대화에 도움을 줍니다. 스터디 기능을 추가해, 스터디 팀원을 모집하여 함께 공부 시간을 공유하며 긍정적인 경쟁을 하도록 유도하려합니다.이 기능을 통해 학습에 대한 동기부여를 얻을 뿐만 아니라, 시너지 효과로 공부의 효율을 향상시킬 것을 기대합니다. |
기술적 성취/ 산출물 | 1. 아이디어 회의 -> 아이디어 구체화 2. 멘토링 진행 -> AI분야관점에서 혁신적인 point 부족, 실용성 위주 -> 아이디어 변경 3. 교수님과 면담 -> 주제가 변경된 프로젝트 전체적인 계획(사용기술선택) 설명 및 피드백 4. AI모델 탐색 : OepnCV, CNN, Dlib, YOLO8 확정 5. 기술명세서 작성 -> 시스템 아키텍쳐 구상 6. AI모델 학습 및 최적화 : 임의의 사용자 동영상 데이터를 Open CV로 처리, Dlib로 눈/코/입와 같은 face 위치 탐색,사용자의 눈의 깜빡임을 �CNN으로 감지 7. ERD 다이어그램 구상 8. 간단한 figma 완성 : 동영상 데이터 기반으로 집중도 score 그래프 시각화까지 7. 백엔드 파트 rest API 환경 설정 |
데모 시나리오 | 동영상 강의 시청 시, 사용자의 모습을 카메라 센서를 통해 입력 받고 딥러닝 모델을 가지고 이미지를 분석합니다. 이때, 딥러닝 모델 분석 과정은 Open CV로 동영상 처리, Dlib로 face의 주요 부위 위치 탐색, CNN을 통해 눈 뜨면 1, 눈 감으면 0으로 인식하여 눈의 깜빡임을 분석합니다. 그 외 집중도 평가 요인 분석은 YOLO v8으로 이루어집니다. 분석 결과를 그래프로 시각화 해주고, 동시에 사용자의 공부시간을 집계하여 표시해줌으로써 학습 자가 진단이 가능해집니다. 추후 토론을 통해 추가 시, 친구들과 study with me 서비스를 만들어 줌을 이용해 친구들과 같이 공부할 수 있고, 집중도 분석을 대결 방식으로 이루어져 긍정적인 경쟁을 통해 학습 효율 증진을 목표로 하고 있습니다. |
발표자료 | https://drive.google.com/file/d/1LobRHMLopZE37V0UmNqNcTdf-ay1HfEK/view?usp=drive_link |
기타 | figma : https://www.figma.com/file/HdjiOxi2dllFHUg4BE6ywk/Untitled?type=design&node-id=0%3A1&mode=design&t=8KyosPYwYHpgCzcn-1 추가 기능 : 집중도 평가 그래프 시각화, 공부시간집계 표시, 추가 서비스 도입 시, 다른 이용자와 친구 맺음으로써 줌캠으로 같이 study with me, 집중도 대결이 펼쳐집니다. |
프로젝트명 / 부제 | 캠플 CAMFL : 가격 분석부터 신뢰도 체크까지, AI 기반 교내 스마트 중고거래 플랫폼 |
---|---|
작성일 | 2023-12-25 00:00:00 |
팀번호 및 팀명 | 9.강철몽둥이 |
팀구성원들의 역할분담 | 김해인(1771017) 팀장, 프론트엔드 조주연(2076392) 팀원, 백엔드 최혜민(1876431) 팀원, 백엔드 |
팀지도교수 | 반효경 교수님 |
엘리베이터 스피치 문장 | 저희는 교내 학생들을 위한 혁신적인 중고거래 플랫폼을 만듭니다. 캠플은 학생들이 교과서, 학교 굿즈, 의류 등 다양한 중고물품을 안전하게 사고팔 수 있는 공간을 제공합니다. |
문제의 정의 | 중고거래 경험이 있는 재학생 32명을 대상으로 설문조사를 진행하였습니다. 그 결과, 학생들은 총 3가지의 Pain point를 가지고 있었습니다. 1. 구매하려는 물품 검색이 어렵다 : 검색 소요 시간, 비교의 어려움, 상태 설명에 대한 기준이 판매자마다 다르다 2. 판매자의 신용도 확인 어려움 : 최소한의 사기 방지책으로 학생들끼리 학생증 인증을 요구하지만 해당 방법은 도용의 가능성과 개인정보유출의 위험성이 존재한다 3. 중고 교과서, 의류 등 적정가격 산출이 어려움 |
제안내용 | 1. 분산된 중고거래를 하나의 플랫폼으로 통합한다. 또한, AI로 이미지 및 설명글 텍스트 인식을 통한 제품 카테고리 분류, 관심있는 사용자에게 추천 2. 가입 시 휴대폰 인증 및 정기적인 재학생 인증 진행을 통해 거래의 신뢰도를 향상시킨다. 또한, 거래이력 데이터 수집을 통한 신용도 분석 기능을 통해 추가적 신용 확보를 위한 서비스를 제공한다. 3. AI를 통한 거래완료건들의 가격 추이 분석으로 적정 가격을 제안한다. |
구현방법 | 백엔드 :Google Firebase를 통한 real-time based DB를 사용 - 프론트엔드 : Python, Flask Web Framework를 사용 |
사용할 세부기술 | 적정가격 분석과 최근 가격 추세 반영과 관련한 Open 머신러닝 라이브러리 도입, 거래자 간 거리 및 시간표 분석을 통한 거래 위치 및 시간 추천 관련 알고리즘 개발 예정 |
기대효과 및 의의 | 1. 플랫폼 통합 및 UI/UX 개선을 통한 교내 중고거래 활성화에 기여 2. 기존의 중고거래의 신용도 문제를 해결 3. AI 가격책정을 통한 정당한 거래 및 추가적 정보(비싼편, 합리적인편, 저렴한 편)를 제공함으로써 거래의 질 상승 |
기술적 성취/ 산출물 | 2023-12 ~ 2024-02 - 실제 기능 구현 및 UI/UX개선 2024-02 ~ 2024-04 - 베타버전 일부 배포 및 테스트 - 데이터 수집 및 안정화 2024-04 ~ 2024-06 - 최종디버깅 - 포스터 준비 github : https://github.com/Kim-Greeny/flask_project2023/blob/week11-2/readme.md |
데모 시나리오 | 판매자는 가입을 하고, 상품을 등록할 때 가격 추천 기능을 사용할 수 있다. 또한, 업로드 시 제품 list up 화면에 해당 가격에 대한 평가가 함께 업로드 된다.(우선 여기까지만 개발 완료) |
발표자료 | (https://docs.google.com/presentation/d/1C_EVBA6EhtFJSiB_b6vbx8nSduVy1j4c/edit?usp=drive_link&ouid=115032217653381611855&rtpof=true&sd=true) |
기타 | - |
프로젝트명 / 부제 | IT 취준생을 위한 CS 기술 구두 면접 대비 & 학습 플랫폼 |
---|---|
작성일 | 2023년 10월 16일 |
팀번호 및 팀명 | 10. Qt |
팀구성원들의 역할분담 | 이서진(2176258) 팀장, 프론트엔드 (TypeScript.js, React) & 머신러닝 모델 서버 (flask) 임채영(2176316) 팀원, 백엔드(AWS, Spring Boot, MySQL, Docker) 이채원(2168022), 팀원, AI(sk-learn, STT, TTS, CV) |
팀지도교수 | 심재형 교수님 |
엘리베이터 스피치 문장 | 이제 막 취업 준비를 시작한 IT 분야 취준생이 이 서비스를 통해 CS 항목별로 나누어진 모의 면접을 진행하고 세밀한 채점 및 분석 결과를 통해 면접을 위해 보충해야할 지식을 학습할 수 있습니다. |
문제의 정의 | 페르소나 - 이제 취업 준비를 시작하는 IT 분야 지망생 이화연(24세), 컴퓨터공학 전공 고학년(졸업반) 문제점 - CS 전공 지식을 학교에서 배웠지만, 제대로 정리해본 적도 없고, 기술 지식에 대한 이해가 부족한 상태이며 구두 기술 면접 대비를 어떻게 해야할지 고민 중 해결 방안 - 전공 지식을 구두로 말해보면서, '내가 무엇을 모르고, 아는지' 에 대한 메타인지를 통해 부족한 CS 지식에 대한 학습과 동시에 구두 기술 면접에 대한 대비를 할 수 있음 |
관련연구/서비스/ 시스템조사결과 및 한계점 | 답변이 정확한 키워드를 포함하는지 점수를 매기는 것에서 그치지 않고, 더 나아가 답변 지연 시간, 시선의 위치, 말을 더듬은 빈도 등 여러 비언어적 표현을 종합적으로 분석하고 개선안을 제공하여 실제 면접을 위한 준비를 할 수 있음 |
제안내용 | 답변이 정확한 키워드를 포함하는지 점수를 매기는 것에서 그치지 않고, 더 나아가 답변 지연 시간, 시선의 위치, 말을 더듬은 빈도 등 여러 비언어적 표현을 종합적으로 분석하고 개선안을 제공하여 실제 면접을 위한 준비를 도움. 사용자는 기존의 면접 대비 방식과는 달리 자신이 선택한 범위 안에서만 과목별로 모의 면접을 진행할 수 있다는 장점이 있으며, 질답 기록과 채점 및 분석 결과를 아카이빙하여 추후 답변이 부족하다고 느낀 질문에 대해 재답변을 하고 전후 과를 편하게 비교분석 할 수 있게 됨 |
구현방법 | 프론트엔드 - TypeScript, React를 사용하여 웹 개발, PC뷰 기준 + 반응형 모바일 뷰 지원 백엔드 - SpringBoot, Doker, MySQL, AWS를 사용하여 API 서버 개발 AI - STT, CV (아이트래킹, 몸 동작, 감정), TTS, AI 모델 생성 |
사용할 세부기술 | STT - librosa, speech_recognition 을 사용하여 음성 분석 답변을 텍스트로 변환하여, 채점 및 아카이빙 용으로 사용 TTS - pyttsx3 이용 텍스트 기반 질문을 음성으로 변환하여 이용자에게 제공 (AI 면접관), 발화 지연 시간 및 추임새 (어, 음) 등 횟수 측정 CV - OpenCV를 이용한 아이트래킹, fer을 이용한 표정 감정 인식, openPose를 이용한 몸 움직임 등의 비언어적 표현 감지 chatGPT - 기술 질문 및 답변 채점 |
기대효과 및 의의 | 이 서비스를 통해 모의 면접 질문에 답하며 ‘내가 무엇을 알고 무엇을 모르는지를 아는’ 메타인지 학습이 가능하게 되며,사용자는 자신의 부족한 지식이 무엇인지 인지할 수 있을 것으로 기대함 |
기술적 성취/ 산출물 | 완료 상황 기능 플로우 차트 제작 FE - Figma를 이용한 컴포넌트별 디자인 관리,프로토타입 연결 BE - DB 구조 설계 및 ERD 작성, API 명세서 완성 AI - 발화 지연 시간 측정 및 STT, CV (아이트래킹 및 움직임) AI 모델 생성 및 기능 테스트 앞으로 개발 계획 |
데모 시나리오 | 서비스 구조도 |
발표자료 | 발표자료 |
기타 | 시스템 아키텍처 지도교수 상담 본 프로젝트의 차별점은 인성 면접이 아닌 기술 특화 면접에 있음 기술 특화를 위해 ChatGPT를 어떻게 구현할지에 대한 구체적 계획이 필요하다는 피드백을 받아 방학동안 gpt를 이용한 채점 시스템 알고리즘 구축에 힘쓸 예정 |
프로젝트명 / 부제 | 망하지망고 : 고소득 작물인 망고 초보 재배자를 위한 이미지 객체 검출 및 분류 기반 농작물 질병 식별 앱 서비스 |
---|---|
작성일 | 2023년 12월 12일 |
팀번호 및 팀명 | 11. 로켓단 |
팀구성원들의 역할분담 | 박서연(2144010) 팀장, Figma 디자인, React Native 등 프런트엔드, 인공지능 모델 개발 정유진(2062084) 팀원, Spring 등 백엔드, 인공지능 모델 개발 조하은(2144026) 팀원, Figma 디자인, Spring 등 백엔드, 인공지능 모델 개발 최윤지(2171050) 팀원, React Native 등 프런트엔드, 인공지능 모델 개발 |
팀지도교수 | 반효경 교수님 |
엘리베이터 스피치 문장 | 고소득 작물인 망고의 잎 사진 분석을 통해 망고의 질병을 식별하여 망고 초보 재배자들이 망고의 질병에 빠르게 대처할 수 있도록 도와주는 앱입니다. 망고 재배 관련 정보를 쉽게 얻지 못하는 재배자들이 잎을 찍어 올리기만 하면 망고의 질병 식별 및 질병에 따른 대처 방법 정보를 신속하게 알려주어 실패하지 않는 망고 재배 경험을 제공합니다. |
문제의 정의 | <재배가 까다로운 작물, 망고> 망고는 판매 단가가 높아 농민들에게 '고소득 작물'로 인식되면서 매년 꾸준히 재배면적이 늘고 있습니다. 하지만 아직 재배 기술이 보편화되지 않아 재배 농가의 망고 재배 성공률은 비교적 낮은 편입니다. 7~8월부터 시중에 나오는 망고의 경우 화아분화기, 개화기, 수화기 등 반드시 유지해야 할 재배 조건을 지키지 않을 경우 열매가 열리지 않거나 열매가 열리더라도 품질이 좋지 않아 실질적으로 소득으로 이루어지지 않습니다. <망고 병해충 관리 정보, 여러 사이트에 흩어져 있고 개인의 상황에 적용하기가 어렵다.> 현재 국가농작물병해충관리시스템, 제주특별자치도, 농업기술원, 국립농업과학원 그리고 그 외 유튜브, 블로그 등에서 망고 재배 관련 정보를 제공하고 있습니다. 그러나 망고의 질병 진단 및 대처 방법에 대해 정확한 정보를 제공하는 것은 국가농작물병해충관리시스템 뿐이고, 이 마저도 일방적인 정보 제공이기 때문에 재배자 개인의 망고 재배 상황에 맞는 대처 방법을 알기는 어렵습니다. 이에 따라 많은 재배자들이 유튜브나 블로그 댓글을 통해 본인의 현 상황에 따른 대처 방법에 대해 질문하는데, 이는 정보가 한 곳에 모여 있지 않아 재배자들로 하여금 양질의 정보에 쉽고 빠르게 접근하기 어렵게 합니다. <국가농작물병해충관리시스템의 병해충상담, 24시간 소요> 영농자재신문(2023년 6월 7일 자)의 농촌진흥청 작물보호과 직원의 인터뷰에 의하면 "작물의 바이러스병의 피해를 예방하려면 농가에서 주요 바이러스 병의 특성과 관리 방안을 알고 세심한 주의를 기울야 한다"라고 하며 작물이 노출될 수 있는 질병에 대한 특성 및 관리에 대한 중요성을 강조했습니다. 실제로 국가 농작물병해충관리시스템(NCPMS)에서 공개 상담 페이지를 운영하여 농식물을 기르는 사용자들이 식물의 사진을 찍어 작물의 질환과 방제법에 대한 답변을 제공받지만, 직원이 직접 해당 답변을 작성하기 때문에 약 하루 뒤 답변을 받을 수 있고, 이와 같은 작물 질환 파악 및 관리에 대한 관련 앱 서비스 또한 많지 않은 실정입니다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | Agrio - Plant health app - Agrio는 재배자와 작물 조언자가 식물 질병, 해충 및 영양 결핍을 예측, 식별 및 치료할 수 있도록 돕는 정밀 식물 보호 솔루션입니다. Agrio는 독점적인 인공 지능과 컴퓨터 비전 알고리즘을 활용하고 배포하여 농작물 관리, 식물 질병 식별, 식물 진단 및 수확량 개선 분야에서 농부, 농작물 조언자 및 농업 경제학자를 돕습니다. - 스마트폰으로 식물을 촬영해 식물 질병 및 문제를 식별하는 데 도움이 되는 식물 질병 식별 및 식물 진단 앱입니다. 병든 작물의 이미지를 바탕으로 몇 초 안에 식물 진단 및 솔루션을 제공합니다. 또한, 수확량과 작물 품질을 최적화하고 처리 비용을 줄이기 위한 상세한 통합 해충 관리(IPM) 프로토콜을 제공합니다. - 해당 앱은 제한된 서비스를 제공하는 무료 버전과 유료 구독 서비스 버전 중 선택하여 사용할 수 있습니다. - 본 서비스의 한계점은, 구독 서비스가 아닌 무료 버전을 사용하면 정확도가 낮아지고 만약 전문가의 의견이 필요한 경우 답변이 늦어져 몇몇 사용자들이 불편함을 호소합니다. |
제안내용 | 작물 재배에 있어서 질병은 가장 큰 실패 원인 중 하나이고, 질병에 대해 인식하고 빠르게 대처하는 것이 작물 손실 최소화에 있어서 매우 중요합니다. 초보 재배자가 실패 없이 망고를 재배할 수 있도록 '망고 질병 식별 및 대처법 제공' 서비스를 제공하고자 합니다. 사용자가 문제가 있는 망고잎의 사진을 앱에 업로드하면 이미지 객체 검출 및 분류 AI 기술을 활용하여 망고 질병을 식별해 줍니다. 사용자는 사진 업로드만으로도 신속하게 망고의 질병을 확인할 수 있고, 질병 진단 후 해당 질병에 대해 어떻게 대처해야 하는지 각 질병에 대한 올바른 대처 방법을 바로 제공받을 수 있습니다. |
구현방법 | 본 팀의 최종 산출물은 사진을 통한 망고 질병 식별 및 대처법 제공 모바일 애플리케이션 서비스입니다. 어플리케이션 개발은 Android Studio로 진행합니다. 망고잎 사진 데이터셋을 기반으로 작물 질환 진단을 위한 딥러닝 모델 설계는 다음과 같습니다. VGG16를 활용해 정상 잎과 질병이 있는 잎을 구분하고, 질병이 있는 망고 잎 이미지에 대하여 객체 검출 모델인 YOLOv5를 사용하여 바이러스에 감염 또는 질병이 발생한 부분을 검출합니다. 이후 이미지 분류 모델인 VGG16을 사용하여 감염 부분에 대한 특징을 추출하고 질병을 분류합니다. 딥러닝 모델 학습을 위한 데이터셋은 creative commnons의 ‘Mango Leaf Disease Dataset(Ali, Sawkat; Ibrahim, Muhammad ; Ahmed, Sarder Iftekhar ; Nadim, Md. ; Mizanur, Mizanur Rahman; Shejunti, Maria Mehjabin ; Jabid, Taskeed (2022), “MangoLeafBD Dataset”, Mendeley Data, V1, doi:10.17632/hxsnvwty3r.1)’의 8 class, 4000 장의 이미지를 사용합니다. 서버 측 개발은 다음과 같은 기술을 사용하여 진행합니다. AWS로 서버 구축 후 MySQL RDB를 사용하여 데이터를 저장하고 관리합니다. 서버 소프트웨어로 NGINX 웹 서버와 Tomcat WAS를 사용합니다. Java 언어 및 Spring framework를 사용하여 MVC 아키텍처를 구축합니다. Docker를 사용하여 서버 배포 및 관리를 수행합니다. 클라이언트 측 개발은 다음과 같은 기술을 사용하여 진행합니다. Java Script 언어 및 HTML, CSS, React Native 프레임워크를 사용하여 동적인 모바일 화면을 구축합니다. |
사용할 세부기술 | 애플리케이션 개발 IDE : Android Studio BE 개발 개발 언어 : Java 웹 서버 : NGINX WAS : Tomcat 프레임워크 : Spring 서버 구축 : AWS FE 개발 화면 구성 : HTML, CSS, Java Script CD/CI 및 배포 : Docker 프레임워크 : React Native 딥러닝 학습 모델 : YOLOv5, VGG16 라이브러리 : Tensorflow 데이터셋 plant vilage : 'New plant diseases dataset' 최종 산출물 Mobile Application |
기대효과 및 의의 | 고소득 작물인 망고는 재배기술이 아직 보편화되지 않았기 때문에 재배 성공률이 낮은 편입니다. 이로 인해 초보 재배자는 망고 재배에 있어 큰 어려움을 겪습니다. 재배 중인 망고의 잎에서 문제를 발견했을 때 사진 촬영 및 업로드를 통해 정확한 원인을 신속하게 확인할 수 있고, 적절한 조치 방법을 바로 알 수 있어 망고 작물 손실을 최소화할 수 있습니다. 빠른 질병 식별과 대처법 제공 서비스를 통해 망고 초보재배자의 재배 성공률은 크게 올라갈 것입니다. |
기술적 성취/ 산출물 | 1. 지도 교수님 및 멘토 컨택 후 확정 완료 2. 주제 아이디에이션 3. 주제 및 기능 구체화 4. 멘토 회의 후 주제 확정 5. 프로젝트를 위한 기술 습득 6. 확정된 주제 및 기능에 대한 정보구조도 제작 7. 정보구조를 바탕으로 앱 UI 디자인 8. 완성된 디자인을 바탕으로 직접 구현 시작 |
데모 시나리오 | - - 완성된 디자인 프로토타입으로 기능 및 시나리오 설명 1. 상단의 '질병 식별하기' 아이콘을 터치하고 해당 화면으로 이동한다. 2. 화면에 사진 업로드 버튼과 사진 촬영 버튼이 나타난다. 3. 사용자는 사진 업로드 버튼을 누르고, 이미 찍어 둔 문제의 망고 잎 사진을 업로드한다. 4. 사진 업로드가 완료된 것을 확인하고 '질병 식별 시작' 버튼을 누른다. 5. 몇 초간 '식별 중' 화면이 나타나고, 식별 결과가 바로 화면에 나타난다. 6. 사용자는 자신이 재배하는 망고가 어떤 질병에 걸린 것인지 식별 결과 및 해당 질병에 대한 대처 방법 내용을 발견한다. 7. 화면을 스크롤하며 질병에 대한 정보를 읽어보다, 해당 질병에 대한 대처 방법 '최근 진단 기록'을 누르니 방금 전 식별 결과가 기록되어 있다. - VGG-16모델을 사용한 healthy 잎과 disease 잎 구분 -mysql db 구축 및 프로젝트 연결 - 로그인화면 시연 |
발표자료 | https://drive.google.com/file/d/1YskCKvxkCAO1pUi-UV3iKQns1-04A4FT/view?usp=drive_link |
기타 | 출처 : https://news.mju.ac.kr/news/articleView.html?idxno=11177 http://m.mdilbo.com/detail/GQFJv6/655472 |
프로젝트명 / 부제 | 만 10세 이상의 청소년들을 위한 컴퓨팅 사고력을 기르는 모바일 코딩 학습 게임 - 메르헨 코더 : 코딩으로 동화 세계를 구하라! |
---|---|
작성일 | 2023-12-12 00:00:00 |
팀번호 및 팀명 | 12. 팀팀탱탱후라이팬 |
팀구성원들의 역할분담 | 김미진(1976046) 팀장, 챕터 2 스토리 및 학습 내용 기획, 게임 그래픽 리소스 제작, 프론트엔드 Unity 프로그램을 이용한 플로우 노드 개발 이도현(1876263) 팀원, 챕터 3 스토리 및 학습 내용 기획, 시스템 기획, 피그마로 프로토타입 제작, 데이터베이스 설계, 로그인 기능을 위한 Node.js 서버 AWS 배포, 홈 화면과 챕터 선택 화면 및 스테이지 선택 화면 제작, 프론트엔드 Unity 프로그램을 활용한 연산 노드 구현, MySQL 김지우(2026007) 팀원, 챕터 1 스토리 및 학습 내용 기획, 노드 튜토리얼 기획, 프론트엔드 Unity 프로그램을 이용한 플레이어 동작, 데이터 노드 구현, 출력 노드 구현, 대화 시스템 구현 |
팀지도교수 | 김명 교수님 |
엘리베이터 스피치 문장 | 코딩 교육의 중요성은 나날이 높아지고 있다. 조사 결과에 따르면 대부분의 어린이용 학습이 스크래치나 엔트리 같은 블록 코딩으로 이루어져 있다. 그러나 연구 결과에 따르면, 블록코딩에만 너무 익숙해질 경우엔 이후에 실제 프로그래밍을 배울 때 어려움을 겪을 수 있다. 우리 12팀은 코딩 교육 방식의 선택지를 넓혀줌으로써 그런 문제를 해결하고자 비주얼 스크립팅 방식을 차용한 모바일 코딩 게임을 제작하려고 한다. node.js와 mysql로 서버를 구축하고, 프론트는 유니티와 c#을 사용하여 게임을 구현할 계획이다. |
문제의 정의 | 1. 플랫폼의 한계: - 대부분의 코딩 학습 플랫폼은 PC나 자사 학습 패드를 이용해 코딩 교육을 진행 - 자사 학습패드는 패드가 없는 경우 접근성에 문제가 생기며, PC의 경우에는 간단히 즐기거나 학습하기 어렵다 2. 한정적인 학습 방법 - 대부분의 어린이용 코딩 학습은 한정적인 문제들로만 이루어져 있어 종종 일정한 방식으로만 문제를 해결하도록 유도한다. 알고리즘 시티, 구글 코딩 토끼 게임과 같은 미로 게임이 대표적인 예이다. - 2024년에 사용될 예정인 중학교 소프트웨어 교과서 15종 가운데 14종이 '엔트리' 프로그램을, 1종이 '스크래치' 프로그램을 활용했다고 한다. 엔트리와 스크래치가 에듀 테크 시장을 점유하고 있기에 학습의 다양성이 부족하다. 3. 학습 플랫폼의 높은 진입장벽 - 플랫폼의 학습 가이드라인이 불친절하여 학습 능력이 부족한 어린이에게 진입장벽이 높다. 학업 성취도가 낮은 어린이도 쉽게 배우고 학습할 수 있는 플랫폼 혹은 콘텐츠가 필요하다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 1. 관련 현황 재능교육이 올해 9월에 발표한 '유아 및 초등 학부모 326명을 대상으로 한 설문조사' 결과에 따르면, 3명 중 1명은 자녀가 코딩 사교육을 받고 있거나 받아 본 경험이 있다고 응답했다. 이 중 83%는 '스크래치, 엔트리' 등 블록 코딩 기반의 ‘코딩 교육용 언어/프로그램’을 이용했고, 17%만이 ‘파이썬, 자바’ 등 실제 프로그래밍 언어를 통해 학습한다는 결과가 나왔다. 또한 정부는 작년 8월에 초등학생과 중학생이 한 학기 의무적으로 들어야 하는 정보 수업 시간을 최소 2배 이상 늘린다고 발표했다. 2015 개정 교육과정에서 의무화된 '소프트웨어'에 이어 2022 개정 교육과정에 '코딩'도 꼭 들어야 하는 내용으로 넣겠다는 것으로 알려졌다. 2. 관련 서비스 - 차근차근 게임코딩(서비스): 게임 기기와 게임 구매비용이 발생한다. 특정 기기에 최적화된 개발 방식이라 다른 코딩을 할 때 응용하기 어렵다. 코딩의 기능을 구현해놓기보다는 게임의 기능들을 구현하여 코딩을 배우기보다는 게임을 어떻게 만드는지에 초점을 맞추었다 - 스크래치 : 다양한 기능을 구현할 수 있지만, 학습 가이드라인의 미비함으로 초보자들이 아무것도 모르고 접근하기에 접근성이 좋지 않다. - 어린이용 학습 패드로 배우는 코딩: 고가의 학습 패드를 구매해야 하고 블록 코딩 위주의 단순한 시스템만이 갖추어져 있다. 고급 프로그래밍 언어와 간극이 크다. (예시) 뽀로로 한글 코딩 패드, 콩순이 코딩 컴퓨터 - 알고리즘 시티, 구글 코딩 토끼 게임 : 한정적인 학습 내용만을 가르친다는 문제가 있다. 특히 길찾기 문제만을 주로 활용해서 다양한 응용 문제에 적용할 수 없다는 치명적인 단점이 있다. - 유니티 노드: 코딩을 배운 사람도 아무 설명 없이 접근하기엔 어렵고 불친절하다. 공식 문서도 별로 없어 혼자 배우긴 쉽지 않다. 그래서 초보자가 아무것도 모르고 접근한다는 건 거의 불가능에 가깝다. |
제안내용 | 우리 팀팀탱탱후라이팬팀은 위에서 정의한 세 가지 문제를 보완한 새로운 코딩 학습 게임 <메르헨 코더 : 코딩으로 동화 세계를 구하라!>를 제안한다. 만 10세 이상의 청소년을 타겟으로 한 이 게임은 총 3막으로 진행되며, 동화세계의 차원을 관리하는 역할을 맡은 주인공이 동화세계에 발생한 기이한 현상에 대해 조사하고 해결하는 과정을 그린다. 그 과정에서 플레이어는 자연스럽게 코딩 문제를 접하게 되며, 차근차근 개념을 익히고 응용하여 문제를 해결해야 한다. <메르헨 코더 : 코딩으로 동화 세계를 구하라!>는 기존 코딩 교육 서비스들과 비교했을 때 다음과 같은 특징 및 개선점을 갖는다. 1. 태블릿으로 구동 가능한 모바일 게임 안드로이드에서 구동 가능한 모바일 게임을 제작함으로써 학습용 기기를 따로 구매하는 등의 금전적인 부담을 줄이고 접근성을 높일 수 있도록 한다. 2. 블록 코딩 방식과는 다른 비주얼 스크립팅 도구 제공 쉽고 직관적인 프로그래밍 교육이 가능하다는 블록 코딩 방식 타 서비스들의 장점은 유지하되, 프로그램의 흐름과 논리 구조를 이해하는데 더 도움이 되는 새로운 비주얼 스크립팅 도구를 만들어 제공한다. 비전공자도 코드 작성 없이 배우고 활용할 수 있다는 유니티 비주얼 스크립트의 장점을 가져와 어린이 학습 플랫폼으로 만든다. 이를 통해 블록 코딩과 같은 하나의 코딩 도구에만 익숙해져서 제한된 컴퓨팅 사고를 갖는 것을 방지하고, 여러 도구와 여러 언어를 사용함으로써 청소년들이 다양한 컴퓨팅 사고를 펼칠 수 있도록 돕는다. 3. 스토리와 함께 진행되는 점진적 학습 제공 학습자가 게임을 진행하며 자연스럽게 학습의 난이도 및 범위를 높여갈 수 있도록, 문제 상황의 발생과 해결을 게임의 스토리와 밀접하게 연관시켜 배치한다. 사용자는 간단한 입출력으로 시작하여 자료형, 조건문, 반복문 등을 접하며 자연스럽게 학습의 범위를 넓히게 된다. 개념을 익힌 뒤에도 스토리의 진행과정에 유사한 문제를 배치해 복습할 수 있도록 도우고, 최종적으로는 배운 내용을 응용하여 더 복잡한 문제를 해결할 수 있도록 한다. |
구현방법 | 유니티 게임 엔진을 활용하여 모바일 플랫폼에서 실행되는 2D 어드벤처 게임을 개발하고, 이와 동시에 학습자가 코딩을 쉽게 이해하고 배울 수 있는 비주얼 스크립팅 도구 '노드'를 제작한다. '노드'는 프로그래밍의 기본적인 지식을 시각적으로 표현하며, 프로그램의 논리 구조와 입력, 출력, 연산 등의 요소를 직관적으로 이해할 수 있도록 설계한다. 게임의 스토리는 학습자들이 기초부터 시작하여 점진적으로 학습 단계를 거쳐 나아갈 수 있도록 구성한다. 또한, 단순히 지식을 습득하는 데 그치지 않고, 다양한 문제와 퍼즐을 제공하여 학습자들이 코딩 능력을 응용하고 실제 문제 해결 능력을 키울 수 있도록 게임의 시스템 흐름이 설계한다. 플레이어의 정보와 게임 진행상황을 저장하는 Node.js 서버와 MySQL 데이터베이스를 구축하고, AWS 클라우드에 이를 배포한다. |
사용할 세부기술 | - 개발 언어 : C# - 게임 개발 환경 : Unity 2022.3.12f1 - 데이터베이스 : MySQL - 서버 : NodeJS - 클라우드 : AWS EC2, S3, RDS |
기대효과 및 의의 | 1. 기존 코딩 학습 플랫폼의 문제점을 해결할 수 있다. 안드로이드 환경에서 구동 가능한 게임을 제작하여 서비스를 이용하기 위해서는 자사 기기를 구매해야 하는 등의 플랫폼 접근성 문제를 해결한다. 또한 스스로 게임을 진행하며 자연스럽게 개념과 시스템에 대해 학습할 수 있도록 하여 타 서비스의 가이드라인 부족 문제를 해결한다. 2. '노드' 기반의 프로그래밍을 통해 프로그램의 흐름과 논리 구조를 시각적으로 이해할 수 있어 컴퓨팅 사고력을 증진시킨다. 블록코딩이 어렵게 느껴지고 처음 코딩을 접한 학생들이라면 게임을 진행함에 따라 코딩의 기초적인 개념과 그 개념들의 사용을 쉽고 재미있게 배울 수 있다. 한편, 이미 블록코딩을 많이 접했고 익숙해진 학생들이라면 새로운 시스템을 익히고 문제를 풀어봄으로써 다양한 코딩 학습 방식을 시도해볼 수 있고, 자연스럽게 우리 게임의 시스템과 블록코딩의 시스템이 공유하는 특정 방식을 깨닫게 되며 사고력이 증진될 것이다. |
기술적 성취/ 산출물 | - 데이터베이스 스키마 설계 - AWS EC2에 Node.js 서버 배포, AWS RDS에 MySQL 서버 구성 - 데이터베이스에 등록된 테스트 유저만 로그인 가능하도록 로그인 구현 - 시작화면, 홈화면, 챕터 선택 화면, 플레이 화면 구현 - json 파일로 대사 출력하는 대화 시스템 구현 - Unity Script를 활용해 노드 연결 및 데이터 전달 구현, 연산 노드 및 출력 노드 구현 |
데모 시나리오 | 1. 로그인 기능 : AWS로 배포한 서버에 등록된 테스트 유저만 로그인이 가능합니다.(id : test, password : 1234) 아이디와 패스워드에 아무것도 입력하지 않은 경우와 등록되지 않은 아이디와 패스워드를 입력한 경우에 대해서는 알림창을 제공합니다. 2. 홈화면 : 현재 유저가 소유하고 있는 다이아몬드(게임 속 재화) 개수를 왼쪽 상단에 제공합니다. 설정 버튼, 메시지 버튼은 오른쪽 상단에 제공합니다. 꾸미기 버튼을 누르면 홈 화면에 있는 가구, 벽지 등을 선택하여 방을 꾸밀 수 있는 화면으로 전환됩니다. 유저가 모은 다이아몬드를 사용하여 상점에서 가구와 벽지를 구매할 수 있습니다. 해당 기능을 아직 구현되지 않은 상태입니다. 3. 학습하기 : 학습하기 버튼을 누르면 챕터를 선택할 수 있는 화면으로 이동합니다. 챕터를 선택하면 스테이지를 선택할 수 있는 화면으로 이동합니다. 스테이지는 챕터마다 약 6개로 구성됩니다. 아직 오픈되지 않은 스테이지는 검은색으로 나타나며, 이전 스테이지를 클리어하면 다음 스테이지가 오픈됩니다. 챕터는 모두 3개로 구성되어 있고 아직 오픈되지 않은 챕터는 검은색으로 나타납니다. 챕터 내의 모든 스테이지를 클리어하면 다음 챕터가 오픈됩니다. 4. 대화 시스템 : 스테이지를 선택하면 게임이 시작됩니다. 유저는 가로 방향으로 이동하며 NPC를 만나게 됩니다. NPC 머리 상단에 위치한 대화 아이콘을 터치하면 대화를 시작할 수 있습니다. 대화를 통해 전체 스토리가 진행되고, 학습 미션이 부여됩니다. 현재 데모 영상의 대화 내용과 미션은 이해를 돕기 위해 간단한 내용으로 구성했으며 실제 미션은 스토리에 맞게 재미있는 요소를 곁들여 기획하였습니다. 학습 미션은 팝업 창으로 미션 내용과 함께 미션 클리어 시 획득할 수 있는 보상, 미션에서 사용하는 노드 종류에 대한 정보를 제공합니다. 주황색의 ‘시작하기’ 버튼을 누르면 노드를 이용해 코딩을 할 수 있는 화면으로 전환됩니다. 5. 학습 시스템(노드를 이용한 코딩) : 학습 시스템에서는 주어진 미션을 해결하기 위해 직접 노드를 선택하고 코딩을 할 수 있는 UI가 제공됩니다. 현재는 노드들이 개발 중에 있어 데모 영상에서는 노드들이 이미 화면에 배치되어 있는데, 추후에 이를 수정할 예정입니다. 이와 관련된 프로토타입은 기획서를 참고해주시기 바랍니다. 데모 영상에서는 NPC에서 2+3이 무엇인지 계산을 도와달라는 미션을 받아서 이를 해결하는 내용을 담고 있습니다. 2+3 를 계산하고 계산 결과를 출력하기 위해 데이터 노드 2개와 연산노드 1개, 출력노드 1개, 시작 노드, 끝 노드를 사용하였습니다. 시작 노드와 끝 노드를 반드시 사용하여 코드의 시작과 끝을 명확히 표시해주어야 하고, 시작 노드와 끝 노드가 다른 노드와 연결이 되어야 ‘실행’ 버튼이 활성화 됩니다. 실행 버튼을 누르면 코딩 결과를 시각적으로 보여주는 출력 창이 나타납니다. |
발표자료 | 12팀_기말발표자료.pdf |
기타 | 노드_기획안.pdf |
프로젝트명 / 부제 | Agent.I : Generative Agent를 적용한 NPC와의 논리 경쟁 시스템으로 반사회적 집단을 와해시키는 게임 |
---|---|
작성일 | 2023-12-15 00:00:00 |
팀번호 및 팀명 | 13. 스윗팡이크루 |
팀구성원들의 역할분담 | 정다소(2071043) 팀장, Django Back-end, Generative Agent system 장재원(1976343) 팀원, Unity Front-end 성원희(2176180) 팀원, Generative Agent system, GPT prompt 처리 |
팀지도교수 | 심재형 교수님 |
엘리베이터 스피치 문장 | Generative Agent가 퍼트리는 사이비 종교에 대한 증거를 찾고, 자신의 페르소나와 기억을 가지고 사고하는 NPC와 논리적 대화를 통해 종교 집단 생성을 방해하는 게임이다. |
문제의 정의 | 우리가 흔히 접하는 게임 속 NPC들은 기획된 시나리오 속 동일한 대사를 반복합니다. 이는 현실성이 떨어지며 게임에 대한 몰입도를 방해하고 NPC와 유저간의 획일적인 상호작용만을 제공합니다. 이러한 문제로 인해 GPT 기반의 생성형 AI를 NPC에 적용한 게임들이 만들어지고 있습니다. 하지만 현재 시장에 나온 게임들은 Generative AI를 단순히 NPC와 가벼운 대화나 미미한 역할에만 적용함으로써 기술의 잠재력을 충분히 활용하지 못하고 있습니다. |
관련연구/서비스/시스템조사결과 및 한계점 | 2023.08.06에 발표된 논문 [Generative Agents: Interactive Simulacra of Human Behavior]에서 Chat GPT를 이용해 스스로 메모리를 형성하고 이를 이용하여 다른 NPC들과 대화하며 움직이는 등 실제 사람처럼 신뢰할 수 있는 행동을 하는 Generative Agents를 만들어낸 결과를 보여주었습니다. 이러한 Generative Agent들은 스스로 이벤트를 기획하고 NPC들을 모아 실행하는 수 있는 능력을 가지고 있습니다. 하지만 메모리에 저장된 내용과는 다른 대답을 하는 등 아직 다양한 오류가 존재합니다. 또 저희의 경쟁 서비스로는 AI 챗봇을 넣어 출시한 '역수한 모바일' 게임이 존재하지만, 이 역시 단순 대화위주로 게임 시스템과 플레이에 큰 영향을 주지 못합니다. |
제안내용 | [Generative Agents: Interactive Simulacra of Human Behavior] 논문에서 연구한 Generative Agents의 구조를 반영하여, 이를 게임에 활용하고자 합니다. 연구 결과에 나타난 agent들이 스스로 생각하고 움직이는 점을 이용하며, 대화나 행동 시에 나타나는 오류들은 고치면서 논문의 내용을 발전시킵니다. 이는 npc들이 스스로 직접 생각하고 다음 행동을 결정하여 여러가지 새로운 이벤트를 생성한다는 점에서 정해진 패턴에 따라 움직이던 기존 게임에서의 npc들과 다른 양상을 보여줍니다. 이러한 Generative AI를 이용한 npc들이 게임의 주된 시스템을 이끌어갑니다. '종교 집회'의 목적을 가진 주교 npc는 이를 기획하고 대화를 통해 정보를 퍼트려 집회가 열리고 이를 대화를 통해 막는 것이 저희 게임의 핵심 시스템입니다. |
구현방법 | Chat GPT를 이용하여 Unity 게임 환경 안에서 NPC들이 움직이고 주변 상황을 Collision을 통해 인지한다. 해당 정보가 JSON 형태로 Django 서버에 REST API 방식으로 전달된다. Django 서버는 AWS EC2를 통해 배포된다. Front-end에서 인지한 정보를 반영한 Prompt를 작성해 OPEN AI의 API를 이용해 Chat GPT 결과값을 얻는다. 이 출력값은 npc들의 대화, 장소 이동, 하루 일과 계획 등에 사용된다. |
사용할 세부기술 | 프론트 엔드 : Unity & C# 백엔드 : ChatGPT, Django, Python, AWS EC2(Ubuntu Server 22.04) |
기대효과 및 의의 | 1. 현실감과 예측 불가능한 게임 경험 : 생성형 AI를 기반으로한 스스로 판단하고 상호작용하는 NPC를 게임에 적용함으로써, 유저들에게 현실감있는 게임 세계를 제공합니다. NPC는 다양한 행동 패턴을 갖추며, 유저들의 상호작용 및 결정에 따라 동적으로 변화합니다. 이를 통해 유저들은 자신의 선택과 행동에 따라 게임의 흐름이 변화함을 느낄 수 있고, 게임을 조금 더 생동감 있게 느낄 수 있습니다. 2. 게임 플레이의 다양성 : 생성형 AI를 기반으로 하는 NPC가 게임에 도입되면, 유저의 선택과 행동에 따라 게임의 흐름이 변화합니다. 이를 통해 유저는 각각의 상황에 따른 게임 플레이 전략을 세워야하고 새로운 문제에 대응해야 합니다. 이로써 유저들의 게임 경험을 더욱 개인화하고 다양한 게임 플레이를 즐길 수 있습니다. 3. 생성형 AI의 게임적 활용 : 생성형 AI가 게임에 도입된 사례가 많지 않다는 점에 주목하여 이 프로젝트는 생성형 AI를 게임 환경에 효과적으로 적용하고 최적화하는 기술적인 도전 과제를 이행하고 있습니다. 이에 대한 결과물은 게임 산업에서 생성형 AI 기술을 더욱 확장하는 토대가 될 수 있습니다. |
기술적 성취/ 산출물 | 1. [행동트리 및 NPC 루틴] 행동트리 적용을 위한 BT스크립트 작성, NPC가 정해진 waypoint를 따라가며 루틴을 이행하고 도중에 다른 NPC를 만나면 NPC를 인지하여 멈추고 자기 자신과 상호작용한 NPC의 이름과 위치정보를 JSON파일로 변환 2. [대화 시스템] chat gpt가 생성한 대화 내용이 담긴 json 파일을 유니티에서 불러와서 npc 말풍선으로 출력, 카카오톡처럼 별도의 창을 열어서 이전 npc들의 대화를 모두 볼 수 있게 구성함 3.[인지 시스템] 다른 NPC 주변 반경에 존재하면 인지하고 NPC와 대화할 지 결정하고 대화를 생성하는 시스템 구현 4.[AWS EC2 배포] 장고 서버와 유니티가 API를 주고 받기 위하여 아마존의 EC2 서비스를 활용해 장고 서버를 배포함. 5. [페르소나별 대화 생성] NPC 3명의 페르소나를 작성하고 이를 GPT PROMPT화 하여 대화를 생성 시키는 시스템을 제작함. 6. [공간 기획] NPC가 사는 마을에 대한 기획과 에셋을 구하여 유니티에서 픽셀맵을 제작하는 작업을 진행 중 |
데모 시나리오 | PC를 이용하여 Unity상에서 구현된 게임 화면을 보여준다. Generative Agent가 주변 NPC를 인지하여 서버에 해당 정보를 전달한다. JSON 형태로 보내진 정보를 보여주고, Django 서버에서 Chat GPT API를 사용하여 생성된 대화가 WEB상의 REST API로 전달 되는 장면 역시 보여준다. 다시 Unity에서 NPC들끼리 UI를 통해 대화하는 모습이 보여진다. |
발표자료 | https://drive.google.com/file/d/1Y2J8EL2CmrIiQi0usv9vNQBZ5S-WGrFh/view?usp=sharing |
기타 | [References] [1] JoonSungPark, JosephC.O’Brien, CarrieJ.Cai, MeredithRingelMorris, PercyLiang, PercyLiang Generative Agents : Interactive Simulacra of HumanBehavior [2] GitHub - joonspk-research/generative_agents: Generative Agents: Interactive Simulacra of Human Behavior |
프로젝트명 / 부제 | 피치파인더 : 부르기 쉬운 노래를 찾고 싶은 당신을 위한 사용자 음높이 기반 가요 필터링 서비스 |
---|---|
작성일 | 2023-12-15 00:00:00 |
팀번호 및 팀명 | 14. CoB |
팀구성원들의 역할분담 | 이나현(2076292) 팀장, 프론트엔드 React 개발 김선영(2071010) 팀원, 프론트엔드 FFT 기술 적용 김채리(207018) 팀원, 백엔드 SpringBoot 개발 |
팀지도교수 | 이형준 교수님 |
엘리베이터 스피치 문장 | '들을' 노래가 아닌 '부를' 노래를 찾기 위해 개인 음역대를 측정하여 음정을 기반으로 노래를 필터링 하는 서비스 ‘피치파인더’를 개발한다. |
문제의 정의 | 평소 자주 들었던 노래지만 막상 불러보니 너무 어려워서 당황했던 경험, 분명 시작 음정이 낮아서 야심차게 불렀는데 갑자기 높아진 음역대에 삑사리가 난 경험, 다른 사람들이 많이 부른다는 노래방 인기 차트에서 골랐지만 내가 부르기엔 너무 버거웠던 경험, 다들 한번씩 있지 않으셨나요? 노래를 부를 때 이렇게 음역대가 맞지 않았던 불편한 경험, 모두가 한번씩은 겪게 됩니다. 개인의 음역대는 다양하고 이에 따라 잘 '부를 수 있는' 노래는 달라집니다. 하지만 기존 음악 플랫폼은 ‘들을’ 기준으로 노래를 추천하고, 노래방 차트는 많이 ‘불린’ 노래를 중심으로 구성되어 있고, 개인이 자신의 음역대로 부를 수 있는 노래를 고르기 어렵습니다. 우리는 노래방에 가거나 공연 무대에 서기 위해 노래를 고를 때 어떤 노래가 부르기 쉽고 내게 맞을지 오랜 시간을 고민합니다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 접근성 좋은 객관적인 음역대 측정 기능의 부재 - 개인이 음역대를 측정할 때 영상이나 글로 추상적으로 설명하는 음역대 측정 컨텐츠로 주관적으로 판단하는 방식만 있습니다 - 현재 정교하고 객관적으로 음역대 측정을 하기 위해서는 장비나 전문가가 필요합니다. 선호도 기반의 기존 노래 추천 서비스 - 노래 추천 서비스를 제공하는 기존 음원 플랫폼들은 협업 필터링 알고리즘을 이용하여 이용자로부터 수집한 피드백 데이터와 다른 이용자의 경험을 바탕으로 판단합니다. - 이때 사용하는 데이터들은 전부 이용자들이 '들은' 노래를 기반으로 판단하기 때문에 개인이 듣고 싶은 노래의 선호도나 취향에는 잘 맞을 수 있으나, '부르기 편한' 노래를 찾아주는 것과는 거리가 멉니다. 결론 자주 듣는 노래 순위를 보여주는 스트리밍 서비스의 차트와 노래방에서 많이 불린 노래들을 보여주는 인기 차트는 전혀 다르고, 포털 사이트에서는 '노래방 노래 추천 남자' '노래방 노래 추천 20대'와 같은 검색어들이 검색됩니다. 취향과 장르만을 기반으로 추천하는 기존 서비스들은 듣기 좋은 노래만을 추천해 줄 뿐 부르기 좋은 노래를 찾고자 하는 수요를 충족시키지 못하고 있습니다. 시중에 개인의 음역대 측정은 주관적으로 판단해야하는 일회성 컨텐츠들 뿐이고 보다 정확히 측정하기 위해 도구나 전문가의 도움을 받으려 하면 높은 비용과 시간이 필요합니다 |
제안내용 | 사용자의 음역대를 측정해서 최고 음정, 최저 음정, 정확도가 높았던 음정들을 기반으로 사용자가 쉽게 잘 부를 수 있는 노래를 추천합니다. 1. 개인 음역대 측정 사용자가 여러 음계를 직접 불러서 이를 녹음하게 하는 방식의 음역대 측정을 통해 사용자로부터 정확도가 높은 음정, 낮은 음정, 최고 음정, 최저 음정 등 필터링에 필요한 데이터를 뽑아냅니다. 2. 노래 필터링 음역대가 사용자의 최고음정 ~ 최저음정 사이에 존재하는 노래들만 필터링합니다 3. 노래 정렬 필터링 된 노래들 중 노래별로 유저의 정확도 높은 음정이 많이 나오는 순서대로 정렬합니다 4. 서비스 제공 위 기능을 제공하는 프로그레시브 웹 앱 형태의 플랫폼을 개발하고 배포합니다 |
구현방법 | 1. AudioContext 기기에 내장된 마이크와 연결하여 음성 데이터를 받아옵니다. 2. 음역대 측정을 위한 FFT (Fast Fourier Transform) 사용자의 음성 데이터를 주파수 영역으로 변환하여 음정을 측정합니다. 3. GPU 초기 단계에서는 GPU 연산이 필요하지 않을 것으로 예상되므로, 현재는 고려하지 않고 있습니다. 그러나 향후 머신러닝 모델 등의 복잡한 계산이 필요한 경우에는 GPU를 도입하여 성능을 향상시킬 계획입니다. 4. 클라우드 플랫폼 AWS를 사용하여 안정적이고 확장 가능한 클라우드 인프라를 구축할 계획입니다. EC2 인스턴스(ubuntu)와 RDS(mysql)를 활용하여 서버와 데이터베이스를 운영 5. 데이터베이스 MySQL을 사용하여 사용자 정보 및 노래 데이터를 효율적으로 관리할 예정입니다. 시스템 아키텍처 |
사용할 세부기술 | 1. 프론트엔드 : 전반적인 플랫폼 구동 - Typescript 기반 React SPA 모바일웹 : 일회성(웹), 높은 접근성(모바일) - Recoil : 사용자 음정 데이터를 전역상태로 관리 - React-Query, Axios : API 통신 및 서버 연결 - styled-components or TailwindCSS : 효율적인 스타일링 2. 백엔드 - SpringBoot, JPA - MySQL - Spotify API나 Keggle과 같은 음원 데이터를 수집하여 노래 데이터베이스를 구축 3. 버전관리 - Git, Github 4. 협업 툴 - Discord, Notion |
기대효과 및 의의 | 1. 개인화된 음악 경험 사용자는 더 이상 부를 때 음역대의 불일치로 고민하지 않고 자신의 음역대로 부를 수 있는 노래를 골라 부를 수 있습니다. 노래방이나 공연에서 노래를 부를 때 보다 쾌적한 경험을 얻을 수 있습니다. 2. 다양한 음악 체험 '개인의 음정 기반'이라는 기존에 없던 시스템을 기준으로 음악을 탐색할 기회를 제공하기 때문에 한정적이지 않은 새로운 노래들을 발견할 수 있습니다. 사용자의 음악적 호기심을 확장시키고 새로운 장르나 아티스트를 탐험하는 데 도움이 됩니다. 3. 새로운 기준 제시 '듣기 위한' 기준으로 판단하던 기존 노래 추천 시스템에서 벗어나 완전히 새로운 기준을 제시합니다. 당근마켓은 거래 플랫폼이라는 영역에서 온라인 거래가 아닌 직거래라는 새로운 개념을 만들어냈습니다. 피치파인더는 노래 추천 플랫폼이라는 영역에서 선호도나 장르가 아닌 음정이라는 새로운 기준의 패러다임을 제시합니다 4. 노래방 산업 활성화 추후 노래방 기기와 연동하게 된다면 노래방 기기에서 볼 수 있는 컨텐츠(현재 랜덤 룰렛이나 주사위 돌리기 등의 미니게임 같은 컨텐츠들이 존재)의 일환으로 이용자들에게 보다 즐거운 노래방 경험을 제공합니다 |
기술적 성취/ 산출물 | 9월 1주차 : 주제 선정 및 팀원 모집 9월 2주차 : 팀원 역할분배, 지도교수 면담 9월 3주차 : 멘토 탐색 및 확정, 주제와 관련된 참고 자료(데이터, 문서) 리서치 9월 4주차 : 1차 멘토링 및 1차 보고서 작성 10월 1주차 : 1차 보고서 작성, 주제 구체화 10월 2주차 : 중간 발표, 2차 멘토링, 관련 기술(FFT) 리서치 10월 3주차 : 3차 멘토링 및 멘토링 보고서 작성, 1차 보고서 제출 10월 4주차 : 2차 보고서 작성, 캡스톤 경진대회 준비, FFT 기술 적용하여 테스트 11월 1주차 : 서비스 기능 구체화 및 기능명세서 작성, 2차 보고서 작성 및 제출 11월 2주차 : 와이어 프레임 설계 및 캡스톤디자인 경진대회 작품 제출 11월 3주차 : 프로토타입 개발 및 스트리밍 기술 구현 리서치 11월 4주차 : 개인별 기술 블로그 작성, 최종 보고서 작성, 기말 데모 준비 11월 5주차 : 최종 보고서 작성, 기말 데모 준비 12월 1주차: 최종 발표 및 최종 보고서 작성 12월 2주차: 지도교수 최종면담 및 면담 보고서 작서 12월 3주차: 프로토타입 개선 작업 12월 4주차: 본격적인 개발 시작 |
데모 시나리오 | 내장된 마이크를 통해 사용자의 음성을 받아 사용자가 낸 음역대를 알아내서 화면에 표현하는 부분까지 구현하여 배포한 웹사이트를 데모합니다. https://pitch-finder.vercel.app/ |
발표자료 | https://drive.google.com/file/d/1t4NySdLV83cAjwgQG7nxOswgEaLK6Y_Z/view?usp=drive_link |
기타 | 수집 예정인 데이터 1. 사용자 음역대 측정 결과 데이터 - 사용자들의 음역대 측정 결과를 수집합니다 - 추후 서비스 확장을 위해 노래 데이터를 추가할 때 많은 사람들이 해당되는 음역대의 노래들을 우선으로 추가합니다. 2. 사용자의 선호도 데이터 - 필터링 된 노래 리스트에서 사용자가 선택한 노래들을 분석하여 음역대 외에 ‘부르고 싶은’ 노래를 선정하는 기준을 알아냅니다 - 나이, 성별 등의 기준으로 음역대 데이터를 통계 냅니다. |
프로젝트명: 부제 | 다시: 은퇴 후에도 경력을 살려 일할 수 있도록 업무 한 줄 소개를 기반으로 기업에게 시니어 전문가를 추천해주는 AI 매칭 인재풀 웹 사이트 |
---|---|
작성일 | 2023-12-09 00:00:00 |
팀번호 및 팀명 | 15. 감자도리 |
팀구성원들의 역할분담 | 최한비(2076429) 팀장, 키워드 추출 AI, 프론트엔드 개발 권태영(2171004) 팀원, 이력서 파일 텍스트 인식 AI, 프론트엔드 개발 김서현(2176063) 팀원, 유사도 계산 및 추천 AI, 백엔드 개발 공통: 기획, 와이어프레임 & 디자인 |
팀지도교수 | 김명 교수님 |
엘리베이터 스피치 문장 | 고령화되는 사회 속에서 은퇴 후에도 경력을 살려 일할 수 있도록 업무 한 줄 소개를 기반으로 기업에게 시니어 전문가를 추천해주는 AI 매칭 인재풀 웹 사이트 입니다. |
문제의 정의 | 2020년 9월 보건복지포럼이 발표한 <신중년의 경제활동 실태와 향후 과제>에 따르면 50대 노동자의 89.3%가 현업을 지속하고 싶다고 밝혔다. 이러한 설문조사 결과를 고려하여 고령 인구가 은퇴 후에도 업무와 일자리에 대한 높은 관심을 가지고 있음을 확인하였고, 관련 시장 분석 조사 결과 은퇴한 시니어를 위한 취업 매칭 플랫폼 구축의 필요성을 인식했다. 기존 시니어 일자리 서비스는 주로 정부기관에서 담당하였다(예: 서울시어르신취업지원센터, 중장년워크넷). 이러한 기존 서비스는 환경 미화, 조리, 돌봄, 경비원, 배달원, 주차원, 주유원, 가사 관리 등 짧은 시간에 훈련할 수 있는 직업군으로 한정되어 있다. 이에 경험과 전문성이 중요한 분야를 대상으로 한 시니어 채용 플랫폼의 필요성을 느꼈다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 1. 중장년워크넷 채용 형태: 기업 공고에 직접 신청 직업군: 환경 미화, 돌봄, 경비원, 배달원 등 대상 연령층: 중장년(40세 이상) 강점: 고용노동부와 연계하여 신중년 경력직 일자리 사업을 진행한다. 약점: 직업군이 다양하지 않고 경력을 활용할 수 있는 채용 공고가 제한적이다. 2. 서울시50플러스포털 채용 형태: 기업 공고에 직접 신청 직업군: 환경 미화, 돌봄, 경비원, 배달원 등 대상 연령층: 40-50대 강점: 다양한 구인 공고를 제공하고 직업훈련을 실시하여 중장년의 취업을 돕는다. 약점: 직업군이 특정 분야로 한정되어 있어 시니어가 이전 경험을 활용하기 어렵다. 3. 원티드 채용 형태: 이력서를 올리면 기업이 컨택(인재풀)/기업 공고에 직접 신청 직업군: IT 위주 대상 연령층: 20-40대 강점: 기업이 찾는 프리랜서를 매칭해주는 AI 서비스가 있어 기업과 프리랜서를 효과적으로 매칭한다. 약점: 주 직업군은 IT 분야, 대상 연령층은 20-40대로 한정되어 있어 은퇴한 시니어가 이용하기 어렵다. 4. 사람인 채용 형태: 이력서를 올리면 기업이 컨택(인재풀)/기업 공고에 직접 신청 직업군: 전 분야 대상 연령층: 20대-50대 (30대 이용자가 가장 많음) 강점: 이용자가 가장 많은 채용 플랫폼 중 하나로 다양한 기업 채용 정보를 제공한다. 약점: AI 매칭 서비스의 범위가 넓고 구체적이지 않다. |
제안내용 | 1. 텍스트 인식 AI를 활용한 이력서 작성: pdf, docx 등 기존에 갖고 있던 이력서 파일을 업로드하면 인공지능을 이용한 텍스트 인식 기술을 통해 핵심 정보만 추출하여 자체 제공하는 이력서 양식을 채운다. 이후 희망 근무 분야, 희망 근무 형태 및 급여 등을 추가로 입력할 수 있게 한다. 백지에서부터 시작하는 막막함 대신 기존 자료를 활용하여 쉽고 빠르게 이력서를 완성할 수 있도록 했다. 작성한 이력서는 인재풀에 등록되어 기업 사용자들이 이를 검토하고 조회할 수 있다. 2. 업무 한 줄 소개 기반 전문가 추천: 기업은 "컴퓨터공학 전공 학생들을 위한 취업 강연", "멀티플레이어 전략 보드 게임 개발"과 같이 업무 한 줄 소개를 입력하여 상황에 맞는 인재를 추천받을 수 있고, 직군/직무/근무 형태/예산/스킬 필터링을 통해 원하는 조건으로 검색할 수 있다. 기업이 입력한 줄글 형태의 업무 한 줄 소개에서 핵심 키워드를 추출하여 적합도가 높은 순서대로 이력서를 노출한다. 이를 통해 기업들은 다양한 분야에서 경험이 풍부한 시니어 전문가들의 이력서를 모아볼 수 있으며, 적합한 인재를 찾을 수 있다. 3. 채용 제안 전송 및 수락: 기업은 마음에 드는 시니어 전문가를 발견하면 채용 제안을 보낼 수 있다. 전문가는 기업명, 업무 형태, 근무 기간, 업무 소개가 담긴 제안을 확인하고 계약을 희망하면 제안을 수락한다. 이후 근로계약서를 작성하고, 매칭 수수료를 정산한다. 4. 사용자 평판 작성: 사용자와 매칭된 기업이 사용자에게 리뷰(별점, 후기 줄글)를 남길 수 있다. 이후 새로운 기업에서 사용자의 이력서를 조회할 때 해당 평판을 확인할 수 있다. |
구현방법 | 모바일과 PC 뷰 모두 지원하는 반응형 웹 사이트 형태로 데모할 예정이다. 프론트엔드 언어는 TypeScript @4.9.5, 프레임워크는 React @18.2.0를 사용한다. 백엔드 프레임워크는 Django @4.2.7, 데이터베이스는 MySQL @8.1.0를 사용하고, 클라우드는 AWS Ubuntu Server 22.04 LTS를 사용할 예정이다. 텍스트 인식 AI (OCR)는 Google Vision AI, 키워드 추출 AI는 Kr-WordRank 1.0.0, 유사도 계산 및 추천 AI는 scikit-learn의 TfidfVectorizer와 cosine_similarity를 사용한다. |
사용할 세부기술 | 프론트엔드: React @18.2.0, TypeScript @4.9.5 백엔드: Django @4.2.7, MySQL @8.1.0 AI: Google Vision AI API, Kr-WordRank 1.0.0, scikit-learn - TfidfVectorizer, cosine_similarity |
기대효과 및 의의 | 1. 시니어의 기대효과: 은퇴 후에도 자신이 가진 지식과 경험을 바탕으로 멘토링 및 강연 등 여러 영역에서 활동할 수 있게 중개하여 시니어들이 직업적 성취를 이루고 자기 효능감을 느낄 수 있다. 단기적인 일자리나 외주 업무를 통해 자신의 전문성을 은퇴 후에도 꾸준히 활용할 수 있고, 보유한 스킬을 바탕으로 새로운 분야를 제안하여 이전에는 해보지 않았던 영역에도 뛰어들 수 있도록 한다. 또한, 전통적인 노년의 이미지를 타파하고 활동적이고 적극적인 시니어 전문가들의 모습을 강조하여 시니어의 이미지를 개선한다. 이를 통해 은퇴 후에도 노련한 전문가로서 기업에서 활약할 수 있는 배경을 마련하고자 한다. 2. 기업의 기대효과: 기업이 시장의 새로운 분야에 진입할 때, 또는 규모 있는 프로젝트를 진행할 때는 반드시 베테랑의 통찰과 조언이 필요해진다. 그럴 때 잠자는 시니어는 발품을 팔지 않고도 쉽게 상황에 맞는 전문가를 찾을 수 있는 플랫폼을 제공한다. 기업은 시니어의 키워드를 통해 간편하게 원하는 분야의 전문가를 찾을 수 있고, 이력서를 통해 경력, 희망 고용 형태 및 급여를 확인하여 빠르게 의견과 일정을 조율할 수 있다. 특히 스타트업이나 젊은 인력이 대다수인 회사의 경우 노련한 시니어 전문가의 멘토링을 통해 나아갈 방향을 설계하는 데 있어 큰 도움을 받을 수 있다. 3. 의의: 시니어 전문가 고용 중개 플랫폼을 통해 시니어는 은퇴 후에도 자신이 가진 기술로 직업적 성취를 이룰 수 있고, 기업은 빠르게 필요한 베테랑을 찾아 성장할 수 있다. 궁극적으로는 이러한 기업과 시니어 전문가간의 선순환을 형성하여 다가올 고령화 사회에 대비할 수 있게 하는 것을 목표로 하고 있다. |
기술적 성취/ 산출물 | 9월 - 지도교수 1차 면담을 통해 아이디어 확정 - 산학 멘토와의 멘토링을 통해 아이템의 방향성과 핵심 기능 결정 - 유사 서비스 분석을 통해 아이템 경쟁력을 탐색 및 비즈니스 모델 설계 10월 - 2차 멘토링 및 공모전 피드백을 통해 시장조사 및 비즈니스 모델 구체화 - 2023 여성 ICT/SW 창업공모전, 여성벤처 성장 챌린지 공모전, 이화 비즈니스플랜 창업경진대회, 대학생 ESG 청년 창업 아이디어 공모전 지원 - 이화 비즈니스플랜 리뉴얼 워크샵 참여 및 이화 비즈니스플랜 창업경진대회 1차 발표 진행 - 대학생 ESG 청년 아이디어 공모전 결선 발표 진행 11월 - 피그마를 이용해 와이어프레임 제작 (직관적이고 쓰기 쉬운 UI 구성) - SW 창업경진대회 모의 IR 피칭 및 우수상 수상 - 이력서 인식 AI, 키워드 추출 AI, 추천 시스템 개발 및 데모 - React와 Django 실행 환경 구축 및 Django 서버와 MySQL DB 연결 |
데모 시나리오 | - Google Vision AI에서 제공하는 광학 문자 인식(OCR) 기술을 사용하여 이미지에서 텍스트를 추출하는 기술 테스트 - Kr-WordRank 라이브러리를 이용해 키워드와 핵심 문장 추출 테스트 - scikit-learn의 tf-idf 벡터화와 코사인 유사도 계산을 통해 추천 시스템 테스트 - React와 Django 실행 환경 구축 및 Django 서버와 MySQL DB 연결 |
발표자료 | https://drive.google.com/file/d/1fAwIBnhO0Z8JEdMFdKUDjVkzTu_4vbqI/view?usp=drive_link |
기타 | 서비스 타겟 및 비즈니스 모델 유저 시나리오 |
프로젝트명 / 부제 | AI 객체 인식과 프롬프트 엔지니어링을 활용해 맞춤형 건강 조언을 제공하는 과민대장증후군 관리 어플리케이션, BellyWelly |
---|---|
작성일 | 2023-12-17 |
팀번호 및 팀명 | 17. 출발드림팀 |
팀구성원들의 역할분담 | 송채원(2076216) 팀장, 딥러닝 YOLOv8, FastAPI, PyTorch, Python 안채연(2076232) 팀원, 프론트엔드 <Progressive Web App> TypeScript, Next.JS 김예지(2176082) 팀원, 백엔드 Java, Springboot, MySQL, AWS Ubuntu, Docker, FastAPI |
팀지도교수 | 오세은 교수님 |
엘리베이터 스피치 문장 | BellyWelly는 과민대장증후군으로 고통받는 사람들의 평소 습관 개선을 돕는 모바일 서비스입니다. AI 객체 인식을 통해 사용자의 식단을 분석하고, 배변 및 스트레스 기록을 기반으로 프롬프트 엔지니어링을 활용한 맞춤형 건강 조언을 제공합니다. |
문제의 정의 | 현대 사회에 불규칙적인 생활 패턴과 스트레스로 인해 장 건강에 큰 영향을 받는 사람들이 점차 증가하고 있다. 국내에서 연간 약 150만명의 과민대장증후군 환자가 발생했고, 이들은 일상 생활에 큰 불편을 겪고 있다. 대부분의 사람들은 자신의 장 건강 상태를 정확하게 알지 못하며, 자신에게 맞는 건강한 식습관과 생활 패턴을 구축하는 것에 어려움을 느끼고 있다. 하지만 이들의 문제를 해결할 수 있는 사용성 좋은 어플리케이션은 현재 부재하다. 따라서, 사용자 개개인의 식습관, 배변 상태, 스트레스 지수 등을 효과적으로 기록하고 분석하여, 개인별 맞춤형 건강 관리 방안을 제공할 수 있는 서비스의 필요성이 점점 커지고 있기에, 과민대장증후군 개선을 위한 헬스케어 서비스를 제안한다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 1. 관련 임상 연구 과민대장증후군 환자들에게 특정 음식이나 영양소가 어떠한 영향을 미치는지에 대한 연구로, FODMAP 제한식이 과민대장증후군의 증상을 완화하는지에 대한 연구 - 과민성장증후군 치료에서 저포드맵식이의 역할은? (박경식 ( Kyung Sik Park ), 대한소화기학회지, https://kiss-kstudy-com-ssl.access.ewha.ac.kr/Detail/Ar?key=3573105) 영양사의 식이 조언을 동반한 LFD 섭취를 통해 IBS(과민성장증후군) 환자에서 위장관 증상들을 상당히 개선시킬 수 있음과 이와 함께 다균종 생균제를 같이 투약함으로써 증상 개선에 도움이 되는 Bifidobacterium종의 분포를 증가시킬 수 있음을 제시함 2. 서비스 및 시스템 조사결과 및 한계점 (1) 과장님케어 - 건강한 장건강 관리 서비스 [기능] - 장관리를 전문으로 하는 앱으로 증상과 식단, 배변, 복약기록을 통해 일주일 단위로 레포트를 받아보고 전문 영양사에게 1:1 질문을 할 수 있는 앱 - 커뮤니티 기능을 토대로 장에 관한 고민이 있는 사람들이 모여 함께 질문도 올리고 답변도 받을 수 있음. [한계점] - 식단 입력 시에 한정된 종류의 음식 리스트 중에서 입력해야하므로 불편함 - 음식 리스트가 스크롤을 계속 내려야 하는 드랍다운 형식으로 되어있어 사용성 면에서도 불편함 - 앱 사용 중 로딩이 오래 걸리는 일이 매우 잦음 - 커뮤니티 기능에서 전문 영양사와 1:1 식단 상담이 가능하지만 단순한 질답 형식에 불과하여 사용장 대한 지속적인 관리가 이루어지지 않음 (2) 피비오 - 식이기록, 배변기록, 건강관리, 헬스케어 [기능] - 스스로 장내 미생물 생태계인 마이크로바이옴을 모니터링 하면서 건강하게 관리할 수 있도록 돕는 마이크로바이옴 헬스케어 솔루션 - 식이 기록을 통한 마이크로바이옴 관리 - 배변로깅을 통한 장내 마이크로바이옴 모니터링 및 솔루션 제공 - 포드맵 검색 [한계점] - 배변 상태 기록 시, 삭제는 가능하지만 수정이 불가능하고 세부 기록을 할 수 없음 - 음식 섭취전 먹을 재료에 대한 포드맵을 직접 검색해야하는 수고로움이 있음 |
제안내용 | 1) AI를 이용한 식단 기록 - 사용자가 먹은 음식 사진을 업로드 - AI 기반으로 음식 분석 후 자동 기록 - 사용자가 섭취한 음식과 영양소를 기반으로 장 건강에 필요한 영양소 과부족 및 포드맵 분석 2) 사용자 분석 레포트 제공 - 사용자가 설정한 건강 관련 목표 또는 건강 상태 요약 - 식단 분석 - 사용자가 기록한 식단을 토대로 주요 영양소 섭취량 및 권장량 비교 - 사용자별 장 건강에 영향을 미칠 수 있는 재료나 음식 섭취 빈도 분석 - 사용자에게 영양소 및 건강 관련 조언 제공 - 배변활동 분석 - 사용자가 배변 빈도, 상태, 색상 등의 정보 입력 - 배변 패턴 분석 및 추정 지표 제공 - 배변 패턴과 장 건강 간의 연관성 분석 후 GPT API를 활용하여 개선점 제공 - 스트레스 분석 - 사용자의 일일 스트레스 지수 입력 - 기간별 스트레스 지수 그래프 - 스트레스와 장 건강 간의 연관성 분석 후 GPT API를 활용하여 개선점 제공 3) GPT API를 활용한 AI 영양사 - 사용자가 기록했던 식단을 보완해줄 수 있는 식단 추천 기능 - 사용자가 입력한 두 가지 음식 중에서 장건강에 가장 괜찮은 음식을 골라주는 기능 |
구현방법 | [프론트엔드] - 이미지 업로드 : @react-image-picker 라이브러리를 사용해 사용자가 자신의 앨범에서 사진을 선택할 수 있도록함 - 분석 레포트 그래프 : @react-chartjs-2 라이브러리를 사용한 선그래프, 막대그래프, 도넛그래프 등 다양한 그래프 구현 - 프롬프트 엔지니어링 / 사용자 입력처리 [백엔드] - AWS EC2, Docker 이용하여 서버 구축 및 배포 - AWS RDS 데이터베이스 구축 - JWT 토큰을 이용한 로그인 - PDF 파일 생성 및 내보내기 - 프롬프트 엔지니어링 / GPT AI 통합 [딥러닝] - 음식 이미지 및 해당 음식의 재료와 영양소 정보를 포함하는 대규모 데이터셋 수집 (https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=79) - 데이터 수집 후, YOLOv8 학습을 위한 데이터 형식 (이미지와 레이블링된 바운딩 박스 정보)에 맞게 전처리 - YOLOv8를 사용하여 음식을 인식하는 모델 학습. - 재료 및 영양소 정보를 반환하는 추가적인 모델을 개발할 수도 있음 - FastAPI를 사용하여 사용자가 이미지를 업로드할 수 있는 API 엔드포인트 생성. - 업로드된 이미지를 YOLOv8 모델에 전달하여 음식 인식 수행. - 재료 및 영양소 정보와 함께 분석 결과를 사용자에게 반환. - 프롬프트 엔지니어링, 데이터 가공 및 모델 튜닝 |
사용할 세부기술 | AI - YOLOv8, FastAPI, PyTorch, Python FE - <Progressive Web App> TypeScript, Next.JS BE - Java, Springboot, MySQL, AWS Ubuntu, Docker, FastAPI |
기대효과 및 의의 | 1. 개인화된 건강 관리 : 사용자는 AI 기반 식단 분석을 통해 개인 영양소 과부족을 파악하고, 개선 조언을 받아 더 균형있는 식습관을 형성할 수 있습니다. 2. 건강 데이터 모니터링 : 사용자는 배변 활동과 스트레스 수준을 기록하고 분석하여 자신의 건강 상태를 식별함으로써 장 건강을 더 잘 이해하고 증상의 변화를 주시할 수 있습니다. 3. 개선된 장 건강 : 사용자들은 개인화된 식단 조언을 통해 증상을 관리하고, 과민대장증후군 개선에 맞는 올바른 식사 습관을 통해 장 건강을 개선할 수 있습니다. 4. 편리한 데이터 저장 및 공유 : 사용자 정보와 리포트를 PDF로 다운로드할 수 있어, 사용자는 의료 전문가와 공유하거나 자신의 건강 이력을 효과적으로 관리할 수 있습니다. |
기술적 성취/ 산출물 | - 아이디어 회의 및 주제 선정 완료 - 기능 구체화 - 유사 서비스 분석 및 관련 산업 자료조사 - 관련 산업 자료조사 및 논문 공부 - 기능 명세서 작성 - 필요 기술 조사 및 기술 스택 결정 - 개발 정책서 작성 - 필요 기술 개발 테스트 (YOLOv8 객체 인식, 커스텀 데이터 구축, Few-Shot 및 CoT 전략을 활용한 프롬프트 엔지니어링) - 1차 와이어프레임 제작 (low-fi) |
데모 시나리오 | 1. Figma를 통해 제작한 데모 시연 영상을 통해 앱의 전체 화면 구성을 발표한다. 2. 기획안과 사용할 기술에 대해 설명한다. |
발표자료 | https://drive.google.com/file/d/117nBs8xy8tvX1bU5So03MlqBM8wPKiy4/view?usp=sharing |
기타 |
프로젝트명 / 부제 | Prompirit: Prompt Editing AI Tool to Improve AI-Generative Work Using User Emotion |
---|---|
작성일 | 2023-12-18 17:00:00 |
팀번호 및 팀명 | 18. 앤트 |
팀구성원들의 역할분담 | 김한나(2071019) 팀장, 프롬프트 엔지니어링 및 RePrompt 관련 선행연구조사, 유저 스터디 설계 및 진행 리드, 논문 작성 방선유(2076181) 팀원, 멀티모달 감정 인식 관련 선행연구조사, 멀티모달 감정인식 및 프롬프트 루브릭 설계 리드, 논문 작성 이현 (2070064) 팀원, 생성형 AI 관련 선행연구조사, 자연어처리 및 텍스트 감정 분석 모델 개발 리드, 논문 작성 |
팀지도교수 | 오유란 교수님 |
엘리베이터 스피치 문장 | “이미지 GenAI 프롬프트 최적화를 제공하는 Prompirit은 사용자 발화 및 사용자 감정의 키워드를 분석하는 Multi-modal AI 프롬프트 엔지니어링 도구를 사용해 text prompt를 생성한 후, 이를 GenAI의 input 프롬프트로 활용하여 사용자의 감정을 보다 정교하게 반영한 이미지 결과물을 생성하도록 한다.” |
문제의 정의 | RQ1. How can context and emotion in text prompts be applied to generated image more precisely with automatic engineering? RQ2. Is it possible to improve AI-generated images by applying user's complex emotions on prompt? RQ3. How effective is Prompirit in generating images with emotional expression compared to other prompt engineering methods? RQ1. 어떻게 하면 자동화된 텍스트 프롬프트 엔지니어링을 통해 텍스트 내의 맥락과 감정을 더욱 정교하게 이미지 결과물에 반영할 수 있는가? RQ2. 사용자의 복합적인 감정을 파악하여 프롬프트에 반영하는 것이 AI 생성 이미지를 개선할 수 있는가? RQ3. Prompirit이 감정을 반영하는 이미지를 생성함에 있어서 타 프롬프트 엔지니어링 방식에 비해 얼마나 더 효과적인가? |
관련연구/서비스/ 시스템조사결과 및 한계점 | Gen AI를 효율적으로 이용할 수 있는 프롬프트 엔지니어링이 필요함은 꾸준히 강조되어 왔다. 이미지 생성 인공지능과의 상호작용에 특화된 프롬프트를 개발함으로써 사용자의 감정 및 정보 요청을 명확하게 전달할 수 있는 인터페이스를 설계하고, 이를 통해 프롬프트와 이미지 간의 일치도를 향상시킬 수 있다. 관련 연구: RePrompt: Automatic Prompt Editing to Refine AI-Generative Art Towards Precise Expressions 위 논문은 텍스트 프롬프트 내 감정 맥락 이해의 중요도를 강조하였다. 해당 논문에서 제시된 RePrompt는 AI가 생성한 이미지의 감정적 표현을 향상시키고자 하는 자동화된 프롬프트 엔지니어링 방법으로, 정확한 감정 표현을 위해 텍스트 프롬프트를 조정하는 것을 중점으로 한다. 이 연구는 현재의 특징 선택과 모델링 방법이 구문과 의미에 제한되어 있다고 지적하며, 향후에는 시각적 요소를 통합하고 더 포괄적이며 객관적인 감정 측정 방법을 고려해야 한다고 제안하고 있다.→ 한계점: 텍스트 분석 시 단어 기준으로 맥락을 분석하기 때문에 실제 의미와 다른 형태로 분석되는 경우가 있다. 또한 텍스트만을 고려한 프롬프트 엔지니어링 방식이므로 이미지가 갖는 특징을 충분히 고려하지 못하였다. 나아가 사용자 연구 과정에서 실험을 위해 미리 준비된 텍스트만을 활용하였으므로 일상생활 속 감정의 다양성을 반영할 수 있는 지가 불분명하며, 감정 분석 시 텍스트 자체만을 활용하였으므로 맥락을 정확히 읽어내지 못하는 텍스트 프롬프트를 제공할 가능성이 있다. Design Guidelines for Prompt Engineering Text-to-Image Generative Models 프롬프트 키워드와 모델 하이퍼 파라미터가 일관된 결과를 생성하는 데 도움이 될 수 있는지 조사하는 연구를 수행했다. 특히 주제와 스타일 키워드를 포함하도록 구조화된 프롬프트를 연구하고, 이러한 프롬프트의 성공 및 실패 모드를 조사했다.→ 한계점: 사용자가 주제와 스타일 키워드를 꼭 언급해야 하는 방식의 프롬프트이므로 부자연스럽고 형식적이다. |
제안내용 | Expressing emotions is a crucial behavior that benefits humans in various ways, such as enriching self-expression, self-awareness, and creativity. Recently, a number of generative AI models have been steadily mentioned to support this process by creating images through short text prompts. However, it is still uncertain whether generated images show user emotions in text prompts properly. In this paper, we propose a multi-modal prompt engineering AI tool, Prompirit, that improves AI-generated images by using user’s emotions as a core feature. First we will curate a rubric to apply emotions in text prompts more precisely with automatic prompt engineering. With our rubric, we will make an attempt to improve the output image by adding voice and face data for emotion recognition. After that, we will conduct user study to confirm the effectiveness of Prompirit. 감정 표현은 자기표현, 자기인식, 창의성을 풍부하게 하는 등 여러 방면에서 인간에게 도움이 되는 중요한 행동입니다. 최근 생성형 AI는 이러한 과정을 지원하는 도구로써 꾸준히 언급되고 있습니다. 그러나 생성된 이미지가 텍스트 프롬프트 내 사용자의 감정을 명확히 반영하는지는 여전히 불확실합니다. 본 논문에서는 사용자의 감정을 핵심 요소로 고려하여 AI 생성 이미지를 개선하는 멀티모달 프롬프트 엔지니어링 AI 도구인 Prompirit을 제안합니다. 먼저 자동화된 프롬프트 엔지니어링을 통해 텍스트 프롬프트에서 감정을 보다 정확하게 반영하도록 하는 루브릭을 만들 것입니다. 또한, 출력 이미지를 개선하기 위해, 음성 및 얼굴 데이터를 추가하여 감정 인식 정확도를 높이는 시도를 할 것입니다. 이후 Prompirit의 효과를 확인하기 위한 사용자 연구를 수행할 것입니다. |
구현방법 | RQ1. 어떻게 하면 자동화된 텍스트 프롬프트 엔지니어링을 통해 텍스트 내의 맥락과 감정을 더욱 정교하게 이미지 결과물에 반영할 수 있는가? - RePrompt에서 사용한 데이터셋(Emphathetic Dialogues: emotion labels, situation texts)을 이용하여 단어/어구/문장단위로 한 프롬프트 엔지니어링(BERT가 판단한 문맥상 중요도를 고려) - BERT를 통한 텍스트 내 감정 추출 - 텍스트에서 부족한 부분(마법 용어, 분위기, 스타일 등) 추가 - 분석한 텍스트는 선행 연구 결과를 바탕으로 최적화된 프롬프트 형태로 가공 - DALLE3에 입력해 이미지 생성 후 CLIP score 계산을 통해 효과적이었던 방식을 rubric으로 채택 RQ2. 사용자의 복합적인 감정을 파악하여 프롬프트에 반영하는 것이 AI 생성 이미지를 개선할 수 있는가? - Tensor Fusion Networks 또는 UniMSE 모델을 이용해 multi-modal (bi-modal, tri-modal) 방식을 도입하여 복합적 감정 반영함 - 사용자 연구: 감정을 배제한 input vs. 얼굴 표정을 통한 감정 인식을 포함한 input vs. 텍스트 감정 인식을 포함한 input vs. 얼굴인식과 텍스트 감정인식을 모두 포함한 input을 비교하여 가장 만족스러운 이미지를 만드는 방법을 채택 - 위에서 채택한 방법을 반영한 rubric 선정 RQ3. Prompirit이 감정을 반영하는 이미지를 생성함에 있어서 타 프롬프트 엔지니어링 방식에 비해 얼마나 더 효과적인가? - 감정이 들어간 영화 및 드라마의 장면을 input으로 활용해 총 3가지 프롬프트 엔지니어링 방식(Text only Prompt, Label Appended, Prompirit)으로 이미지 생성 - 생성된 이미지가 위 영상 속 내용과 감정을 얼마나 잘 반영했는지 타 프롬프트 엔지니어링 방식과 비교하여 온라인 설문조사 실시 |
사용할 세부기술 | Training Dataset (multi modal) - 영어(CMU-MOSI)/한국어(AI-Hub 멀티모달 영상) Multi-class sentiment analysis - KoBERT Generative AI - DALL.E Multi-modal Emotion Recognition - Tensor Fusion Network PyTorch OpenCV |
기대효과 및 의의 | 1. 단어/어구/문장단위로 한 프롬프트 엔지니어링을 통해 텍스트에서 중요한 문맥을 반영함 2. 감정 라벨링 자동화: 라벨링 된 감정을 사용하는 것이 아닌 직접 텍스트에서 감정을 추출함 3. 텍스트에서 부족한 부분 (마법 용어, 분위기, 스타일 등)을 추가하여 이미지가 갖는 특징을 반영함 4. 텍스트의 감정 맥락을 정교하게 읽을 수 있는 멀티모달 AI를 활용해 주어진 프롬프트 감정 맥락에 적합한 이미지를 생성할 수 있음 5. human-readable prompt revisions: 사용자가 모델을 더 잘 이해하고 trial-and-error 시도 횟수를 줄이도록 함 6. 정신의학(심리 상담, 스트레스 조절, expressive writing 등)에 활용될 수 있음 6-1. 감정 표출은 인간의 기본적인 욕구이며 건강과 웰빙에 필수적인 요소라는 선행 연구가 있음 6-2. 적합한 사진 및 시각 예술은 뇌 건강에 도움이 될 수 있다는 선행 연구가 있음 6-3. 내담자의 회상과 empowerment to change에 도움을 주므로 심리상담을 보조할 수 있다는 선행 연구가 있음 6-4. expressive writing: 트라우마가 있거나, 암이 있거나, 불면증이 있는 등의 사람들이 트라우마, 스트레스 받는, 감정적인 상황에 대해 적어보는 활동임. 해당 활동 중 글쓰기 과정 중 맥락에 맞는 이미지 생성은 작성자의 physiological arousal and reflection을 향상할 수 있으며, 이는 self-expression and ideation in writing으로 이어지므로 도움이 됨. 이 활동을 통해 그들의 정신 및 육체 건강을 증진할 수 있다는 선행 연구가 있음 |
기술적 성취/ 산출물 | 1. "우리는 액티브한 팀이다"를 팀의 목표로 세우고 그라운드룰을 정함 2. 프롬프트 엔지니어링, Sentiment Analysis, 멀티모달 감정인식 관련 선행 연구 조사 진행 3. DALLE3 및 KoBERT 모델 테스트 4. 기술 블로그 개설 및 선행 연구 조사 논문 내용 및 관련 개발 기술 정리 |
데모 시나리오 | 1. Prompirit 논문 발표 2. 유저 스터디와 동일한 환경에서 Prompirit을 이용해 이미지가 생성되는 과정 시연 |
발표자료 | https://drive.google.com/drive/folders/1L1ormL4NdW02MkfbpuNZ-_dXb8O9880UcN9VTuKVpdg_3RIUz2WIgSwWOJxHQVQUcjX6p06T |
기타 | [References] [1] Yunlong Wang, Shuyuan Shen, and Brian Y. Lim. 2023. RePrompt: Automatic Prompt Editing to Refine AI-Generative Art Towards Precise Expressions. In Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems (CHI ’23), April 23–28, 2023, Hamburg, Germany. ACM, New York, NY, USA, 29 pages. https://doi.org/10.1145/3544548.3581402 [2] Jonas Oppenlaender. 2022. Prompt Engineering for Text-Based Generative Art. arXiv 1, 1. Retrieved from http://arxiv.org/abs/2204.13988 [3] Ankita Gandhi, Kinjal Adhvaryu, Soujanya Poria, Erik Cambria, Amir Hussain, Multimodal sentiment analysis: A systematic review of history, datasets, multimodal fusion methods, applications, challenges and future directions, Information Fusion, Volume 91, 2023, Pages 424-444, ISSN 1566-2535, https://doi.org/10.1016/j.inffus.2022.09.025. [4] Amir Zadeh, Minghai Chen, Soujanya Poria, Erik Cambria, and Louis-Philippe Morency. 2017. Tensor Fusion Network for Multimodal Sentiment Analysis. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing, pages 1103–1114, Copenhagen, Denmark. Association for Computational Linguistics. [5] Andrea Scarantino. 2017. How to Do Things with Emotional Expressions: The Theory of Affective Pragmatics. Psychological Inquiry 28, 2–3: 165–185. https://doi.org/10.1080/1047840X.2017.1328951 |
프로젝트명 / 부제 | 캣치타임: 효율적인 시간 관리에 어려움을 겪는 2030세대를 위한 타이머 기반 모바일 시간 관리 게임 어플리케이션 |
---|---|
작성일 | 2023-12-16 00:00:00 |
팀번호 및 팀명 | 19. TMM |
팀구성원들의 역할분담 | 이가연(2176241) 팀장, 연락담당, 프로그램 개발, 게임 시나리오 라이팅 한서연(2071052) 팀원, 프로그램 개발, 그래픽 리소스 디자인 이자영(1971037) 팀원, 프로그램 개발, 그래픽 리소스 디자인 |
팀지도교수 | 최병주 교수님 |
엘리베이터 스피치 문장 | 우리는 일과 휴식의 시간적 혼재로 업무 집중이 어려운 2030 세대의 시간 대비 생산 효율성 증진을 위해 게임성으로 업무 동기를 부여하는 2D 모바일 시간 관리 어플리케이션을 만듭니다. |
문제의 정의 | 많은 20, 30대가 업무 및 공부를 비롯하여 해야 할 일에 의욕을 느끼거나 집중하지 못한다. 또한 일과 휴식 간의 구분을 확실히 하지 못하고 업무 시간과 휴식 시간이 혼재되게 내버려 두어 효율적인 시간 관리에 실패하는 경우가 비일비재하다. 이로 인해 결국 소요 시간 대비 생산 효율성이 저하되는 문제가 증가하고 있다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | Habitica: 투두리스트를 체크해 경험치를 쌓아 캐릭터를 육성하고, 펫이나 탈 것을 모을 수 있는 게임. 데일리 루틴이나 뽀모도로 챌린지 등을 할 수 있다. 그러나 한국어 지원이 되지 않고 사용자가 일을 하지 않았음에도 임의로 리스트를 체크할 수 있다는 약점이 있다. 열품타: 타이머를 켜둔 동안 휴대폰으로 딴짓을 하려고 하면 타이머를 중지해 시간에 집계되지 않게 만든 시간 관리 어플. 다른 사용자들과 스터디그룹을 만들 수 있고, 백색소음이나 영단어, 뽀모도로 기능 등을 제공한다. 그러나 스스로의 의지가 없다면 동기부여가 되지 않는다는 약점이 있다. Focus To-Do: 뽀모도로 타이머와 스케줄 관리 기능을 제공하는 앱. 제한모드(핸드폰 뒤집기, 앱 종료 금지)로 강제성을 부여하고 백색소음 기능으로 집중력 향상에 도움을 준다. 업무 달성에 따른 보상을 모아 나무를 키울 수 있는 미니 게임을 통해 성취감을 얻을 수 있다. 그러나 나무가 성장하는 것 외에 다른 스토리성이 없어 흥미를 느끼지 못할 수 있다. |
제안내용 | 게임 기능 중 하나인 타이머를 간단히 조작하여 강제성을 동반한 시간 관리를 할 수 있으며, 이 강제성에 대한 사용자의 지각과 반향을 줄이기 위해 자신이 정한 시간을 충실히 이행했을 때 보상으로 캐릭터를 꾸미는 등 개인의 취향을 담아 커스텀할 수 있는 게임적 서비스를 제공하여 성취감을 준다. 이를 이용하여 시간을 효율적으로 관리할 수 있게 만들어 작업 능률, 속도 등을 향상시켜 생산 효율성을 높일 수 있는 동기를 부여하고자 한다. 뿐만 아니라, 게임 내 친구 기능을 통해 서로 간의 교류가 어려운 바쁜 현대 사회 속에서 게임이라는 공통된 관심사를 즐기고, 서로가 어떻게 지내는지 가볍게 확인하기도 하며 연결고리를 이어갈 수 있게 도와 사용자에게 즐거움과 정신적 충족감 또한 주고자 한다. 1. 타이머 + 휴대폰 제한모드 기능으로 사용자가 설정한 시간 동안 강제적으로 휴대폰을 하지 못하도록 한다. 2. 타이머로 설정한 시간이 지나면 제한모드가 풀리고, 시간 관리에 대한 보상으로 게임 재화를 지급한다. 3. 지급된 재화로 아이템을 구매하여 캐릭터와 자신의 마을을 꾸미고 성장시킨다. 이를 친구들에게 공유하고 서로의 마을에 방문함으로써 친구와 교류할 수 있다. 4. 이때 재화는 오로지 타이머 기능을 사용했을 때만 지급함으로써, 업무보다 게임 자체에 시간을 더 많이 쓰는 주객전도 상황을 막는다. 이러한 기능을 바탕으로 기존의 비슷한 어플리케이션과 같이 사용자의 시간 관리를 도우면서도, 사용자가 업무/공부를 지속할 동기를 부여하여 효율적인 시간 관리가 계속되도록 한다. |
구현방법 | 유니티를 이용하여 게임성을 구현할 예정이다. 추가적으로 필요한 그래픽 리소스는 프리 소스를 이용하거나, 직접 창작할 예정이다. |
사용할 세부기술 | 게임 엔진 - 유니티(Unity) 클라우드 서버 - 포톤(Photon) 데이터베이스 - SQLite |
기대효과 및 의의 | 업무 및 공부를 계획대로 진행함에 따라, 즉각적으로 보상이 주어짐과 동시에 시각적인 화면 변화를 보여주는 게임의 특성을 이용하여 비교적 빠르고 충족하기 쉬운 성취감을 제공한다. 또한 성취감을 비롯해 친구들과 함께 게임을 즐기고 있다는 유대감을 형성할 수 있게 하여 사용자가 어플리케이션 이용을 중간에 그만두지 않고 지속적으로 사용할 동기를 부여한다. 그리고 이를 통해 업무를 계속할 의욕을 증진시킨다. 더불어 타이머와 휴대폰 제한모드 기능을 이용하여 사용자가 일에 집중하는 것에 강제성을 동반한 도움을 주어 이전보다 시간 대비 생산 효율성을 높인다. |
기술적 성취/ 산출물 | 주제 및 주 사용 타겟층을 확정했다. 멘토와 면담으로 개발 마인드와 툴 등에 대한 어드바이스와 피드백을 받았다. 사용 프레임워크 및 툴을 확정하고, 어플리케이션의 구체적인 목적과 구성을 정했다. 단체 업무 연락 & 자료 공유용 팀 메신저로 slack 워크스페이스를 만들고 팀 github를 개설했다. 본격적인 개발과 프로토타입 설계에 앞서 필요한 요소들(세부 기술, 시나리오)을 확정하고 구축했다. 필요한 화면들의 종류, 구체적인 UI 디자인과 화면 전환 플로우를 구성하고 Figma를 이용해 실제 흐름, 사용자 인터랙션을 보여주는 디자인 프로토타입을 개발했다. |
데모 시나리오 | Figma를 통해 만든 어플리케이션에 들어갈 화면 디자인과 전체적인 스토리 플로우, UI 및 사용자와의 인터랙션 시연 프로토타입을 토대로 유니티를 이용해 실제 게임을 개발하여 플레이 해본 후, 피드백을 반영해 개선한다. |
발표자료 | https://docs.google.com/presentation/d/1LR4r7xYT-VR4Nmh6scwZOBfhulO9c5XBYnlLRpPzEUM/edit?usp=sharing |
기타 |
프로젝트명 / 부제 | 쿡세이브: 고물가 시대에 식비 절감을 원하는 1인 가구에게 ‘냉장고 속 식재료 관리’, ‘레시피 추천’, ‘식비 절감 통계’를 제공하는 웹 앱 서비스 |
---|---|
작성일 | 2023-12-12 |
팀번호 및 팀명 | 20. 쿠킹마마 |
팀구성원들의 역할분담 | 최예은(1971053) 팀장, AI 파트 담당 송지민(2076214) 팀원, 디자인, 프론트엔드 담당 차소연(2076404) 팀원, 백엔드 담당 |
팀지도교수 | 심재형 교수님 |
엘리베이터 스피치 문장 | 쿡세이브는 비싼 외식비, 배달비가 부담 되지만 아직 요리에는 서툴고, 냉장고 속 식재료는 금방 상해 내다버리기가 일수인 초보 자취생들에게 ‘냉장고 속 식재료 관리’, ‘레시피 추천’, ‘식비 절감 통계’를 제공하여 요리 해먹기를 바탕으로 식비 절감을 돕는 앱 서비스입니다. |
엘리베이터 스피치 문장 | 쿡세이브는 비싼 외식비, 배달비가 부담 되지만 아직 요리에는 서툴고, 냉장고 속 식재료는 금방 상해 내다버리기가 일수인 초보 자취생들에게 ‘냉장고 속 식재료 관리’, ‘레시피 추천’, ‘식비 절감 통계’를 제공하여 요리 해먹기를 바탕으로 식비 절감을 돕는 웹 앱 서비스입니다. |
문제의 정의 | 1인 가구는 독립 초반에 요리를 하고, 식재료를 관리 및 활용하는데에 어려움을 겪고 결국 배달이나 외식으로 이를 대체하게 된다. 물가가 점점 높아지는 요즘, 이로 인해 발생하는 과한 식비 부담은 경제적 여유가 부족한 많은 1인 가구로 하여금 직접 요리를 해먹는것을 생각해보게한다. 하지만 요리에 익숙하지 않은 사람들에게는 쉽지 않은 것이 현실이다. 뿐만아니라 배송을 위한 최소주문금액이 있는 온라인 장보기가 활성화된 요즘, 1인 가구는 다량의 식재료를 기한 내에 소비하는데에 어려움을 겪기도한다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 가지고 있는 식재료를 등록하고 해당 재료들로 만들어 먹을 수 있는 음식 레시피를 제공하는 앱 서비스 ’냉장고 파먹기’가 존재한다. 하지만 해당 앱은 사물 인식, 텍스트 인식과 같은 기술을 이용하지 않기 때문에 사용자가 직접 재료를 하나하나 등록해야하는 불편함이 있다. 또한 해당 앱은 앱 내에서 레시피를 제공하는 것이 아니라 링크를 이용해 외부 사이트의 레시피를 제공하기에 사용 과정이 매끄럽지 않다. 뿐만 아니라, 단순히 재료 등록과 레시피 추천의 기능만을 가지고 있어 기한 내의 적절한 식재료 소비 및 관리 유도는 지원하지 않으며, 식비 절감을 목적으로 하는 1인 가구 사용자에게는 식비 절감 내역을 확인하고 동기를 부여하기에는 부족함이 있다. |
제안내용 | 쿡세이브는 사용자가 식재료를 원활하게 관리하고, 식비를 절감할 수 있도록 돕는다. 사용자는 텍스트 인식 AI기술을 바탕으로 영수증이나 주문내역 캡처본을 첨부하여 냉장고 속 식재료를 앱에 등록할 수 있다. 또, 사물 인식 AI를 통해 실제 물품들을 카메라로 스캔하여 등록할 수도 있다. 위의 기술로 등록을 하지 못할 경우 직접 등록할 수 있다. 쿡세이브는 식재료 목록에 등록되어 있는 재료들로 요리할 수 있는 음식의 레시피를 제공하여, 사용자가 가진 재료를 바탕으로 직접 요리를 해먹기 좋은 환경을 제공한다. 사용자가 구매한 식재료가 방치되지 않도록 등록일자 데이터를 이용하여 사용자에게 알림을 보내준다. 등록한 식재료들의 가격 정보들을 저장하고, 사용자로 하여금 예산을 설정하도록 하여 사용자가 예산 내에서 지출을 하고 있는지 확인할 수 있는 통계 지표를 제공한다. |
구현방법 | 디자인: 기획안, 와이어프레임, 플로우차트를 기반으로 웹 디자인 UI/UX를 완성한다. 프론트 : 완성된 디자인을 바탕으로 웹 퍼블리싱을 진행한다. 완성된 백엔드 api를 연결하여 실제 데이터를 연동한다. 백 : 프론트단과 연결할 API를 구현한다. AI 모델의 데이터 처리 과정이 필요한 기능들의 경우 데이터를 AI 모델이 위치한 서버로 보낸 후 모델에 의해 가공된 데이터를 백엔드 서버로 받아와서 프론트단으로 전달한다. |
사용할 세부기술 | 디자인 - Figma 이용 프론트엔드 - TypeScript, tailwind CSS, React, 안드로이드 스튜디오 웹 뷰 이용 백 - Git, Java, Spring, MySQL, Redis, Docker, AWS AI - Pytorch, TensorFlow, Tencent 클라우드 |
구현방법 | 디자인: 기획안, 와이어프레임, 플로우차트를 기반으로 웹 디자인 UI/UX를 완성한다. 프론트 : 완성된 디자인을 바탕으로 웹 퍼블리싱을 진행한다. 완성된 백엔드 api를 연결하여 실제 데이터를 연동한다. 완성된 웹을 안드로이드 웹 뷰를 통해 웹 앱으로 구현한다. 백 : 프론트단과 연결할 API를 구현한다. AI 모델의 데이터 처리 과정이 필요한 기능들의 경우 데이터를 AI 모델이 위치한 서버로 보낸 후 모델에 의해 가공된 데이터를 백엔드 서버로 받아와서 프론트단으로 전달한다. |
사용할 세부기술 | 디자인 - Figma 이용 프론트엔드 - JavaScript 또는 TypeScript와 Kotlin. React 이용 백 - Git, Java, Spring, MySQL, Docker, EC2, RDS, S3, ELB AI - Pytorch, TensorFlow |
기대효과 및 의의 | 1인 가구는 쿡세이브를 통해 냉장고 속 식재료를 원활하게 관리하고, 쿡세이브는 사용자들이 가진 재료를 바탕으로 요리를 하도록 유도하여 식비를 절감을 이끌어낸다. 또, 사용자들은 자신의 식비 절감 통계 내역을 확인하여 예산 내의 합리적인 소비를 이어갈 수 있다. 추가로 배달과 외식이 아닌 직접 요리해먹는 습관은 식비 절감 뿐만 아니라 건강한 식습관 개선으로 이어질 수도 있다는 점에서 의의를 갖는다. |
기술적 성취/ 산출물 | [기획/디자인] 선정된 아이디어를 바탕으로 멘토링과 지도교수 면담을 거쳐 사업성, 실현 가능성을 고려하여 주제 구체화를 진행하고, 화면 별로 들어갈 기능들을 모두 구체화하여 문서화함. 와이어프레임을 완성 한 뒤 Figma를 통한 디자인 진행 중. [AI/데이터] 오브젝트 디텍션과 OCR 기술에 사용할 AI 모델 결정을 위한 기술검정을 진행함. 검정 결과 오브젝트 디텍션에는 높은 정확도와 빠른 학습속도를 가진 yolo v8을 사용하고 OCR의 경우 서비스에서 사용할 데이터의 특성을 고려하여 easy OCR을 사용하기로 결정함. 지도교수 면담을 통해 데이터 수집에 대한 피드백을 받아 크롤링을 진행하기로 결정 한 뒤 셀레니움을 통한 데이터 수집을 진행 중. [프론트/백] 웹앱 구현을 위한 안드로이드 웹뷰 구현 방법을 학습함. ERD 작성을 완료함. |
데모 시나리오 | 로그인 및 회원가입으로 서비스를 시작한다. 서비스를 시작 한 뒤에는 한달 식비 예산을 설정한다. 주요 기능인 ‘냉장고 속 식재료 관리 기능’를 위해 object detection과 OCR를 이용하여 식재료 인식 및 등록을 진행한다. 먼저 object detection 기술 중 YOLO v8을 사용하여 각 모델의 결과로 식재료를 인식하는 bounding box와 인식 확률을 보여주고 식재료를 등록한다. OCR 기술은 easyOCR을 활용하여 주문내역 캡처본이나 영수증을 스캔히여 식재료를 등록한다. 등록된 식재료를 바탕으로 제공받은 레시피들 중 원하는것을 선택한다. 앱을 일정 기간 사용한 뒤에는 식비 절감 내역과 예산에 대한 통계를 확인한다. |
발표자료 | https://drive.google.com/file/d/1DUDOkmFgDasx4E-Oz71oGtYSJIDReXU-/view?usp=sharing |
기타 | 발표자료에 영상이 있어 pptx 버전 링크도 함께 첨부합니다. https://docs.google.com/presentation/d/1K4FtoYJ8Mk0l9yLKZsMcxidQBozj54wc/edit#slide=id.p1 감사합니다. |
프로젝트명 / 부제 | 자언어처리를 이용하여 감정분석과 솔루션을 제공해주는 일상 기록 플랫폼 |
---|---|
작성일 | 2023-12-12 12:56:58 |
팀번호 및 팀명 | 21. AtoB |
팀구성원들의 역할분담 | 신다영(1976202) 팀장, 프론트엔트, 백엔드 오윤재(2171030) 프론트엔드, 백엔드 윤주영(2171034) 프론트엔드, 백엔드 |
팀지도교수 | 윤명국 교수님 |
엘리베이터 스피치 문장 | 바쁜 일상을 살아가는 현대인들이 소중한 일상을 기록할 수 있는 동시에 이에 대한 감정 분석과 솔루션을 제공하여 보다 나은 내일을 그려나갈 수 있게 한다. |
문제의 정의 | 현대 사회에서 자기도 모르게 우울증 등의 심리 문제를 앓고 있는 개인에게 자신의 객관적인 심리 상태를 조명할 수 있게 한다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 트로스트 -> AI 챗봇을 이용한 감정일기 쓰기와 심리 검사(약점: 유료서비스) shaip 다국어 감정 분석 서비스 -> 고객 리뷰, 금융 뉴스, 소셜 미디어 등의 뉘앙스를 해석하여 인간의 감정과 감성을 분석 |
제안내용 | 사용자가 플랫폼에 다이어리를 작성하면 게시글을 문장 단위로 나누어 해당 글을 기반으로 하루의 감정을 분석해준다. 또한, 사용자에게 공감해주며 해당 감정을 적절하게 수용하고 대응할 수 있도록 솔루션을 제공한다. 1. 감정 분석 기능 -게시글마다 자연어처리를 이용하여 해당 글에 내포된 감정을 분석하고 이에 대한 솔루션을 제공한다. -마이페이지의 감정 통계 확인하기 탭에서 각 게시글에 내재된 각각의 감정이 몇 프로인지 수치로 표현된 그래프를 제공한다. -마이페이지의 프로필 바로 밑에 해당 날짜에 가장 높은 수치를 나타낸 감정 캐릭터를 보여주는 슬라이더를 제공하여 약 5일 정도의 감정 변화를 대략적으로 확인할 수 있게 한다. 2. 솔루션 제공 기능 -자연어 처리를 통해 사용자가 느낀 감정을 공감하면서 하루 동안의 기분이 어떠하였는지 결과 제공 및 도움이 되는 글귀 제공한다. -정형화된 솔루션이 아닌 사용자가 작성한 게시글마다 다양한 솔루션을 제공하기 위해 GPT를 사용하여 솔루션을 제공할 예정이다. |
구현방법 | 1. 사용자는 글을 작성하기 전 그날의 감정을 나타내는 대표 캐릭터를 하나 선택한다. 2. 사용자가 글 작성을 완료하면 각 문장별로 KoBERT를 이용해 내포된 감정을 분석한다. 3. 각 감정별로 감정 개수/문장 개수로 나타내어 퍼센티지를 계산하고 이를 그래프로 변환한다. 4. 감정 분석 결과를 GPT로 전달하여 해당 게시글에 대한 솔루션을 생성한다. 5. 모든 처리가 완료되면 감정 분석 리포트와 그래프를 사용자에게 제공하는 알림을 보낸다. |
사용할 세부기술 | 프론트엔드 -프레임워크: React native 백엔드 -프레임워크: Spring boot -DB: MySQL -서버: AWS AI -자연어처리: KoBERT -솔루션 제공: GPT-4 |
기대효과 및 의의 | 사람들의 소중한 일상을 기록하여 보관하는 동시에 해당 날짜의 심리분석을 통해 자신이 하루동안 느낀 감정에 대해 객관적으로 분석해 볼 수 있는 기회를 제공한다. 이를 통해 자신이 어떠한 활동을 하면 긍정적인 기분을 느꼈는지 기록들을 보며 추억들을 회상할 수 있다. 또한 부정적인 감정을 느낀 날에는 기분을 긍정적으로 전환시킬 수 있는 활동을 추천하여 건강한 정신건강을 유지할 수 있도록 도움을 제공할 수 있다. |
기술적 성취/ 산출물 | 9월 : 주제 선정, 개발 내용 구체화, 지도교수님 면담 10월 : 1, 2차 멘토링 진행, 1차 보고서 작성 11월 : Figma로 와이어프레임 제작, colab을 이용하여 KoBERT 환경 셋팅 및 성능 테스트 진행 12월 : 최종 발표, 지도교수님 면담 및 최종보고서 작성 |
데모 시나리오 | Figma로 제작한 와이어프레임을 이용하여 사용자가 우리 어플에서 어떻게 글을 작성하며 이에 대한 감정 분석 및 적절한 대응 방법을 제공받고, 이를 확인하는 환경을 소개한다. 또한, colab에서 환경을 셋팅하여 한국어 문장 약 10,000개의 데이터셋으로 KoBERT를 훈련시킨 결과를 소개한다. |
발표자료 | https://drive.google.com/file/d/1-hAncf19S3vrVZAlE2eRUZfW9KHMvzku/view?usp=drive_link |
기타 |
프로젝트명 / 부제 | Fairy Tairy 동화같은 그림을 자동으로 생성해주는 AI 일기 서비스 |
---|---|
작성일 | 2023년12월25일 |
팀번호 및 팀명 | 22. 쓰리박 |
팀구성원들의 역할분담 | 박은주(2028014) 팀장, AI, 프론트엔드 React Native 박민경(2117016) 팀원, AI, 백엔드 Django, Mysql, AWS 박윤서(2171086) 팀원, AI, 백엔드 Django |
팀지도교수 | 민동보 교수님 |
엘리베이터 스피치 문장 | 바쁘게 살아가는 현대사회 속에서 자신의 하루를 되짚어 볼 여유가 없는 현대인들은 스트레스 관리에 취약하다. 따라서 그들은 일기를 통해 자신의 하루를 기록함으로써 자신의 감정이나 생각을 정리하며 스트레스를 해소하곤 한다. 이에 현대인들이 보다 흥미롭게 일상 기록을 할 수 있도록 해당 서비스를 통하여 일기를 쓰면 작성한 내용과 관련된 그림일기를 자동으로 그려주는 서비스를 제공한다. 또한, 동화의 그림체가 더해진 일기를 통해 동심을 자극하여 부족해진 감성을 채워주는 긍정적인 효과를 기대한다. |
문제의 정의 | 적당한 스트레스는 일상생활에 도움이 되기도 하지만, 과도한 스트레스는 일상생활에 지장을 주며, 정신건강을 해치는 요인이 된다. 통계청에 따르면 2022년 11월 기준 우리나라 국민의 약 45퍼센트가 일상생활 전반에 걸쳐 스트레스를 느낀다 인지한다 답했다. 2030 청년세대의 경우 정신건강 상담 및 진료에 드는 비용이 크다는 점이 부담된다는 의견이 나오고 있으며, 이런 점에서 질환이 되기 전 스트레스를 관리할 수 있도록 하는 예방적 관점의 중요성이 대두된다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | [관련 문헌 조사] 1. 한주연(2023), 대학생의 자기 표현적 글쓰기 양상 고찰. 문화와 융합, 45(7). 대학생의 자기표현적 글쓰기가 개인의 내적 성찰과 자아 정체성 형성, 자기 치유, 감정 표출과 자기위로의 방법으로 나타남. 2. World Health Organization. (2022). World mental health report: transforming mental health for all. community based mental health care에서 peer간의 social and informal 서비스를 통한 교류가 우울감과 분노를 해소하는 간단하고 쉽게 접근할 수 있는 방식임. 따라서 개인의 경험을 자유롭게 공유할 수 있는 분위기에서 스트레스가 완화될 수 있음. [관련 서비스 조사] 1. 오늘 하루를 그려줘 pros: 사용자가 하루의 기분에 대한 키워드를 선택하면 키워드에 해당하는 그림 생성. 하루의 감정을 한눈에 볼 수 있게하여 한달의 무드를 파악할 수 있게 함 cons: 생성 그림은 내용과 관계 없이 키워드만으로 결정됨. 또한 단순 일기 작성과 그림 생성 이외의 다른 기능 없음 2. Reflectly pros: 질문을 통해 사용자의 하루 기분 파악. 간단한 코멘트식 일기 작성. 사진 업로드 가능. 하루 activity, feeling에 대한 키워드를 수집. 하루의 기분에 대한 up/down 추이를 그래프로 보여줌. cons: 직관적이지 않은 UI, 개인화 서비스가 존재하지 않음. 또한 커뮤니티 기능또한 존재하지 않아 서비스 사용 동기 떨어짐 3. 무드 메모 pros:하루의 감정을 선택하고 그에 따른 짧은 메모를 남기면 그를 바탕으로 AI일기 작성. 사진 업로드 가능. 한 눈에 사용자의 mood를 주 단위로 확인할 수 있음 cons: 짧은 메모를 통해 일기를 생성하므로 내용이 한정적임. 사용자가 기록하지 않은 부분에 대해서 임의로 채워넣는 할루시네이션 발생함. 4. Headspace pros:monthly/weekly checin 시스템을 통해 사용자의 스트레스와 분노 정도를 분석, tracking한다. 아침, 점심, 저녁, 수면 시간에 맞는 간단한 명상, 음악 컨텐츠를 추천하여 스트레스 관리를 돕는데 중점을 두고 있음. 명상 테마를 다양하게 구성하여 course를 따라갈 수 있도록 함. cons: daily 서비스 없음. 개인화 서비스 없음. [키파인딩과 인사이트] 글쓰기: 사용자가 직접 쓰는 일기를 통한 자기 표현적 글쓰기 유도. 스트레스 완화를 위한 일차적인 방법으로 자기 표현적 글쓰기를 유도하는 방식이 실제로 많이 사용되며, 효과적인 방식임을 알 수 있음. 개인화: 사용자에 따라 알맞는 서비스를 제공할 필요가 있음. course제공 보다는 개인의 경험(일기)에 집중하여 스트레스 완화 수단을 제공하는 방식이 필요해보임 시각화: 한달 혹은 한 주의 mood를 시각적으로 바로 확인할 수 있어야 함. 일기의 경우 비정형화된 형식이므로, 글 보다는 그림이나 다른 방식으로 한 눈에 간편하게 기록을 확인할 수 있도록 해야함. 커뮤니티: 소셜 서비스를 통하여 개인의 경험을 자유롭게 공유할 수 있도록 하는 서비스가 없음 |
제안내용 | 일기 작성을 통한 사용자의 자기 표현적 글쓰기를 유도하여 스트레스를 스스로 완화 할 수 있도록 유도하는 서비스를 제공한다. 사용자의 일기 데이터를 기반으로 하루의 감정과 상황에 부합하는 그림을 생성하여 시각적으로 표현할 수 있도록 한다. 일기 내용을 통해 해당 일의 키워드를 추출한다. 커뮤니티 기능을 도입하여 일상을 공유하고 싶은 사용자의 경우 이웃간 생성그림/일기를 공유할 수 있도록 한다. |
구현방법 | 1. 감정 분석 모델 활용하여 일기의 text data에 대한 감정 키워드 추출. 2. 일기의 키워드 추출 결과를 바탕으로 Stable diffuaion 활용한 그림 생성. 3. 사용자의 상시 접근이 용이한 모바일 어플리케이션 형태로 구현. |
사용할 세부기술 | 1. React Native : React Native를 사용한 앱 프론트엔드 작업 및 유지 보수 전반 2. Django : Django를 사용한 앱 백엔드 작업 및 유지 보수 전반 3. Mysql : 관계형 데이터베이스 관리 시스템 Mysql를 활용한 데이터베이스 설계 및 구축 4. Stable diffusion : 텍스트를 통한 그림 이미지 생성 5. NLP algorithm : 자연어 처리 모델 및 KoNLPy 라이브러리를 사용하여 형태소 분석 및 감정 분석, 텍스트 요약 기술 활용 6.Crawling : 감정 분석 기반 음악추천을 위한 데이터 수집 |
구현방법 | 1. 감정 분석 모델 활용하여 일기의 text data에 대한 감정 키워드 추출. 2. 일기의 키워드 추출 결과를 바탕으로 Stable diffuaion 활용한 그림 생성 및 일기 내용에 대한 자동 코멘트 생성, 감정 기반 음악 추천. 3. 사용자의 상시 접근이 용이한 모바일 어플리케이션 형태로 구현. |
사용할 세부기술 | 1. React Native : React Native를 사용한 앱 프론트엔드 작업 및 유지 보수 전반 2. Django : Django를 사용한 앱 백엔드 작업 및 유지 보수 전반 3. Mysql : 관계형 데이터베이스 관리 시스템 Mysql를 활용한 데이터베이스 설계 및 구축 4. Stable diffusion : 텍스트를 통한 그림 이미지 생성 5. style Transfer: 사용자가 올린 이미지 화풍 변환 6. NLP algorithm : 자연어 처리 모델 및 KoNLPy 라이브러리를 사용하여 형태소 분석 및 감정 분석, 텍스트 생성 활용 7. cloud: AWS EC2 cloud 사용 |
기대효과 및 의의 | 사용자의 일기 작성을 통해 자기 표현적 글쓰기를 유도한다. 사용자는 글을 통하여 자신의 경험과 생각을 정리하여 자기 인식을 높이고, 인지 재구조화를 가능하게 하여 스트레스를 해소할 수 있게 한다. 또한 일기를 기반으로 생성된 그림은 일상생활에서 추상적으로 느끼는 감정을 시각적으로 파악할 수 있도록 하여 사용자가 스스로의 감정을 이해할 수 있도록 돕고, 자신의 상황과 감정에 대한 패턴을 발견할 수 있도록 돕는다. 사용자에게 스트레스의 해소를 통하여 예방적 관점에서 정신건강 관리 및 개선에 도움을 줄 수 있을 것이다. |
기술적 성취/ 산출물 | 초반 "시행착오를 겪어 시각장애인을 위한 이미지 질의응답 서비스"로 주제 선정. 관련 기술 위해 Visual Question Answering 관련 논문 서치 및 스터디. 스터디 과정에서 동일한 기능을 가진 어플을 관련하여 팀 지도 교수님 상담 과정에 주제 관련하여 조언을 구하고 주제 변경. Object detection, Image caption 등의 기술에 관하여 언급해주셨고 pose estimation 으로 정하기로 결정. 스터디 과정에서 유사한 기능의 프로젝트를 다수 발견하여 주제 변경. 주제 선정 과정에서 시행착오를 겪음. 후에 페르소나를 통한 챗봇 구현, 사이즈 측정에 따른 가구 추천 등의 주제 제안했으나 '그림 생성 AI를 통한 일기 작성'이라는 주제로 최종 결정. 멘토 컨택 과정에 있으며 1차 보고서를 위한 리서치 및 작성까지 완료. 1. 프로젝트 구체화와 관리를 위한 다이어그램 정의. 2. 세부적인 기술 관련 스터디 시작 3. 비즈니스 캔바스 작성 1. stable diffusion API 백(Backend) 연결 2. 감정분석 모델 백(Backend) 연결 3. chatGPT를 활용한 Prompt 자동 생성 |
데모 시나리오 | 1. 일기 데이터를 활용한 AI 자동 코멘트 구현 2. 일기 데이터를 활용한 다중 감정분석 모델 정상 동작 |
발표자료 | https://drive.google.com/file/d/1LEL16f5cX1E7ceYTIIYRgXmTXarZZBmH/view?usp=sharing |
기타 |
프로젝트명 / 부제 | Stroke-based Collaborative Drawing between Robot(AI) and Human |
---|---|
작성일 | 2023년12월18일 |
팀번호 및 팀명 | 23. 새우타코 |
팀구성원들의 역할분담 | 2176123 남지민 팀장, Image Completion관련 AI 코드 담당 2071032 윤지원 팀원, CV 인식 관련 AI 코드 작성 2076371 정세윤 팀원, 로보틱스 구현 관련 코드 담당 |
팀지도교수 | 김영준 교수님 |
엘리베이터 스피치 문장 | Stroke-based Collaborative Drawing between Robot(AI) and Human은 사람이 그림을 그리면 image completion을 학습한 로봇(AI)이 뒤를 이어 해당 그림을 실제 사람이 그리는 것과 비슷한 방식으로 완성시키는 것을 목표로 하는 프로젝트이다. |
엘리베이터 스피치 문장 | Stroke-based Collaborative Drawing between Robot(AI) and Human은 사람이 그림을 그리면 image completion을 학습한 로봇(AI)이 뒤를 이어 해당 그림을 실제 사람이 그리는 것과 비슷한 방식으로 완성시키는 것을 목표로 하는 프로젝트이다. |
문제의 정의 | 로봇(AI)을 통해 지정된 물체를 백지 상태에서 그리는 것을 넘어, 완성되지 않은 물체를 이어 그리는 연구가 활발하다. 하지만, 현재 image completion이 가능한 로봇(AI)은 사람이 그림을 그리는 방식과는 다르게 stroke를 무작위로 생성하는 것만이 가능하다. 또한, 사람이 그림을 그리는 방식과 비슷하게 stroke를 생성하는 로봇(AI)은 image completion 기능이 없다. 즉, stroke ordering과 image completion을 동시에 수행하는 로봇은 존재하지 않는다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 1) SketchHealer와 Generative Sketch Healing은 인공지능이 그림의 완성되지 않은 부분을 채운다는 강점이 있다. 하지만, stroke에 기반해서 그림을 그리지는 않기 때문에 실제 사람이 그리는 방식과는 다르게 해당 그림을 구성하는 stroke의 순서를 제시하지는 못한다. 2) Stroke-based Rendering and Planning for Robotic Performance of Artistic Drawing과 Content Masked Loss는 로봇(AI)이 실제 사람이 그림을 그리는 것과 비슷한 방식으로 그림을 그린다는 강점이 있지만, 주어진 이미지를 stroke에 기반한 방식으로 다시 그릴 뿐 지정된 물체를 백지 상태에서 그리거나 완성되지 않은 그림을 이어 그리는 것은 불가능하다는 한계가 있다. |
제안내용 | 이 프로젝트를 통해 image completion과 human-like drawing을 동시에 수행할 수 있는 모델을 구현하고자 한다. 이때, human-like drawing이란 stroke를 일정한 규칙에 따라 생성하는 것을 의미한다. stroke를 생성하는 규칙으로는 한 획이 끝나는 지점과 가까운 곳부터 새로운 획을 그리거나 동일한 object를 구성하는 stroke부터 획을 그리는 등 여러 가지가 존재하며 절대적이지 않다. 이를 달성하기 위해 quick-draw dataset을 활용하여 image completion과 human-like drawing을 동시에 수행할 수 있는 모델을 구현할 것이다. 전반적인 알고리즘은 다음과 같다. 우선 사람이 n개의 stroke를 그리면 모델은 이에 대한 image completion을 수행한다. 누락된 부분에 대한 예측을 수행한 모델은 예측된 image를 구성하는 stroke 마다 순서를 부여한다. 다음으로 순서가 가장 빠른 n개의 stroke를 robot arm을 이용해 실제 캔버스 위에 그린다. 사람과 로봇은 그림이 완성될 때까지 n개의 stroke를 번갈아 그린다. |
구현방법 | 이 프로젝트를 구현하기 위해서 Image completion, stroke ordering, robotics 기술이 필요하다. Image completion을 수행하기 위해서는 기존 sketch healer 모델을 그대로 사용하거나, GANs, Auto Encoder를 통해 모델을 자체적으로 구현해야 한다. Stroke에 순서를 부여하기 위해서는 기존 content masked loss 모델을 그대로 사용하거나, RNN을 통해 stroke 순서 예측이 가능한 모델을 자체적으로 구현해야 한다. 이러한 기술들을 인공지능에게 학습시키기 위해 dataset은 Google에서 제공하는 quick-draw dataset을, GPU는 NVIDIA 기반인 Tesla T4, CUDA는 12.2 버전을 사용할 것이다. UI는 Adobe Illustrator를 사용할 것이며, 이를 통해 사람이 stroke를 그릴 수 있게 하고, model이 생성한 stroke는 robot arm을 통해 출력할 것이다. |
사용할 세부기술 | python Jupyter notebook Colab c++ tensorflow scikit-learn numpy keras pyTorch torchvision opencv pillow |
기대효과 및 의의 | 이 프로젝트를 통해 사람과 협동하여 human-like한 방식으로 그림을 그리는 로봇을 얻을 수 있다. 또한, 단순 human-like한 방식을 넘어서, human-like한 방식의 image completion 및 robot drawing 연구의 다음 단계로 나아가기 위한 주춧돌의 역할을 할 수 있다. 이를 통해 로봇공학의 궁극적인 목표인 인간과 닮은 인공 기계를 만드는 것에 가까워질 수 있다는 의의가 있다. |
기술적 성취/ 산출물 | 사용할 dataset을 google의 quick-draw dataset로 정했다. quick-draw dataset은 open source이며 labeling 및 preprocessing이 되어있다는 장점이 있다. SketchHealer 논문 리뷰를 통해 image completion을 진행하는 model의 구조를 파악할 수 있었다. 그리고 논문에 포함되어 있는 코드를 실행해서 나온 결과인 npz파일을 분석함으로써 quickdraw dataset과, image completion을 수행했을 때 나오는 output data의 구조를 확인하고, 이를 이미지 파일로 변환하는 방법을 참고할 수 있었다. ContectMaskedLoss 논문을 리뷰함으로써 human-like drawing의 정의와 이를 구현하는 방법을 알게 되었다. 이후 Content Masked Loss 코드를 실행한 다음 실행 결과인 엑셀 파일을 분석함으로써 어떠한 형식의 파일을 입력해야 robot이 이를 인식할 수 있는지 확인할 수 있었다. |
데모 시나리오 | Image completion을 학습한 Robot과 인간이 번갈아가며 n개의 stroke를 그리면서 하나의 그림을 완성하고, 그 과정을 영상으로 촬영해서 시연한다. |
발표자료 | https://drive.google.com/file/d/14gVGOhoOeUyKKzb7SicpJXpkahj_rtMW/view?usp=sharing |
기타 |
프로젝트명 / 부제 | Grounding Dino를 활용한 객체 탐지 기반 CCTV 속 흉기 난동 상황 모니터링 SDK |
---|---|
작성일 | 2023-12-14 |
팀번호 및 팀명 | 24. 망고젤리 |
팀구성원들의 역할분담 | 류성경(2076122) 팀장, Frontend, typescript, React Framework, 클라우드 컴퓨팅 환경 구성, Python, AI Model 파인튜닝 박나희(1994046) 팀원, Frontend, typescript, React Framework, 클라우드 컴퓨팅 환경 구성, Python, AI Model 파인튜닝 김리나(2176046) 팀원, Backend, Java, Springboot Framework, 클라우드 컴퓨팅 환경 구성, Python, AI Model 파인튜닝 |
팀지도교수 | 심재형 교수님 |
엘리베이터 스피치 문장 | 보편적인 CCTV의 저화질 영상에 대해 실시간 객체 탐지 기술을 기반으로 흉기난동 상황을 모니터링 하고 알림을 제공하는 SDK를 제작합니다 |
문제의 정의 | 1. 일상 생활에서 흉기 난동 사건 시작되었거나 의심되는 경우, 사람이 직접 발견하고 신고하지 않는 이상 빠르게 대처하기 힘들다. 2. 사람이 발견하고 신고하였을 때에는 이미 상황이 크게 진척되어 피해자가 여럿 발생한 경우가 많으며, 범죄 의심 상황임에도 미연에 인지하고 방지하기가 어려운 실정이다. 3. 경찰 인력 배치를 통해 현장을 경비하는 방법 또한 시민에게 위화감을 조성하고, 많은 시간과 비용이 발생한다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 1. PTZ CCTV 카메라와 같은 고화질 카메라에 한해서만 제공되는 솔루션 기존 시장에는 피사체를 자동 추적하는 PTZ 카메라(Pan Tilt Zoom 카메라, 원격으로 회전, 줌 조정이 가능한 카메라)를 활용해 흉기 소지를 확인해 위험 상황을 알려 주는 솔루션이 존재한다. PTZ 카메라는 배회하는 사람의 신원을 확인할 수 있을 정도로 줌을 확대해 추적하기 때문에 정확히 손에 들고 있는 소지품이 흉기인지 여부를 확인할 수 있을 정도로 고화질의 데이터를 제공하지만, 일반적으로 실내에서 보편적으로 사용하는 CCTV인 돔카메라에 비해 약 15배의 가격으로 매우 고가이며, 성능 좋은 추가적인 하드웨어 장치가 추가적으로 필요하기 때문에 PTZ 카메라에 대해 제공되는 솔루션은 보편적으로 적용할 할 수 없다고 판단했다. (참고 기사 : https://www.boannews.com/media/view.asp?idx=122013) 2. AI 솔루션을 사용하기 위해 CCTV를 교체하고 있는 상황 하단 기사는 이태원 참사 밀집 인구를 탐지하기 위해 기존에 설치되어있던 폐쇄회로 CCTV를 지능형으로 전환해 인공지능(AI) 기반으로 이상 징후를 자동으로 알아채게 만들겠다는 내용이다. 이 경우를 포함해 많은 객체 탐지 기반 솔루션들들이 CCTV를 더 나은 기기로 교체하고, 그 위에 개발한 모델을 올리는 것을 문제 해결 방법으로 채택하고 있다. 하지만 기존에 존재하는 CCTV를 고가의 CCTV 장비로 바꾸는 것은 상당한 비용이 추가되기에 보편적으로 적용될 수 있는 솔루션이라고 보기 어렵다고 판단했다. (참고 기사 : https://biz.chosun.com/topics/topics_social/2023/10/27/NCJ7OOP7ZJD7PBDOMFKKIR2TL M/?utm_source=naver&utm_medium=original&utm_campaign=biz) |
제안내용 | PTZ 카메라 같은 특수한 장치가 있지 않더라도 저화질 일반 CCTV 영상에서 Object Detection 기술을 통해 흉기 난동 사건 의심 정황을 탐지할 수 있는 솔루션을 제안한다. 이 과정에서 아직 프로덕션 레벨에서는 쓰인 적이 없는 최신의 Object Detection 모델인 Grounding Dino를 도입해 볼 예정이며, 저화질 영상 데이터에서 이상 상황을 빠르고 정확하게 탐지하는 것을 우선적인 목표로 개발을 진행할 예정이다. 다만, 품질이 좋지 않은 데이터로 인해 부정확한 결과가 도출된다면 자칫 공권력의 낭비와 안전 불감증으로 이어질 수 있음을 인지하고 있다. 이 지점에 유의하여 먼저 공공데이터를 타겟으로 해당 기술을 적용한 이후, 점차 실시간 CCTV로 적용 범위를 확대할 예정이다. 1. SDK 사용 SDK(Software Development Kit - 개발자를 위한 플랫폼별 구축 도구 세트) 형태로 개발을 할 예정이므로, 이를 사용하여 기존 CCTV 시스템에 간편하게 적용 가능하며, 불필요한 하드웨어 투자 없이 흉기 난동 및 안전 상황을 모니터링할 수 있다. 2. 사용자 위치 정보 기반 푸시 알림 사용자의 위치 정보를 활용하여 가까운 곳에서 흉기 난동 상황 발생시 사용자에게 푸시 알림을 보내고 신속하게 대응할 수 있도록 할 예정이다. |
구현방법 | Grounding Dino를 이용하여 흉기 인식을 기본으로 흉기를 든 사람이 뛰는지, 배회하는지, 주변에 쓰러진 사람이 있는지, 위험 상황을 회피하는 사람들의 동작이 있는지 등의 흉기 난동 의심 상황들을 감지하는 Object Detection 기술을 개발할 예정이다. 이 기술을 기반으로 사용자와 가까운 지역에서 위험 상황이 감지된 경우, 푸시 알림을 보내 위험 상황을 감지할 수 있도록 하는 기능을 구현할 수 있는 SDK를 만드는 것이 최종 목표이다. |
사용할 세부기술 | Grounding Dino Typescript React Java Spring boot Python |
기대효과 및 의의 | 최근 뉴스에서 빈번하게 보이는 흉기 난동 상황에 대한 빠른 대응을 통해 사고 및 피해를 최소화 할 수 있으며 범죄 및 재난 상황 모니터링에 드는 비용을 절감할 수 있다. - 유연성: SDK 형태로 제공되기 때문에 고객은 기존 CCTV 시스템에 손쉽게 통합할 수 있으며, 불필요한 하드웨어 투자 없이 흉기 난동 및 안전 상황을 모니터링할 수 있으므로 적은 비용으로 흉기 난동 모니터링의 높은 효율을 기대할 수 있다. - 사용자 위치 정보 기반 푸시 알림: 사용자의 위치 정보를 활용하여 가까운 곳에서 흉기가 감지되었을 때 사용자에게 즉각적으로 알림을 제공하여 신속하게 대응할 수 있도록 하여 흉기 난동으로 인한 2차 피해를 감소하는 효과를 기대할 수 있다. |
기술적 성취/ 산출물 | 우선 팀 내의 그라운드 룰을 정하고 팀 내에서 아이데이션하는 시간을 가졌다. 주제 후보로 NSFW 필터링 서비스, 임산부를 위한 서비스, 공익적인 목적의 모니터링 서비스, 청각 장애인을 위한 서비스 등의 아이디어가 나왔다. 해당 아이디어들에 대한 기술적인 가능성과 방향성에 대해 논의하고자 교수님과 면담을 진행하였다. 이후 관련 기술을 탐색하며 주제를 구체화하는 시간을 가졌다. 그 결과 공익적인 목적을 가진 서비스를 만들자는 방향으로 의견이 모아졌으며, 후보군의 의견들을 가지고 멘토님을 뵐 수 있게 되었다. 9월에 구체화 한 내용을 바탕으로 멘토님과 두 차례 멘토링을 진행하였고, 담당 교수님과도 면담을 진행했다. 이를 토대로 흉기난동을 주제로 어떠한 서비스를 개발할 지 문제상황과 솔루션, 타겟을 명확히 좁혔고, 이를 토대로 교내 창업경진대회 사업계획서를 작성하여 참가 신청을 하였다. YOLO 모델 Grounding Dino를 모두 사용해보며 서비스에 어떠한 AI 모델을 탑재할지 결정하고, 어떤 데이터셋을 활용할지 조사하는 시간을 가져 AIHub의 '이상행동 CCTV 영상' 데이터셋을 활용하기로 결정했다. Grounding Dino의 정확도 향상을 위해 트레이닝을 지속적으로 진행하여 AI Model 파인튜닝을 할 예정이고, 그 과정에서 교수님과 추가적인 면담을 진행할 예정이다. 또한 어떠한 상황을 흉기 난동 상황으로 정의할지 판별 기준을 마련하고 , 그 기준을 토대로 AI 모델을 학습시킬 에정이다. |
데모 시나리오 | 데모에선 실제 CCTV영상에서 흉기로 추정되는 물체를 판별하고 흉기 난동 의심 상황을 탐지하는 과정을 보여줄 예정이다. 실제 테스트와 적용까지 가지 못하더라도, 기존의 CCTV 데이터에 존재하는 흉기 난동 상황을 탐지할 수 있음을 데모를 통해 기술적으로 보여주는 것을 목표로 한다. |
발표자료 | https://drive.google.com/file/d/1MIegiJxXwSCeuAsP4Ti7ZkcUm7ZXiqYO/view?usp=sharing |
기타 |
프로젝트명 / 부제 | 소요시간과 동선을 기반으로 한 스케줄 추천 및 일정 관리 앱 서비스 |
---|---|
작성일 | 2023년12월18일 |
팀번호 및 팀명 | 25. S |
팀구성원들의 역할분담 | 이예은(2076316) 팀장, 백엔드, DB 김지후(2176104) 팀원, 백엔드, AI 전재은(2076362) 팀원, 프론트엔드, 백엔드 |
팀지도교수 | 윤명국 교수님 |
엘리베이터 스피치 문장 | 우리 팀이 개발하고자 하는 서비스는 많은 활동을 소화하나 일정 관리가 어려운 대학생들을 위해 소요시간과 동선을 기반으로 한 일정 추천 애플리케이션입니다. |
문제의 정의 | 1. 해야 할 일이 많을 때 일정을 관리하기 어렵다. 2. 남는 시간들 중에 언제, 어떤 일정을 처리할지 할 일들의 처리 순서를 정하는 것이 어렵다. 3. 해야 할 일들 사이에 장소의 이동이 필요한 경우 동선을 짜기가 어렵다. 4. 새로운 일정을 추가할 때 일정이 없는 시간을 찾기 어렵다. (회의 시간, 친구와의 약속) |
관련연구/서비스/ 시스템조사결과 및 한계점 | 비슷한 서비스인 심플캘린더, time blocks, todo mate를 조사한 결과, 기존 서비스의 강점과 한계점은 다음과 같다. 1. 기존의 서비스들은 달력과 타임 테이블을 활용해서 일정들을 한눈에 관리할 수 있도록 해준다. 2. 시간이 정해지지 않은 일정의 경우 사용자가 언제 처리할지 직접 정해서 입력하고 확인하는 것만 가능하다. 3. 일정 관리 서비스에는 동선을 추천해 주는 기능이 없고 단지 장소 입력만 가능하다. 4. 일정이 없는 시간대를 따로 정리해서 알려주는 기능이 없다. |
제안내용 | 1. 달력과 타임 테이블을 이용해 한 눈에 볼 수 있게 일정을 관리해 준다. 2. 남는 시간들 중에 언제, 어떤 일정을 처리할지 할 일들의 처리 순서를 추천해준다. 3. 일정 사이의 동선을 고려해서 최적의 동선을 추천해 주고 사용자에게 보여준다. 4. 일정이 비는 시간대를 리스트로 보여주고 사용자가 선택하여 일정을 확정할 수 있게 해준다. |
구현방법 | 사용자가 컴퓨터와 모바일 환경에서 모두 접근할 수 있도록 하이브리드 앱 형태로 프로젝트를 구현한다. 이를 위해 웹앱으로 개발한 이후, Apache Cordova를 이용해 하이브리드 앱으로 변경한다. Spring Boot를 이용해 Backend 작업을 진행하고, AWS 서버를 이용한다. 카카오맵 API 및 네이버 지도 API를 이용해 동선 추천 시스템을 구현한다.. |
사용할 세부기술 | 서버 : AWS Frontend: HTML, CSS, JavaScript, Apache Cordova Backend: Spring Boot, Java DB: MariaDB, MySQL Tools: GitHub, Intellij, GitKraken, Notion, Figma, ERD Cloud 오픈 소스 : kakao API, 네이버지도 API |
기대효과 및 의의 | 앞선 문제에 대한 해결책을 통해 기존의 일정관리 서비스와 달리 스케줄 간의 동선, 일정 간의 처리 순서와 같이 사용자가 직접 고려해야 할 부분을 줄였다. 기대효과는 다음과 같다. 기대효과: 1. 사용자가 일정을 한눈에 확인할 수 있다. 2. 사용자는 소요시간, 마감기한만 입력하고, 스케줄 처리 순서를 직접 생각할 필요가 없다. 3. 사용자는 장소, 주소만 입력하고, 스케줄 간의 동선을 직접 생각할 필요가 없다. 4. 사용자가 일정이 비는 시간대를 일일이 찾을 필요가 없어진다. 의의: 사용자가 입력한 소요시간과 마감기한, 장소와 중요도를 기준으로 최적의 동선과 시간을 고려하여 사용자 맞춤형 일정을 추천해준다. 이를 통해 사용자는 계획적인 하루를 보낼 수 있게 해준다. |
기술적 성취/ 산출물 | 주제 결정 서비스 개요 및 요구사항 분석 주제와 관련된 백그라운드 서칭(관련 서비스 서칭) 사용할 기술 탐색 및 선정 스터디 진행 user journey 설정 data flow 및 사용자 sequence 정리 중간발표 피드백을 반영하여 아이디어 수정 스터디 진행 프로젝트 세팅 필요한 화면 UI/UX 구성 ERD 제작 피그마를 이용한 화면 구성 카카오맵API를 이용한 데모 제작 |
데모 시나리오 | 사용자가 경유지를 키워드로 검색했을 때, 해당 키워드와 관련된 검색 결과를 출력하고, 여러 가지 검색 결과 중 가장 이동시간이 짧은 지점을 찾아 출발 지점과 도착 지점, 경유 지점을 지도에 표시하는 것을 보이고자 한다. 이를 위해 카카오맵 API를 이용해 지도 및 이동 시간 계산 정보를 가져오고 코랩으로 구현하였다. 해당 데모에서는 사용자가 박스퀘어에서 신촌역으로 가는 도중 올리브영에 잠깐 들르는 시나리오를 기획했다. 사용자가 '올리브영'이라는 키워드를 검색하면 출발 지점인 박스퀘어와 도착 지점인 신촌역 근처에 존재하는 올리브영 지점들이 출력된다. 검색 결과로 나온 여러 지점 중 '박스퀘어에서 올리브영까지 이동시간'과 '올리브영에서 신촌역까지 이동시간'을 합한 값이 가장 짧은 올리브영 지점 한 군데를 추출하여 지도에 마커로 표시되도록 구현하였다. |
발표자료 | (https://drive.google.com/file/d/1GHoRQ6HVDVa5Cm27g_kdqSFzqWjvmyTc/view?usp=drive_link) |
기타 |
프로젝트명 / 부제 | DISLODGED : 내가 직접 생성한 '나만의 가상 보이스'로 고민에 대한 위로를 주고 받으며, 보이스 위로들을 모아 하나의 음악처럼 들려주는 감성 웹 서비스 |
---|---|
작성일 | 2023년12월15일 |
팀번호 및 팀명 | 26. ETT(Eventually The Top) |
팀구성원들의 역할분담 | 최유미(2171048) 팀장, 백엔드 AWS Ubuntu, MySQL, Django 등 남승현(2176121) 팀원, AI개발, 데이터처리, ffmpeg, Flask, react 등 송민경(2176190) 팀원, 프론트엔드 figma, js, react 등 |
팀지도교수 | 민동보 교수님 |
엘리베이터 스피치 문장 | 다양한 고민과 스트레스를 안고 살아가는 현대인들을 위해, GoogleTTS와 ffmpeg를 활용하여 위로를 전하고 싶은 유저들은 여러 보이스 요소(피치, 스피드 등)들을 직접 조절 및 조합하여 생성한 '나만의 가상보이스'로 위로를 전하고, 위로가 필요한 유저에게는 타 유저들이 남긴 보이스 형태의 위로들을 모아 하나의 음악처럼 들려주는 감성 웹 서비스 |
문제의 정의 | 현대인들은 다양한 고민과 스트레스를 안고 살아가지만, 실세계에서 이런 고민과 스트레스를 표출하는 것에 부담을 느끼기 때문에 온라인 커뮤니티에 의존하는 경우가 많습니다. 하지만 온라인 커뮤니티의 경우 텍스트로만 소통하기 때문에, 대면 소통에 비해 감정 전달이 어렵고 고립감을 느끼기 쉽다는 한계점이 존재합니다. 따라서, 현대인들은 새로운 방식의 위로와 응원이 필요합니다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 관련 연구/서비스/시스템 : Selvy Speech, Blooming 앱 등 특징 및 한계 요약 : Selvy Speech는 TTS기술을 활용하여 텍스트를 음성으로 변환합니다. 그러나 이 서비스는 주로 음성의 속도와 피치를 조절하는 데에 중점을 두며, 단순히 TTS 기능만을 제공합니다. Blooming 앱은 익명 고민 상담 게시판을 운영하고 있지만 음성을 활용하지 않고 텍스트를 통해서만 고민 상담을 할 수 있는 게시판을 운영한다는 한계점이 있습니다. |
제안내용 | 유저들은 GoogleTTS의 보이스 요소(pitch, speed 등) 파라미터를 직접 조절하여 자신만의 가상보이스를 생성할 수 있습니다. 이 보이스를 이용하여 위로가 필요한 유저들에게 ‘위로의 보이스 댓글’을 남길 수 있게 되고, 이렇게 작성된 보이스 댓글들은 BGM과 함께 하나의 mp3 파일로 합쳐져, 고민을 남긴 유저에게 음원 트랙처럼 전달됩니다. |
구현방법 | GoogleTTS의 파라미터에 넣을 speed, pitch 등의 보이스 요소 데이터를 유저가 직접 조절할 수 있도록 인터페이스에 제시해줌으로써 유저별 가상 보이스를 생성하도록 한다. 또한 ffmpeg 프레임워크의 여러 함수를 이용하여 각 댓글의 mp3파일들을 BGM과 함께 하나의 mp3 파일에 담아 유저가 댓글들을 모아 들을 수 있도록 한다. |
사용할 세부기술 | Django Flask React ffmpeg AWS MySQL GoogleTTS |
기대효과 및 의의 | 여러 댓글 작성자들은 글 작성자에게 자신의 위로가 잘 전달될 수 있는 최적의 목소리를 선택하고, 글 작성자가 그 위로를 듣는 과정에서 이전보다 더 깊은 감정을 교류할 수 있습니다. 글 작성자, 즉 위로가 필요한 사람은 댓글 텍스트를 하나하나 읽는 것이 아닌, 편한 마음으로 음악을 듣는 것과 같이 다양하면서도 적절한 목소리의 위로를 듣는 것에만 집중하여 위로의 질이 높아질 것입니다. 이 서비스는 보다 편하고 접근하기 쉬우면서도 위로와 감정을 더 효과적으로 나누는 것에 의의를 두고 있습니다. |
기술적 성취/ 산출물 | 주제 방향성을 잡고 구체적으로 주제를 진행함. 교수님과의 면담을 통해 여러 주제 및 기술에 대하여 피드백과 상담을 받았음. 각자의 기술 스택과 목표를 구체화 후 주제와 연관지어 정리함. 팀 전체의 목표와 팀 그라운드 룰을 만들고 전체적인 일정을 정리, 멘토 컨택 진행함. 멘토와의 면담 진행 후 주제 디벨롭 및 확정 예정, 사용할 기술에 대해 공부 후 활용할 모델 및 데이터셋 수집 등을 진행 추가적 데이터셋을 확보한 후, 모델을 학습하여 모델을 더 정교하게 조정하고 성능을 개선. 서비스에서 제공하고자 하는 세부 기능 확정, VITS2 모델 Reference 논문 공부. 프로토 타입 설계 기본 음성 지식 및 모델 공부를 바탕으로 사용할 TTS 기술 확정(Google TTS). 해당 기술의 보이스 요소에 해당하는 파라미터 학습. |
데모 시나리오 | 본 서비스의 배경과 목적 설명 구현하고자 하는 서비스의 페이지들 중 중심 기능이 구현될 ‘나만의 가상보이스 생성 페이지’ UI 제시 Goggle TTS와 ffmpeg 프레임워크를 활용한 서비스의 작동 구조 설명 |
발표자료 | https://drive.google.com/file/d/11Ri5euBOx0WnEwrrjoovKbm8gb3v5kTk/view |
기타 | 주제 관련 설문조사 결과를 바탕으로 추가 기능 구현 예정 |
프로젝트명 / 부제 | MosaicNow : 공공장소 라이브 방송에서 타인의 초상권 보호를 위한 실시간 안면인식 커스텀 모자이크 스트리밍 서비스 |
---|---|
작성일 | 2023-12-18 17:16:00 |
팀번호 및 팀명 | 27 E모지 |
팀구성원들의 역할분담 | 정유라(2176349) 팀장, 얼굴 인식 모듈 유혜진(2071089) 팀원, 웹 서버 이가은(2076283) 팀원, 웹 프론트엔드 |
팀지도교수 | 윤명국 교수님 |
엘리베이터 스피치 문장 | MosaicNow는 실시간 모자이크 기술과 얼굴 인식 기술을 이용하여 커스텀이 가능한 실시간 모자이크 기능을 제공하는 서비스로, 실시간 적용과 커스텀이 어려운 기존의 모자이크 시스템들의 단점을 해결할 수 있습니다. |
문제의 정의 | 뉴스나 유튜브 라이브 방송과 같은 실시간 미디어 플랫폼에서 동의 없는 일반인의 얼굴 노출은 개인 정보 보호 및 동의 문제로 주목받고 있는 문제입니다. 기존의 모자이크 서비스들은 주로 후작업으로 적용되며, 특정인을 제외하기 어려워 이러한 문제를 해결하기에 한계가 있습니다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 2023_spring_253.pdf (kais99.org) 동적인 크기의 모자이킹을 활용한 개인 정보 차단 - 얼굴 영역 추출을 이용한 동적 모자이크를 생성하지만 실시간 적용은 불가능함 관련 서비스 : VLLO - 동영상 자동 얼굴 모자이크 기능을 제공하지만 실시간 적용은 안된다는 단점이 있습니다. |
제안내용 | 라이브 상황에서 불특정 다수의 초상권 침해를 막기위해, 실시간 자동 얼굴 모자이크 서비스를 제안하고자 합니다. MosaicNow는 얼굴 인식과 모자이크 기능을 이용하여 특정인을 제외한 실시간 얼굴 자동 모자이크 기능을 제공합니다. |
구현방법 | OpenCV 라이브러리와 YOLOv3 알고리즘을 활용하여 웹 상에서 실시간으로 등록된 사용자의 얼굴을 식별하고, 다른 사들의 얼굴에 모자이크 처리를 적용하는 방식으로 초상권 보호를 위한 리얼타임 시스템을 구현할 예정입니다. |
사용할 세부기술 | Python Open cv 라이브러리 React MySQL |
구현방법 | OpenCV 라이브러리와 YOLOv8, 그리고 FaceNet을 활용하여 웹 상에서 실시간으로 등록된 사용자의 얼굴을 식별하고, 다른 사들의 얼굴에 모자이크 처리를 적용하는 방식으로 초상권 보호를 위한 리얼타임 시스템을 구현할 예정입니다. |
사용할 세부기술 | Python Open cv 라이브러리 YOLOv8 FaceNet AWS React MySQL |
기대효과 및 의의 | MosaicNow를 이용하면 라이브 상에서 얼굴을 인식하고 특정인을 제외한 인물을 모자이크 처리할 수 있습니다. 이는 개인 정보 보호와 법적 규정 준수를 통해 일반인의 프라이버시를 강화하며, 동시에 온라인 환경에서의 더 안전하고 보안된 상호작용을 촉진할 수 있습니다. |
기술적 성취/ 산출물 | 주제 확정, 기술 리서치 진행, 지도교수 상담 레퍼런스 코드 분석 및 이해, Open cv 스터디 진행, 멘토링 진행 주제 변경 및 기술 분석 |
데모 시나리오 | 프로토 타입/PPT 제작/YOLOv8을 이용한 얼굴 감지 모자이크 프로그램 구현 |
발표자료 | https://drive.google.com/file/d/1d0nWik2Fsmi0cTLJJH-inr-GBDm0B9ce/view |
기타 |
프로젝트명 / 부제 | 속마음을 담은 일기 교환을 통해 현대인의 소외감 해소를 돕는 교환일기 웹 서비스 <비밀친구> |
---|---|
작성일 | 2023-12-18 11:14:00 |
팀번호 및 팀명 | 28. 달리리 |
팀구성원들의 역할분담 | 황채린(2176429) 팀장, Spring Boot, MySQL 등 백엔드 곽민지(2176022) 팀원, Spring Boot, MySQL 등 백엔드 조아령(2076389) 팀원, React 등 프론트엔드 및 AI 모델 학습 |
팀지도교수 | 박상수 교수님 |
엘리베이터 스피치 문장 | 경쟁 사회에서 한 사람은 소외감과 단절감을 흔히 경험하며 내적인 면보다는 물질적인 가치로 평가되어 왔습니다. 교환일기 웹 서비스 '비밀친구’는 친구들과 긴밀한 얘기를 나누고 자신과 비슷한 익명의 상대와 공감할 수 있는, 물질적인 가치를 배제한 공간을 제공하여 오늘보다 더 연결된 사회를 만들고자 합니다. |
문제의 정의 | 경쟁 사회에서 한 사람은 고유한 인격이나 개성보다 사회의 필요성 혹은 외적 모습에 의해 물질적으로 평가된다. 특히 경쟁이 심한 한국 사회에서 그러한 현상이 더 두드러지며 개인은 다른 인간으로부터 소외되는 감정을 느끼고 단절감을 경험하게 된다. 이러한 과정에서 개인과 사회는 더 병들어 가고 있다. 개인에게 매겨지는 상품적 가치를 배제하고 다른 이들과 감정과 생각을 솔직하게 나눌 수 있는 편한 공간을 제공하여 보다 더 따뜻한 사회를 만들고 싶다는 생각에서 이 프로젝트를 시작하게 되었다. 때로는 모르는 사람에게 고민을 털어놓거나 나만의 비밀친구를 만들어서 서로의 삶을 공유하고, 친구들과는 온라인에서도 긴밀한 얘기를 나눌 수 있도록 하여 누군가가 나를 공감해 주고 나는 다른 이를 공감해 주는 선순환의 문화를 만드는 데에 기여하고자 한다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 자신의 생각 혹은 삶을 다른 이들과 공유할 수 있는 SNS는 많다. 그러나 제한된 인원수 내에서 깊은 생각까지 공유할 수 있는 플랫폼은 거의 없다. 우리 팀이 정의한 문제를 가장 잘 해결해 주리라 생각한 것은 일기장 웹 서비스이다. 기존의 서비스는 크게 혼자 작성하는 일기/ 친구끼리 작성하는 교환일기/ 커플끼리 작성하는 일기로 나눌 수 있다. 유저가 많은 일기장 어플리케이션의 경우 공통으로 일기장이 가진 특유의 따뜻한 감성을 잘 살리고 있음을 발견할 수 있었다. 다수의 사람이 함께 사용하는 일기장 어플리케이션을 조사한 결과 공통으로 익명의 상대와 주기적으로 일기를 작성하는 기능은 찾아볼 수 없었다. 세줄일기라는 어플리케이션의 경우 익명으로 일기를 공개하는 기능을 제공하고 모임에 따라 팬들끼리, 반끼리 일기를 필명으로 작성하는 기능을 제공하고 있었으나 함께 작성하는 유저의 수가 다소 많아 개개인의 감정과 생각에 집중하기에는 어렵다고 판단했다. |
제안내용 | 어릴 적 친구들과 주고받았던 교환일기 경험을 바탕으로 한 교환일기 웹 서비스를 해결책으로 제안한다. 초대코드를 통해 친구들과 교환일기를 작성할 수 있으며 기존에 존재하는 교환일기 어플리케이션과는 다르게 익명의 상대와도 교환일기를 작성할 수 있는 랜덤 매칭 서비스를 제공한다. 이때 사용자의 관심사를 고려하여 비슷한 관심사를 가진 사용자끼리 매칭할 예정이다. 익명의 상대에 대한 신뢰성 문제를 사전에 해결하기 위해 혐오발언과 성적발언 필터링 기능을 추가하고 일정 회수 이상 신고가 누적되면 계정을 자동으로 정지시키는 기능을 제공할 것이다. 교환일기의 아날로그 감성을 어플리케이션을 통해서도 느낄 수 있게 상대방의 일기는 일정 시간 이후에 공개하여 실제로 일기를 주고받는 듯한 기분을 더하고자 한다. 다양한 일기장 양식을 제공하여 일기를 작성하고 공유하는 재미 또한 더할 예정이다. |
구현방법 | 주요기능 : '비밀친구'는 계정 로그인, 랜덤/지인 매칭을 통한 일기장 생성, 일기 작성 및 파트너와의 일기 교환, 일기장 비활성화, 유저 신고, 혐오 발언 필터링 등의 메인 기능이 포함된 모바일 웹 서비스로 구현한다. React를 이용하여 프론트엔드, Spring Boot를 이용하여 백엔드(API) 개발을 진행하며, AWS EC2를 사용해 서버를 구축, AWS RDS를 통해 DB를 구축한다. 1. 랜덤 매칭 익명의 파트너와 교환일기를 생성하여 일기를 주고받을 수 있도록 구현. 이때, 사용자에게서 수집한 관심사 데이터를 기반으로 유사도가 높은 유저끼리 매칭하는 알고리즘을 이용한다. 2. 일기 감정분석 사용자가 일기를 작성 후 파트너에게 전달 시, 사용자가 작성한 일기를 감정분석 후 해당 결과를 사용자에게 보여주도록 구현한다. 이때, 미리 학습시켜둔 kobert모델을 사용하여 감정을 분석하고, fastapi 서버를 이용하여 Spring Boot 어플리케이션과 통신할 계획이다. |
사용할 세부기술 | Frontend/Backend: React, Spring Boot, Nginx, MariaDB AI(NLP): Kobert, FastAPI Server: AWS Tools: IntelliJ, Notion, Figma, Github Actions |
기대효과 및 의의 | 어플리케이션의 타겟층은 2~30대로, 친구들과 일상뿐만 아니라 속 깊은 얘기까지 공유할 수 있도록 하여 단조로운 사회 속에서 사랑을 느낄 수 있는 공간을 제공하는 것을 하나의 목표로 한다. 또한, 익명 기능을 통한 일기 작성으로 경쟁사회에서 단절감을 느꼈던 개인들에게 이어짐을 느낄 수 있는 공간을 제공하고 사용자들의 이야기에 더욱 집중할 수 있는 환경을 만드는 것을 목표로 한다. 익명의 상대와 교환 일기를 작성하면서 자신과 비슷한 사람을 만나고 따뜻함과 위로를 나눌 수 있을 것으로 예상한다. 더불어 어릴 때 교환일기를 작성한 적 있는 사람들에게는 그 시절의 추억을 재현시켜 주고 어릴 적 교환일기를 작성해 본 적이 없는 이들에게는 레트로 감성을 충족시켜 주는 서비스가 될 것이라 예상한다. 더불어 잊어버리기 쉽고 누군가에게는 번거롭게 느껴질 수 있는 일기 작성을 누군가와 함께하는 경험을 부여함으로써 기록에 대한 동기를 유발할 수 있을 것이다. |
기술적 성취/ 산출물 | 1. 프로젝트 주제 선정 및 기획 구체화 : 기획 회의 이후 결정사항을 바탕으로 요구사항 명세서 및 태스크 플로우 등의 다이어그램 작성 2. 와이어프레임 설계 3. 시스템 아키텍처 (예상) 4. 코버트 모델 학습 : 약 3만 5천개 가량의 데이터 선정 및 학습 |
데모 시나리오 | 1. 프로젝트 <비밀친구> 소개 - <비밀친구>란? - <비밀친구> 프로젝트의 목적 및 가치 - <비밀친구> 프로젝트의 기술 소개 2. Figma 프로토타입을 통한 시뮬레이션 - [로그인] 웹 브라우저를 통해 '비밀친구'에 접속해 로그인합니다. - [지인 매칭] 사용자가 알고있는 지인과의 교환일기를 생성하는 방법을 보여줍니다. - [랜덤 매칭] 사용자가 모르는 익명의 상대와의 교환일기를 생성하는 방법을 보여줍니다. - [일기 작성] 위에서 매칭이 성사되어 교환일기가 생성됐다면, 일기를 작성하는 방법을 보여줍니다. - [일기 전달] 위에서 작성했던 일기를 교환일기 파트너에게 보내는 방법을 보여줍니다. - [답장 확인] 교환일기 파트너가 사용자에게 일기를 보냈다면, 이를 화면에서 확인할 수 있음을 보여줍니다. 3. 학습시킨 Kobert모델을 이용한 감정분석 시뮬레이션 - 가상의 일기 데이터를 입력하여 예상했던 감정과 실제 결과가 일치하는지 확인 |
발표자료 | https://drive.google.com/file/d/1CMM5QYcwzvKnQhU8DHnEUujqpn2i8F5a/view?usp=sharing |
기타 |
프로젝트명 / 부제 | 영어 회화 실력을 향상시키기 위해, 원하는 주제의 영어 기사를 선택하면, 해당 내용을 기반으로 적절한 질문과 반응을 생성하는 AI와 대화하는 음성 채팅 앱 |
---|---|
작성일 | 2023-12-11 |
팀번호 및 팀명 | 29. 츄라이 |
팀구성원들의 역할분담 | 지현서(2176368) 팀장, 발표, 자료 조사, AI Prompt Engineering조은혜(2176365) 팀원, 발표, 자료 조사, Back-End Database, Cloud유민경(2076256) 팀원, 발표, 자료 조사, Front-End Flutter |
팀지도교수 | 이민수 교수님 |
엘리베이터 스피치 문장 | 다양한 최신 이슈를 탐구하며 영어 실력을 향상시키고 싶은 사람들을 위해, 뉴스 기사를 기반으로 AI와 대화하며 학습하는 영어 학습 애플리케이션을 만듭니다. |
문제의 정의 | 영어 능력은 해외여행, 교환학생, 취업 등 다양한 상황에서 필수적인 역량입니다. 그러나 유동적인 스케줄을 가진 학습자들은 학원이나 전화 영어처럼 고정된 학습 일정을 따르기 어렵습니다. 또한, 획일화된 커리큘럼에 의존하는 수동적인 학습 방식은 학습자의 흥미를 떨어뜨리며, 이로 인해 영어 학습의 효율성이 감소합니다. 이러한 문제를 해결하기 위해서는, 최신 이슈를 반영한 개인 맞춤형 학습 경험을 제공하는 효과적인 언어 학습 도구가 필요합니다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 칫챗장점 AI 튜터가 문법 교정과 원어민 표현을 제공하며, 최신 이슈를 반영한 주제를 선정합니다. AI가 단순히 질문만 하지 않기 때문에 대화 흐름이 자연스러운 편입니다. 사용자는 자신이 말한 내용을 수정하고, 녹음된 목소리를 들을 수 있습니다.단점 디자인이 심심하며, 글씨 크기 설정이 없습니다. 문법적인 교정만 가능하며, 앱을 한손으로 사용하기 어렵습니다.AskUp 장점 카카오톡 내에서 ChatGPT를 사용할 수 있습니다.단점 '오늘의 영자신문' 메뉴를 통해 제공되는 기사에 자동으로 연결되는 기능이 없어서, 대화 형태나 질문/답변의 양식을 정하려면, 사용자가 직접 설정해야 합니다.REMY 장점 썸네일을 통해 원하는 주제를 편하게 선택할 수 있고, 단어 미리보기 기능이 있습니다. AI가 먼저 본문을 읽어주고 사용자가 따라읽는 기능을 제공합니다.단점 단어의 발음을 들으려면 우측 상단에 있는 버튼을 눌러야해서 번거롭습니다. AI가 본문을 읽을 때, 시각적으로 보이는 끊어읽기 범위와 실제 읽는 범위가 다릅니다.스픽 장점 UI가 직관적이며, 실제 사람과 대화하는 느낌을 줍니다. 문법뿐만 아니라 자연스러운 표현에 대한 피드백도 제공합니다.단점 대화 흐름이 종종 끊기고, 피드백이 즉각적으로 뜨지 않아 로딩하는 화면이 오래 지속됩니다. 대화가 너무 빨리 종료됩니다. |
제안내용 | AI 기반 학습을 통해 사용자가 원하는 시간에 자유롭게 이용할 수 있습니다. 학습자가 선택한 주제와 난이도의 영문 기사를 학습 컨텐츠로 활용합니다. AI는 기사의 내용을 이해하고 이에 기반한 질문과 반응을 생성하여 대화를 유도하며, 사용자의 답변을 분석하여 부자연스러운 표현이나 오류에 대한 피드백을 제공합니다. |
구현방법 | 아리랑 뉴스 기사를 불러와, GPT API를 통해 기사에 관련된 질문을 생성합니다. Google TTS를 통해 질문을 음성으로 변환하여 사용자에게 전달하고, 사용자 음성은 Whisper API를 통해 텍스트로 변환하여 GPT에 입력합니다. DB에 저장된 데이터와 GPT를 활용하여 대화 종료 후 문법/표현에 대한 피드백을 제공합니다. |
사용할 세부기술 | AI OpenAI GPT API Google TTS API OpenAI Whisper API 국제방송교류재단_뉴스기사API Front-End Figma Google Flutter (iOS & Android) Back-End Microsoft Azure Google Firebase Communication Slack Google Docs |
기대효과 및 의의 | 사용자가 관심 있는 주제의 기사로 영어를 학습할 수 있으므로, 표준화된 영어 회화 수업보다 학습 참여도가 높아질 수 있습니다. 또한, 중립적인 AI와의 대화를 통해 편안한 분위기에서 의견을 표현할 수 있습니다. 이를 통해 최신 이슈에 대한 단어와 표현을 학습하고, 자신의 의견을 영어로 표현하는 능력을 향상시킬 수 있습니다. |
기술적 성취/ 산출물 | - 프로젝트 주제 선정 - 역할 분담 및 세부 기술 학습 - 팀지도교수 확정 및 면담 - 멘토 확정 및 멘토링 진행 - 기존 서비스 분석 - 유저 시나리오 작성 - Figma로 와이어프레임 작성 - Open AI GPT Prompt Engineering - Google Flutter로 기본 UI를 반영한 데모 Application 제작 |
데모 시나리오 | Flutter Mobile App Demo |
발표자료 | Google Drive Link |
기타 |
프로젝트명 / 부제 | CATCHUP: AI 챗봇을 활용해 컴퓨터 공학과 학생에게 선수 과목 학습을 위한 맞춤형 자료를 자동 생성 해주는 웹서비스 |
---|---|
작성일 | 2023-11-21 00:00:00 |
팀번호 및 팀명 | 30. 일구어냄 |
팀구성원들의 역할분담 | 유영민(1976244): 팀장 & AI, 강민아(1976002): 프론트엔드, 임은지(1985086) : 백엔드 |
팀지도교수 | 이형준 교수님 |
엘리베이터 스피치 문장 | 기초가 부족해서 전공 공부를 시작할 엄두가 안 나는 컴퓨터 공학과 학생들을 위해, AI 챗봇이 당신에게 꼭 필요한 개념만 쏙쏙 골라서 맞춤형 학습프로그램을 제공합니다. |
문제의 정의 | 컴퓨터공학과 학생들은 수강신청의 어려움, 인턴, 교환학생 등 다양한 이유로 전공기초 과목들을 권장학기에 듣지 못하여 선수 학습 사항을 충족하지 못한 채로 전공강의를 수강하는 경우가 많다. 컴퓨터 공학과에서 선수 과목은 매우 중요한데, 컴퓨터 공학의 커리큘럼 특성 상 수업내용이 이어지는 경우가 많아, 한번 놓칠 경우 지속적으로 학습에 어려움이 있게 되기 때문이다. 안타깝게도 이를 완화하기 위해 학교에서 제공하는 체계적인 프로그램이 부재하며, 따라서 개인이 알아서 해결해야한다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 대부분 별도의 케이묵 인강을 수강하려고 하는데, 양이 너무 방대하고, 필수적이지 않은 내용도 포함되어 있는 등 편리하지 않다. |
제안내용 | -사용자 수강 희망 과목 입력 -> 필수 학습사항을 단순한 과목 단위가 아닌, 파편화된 구체적 개념 단위로 제시 -사용자의 배경지식 및 투자 기간을 바탕으로 맞춤형 학습법 및 학습 계획표 제공 -자동생성 학습자료, 퀴즈, Q&A 기반 학습 프로그램 진행 -그 외 동기부여 멘트 |
구현방법 | LLM 모델에 전공 기초 개념 말뭉치 데이터셋을 임베딩시킨다. LangChain 기술을 활용하여 형성된 vectorspace에서 가장 유사한 쿼리를 참조하여 답변하도록 설계한다. 해당 내용을 바탕으로 ANKI API를 활용하여 퀴즈를 생성해 사용자에게 제시한다. |
사용할 세부기술 | -Frontend: React JS -Backend: FastAPI -DB: MySQL, chroma LangChain, OpenAI |
기대효과 및 의의 | 컴퓨터 공학과 학생들의 학습 효과 증진 |
기술적 성취/ 산출물 | -주제 회의: 감정쓰레기통(심리 일기), 손민수템(연예인 착용 옷, 아이템 찾아주는 서비스), 입법 과정과 현안 검색 및 안내 웹 3D 이미지를 활용한 통증 지도, 패턴 찾아주는 앱 등 다양한 주제에 대해 고민하고 회의함 -외부 멘토 컨택 및 확정 -도메인 공부: 인공지능 관련 스터디, 깃 사용법 숙지, 노션 사용법 숙지 -주제 최종 선정: 패턴을 알려주는 앱 -주제 구체화 및 회의 -1차, 2차 멘토링 -기계학습 관련 공부 예정 -프로토타입 제작 예정 -기계학습 공부 계속 -주제 변경: 선수과목 학습 도우미 챗봇 |
데모 시나리오 | 프로토타입 보여줄 예정 |
발표자료 | https://drive.google.com/file/d/1KcTx4AaR_0hEgYa-3uyx9Ie0fpJQK9DL/view?usp=drivesdk |
기타 | <프로토타입> <데모> 데모 코드 링크: https://colab.research.google.com/drive/1oW82nEwh72TDixcD544VZOwQ2I36pAs8 |
프로젝트명 / 부제 | MedCoLearn - 자가수면검사 데이터를 활용한 연합학습 기반 수면 장애 위험도 파악 어플 |
---|---|
작성일 | 2023.12.18 |
팀번호 및 팀명 | 31 BCS |
팀구성원들의 역할분담 | 박연주(2076153) 팀장, 데이터 전처리, 연합 Ai 모델 설계 및 백엔드 류진(2071023) 팀원, Ai 모델 개발 및 프론트엔드 김원정(2176083) 팀원, Ai 모델 개발, training 및 백엔드 |
팀지도교수 | 심재형 교수님 |
엘리베이터 스피치 문장 | 한국의 수면 장애 인구는 70만에 이름에도 불구하고, 수면다원검사에 대한 접근성 및 데이터 분석은 아직 낮은 수준이다. 양질의 판독 결과를 토대로 한 연합 학습 모델 개발을 통해 맞춤형 정밀 의료 산업에 필요한 의료 빅데이터 활용 툴을 개발하고자 한다. 개인정보 보호에 있어 강점을 갖는 연합 학습 방식을 이용한 의료 빅데이터 분석 툴의 개발은 의료 AI 산업 경쟁력 확보에 기여할 것이다. |
문제의 정의 | 수면 관련 검사 데이터는 개인정보를 포함하는 민감 수준의 데이터로 분류되어, 현재도 연구 목적 차원에서의 공유 또한 어려움이 있음 이러한 문제 요소를 해결하기 위한 방법으로 연합 학습 모델을 제시하고자 함 병원 단위로 나누어 연합학습을 한 결과와 전체 데이터를 다 돌린 모델에서 나온 결과를 비교해서 어떤 식으로 가중치를 수정하는 것이 더 높은 정확도를 보장할 수 있는지를 검증하고, 해당 모델에 새로운 데이터를 추가했을 때 상위 n%인지 판별할 수 있도록 하여 수면장애 관련 위험도를 제시하고자 함 |
관련연구/서비스/ 시스템조사결과 및 한계점 | 현재의 수면다원 검사는 검사결과를 일일히 수작업으로 판독해야 하며, 판독자간의 판독 결과의 일치율도 낮다는 한계점을 갖고 있음. 또한, 수면다원검사의 급여 정책이 제한적이라 금전적 부담이 있음. |
제안내용 | 데이터의 병원 단위 연합학습을 통해 수면다원검사 및 자가수면검사 항목 분석모델을 개발, 새로운 심전도 및 수면 호흡음 데이터가 들어왔을 때 위험도를 산출 |
구현방법 | AI-hub에 올라와있는 수면다원검사 데이터셋 활용 자가수면검사 EDF와 JSON 파일을 활용 EDF파일로 검사 이미지와 어노테이션 추출 등 데이터 전처리 TensorFlow, PyTorch를 통해 각 병원 별 Ai 모델 설계 병원 별 가중치를 통한 연합학습 Ai 모델 설계 및 병원 별 Ai 가중치 추출 SW 설계(Python) Flask와 React Native를 통해 심전도 및 수면호흡음 측정을 통한 자가수면검사가 가능한 어플리케이션 개발 |
사용할 세부기술 | TensorFlow, PyTorch(AI) Flask, AWS ec2 ubuntu 22.04(Back-end) React Native(Front-end), Python |
기대효과 및 의의 | 개인의 의료 민감 정보를 개인정보 침해 없이 공유할 수 있게 되므로, 병원 간 의료 협력을 용이하게 함 수면다원검사 데이터 AI 모델을 통해 일관성 있는 수면검사결과 도출 및 차후 의료 기술 발달에 도움 현재 제한적 급여 항목인 수면다원검사에 대한 접근성을 높이고, 사용자의 수면 관련 장애 위험도를 판별하여 건강 관리에 도움 |
기술적 성취/ 산출물 | 주제 선정, 딥러닝 스터디, AI HUB 데이터 선정 수면상태 측정 데이터(뇌파, 심전도, 수면호흡음 등) 분류 연합학습 스터디, 딥러닝 스터디, 병원 별 가중치 도출 AI 모델 설계 연합 학습 Ai 모델 초안 설계 |
데모 시나리오 | 연합학습 Ai 모델 설계, 시스템 및 모델 아키텍처 및 프론트엔드 프로토타입 |
발표자료 | https://drive.google.com/file/d/1lQ0NIjHsOzluXtWx54fmkC5AHrlBgnce/view?usp=sharing |
기타 | 개인정보 보호를 위한 보안성 향상에 집중이 필요 |
프로젝트명 / 부제 | HoBHuB : 일상 속 활력 충전을 위해 취미를 찾는 사람들에게 개인의 성향 및 상황을 반영한 맞춤형 취미를 추천해주는 서비스 |
---|---|
작성일 | 2023.12.17 |
팀번호 및 팀명 | 32 머니캐쳐 |
팀구성원들의 역할분담 | 박유진(2176194) 팀장, 백엔드(Spring), MySQL, AI(알고리즘, 챗봇) 최예빈(2176382) 팀원, 프론트엔드(React), AI(알고리즘) 박혜진(2176161) 팀원, 백엔드(Spring), MySQL, Python, AI(알고리즘, 챗봇) |
팀지도교수 | 이형준 교수님 |
엘리베이터 스피치 문장 | 세상에 존재하는 다양한 취미들을 일일이 다 시도해볼 필요 없이 AI를 기반으로 사용자에게 최적인 취미를 제시하여 간편하고 빠르게 취미 활동을 시작할 수 있도록 돕는 서비스이다. |
문제의 정의 | 오늘날 일과 삶의 균형이 중시되며 여가 시간을 어떻게 보낼지에 대한 고민이 대두되고 있다. 하지만 막상 새로운 취미를 시작하려고 하면 취미의 가짓수과 워낙 다양하고 보니 나에게 맞는 취미를 찾는 과정에서 쉽게 지쳐 취미를 찾는 것을 포기할 수 있다. 또한 취미 생활을 처음 시작하려고 하는 사람들 중에서는 자신에게 잘 맞을것이라는 보장이 없는 취미 활동에 선뜻 시간과 돈을 투자하기가 망설여져 취미 생활을 쉽사리 시작하는데 어려움을 느끼는 사람들이 많다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | [클래스10] : 온라인 강의를 제공하여 시간과 장소에 구애받지 않고 취미생활을 즐길 수 있도록 돕는 서비스이다. 온라인 강의와 준비물키트까지 함께 제공하여 사용자들이 언제 어디서든 취미생활을 즐길 수 있다는 강점이 있다. 이용자 사전 수요조사를 통해 수강자가 충분할 것이라고 확인되는 클래스만 개설하는 방식으로 서비스를 운영하여 수요가 적은 취미 활동들은 즐길 수가 없다는 약점이 있다. [솜씨당] : 지역기반 공방정보와 가격을 고객에게 제공하여 가까운 곳에서 취미생활을 즐길 수 있게 하는 서비스이다. 온라인과 오프라인을 연결해주는 o2o 서비스를 운영하여 실제 운영되고 있는 공방의 원데이클래스를 예약할 수 있는 플랫폼을 제공하고, 비대면을 원할경우 공방과 고객사이의 라이브강의가 가능한 플랫폼을 제공한다는 강점이 있다. 수공예 관련한 클래스들에만 집중되어 있어 다른 카테고리는 부실하다는 약점이 있다. 두 플랫폼 모두 원데이 클래스 목록이 표준화된 수준과 방식으로 제공되어 사용자가 선택에 어려움을 느낀다는 한계가 있다. |
제안내용 | • 편리한 선택 프로세스를 통한 사용자 프로파일링: 챗봇을 활용하여 사용자와 자연스럽게 소통하며, 사용자의 소득, 성향, 관심사에 대한 정보를 효과적으로 수집 •사용자 프로필을 기반으로 한 취미 도출: 수익, 성향, 관심사 등 다양한 기준을 고려하여 취미를 추천 • 원데이 클래스 연결: 추천한 취미와 관련된 원데이 클래스 목록을 제공하여 사용자가 취미 활동을 빨리 시작할 수 있도록 돕는다. 이는 기존의 원데이 클래스 제공 서비스들이 표준화된 방식으로만 제공되어 개인의 요구와 선호를 고려하지 못하는 문제점을 보완한다. • 사용자의 원데이 클래스 후기 반영:사용자가 남긴 별점과 리뷰를 분석하여 사용자에게 더 맞는 취미를 선정하는데 반영한다. • 취미 시작을 돕는 가이드 제공: 추 취미에 대한 상세 정보, 가이드라인, 준비물, 시간표 등을 제공하여 사용자가 실제로 취미를 시작하고 지속할 수 있도록 돕는다. |
구현방법 | 1. 데이터 수집 scrapy를 사용해 데이터를 인터넷에서 크롤링해서 얻는다. 이때 불필요한 단어를 제거하고 데이터를 정제하기 위해 TF-IDF 기법을 사용하고 딥러닝 알고리즘인 CNN을 활용해서 분류 성능을 높인다. 2. 협업 필터링 추천 알고리즘 협업필터링은 ‘특정 아이템에 대해 선호도가 유사한 고객들은 다른 아이템에 대해서도 비슷한 선호도를 보일 것’이라는 기본 가정을 바탕으로 사용자 혹은 아이템간 유사도를 기반으로 선호도를 예측하는 방법이다. 원데이클래스 리뷰를 크롤링하여 데이터를 수집한 후, 이를 기반으로 취미를 카테고리 별로 나눈다. 사용자가 챗봇을 통해 정보를 입력하면 미리 분류된 취미 카테고리와 사용자가 입력한 정보의 유사도를 측정하는식으로 구현한다. 3. 챗봇 파이썬 라이브러리 KoNLPy 사용해 데이터 전처리를 수행한다. 전처리를 거친 후 단어 임베딩을 위한 단어 사전을 구축하고 이를 기반으로 사용자의 입력을 받으면 질문의 의도를 분류하고자 CNN으로 의도 분류 모델을 학습시킨다. 질문에 대한 답변이 올바른지 확인하기 위해서는 코사인 유사도를 사용한다. |
사용할 세부기술 | React Spring Python MySQL TensorFlow(구글 딥러닝, 머신러닝 오픈소스) Scrapy(파이썬 웹 크롤링 프레임워크) KoNLPy cosine_similarity |
기대효과 및 의의 | 사용자의 소득, 성향, 관심사를 고려하여 최적의 취미를 추천함으로써 취미를 찾는 과정을 간소화하고 쉽게 접근할 수 있도록 돕는다. 이를 통해 사용자들은 사용자들은 적은 시간과 노력으로도 진정한 취미 활동을 찾을 수 있다. |
기술적 성취/ 산출물 | 우선 팀원들끼리 기초회의를 통해 여러 아이디어를 구상한 후, 저희 지도교수님과 멘토님을 만나서 그 아이디어들에 대해 협의해보는 시간을 가졌다. 시현 가능하면서도 많은 사람들의 수요를 채워줄 수 있는 프로젝트를 시도해보려고 하였고, 그 결과 'AI 맞춤 취미 서비스'를 주제로 프로젝트를 구상하게 되었다. 이후 더 세부적으로 그 서비스의 핵심기능, 사용할 기술들, 그리고 어떤 방식으로 이를 구현해야 할 지를 논의해보았다. |
데모 시나리오 | 1. 프로젝트 소개 - 프로젝트의 핵심 기능, 사용할 기술, 기대 효과 및 의의 소개 2. 어플 사용 시물레이션 - 프로토타입을 통해 사용자가 어플을 사용하는 과정을 친환경 활동 인증 시나리오를 중점으로 시연 - 사용자의 인증 내용을 기반으로 한 분석 리포트 예시 공유 |
발표자료 | https://drive.google.com/file/d/1MiACLczkuFnxWntWhGC-lM0IDIDwnahc/view |
기타 | 최종 발표 이후 주제가 바뀌어서 발표 자료는 부득이하게 이전 주제의 것으로 제출했습니다. |
프로젝트명 / 부제 | 공유니폼 : 야구 팬을 위한 사용자 기반 추천 유니폼 대여 앱 및 대여 자판기 |
---|---|
작성일 | 2023-12-18 20:00:00 |
팀번호 및 팀명 | 33. Donuts |
팀구성원들의 역할분담 | 권가현(2071059) 팀장, 유니폼 선수 선택 추천 알고리즘, IOT 대여 자판기 제작, 백엔드 김선우(2076052) 팀원, 유니폼 선수 선택 추천 알고리즘, IOT 대여 자판기 제작, 백엔드 유지우(2076269) 팀원, 유니폼 선수 선택 추천 알고리즘, IOT 대여 자판기 제작, 프론트엔드 |
팀지도교수 | 박상수 교수님 |
엘리베이터 스피치 문장 | 야구 매니아에겐 다양한 유니폼 착용의 기회를, 야구 입문자에겐 선수 추천 및 유니폼 체험의 기회를! 저희의 서비스는 야구 매니아에겐 다양한 유니폼을 착용할 수 있는 기회를, 야구 입문자에겐 비싼 유니폼을 사지 않고도 유니폼을 입고 직관 분위기에 더욱 몰입하여 즐길 수 있는 기회를 제공합니다. |
문제의 정의 | 유니폼 가격이 너무 비싸다. 평균 13만원 정도로 야구를 가볍게 즐기는 팬들에게는 부담이 많이 되는 가격이다. 현재 존재하는 대여 서비스는 시간이 오래 걸리고(최소 하루) 인건비가 든다. 기존 대여 서비스는 무통장입금 등 결제 방식이 까다롭다. 원하는 유니폼을 구매 전 미리 체험할 수 없다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 1. 충전돼지 서비스의 경우 GPS를 이용해 보조베터리 대여와 반납 가능 위치를 지도상에 표시하고 네이버 길찾기, 대여 가능 기기 수와 반납할수 있는 자릿수를 제시하는 기능이 있다. 또한 소셜 연동으로 회원 가입 단계를, QR 코드 스캔으로 결제 단계를 간단하게 만들어 유저에게 편의를 제공한다. 대여 서비스의 가장 큰 문제이기도 한, 반납이 되지 않은 보조베터리에 관해서는 대여자가 기존에 사용했던 결제 수단을 이용해 자동으로 보조베터리의 원래 가격을 결제하는 방식을 사용한다. 충전돼지의 한계는 반납이 제대로 처리되지 않아 과금이 발생하기도 하며, 이 경우 고객센터를 통해서 문제 해결이 가능하다는 불편함이 있다. 그리고 지도에 위치 검색 기능이 없어 원하는 위치로 이동하기 어렵다는 평도 있다. 2. 개인이 블로그에서 운영하는 야구 유니폼 대여 사업은 야구 유니폼 대여를 원하는 사람들이 가장 활발하게 이용하고 있는 서비스이다. 이 서비스의 한계는 대여하기 위해 시간이 많이 소요되고 인건비가 든다는 것이다. 하지만 이러한 불편함에도 서비스를 계속 이용하는 사람들이 있다는 점을 통해 '스포츠 팬을 위한 무인 유니폼 대여 앱 및 대여 자판기와 반납 디바이스'의 수요도 확인할 수 있다. 3. 비대면 자동 자판기는 코로나19 이후 여러 나라에서 등장했다. 이러한 자판기는 기존의 방식에서 나아가 다양한 종류의 상품을 터치스크린이나 스마트 폰으로 결제하는 방식을 이용하고 있다. 원평 메이커팀이 만든 비접촉식 QR코드 자판기(https://www.youtube.com/watch?v=hbW2pEPEGYM)는 앱 어플리케이션의 결제 기능을 완전하게 구현하지 않았다는 한계는 있으나 앱과 QR코드를 이용해 원하는 상품을 구매하는 자판기를 만들 수 있다는 것을 보여주고 있다. |
제안내용 | 문제 해결을 위해 아래와 같은 과정(1~11)을 거친다. 1. 어플리케이션 다운 2. 로그인 3. 자판기 내 대여 가능한 유니폼 중 원하는 유니폼 선택 3-1 선수 선택 - 선수 추천 알고리즘 3-2 유니폼 선택 3-3 사이즈 선택 4. 계좌 연결을 통한 결제 4-1 보증금(5만원) 및 대여금(15000원) 5. 랜덤 QR 생성 6. 자판기 내 QR 리더기를 통해 인식 7. 자판기에서 QR의 정보를 통해 해당 유니폼 제공 8. 경기가 끝난 후 반납부스에 반납하기 8-1 반납기한은 대여 당일까지 8-2 반납 부스에 있는 직원에게 직접 반납 8-3 유니폼에 있는 바코드 인식 후 반납완료 처리 8-4 보증금 반환 9. 어플 내 반납 완료 알림 표시 비싼 유니폼을 꼭 사야 야구나 축구 문화를 온전히 즐길 수 있을까? 에서 시작된 서비스 유니폼을 대여하더라도 간편하게 빌리고자 자판기 도입 유니폼 체험을 통해 유니폼 구매율이 떨어지기보다, 구단 측에서는 잠재 고객 확보 |
구현방법 | 하드웨어) 자판기 직접 제작 -> 아두이노 이용 예상 (어플리케이션 개발) 1. UI 만들기 2. 계좌 연결하기 3. 자판기 내 실시간 재고량 반영하기 4. 오류 페이지 고안하기 5. 데이터 어떻게 관리하기 6. 반납 완료 시 정보 처리하기 - 리더기에서 얻은 유니폼 고유 번호를 인식 후 어플 내 이용자가 대여 중일 경우, 반납으로 처리 -> 이용자에게 반납으로 알림 표시 (자판기 개발) 1. 원하는 유니폼을 꺼내는 방법 - 스프링 6개에 각각 유니폼이 담긴 통을 넣고 1-6 번호 부여하고 QR코드를 읽으면 1-6 중 하나의 번호가 되도록 설정. 해당 번호의 QR을 인식하면 그 번호의 스프링이 돌아가면서 유니폼 통을 밀어내도록 함 2. 어플과 자판기 연동(재고관리 등) - 부착한 핸드폰을 통해 연동 등 다양한 방법 시도 |
사용할 세부기술 | 1. aws 클라우드 2. Amazon Linux 2 서버의 딥러닝 OSS Nvidia AMI 3. GPU(TensorFlow) 4. MySQL community 5. React Native 6. Flask |
기대효과 및 의의 | 화면으로 어느 장소에서나 편하게 볼 수 있는 야구 시합을 경기장에 방문해 직관하는 이유는 바로 같은 구단을 좋아하는 팬들과 함께 선수들을 응원할 수 있는 경기장만 분위기를 한껏 즐기기 위함이다. 구단에서는 더 많은 팬이 경기장을 다시 찾게 하려면 처음 직관을 온 팬들은 직관만의 매력을 느낄 수 있도록, 직관을 자주 오는 팬들은 식상함을 느끼지 않고 다음에도 경기장을 찾고 싶다는 생각이 들도록 해야 한다. 경기장에 처음 오는 팬들의 경우 구단 유니폼으로 직관에만 있는 문화를 즐길 수 있다면 좋겠지만 경기장 분위기를 경험하기도 전에 비싼 유니폼을 사기에는 부담이 될 수밖에 없다. 하지만 '공유니폼' 서비스가 있다면 금전적인 문제를 해결하여 직관이 처음인 팬들이 직관에 익숙한 팬들이 즐기던 문화를 체험해 볼 수 있는 기회를 얻을 수 있다. 또한 이미 유니폼을 가지고 있는 팬들도 ‘공유니폼’을 통해 다른 디자인, 다른 선수 이름이 적힌 유니폼 찾으며 매번 새로운 즐거움을 느낄 수 있을 것이다. 따라서 직관이 처음인 팬들과 직관을 자주 다니던 기존 팬들 모두를 만족시킬 수 있고 더 나아가 직관에서만 느낄 수 있는 분위기를 찾아 다시 경기장을 찾는 팬들이 늘어 스포츠 문화 부흥에도 이바지할 수 있을 것이라 예상한다. 마지막으로 저렴한 대여 비용을 통해 모든 팬이 소득에 관계없이 한 마음으로 한 스포츠를 즐길 수 있을 것이라는 긍정적인 효과 역시 기대할 수 있다. |
기술적 성취/ 산출물 | 1. 주제 선정 - 공유니폼 : 야구 팬을 위한 사용자 기반 추천 유니폼 대여 앱 및 대여 자판기 2. 개발 플랫폼 선정 : 안드로이드 어플리케이션 3. 프로젝트 기획 및 구체화 : 대여 방법 (어플에서 대여 신청, 결제 시 QR코드 발급 -> 발급된 QR코드를 자판기에 인식시키면 결제한 유니폼을 대여 가능), 반납 방법 (반납 부스에서 유니폼에 부착된 바코드를 통해 반납 여부 확인) 역할분담, 시나리오 제작, DB 설계, UI/UX 제작(figma), 사용자별 선수 유니폼 추천 알고리즘 기획, 경기 기록 기반 선수 추천 알고리즘 제작 |
데모 시나리오 | 어플 사용 시뮬레이션 어플 이용 방법) 어플 내 유니폼 대여 후 결제 완료 -> QR 생성 -> 자판기의 QR 리더기에 인식 -> 유니폼 받기 세 종류의 선수 추천 알고리즘 데모 |
발표자료 | https://drive.google.com/file/d/1EklQhIpCVGJy8MO4Ea88ClsBuB2rMNYt/view |
기타 | 깃허브 링크 https://github.com/Hyeon0630/GongUniform 발표 때 데모한 경기 기록 기반 선수 추천 알고리즘 영상 https://drive.google.com/file/d/1cnsYhCXiSSrw8PPPXhD4bslFkgRvb5-O/view?usp=sharing |
프로젝트명 / 부제 | 일정 기반 예산 관리 서비스 '돈 워리(Be Happy)' - 일정에 따른 예산 분배 머신러닝 알고리즘으로 사회초년생의 돈 관리를 돕고, 과도한 소비는 사용량 줄이기 챌린지 등을 통해 경계하도록 하는 일정 리스트·가계부 통합 모바일 웹 서비스 |
---|---|
작성일 | 2023.12.18 |
팀번호 및 팀명 | 34 고등어 |
팀구성원들의 역할분담 | 이규민(2076291) 팀장, (백엔드) MySQL, Spring Framework, AWS, AI 서선아(2003047) 팀원, (프론트엔드) Figma, React Native, AWS, AI 공채은(2176020) 팀원, (백엔드) OCR, MySQL, Spring Framework, AWS, AI |
팀지도교수 | 이민수 |
엘리베이터 스피치 문장 | 저희 서비스 "돈 워리(Be Happy)"는 스스로 예산 관리가 어려운 사회초년생들을 위해 예산 분배 알고리즘에 기반한 일정 및 잔여 예산에 맞는 적절한 예산 사용량을 제시하고, 소비 제한 챌린지 등 다양한 챌린지를 통해 꾸준한 예산 사용 조절을 돕는 일정 리스트 형식의 예산-일정 통합관리 모바일 웹 서비스입니다. |
문제의 정의 | 돈을 관리하는 것은 중요하지만, 특히 사회초년생들은 이에 익숙하지 않다. 사회생활을 시작하고 수입이 생기면 돈관리가 서툰 사회 초년생들은 충동적으로 소비를 하기 쉽다. 또한 삼성페이나 애플페이, 원터치 결제가 일반화되면서 돈 자체의 물리적인 동선을 파악하기 어려워졌다. 그러나 현명한 돈 관리를 위해 가계부를 꾸준히 기록하고 무분별한 소비를 경계하는 것은 언제나 번거롭고 어려우며 사후 관리에 머문다. 따라서 자신의 사용가능 예산의 상한선을 정확히 알리고 예산을 적절하게 분배해주는 한 단계 발전한 예산 관리 서비스가 필요하다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 기능별 분류 1. 이용자의 소비 현황 분석 : 뱅크 샐러드-주간 리포트, 핀크-소비 성적표 -이용자의 소비 추세를 알려주고 유사 집단과의 소비량 비교 등을 통해 소비에 대한 경각심을 불러일으킨다. 2. 소비 내역 자동 기록 : 편한 가계부-결제 문자 및 금융 어플 알림 파싱 기능, 뱅크 샐러드-공인인증서 등록을 통한 금융사와의 자산 내역 연동 -소비 내역을 자동으로 수집 및 기록해주어 이용자가 직접 기록하는 번거로움을 줄인다. 3. 챌린지 : 핀크가 주도하는 자체 챌린지 -오락적 요소로서 이용자가에게 즐거움을 제공해 지속적인 서비스 이용 유도. -한계점: 사전관리의 측면에선 이용자의 소비를 예측하는 정도의 기능만 제공한다. 예상되는 지출에 대해 남은 예산을 바탕으로 적당한 선의 예산 사용을 제안하는 등 구체적인 관리는 제공하지 않는다. 또한 서비스의 자체 챌린지는 그 내용이 사용자 개개인의 소비 생활과는 거리가 멀어 돈 관리와 직접적인 연결점이 부족하다. |
제안내용 | 1. 일정별 예측 예산 사용량과 제안 사용량 제공 : 사용자가 입력한 월별 예산과 일정 또는 그밖의 소비 내역에 대해 머신러닝 알고리즘을 적용하여 소비패턴을 분석하고 일정별 예측 사용량과 제안 사용량을 제공한다. 2. 쉬운 일정 및 소비내역 기록 : 일정이나 지출을 기록하는 데 있어서 최대한 번거로움을 줄이고자 한다. -결제 문자를 캡쳐하거나 영수증을 찍으면 그 사진을 OCR 기술로 인식하고 그 결과 텍스트를 자동으로 지출 내역으로 입력한다. -GPT OpenAI를 이용해 일정 및 지출 내역 입력 시 필수 기입 요소인 카테고리를 제목만으로 자동으로 분류, 입력되게 한다. OCR로 입력한 일정 및 지출에 대해 해당 기능만으론 파악이 불가능한 필수 요소들을 자동으로 채워주는 역할을 한다 -시간이 지나면서 소비 사실을 잊거나 나중에 몰아서 가계부를 입력하게 되는 경우을 줄이기 위해 지출 입력용 알림 메시지를 보낸다. Geolocation api로 사용자의 위치 정보와 특정 장소에 대한 체류 시간을 측정하고 특정 시간 기준을 넘으면 소비가 일어났다고 추측한다. 3. 여러 가지 지출 챌린지 꾸준하고 즐거운 돈 관리 및 예산 사용량 체감을 위해 친구와 사용량을 공유하거나 직접 절약 챌린지, 혹은 타인이 만든 절약 챌린지를 시작할 수 있다. |
구현방법 | 1. OAuth 2.0으로 구글 로그인 2. Catboost Regression과 LSTM을 앙상블한 모델로 사용자의 일정별 예산 사용량 예측 및 적절한 예산 분배를 수행한다. 추가로 사용자의 소비패턴을 분석한다. 3. easy OCR로 결제 문자 및 영수증 캡처 내역을 텍스트로 변환해 소비 내역으로 자동입력한다. 4. GPT OpenAI에 fine tuning을 거쳐 일정 제목에 대한 적절한 카테고리를 제시하고 자동으로 선택되게 한다. 5. Geolocation api로 사용자의 위치 및 체류시간에 대한 정보를 얻는다. |
사용할 세부기술 | Web 프론트엔드: Figma, React Native 웹 프레임워크 오픈소스: Java Spring boot 데이터베이스: MySQL 클라우드: AWS(s3, ec2, RDS mysql) 서버: Ubuntu 22.04 AI: TensorFlow, GPT OpenAI, easy OCR API 설계: postman 도메인 등록: godaddy 보안 인증서: cloudflare, lets encrypt, certbot 오픈소스: 구글 로그인 api, 카카오 지도 api |
기대효과 및 의의 | 사용 기간이 늘어날수록 많은 데이터를 바탕으로 정확한 사용자 맞춤 예측 및 소비량 제안이 가능해진다. 또한 새로운 사용자가 유입되었을 때 기존의 데이터를 활용해 나이, 성별, 수입만으로 효과적인 예산 분배가 가능하다. 장소별 지출 데이터로 사람들의 장소 방문 패턴을 얻는다면 비슷한 사용자에게 카페 등의 추천 장소뿐만 아니라, 나이대와 카테고리별 지출 데이터로 사용자에게 매력적인 상품도 추천할 수 있다. 상품 추천 기능을 광고 배너 등으로 전환한다면 수익도 기대가 가능하다. 처음 수입이 생기기 시작하는 사회초년생들이 일정관리와 자산관리를 동시에 할 수 있게 하여 스스로 자산관리에 관심을 가지고 참여할 수 있도록 한다. 사용자는 일정별 자신의 지출 패턴을 파악할 수 있고 여러 지출 챌린지를 통해 적절한 소비를 할 수 있다. 사용자는 이 서비스를 이용함으로써 돈관리에 대한 스트레스를 해소하고 예산을 관리받음으로써 규모있게 돈을 쓸 수 있다. |
기술적 성취/ 산출물 | 1. 주제 정하기 -교수님 면담: 대략적인 서비스 아이디어를 브레인스토밍 후 교수님과 면담. -멘토링: 멘토를 컨택하고 그로부터 전반적인 개발 프로세스 및 서비스 개발에 대한 기본 지식을 습득. -이후 기능 및 메뉴를 확정. 2. DB/API 설계 -DB 및 API를 설계. 3. UI 설계 및 프로토타입 제작 -초기 UI 설계 -Figma를 이용해 프로토타입을 제작. 4. OCR, Geolocation -OCR API를 이용한 영수증 및 SMS 인식 기능 구현. -Geolocation api를 이용한 사용자 위치 정보 및 체류 시간 데이터를 받아오기 기능 구현. 5. 머신러닝 알고리즘 -데이터 전처리. -Catboost 알고리즘을 이용한 기본적인 단계의 예산분배 프로그램 구현. 6. 그 외 -오픈소스 활용방법 분석 -개인적인 개발 공부 -1~2차 보고서 작성 -개인 기술 블로그 작성 |
데모 시나리오 | -엘리베이터 스피치와 예산관리에 대한 pain 포인트, 해결방법을 제시함. -예산과 일정을 입력했을 때 예산 분배 알고리즘이 어떻게 동작하는지 머신러닝 알고리즘 데모 영상을 제시함. -사용량 공유 챌린지의 동작을 중심으로 프로토타입을 제시함. |
발표자료 | https://drive.google.com/file/d/12JMFC_OYYQzwqUQQrDlY61sXO2GQMz4J/view?usp=sharing |
기타 | 피드백1) 머신러닝 알고리즘이 실제로 구현되는 것에서 프로젝트의 의미가 있었고, 발표 시 스토리텔링하는 부분만 좀 더 다듬어 더 설득력 있게 전달할 것. 피드백2) 기존 가계부 서비스들과 좀 더 차별화된 챌린지 기능을 제시할 것. + 12월 이후~‘그로스’ 과정에서는 파라미터 조정을 통해 가장 적절한 Catboost 알고리즘 모델을 찾고, LSTM(시계열 분석) 알고리즘을 새로 더하여 시간에 따른 예산분배 기능을 더하여 예산분배 기능에 완성도를 높일 예정. 그 외 나머지 주요 기능들과 서비스 디자인을 완성할 것. |
프로젝트명 / 부제 | 영상 일기 플랫폼 log: NLP를 활용한 간편하고 생생한 일기 기록 |
---|---|
작성일 | 2023-12-08 00:00:00 |
팀번호 및 팀명 | 35. log |
팀구성원들의 역할분담 | 배주연 (1971023): 팀장, Python NLP 모델링, HTML, CSS, JavaScript 프론트엔드 김희진 (2029011): 팀원, Python NLP 모델링, Flask 백엔드 정지혜 (2029037): 팀원, Python NLP 모델링, AWS Ubuntu, MySQL |
팀지도교수 | 심재형 교수님 |
엘리베이터 스피치 문장 | 여러분들은 평소에 일기를 쓰시나요? 어릴 적 학교 과제를 하느라 적어도 한 번쯤은 다들 일기를 써보셨을 거라고 예상됩니다. 혹시 여러분은 일기를 쓰며 귀찮다고 느껴지지는 않았나요? 일기를 쓰는 것은 일상을 기록하는 것 이상의 효과가 있습니다. 하루를 돌아보며 오늘의 의미를 찾을 수 있고, 자아 성찰을 하며 ‘나’에 대해 깊게 이해하도록 도와주기도 합니다. 목표를 설정하고 수행하는 데 도움이 되고, 더욱 풍요로운 일상을 만드는 데 도움이 됩니다. 이로써, 저희 팀은 AI로 간단하게 기록하는 하루의 영상일기 플랫폼 log를 기획하였습니다. 영상 녹화 방식을 이용하여 글보다도 더 쉽고 생생하게 전달할 수 있습니다. 저희 log가 일기 요약본, 해시태그, 배경음악도 만들어줍니다. |
문제의 정의 | 디지털 문화가 일상이 된 현대 사회에서 아직 일기만 아날로그 형태로 남았습니다. 기존의 텍스트 기반 일기에 분명 한계가 있지만, 이를 해소하는 새로운 일기 플랫폼이 없습니다. 글로는 기억을 생생하게 기록하기도, 친한 친구끼리만 공유하기도 어렵습니다. 영상과 음성 미디어를 활용하여 일기를 작성하고 친한 친구들에게 공유할 수 있는 혁신적인 새로운 일기 플랫폼이 필요합니다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 기존의 텍스트 기반 일기 플랫폼은 널리 사용되고 있으나, 새로운 미디어를 활용한 일기 플랫폼은 상대적으로 부족합니다. 소수의 타 서비스를 분석했을 때, 간편하게 영상으로 일기를 기록할 수 있는 어플은 이미 있지만, 영상 내용에 대한 분석보다는 영상 길이 및 영상을 찍은 장소, 날씨 관련된 통계만을 제공합니다. 개인화된 서비스라기보다, 그저 종이 일기 형태를 온라인으로 옮긴 플랫폼이 대다수였습니다. log는 타 서비스들과 확연히 다릅니다. 사용자들은 영상으로 기억을 더 생생하게 기록하고, 생성된 일기 요약본과 해시태그를 확인하여 간편히 일기 내용을 글로도 볼 수 있습니다. 다른 사용자 간 연결과 공유 기능도 포함됩니다. |
제안내용 | [요약문 생성] 영상 내용의 텍스트 요약본을 만들어 일기 내용 검색이 가능합니다. [친구 공유] 일기별 공개 범위를 설정하여 개인 소장을 하거나 친구와 공유할 수 있습니다. [해시태그 생성] 일기 내용에 대한 해시태그를 생성하여 해시태그 기반 월별 통계를 제공합니다. [감상 제공] 개인 소장용 일기는 내용에 대해 공감, 위로 등의 감상을 남겨줍니다. [배경음악 추가] 일기 내용에 알맞은 배경음악을 추가할 수 있습니다. |
구현방법 | 1. STT (Speech-To-Text) - 파이썬의 moviepy 라이브러리를 사용하여 음성 파일 생성 - Google Cloud Speech To Text API를 사용하여 텍스트 생성 2. 영상 내용 요약 및 해시태그 생성 - KoBART 모델을 fine-tuning하여 일기 요약본 생성 - 요약본을 바탕으로 해시태그 생성 3. 위로, 공감, 감상 댓글 생성 - KoGPT 모델을 fine-tuning하여 사용자의 일기에 위로, 공감, 감상 댓글 생성 4. BGM 선정 - item-based 추천 시스템을 이용하여 해시태그와 유사성이 높은 BGM 추천 |
사용할 세부기술 | [기능] - Google Cloud Speech To Text API를 활용한 텍스트 생성 - KoBART 모델을 활용한 영상 내용 요약 및 해시태그 생성 - KoGPT 모델을 활용한 위로, 공감, 감상 댓글 생성 - BGM 자동 선정 (item-based 추천 시스템) [웹/앱 개발] - 백엔드: Flask - 프론트엔드: HTML, CSS, JavaScript - Web App 연결 클라우드: Tencent Cloud - 서버: Ubuntu 22.04 - 데이터베이스: MySQL |
기대효과 및 의의 | 사용자를 위해 만들어진 log는 인터페이스가 간편하고, 실용적이며, 사용자의 입력을 최소화합니다. 온라인 플랫폼이기 때문에 일기 작성에 제한이 없으며, 디바이스에 제한받지 않습니다. 사용자가 하루를 기록하는 영상을 업로드하면, log 앱은 영상 내용을 요약하고, 영상 내용 속 키워드를 추출하여 해시태그를 생성해 줍니다. 이전 영상일기 기록을 열면 키워드와 어울리는 배경음악을 자동으로 선정해서 영상과 함께 재생하며, 월별 사용자의 기록을 통계로 확인할 수도 있습니다. 사용자의 일기에 AI가 자동으로 공감, 위로 등의 감상을 남겨주어 사용자는 정서적 안정감을 느낄 수도 있습니다. 영상의 공개 범위를 설정할 수 있어 개인 기록용으로 저장하거나 서로 팔로우 되어 있는 친구들 간에 공유하며 사용할 수도 있습니다. 해당 기능을 활용하여 일기를 통해 일종의 커뮤니티를 구축할 수도 있습니다. |
기술적 성취/ 산출물 | [지도교수님과 면담 - 심재형 교수님] - 영상 특성상 검색이 어려운데, 키워드 추출 기능을 통해 영상 검색이 가능한 점이 유용할 것 같음. - 영상에서 사용자 영상 이미지를 통한 감정을 인식하는 기능 추가 고려. 앱 개발 시, 기능에 우선순위를 두고 개발 진행. - 영상 시간 제한 및 메모리 관리 방법 고안. [멘토님과 면담 - 고현웅 멘토님] 영상을 일기로 저장하는 플랫폼 개발 프로젝트의 전반적인 배경과 추가할 수 있는 구체적인 기능에 대해 이야기를 나눈 후, 각 기능의 세부적인 개발방법에 대해 조언 받음. 기능 1) 영상 일기에 대한 요약과 해시태그 생성 -영상에서 직접 해시태그를 뽑을 수도 있지만, 기술이 꽤 어려운 관계로 영상을 텍스트로 바꾸고, 텍스트 기반 해시태그 생성이 적합해 보임. 공개된 오픈소스 음성인식 모델이나 유료 api를 활용하여 영상(음성)을 텍스트로 변경 -오픈소스 모델을 사용하거나 직접 파인튜닝해서 텍스트 요약본을 생성 (챗지피티 사용할 수도 있음) -요약본을 기반으로 해시태그 생성할 때는 허깅페이스 같은 모델 활용하고, 챗지피티를 활용해서 데이터를 만들면 좋음 기능 2) 배경음악 선정 -추천 모델링을 하면 되는데, user based, cold start 모델보다는 item-based 모델이 적합해 보임. -이전 기능을 구현하며 만든 일기 요약문을 감정인식 모델을 사용하여 감정 카테고리에 분류하는 작업을 거친 뒤, 카테고리 속의 음악을 랜덤으로 고르면 될 것 같음. 각 감정 카테고리당 5개 정도 음악을 두고, 매번 랜덤으로 선택되는 방식 기능 3) 위로, 공감, 감상 남기기 -Text generation을 해야하는데, 챗지피티를 사용해도 되고, 직접 파인튜닝 해도 됨. [데모] - 프로토타입 데모 영상 - 요약 모델 코드 - 해시태그 모델 코드 |
데모 시나리오 | [앱 데모] 앱에 처음 접속하면 우선 직관적인 달력 형태로 일기 기록을 확인할 수 있습니다. 특정 날짜를 선택하여 이전 일기 기록을 확인할 수도 있습니다. 오늘의 일기를 녹화하면 사용자는 배경 음악을 추가할지, 요약본을 만들지, 해시태그를 생성할지 선택할 수 있고 공개 범위도 선택할 수 있습니다. 사용자는 간단히 녹화만 하면 로그가 일기에 정보를 추가해 줍니다. 월별 분석 탭에서는 해시태그와 감정 기반 분석을 이렇게 그래프 형식으로 확인할 수 있습니다. [모델링 데모] KOBART 모델 파인튜닝 전, 개인 일기에 대한 데이터는 공개되어 있지 않았기 때문에 먼저 chatGPT를 사용하여 데이터를 구축하였습니다. chatGPT 프롬프트에 구어체 일기와 그 일기에 대한 2~3줄짜리 요약문과 해시태그 5개를 만들어달라고 구체적으로 제시하여 앱에 적합한 데이터를 생성하였습니다. 생성된 데이터를 바탕으로 KoBART 모델을 파인튜닝하는 작업을 진행하였습니다. |
발표자료 | https://drive.google.com/file/d/1qSt7JauE1rKZF3PteWCiqPPf0MWDHbBI/view?usp=sharing |
기타 | 개발 이후 log가 발전을 위한 프로세스 - 영상 일기, 피드백 등 사용자 입력 데이터를 바탕으로 모델 성능 개선에 활용 - 요약문, 해시태그 등의 생성 데이터를 바탕으로 사용자 일기 통계 분석 기능 개선에 사용 |
프로젝트명 / 부제 | Neverland: 현실에서 벗어나 과거를 추억하고 싶은 현대인들을 위해 음악, 영화, 패션 등의 레트로 콘텐츠를 추천 AI로 맞춤 제공하는 추억 회상 힐링 앱 서비스 |
---|---|
작성일 | 2023-12-15 12:34:00 |
팀번호 및 팀명 | 36. 레쏘 |
팀구성원들의 역할분담 | 지소민(2080035) 팀장, 백엔드, MySQL, AI 김중현(2076088) 팀원, 백엔드, Java, Spring, MySQL, AWS(EC2, RDS), Docker, AI 곽서진(2076016) 팀원, 프론트엔드, React Native, Typescript, Figma, AI |
팀지도교수 | 오세은 교수님 |
엘리베이터 스피치 문장 | 지친 삶에서 벗어나고 싶은 현대인들을 위해 음악, 영화, 패션 등의 레트로 콘텐츠를 추천 AI로 맞춤 제공하여 과거의 행복했던 추억을 회상하며 힐링할 수 있는 앱 서비스를 만듭니다. |
문제의 정의 | 최근 뉴트로 열풍을 타고 2030 젊은층을 중심으로 필름카메라가 유행하고 있다. 빠르고 편리한 요즘 시대를 거스르고, 느리지만 그것 나름대로 매력 있는 예스러운 감성이 담긴 아날로그 유행을 따라 필카가 인기를 얻고 있다. 비슷한 예로, LP판은 레트로 트렌드가 부상하면서 CD와 달리 따뜻하고 자연스러운 음질을 제공한다는 점에서 다시금 유행하고 있다. 이렇듯 사람들은 과거를 추억하고 과거의 것을 사용하면서 현재를 휴식하고 삶의 활력을 되찾는다. 네버랜드 신드롬은 이러한 문화를 반영한 키워드로, 사회가 구축해 둔 규범과 절차를 받아들이며 자라난 성인이 ‘네버랜드’라는 가상의 공간에서 과거를 회상하며 그 때를 즐기는 사회적 풍조를 일컫는다. 그러나 현재 레트로 콘텐츠들이 여러 플랫폼들에 분산되어 있어 '네버랜드'를 찾고자 하는 사회적 욕구를 반영하기 부족한 상황이다. 따라서 다양한 레트로 콘텐츠들을 다른 사람들과 공유하고 추억을 향유할 수 있는 종합적인 플랫폼이 필요하다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | [관련 서비스 조사 및 분석] 1. Instagram: 이미지와 비디오 공유, 댓글, 해시태그 기능을 통해 실시간 공유가 가능하다. - 강점: 대중성과 널리 사용되는 플랫폼이며, 다양한 커뮤니케이션 및 공유 기능을 제공한다. - 약점: 주로 현재 및 단기적인 콘텐츠에 중점을 두고 있으며, 추억 회상에 한계가 있다. 2. StyleShare: 패션과 스타일 관련 콘텐츠를 공유하는 플랫폼으로, 사용자들은 자신의 스타일을 공유하고 소통한다. - 강점: 패션과 스타일에 특화된 플랫폼으로, 룩북 공유와 커뮤니티 활성화에 도움이 된다. - 약점: 패션 위주의 콘텐츠를 제공한다. 3. Day One: 사용자들은 일상적인 다이어리를 작성하고 추억을 기록할 수 있다. - 강점: 개인적인 경험과 추억을 기록하고 관리하기 위한 용이한 툴을 제공한다. - 약점: 다른 사용자와의 공유 및 소통 기능이 부족하다. 4. Timehop: 사용자들의 소셜 미디어 및 사진 라이브러리에서 오늘의 과거 추억을 보여주는 앱 - 강점: 과거의 회상을 일별로 제공하여 사용자들에게 자연스럽게 추억 회상을 유도한다. - 약점: 사용자의 추억 회상이 아닌 앱 자체에서 과거 추억을 생성한다는 점에서 사용자 커뮤니케이션에 중점을 두지 않는다. 5. 싸이월드: 사용자들이 텍스트, 이미지, 동영상 등을 공유하고 일상 소통을 위한 SNS 플랫폼. - 강점: 사용자들의 일상과 생각을 기록하고 서로 방문할 수 있다. - 약점: 플랫폼 자체로는 사용자의 과거 회상을 제공하지 않는다. [한계점] - 다양한 추억 공유 및 콘텐츠 생성 기능을 제공하는 플랫폼이 부족하다. - 추억 및 레트로 콘텐츠들에 대해 소통할 수 있는 공간이 필요하다. - 레트로 콘텐츠를 사용자에 맞춰 추천해주는 기능이 없다. |
제안내용 | 1) 레트로 콘텐츠를 피드 형식으로 제공 - 레트로 콘텐츠 종류 - 유저 제공 콘텐츠: 유저가 직접 올리는 콘텐츠로 영화, 드라마, 애니메이션, 패션, 플레이리스트가 포함된다. - 앱 제공 콘텐츠: 앱 측에서 해당 연도의 뉴스 사건, 유명 밈을 제공한다. - 피드 구성 - 유저 제공 콘텐츠: 추천 알고리즘을 통해 사용자의 취향에 맞는 콘텐츠가 추천되어, 사진 위주의 그리드 형식으로 피드에 나타난다. - 앱 제공 콘텐츠: 추천과 관련 없이, 글 위주로 유저 제공 콘텐츠 사이에 노출된다. - 피드 상세 화면 진입 시 피드를 작성한 유저가 설정한 배경 음악이 자동 재생된다. 2) 친구, 가족 등 그룹 내 추억 공유 기능 - 그룹 추억 공유 탭에서 그룹을 생성하고 멤버를 초대할 수 있다. - 유저는 여러 그룹에 속할 수 있고, 각 그룹 내에서 멤버들 간 소통이 가능하다. - 그룹 멤버들만 볼 수 있는 피드를 작성해 추억을 공유할 수 있다. 3) 유저만의 프로필 페이지 제공 - 유저는 자신의 프로필 페이지를 꾸밀 수 있다. -프로필 - 이름, 상태메시지, 프로필 사진을 등록할 수 있다. - 친구 목록, 프로필 조회수를 확인할 수 있다. -음악 - 프로필 뮤직을 유튜브 영상 삽입 형식으로 등록할 수 있다. -방명록 - 타 유저의 프로필을 방문하여 방명록을 남기며 서로 소통할 수 있다. |
구현방법 | [Backend] - JWT 토큰을 이용한 소셜 로그인 구현 - Cloud: AWS EC2, ALB를 활용해 서버 구축 및 https 설정 - DB: AWS RDS(MySQL), Redis를 사용해 DB 구축 - CI/CD: Docker, Github Actions를 사용해 배포 자동화(무중단 배포) - 프롬프트 엔지니어링으로 GPT API(Open AI) 사용 - Flask를 EC2 서버에 올려 spring boot 서버와 연결 [Frontend] - Typescript, React Native를 활용한 크로스 플랫폼 앱 구축 - 배경음악 재생: @react-native-youtube-iframe 라이브러리를 사용해 사용자가 선택한 음악을 공유하고 재생할 수 있도록 한다. - Axios를 활용한 API 연결 [AI] 초기에는 사용자 관심사 기반 콘텐츠 추천 알고리즘 수행. 추후에 사용자의 활동 데이터(좋아요, 댓글 기록)가 축적되면 딥러닝 신경망 모델로 알고리즘을 확장. - 초기 - 사용자로부터 관심사를 입력받음 - LLM을 활용하여 태깅 ex) (영화 - 장르, 감독 등의 태그), (패션 - 스타일, 브랜드 등의 태그) - 분류된 태그 기준으로 콘텐츠 기반 필터링 수행 - 추후 - 콘텐츠 기반 필터링과 사용자 기반 협업 필터링을 혼합한 딥러닝 신경망 모델로 확장 - 콘텐츠 기반 필터링: 초기 방식대로 수행 - 사용자 기반 협업 필터링: (다른 사용자에 대한 사용자의 좋아요, 댓글 기록) + (사용자가 직접 올린 콘텐츠)로 유사도 측정 |
사용할 세부기술 | [Frontend] Typescript React Native [Backend] Java Python Spring Boot Flask AWS EC2, RDS MySQL Redis Docker Github Actions [AI] OpenAI API Keras TensorFlow |
기대효과 및 의의 | [기대효과] - 다양한 사용자들이 공통적인 그 시절 경험과 추억을 공유함으로써 연결감을 느끼게 할 수 있고, 다양한 세대의 서로 간 이해도를 향상시키는데 도움을 줄 수 있다. - 시간을 넘어 다양한 과거 시대로의 경험이 가능하도록 해주기 때문에 유저들에게 새로운 시각으로 세상을 바라볼 수 있는 기회를 제공한다. - 각 세대의 특징적 문화를 앱을 통해 보존하고 다른 유저들과 공유할 수 있고, 다양한 유저들의 추억을 향유하며 그 과정에서 즐거움을 느낄 수 있다. [서비스 의의] - 앱을 통해 시간과 세대를 넘어서 소통하며 새로운 시각과 이해를 제공한다. - 과거 추억 회상을 유도함으로써 정서적 안정을 유도한다. - 사용자들은 해당 서비스를 통해 과거를 추억하며 현재를 휴식하고 삶의 활력을 되찾는다. |
기술적 성취/산출물 | [Frontend] - React Native와 Typescript를 활용한 크로스 플랫폼 앱 구축 [Backend] - IntelliJ를 활용한 spring boot 프로젝트 생성 및 개발 환경 설정 - AWS EC2 서버와 RDS(MySQL) 구축 - spring 프로젝트 상에서 Chat-GPT 연결 및 테스트 [AI] - TMDB Movies 데이터셋을 활용해, 장르를 바탕으로 content-based filtering 알고리즘을 검증 - 사용자와 태그를 매핑하여 콘텐츠에 대한 사용자의 선호도를 예측하는 딥러닝 신경망 모델 훈련 |
데모 시나리오 | [엘리베이터 스피치] 저희는 지친 삶에서 벗어나고 싶은 현대인들을 위해 음악, 영화, 패션 등의 레트로 콘텐츠를 추천 AI로 맞춤 제공하여 과거의 행복했던 추억을 회상하며 힐링할 수 있는 앱 서비스, Neverland를 만듭니다. [페인 포인트] 과거를 추억할 수 있게 해주는 콘텐츠들을 한 곳에 모아볼 수 있는, 즉 사람들의 네버랜드가 되어줄 통합 플랫폼이 없다. [문제해결 시나리오] 피그마 와이어프레임을 활용한 기능 설명을 통해 문제 해결 시나리오를 보여준다. - 피드 - 그룹 추억 공유 - 프로필 [기술 요소] 코랩을 활용해 추천 알고리즘의 작동 과정을 보여준다. - content based filtering 유저의 활동 데이터가 충분하지 않은 초기 상황을 가정하기 위해, tmdb 데이터셋을 이용하여 콘텐츠 기반 필터링 알고리즘을 수행한 결과이다. 유저가 영화 ‘아바타’의 감상평을 담은 게시물을 올렸다면, 아바타의 장르를 추출하고 이와 유사한 장르의 영화를 탐색하여 결과값으로 도출한다. - neural network 유저의 활동 데이터가 쌓이게 되면, 크게 4 layer에 걸쳐 유저의 행동 이력을 고려한 레트로 콘텐츠를 출력하는 케라스 모델을 개발한다. 현재는 모델을 정의하는 과정에 있으며, 딥러닝 모델을 통해 결과적으로 0과 1 사이의 선호도 확률이 출력되어 상위 N개의 아이템을 유저에게 제공할 예정. [데이터 활용] 향후 5년간 수집될 데이터의 활용 방안을 설명한다. - 추천 시스템은 사용자 간의 유사도나 콘텐츠 간의 유사도를 기반으로 한 추천 알고리즘으로, 유저 개개인에게 맞춤형 콘텐츠를 제공하고 있다. 그러나 5년간 각 유저의 게시물 조회, 댓글, 좋아요 기록의 활동 데이터가 쌓이게 되면 앱 전반에 걸쳐 콘텐츠의 인기도를 계산할 수 있다. 이는 단순히 특정 유저에게 추천되는 콘텐츠뿐만 아니라, 앱 전체에서 인기 있는 콘텐츠를 효과적으로 피드에 노출시킬 수 있게 된다. 결과적으로 전반적인 유저의 만족도를 높일 것으로 기대된다. - 두번째로 앞서 보였던 그룹 내 추억 공유 기능을 통해 사회 관계망 데이터를 확보할 수 있다. 사회 관계망 데이터는 한 유저와 사회적으로 연결되어 있는, 즉 앱에서 같은 그룹 내에 속해있는 다른 유저들과의 상호작용을 나타낸 데이터로 정의한다. 5년 간 서비스를 제공하면서 유저 개인에 대한 이 데이터가 축적되면, 주요 기술 요소인 추천 알고리즘에서 유저들 간의 유사도 계산 시간이 크게 절감될 수 있을 것이다. 결과적으로 추천 알고리즘의 성능이 향상되어 유저의 피드에 새로운 콘텐츠가 쉽고, 빠르게 제공될 수 있다. [기술 스택] - 프론트엔드: Typescript와 React Native를 사용하여 크로스 플랫폼 앱을 구축한다. - 백엔드: Spring으로 앱 서버를, Flask로 모델 서버를 구축. AWS EC2로 Ubuntu 서버를 구축하고, 데이터베이스로는 MySQL과 Redis를 사용한다. - AI: TensorFlow와 Keras, scikit-learn을 활용한다. [향후 개발 계획] 방학 동안 ml 부분에서 레트로 콘텐츠 전반이 모두 학습될 수 있는 딥러닝 신경망 모델을 개발하는 것에 집중할 예정. 이 과정에서 gpu를 활용하여 딥러닝 모델의 학습 및 추론 속도를 높인다. 이와 동시에 앞선 기술 스택을 활용해 프론트 개발 및 API 개발도 진행해, 최종적으로 그로쓰에서 ios 앱을 데모할 예정이다. |
발표자료 | https://drive.google.com/file/d/1GEAQOpZDrFCD1OlUYRPrMBtgHAaHF3P2/view?usp=sharing |
기타 | To-Be Architecture |
프로젝트명 / 부제 | 사용자와 자유로운 상호작용이 가능한 Gen AI 기반 스마트 스케줄링 웹 서비스 |
---|---|
작성일 | 2023-12-15 |
팀번호 및 팀명 | 37. re:coding |
팀구성원들의 역할분담 | 전혜승(2076364) 팀장, AWS, Spring, Flask 등의 벡엔드 최민주(2076409) 팀원, React, TypeScript 등 프론트엔드 황채원(1976435) 팀원, GPT-4 API, LangChain, 인공지능, 기계학습 등의 AI 모델 |
팀지도교수 | 오세은 교수님 |
엘리베이터 스피치 문장 | 팀 Re:coding은 단순히 일정을 기록하는 역할만 보조했던 기존 스케줄링 서비스의 ‘자동화 부재’를 극복하고자 한다. 이에 스케줄러의 개인화 기능, 그리고 프로액티브한 일정 관리 기능을 강화한 생성형 인공지능 비서를 만들고자 한다. '네스'와 함께라면 업무 스케줄링은 물론 개인의 일상까지 한층 더 간편하고 직관적으로 만들 수 있다. |
문제의 정의 | [개인의 업무량이 크게 증가한 현대 사회, 능동적 스케줄링이 필요하다] 정보통신기술의 발달로 개인의 업무량이 크게 증가한 현대 사회에서 다양한 일정을 효율적으로 관리하는 능력은 핵심 역량이 되었다. 이를 보조하기 위한 다양한 일정 관리 앱이 시장에 나왔지만, 대부분이 아날로그 다이어리를 핸드폰에 옮겨놓은 것에 불과했다. 이로 인해 사용자들은 일정을 등록하고 수정할 때마다 번거로운 형식에 맞춰 직접 입력해야 했다. 기존의 앱들은 능동적 스케줄링 보조를 제공하지 않아 사용자가 자신의 일정에 맞는 적절한 사전 준비를 하기 어렵게 만들었다. 더 나아가, 각기 다른 용도의 여러 일정 앱을 사용함으로써 도구의 분산이라는 문제를 겪고 있다. 이 문제를 해결하기 위해 팀 re:coding은 발전된 AI 기술을 활용하여 사용자의 의도에 맞는 능동적 스케줄링을 하나의 도구로 제공하는 제품을 개발하려고 한다. [기존 서비스의 painpoint] 1. 기존의 스케줄러 어플들을 이용하기 위해서는, 해당 어플의 사용법을 숙지해야했다. 스케줄러 어플에서 통용되는 일정 입력 및 삭제와 같은 기본적인 기능들은 사용자가 별다른 학습 없이도 이용이 가능했지만, 해당 어플에서 편의성 개선을 위해 추가한 고급 기능들을 사용하기 위해서는 어플 이용법 숙지를 위한 자용자의 학습이 요구되었다. 이에 사용자들은 해당 어플의 고급 기능을 이용하기 위한 사용법 숙제를 위해 시간을 투자하거나, 해당 기능을 사용하지 않고 기본적인 기능만을 사용하는데 그쳤다. 이에 자유로운 스케줄링이 불가했기에 사용자들은 보조적인 수단으로 메모장 어플이나, 공책 등의 물리적 기록 수단을 사용하기도 하였다. re:coding 팀에서 약 200명의 대학생을 대상으로 실행한 설문조사 결과, 메모장 어플을 보조적 수단으로 이용하는 사용자들이 76퍼센트, 공책을 보조적 수단으로 사용하는 사람들이 46퍼센트에 달했다. 2. 기존의 스케줄링 어플들은 아날로그적 수단인 다이어리를 모바일로 그대로 옮겨놓은 것에 불과할 뿐, 사용자의 일정에 필요한 사전 준비, 사후 피드백을 적극적으로 제공해주지 못한다. 일정 수립 시 사전 준비물, 장소 선정, 일기 예보 확인 등 다양한 요소를 고려할 필요할 필요가 있음에도 스케줄링 어플들에선 이러한 관리방식을 제공하지 않는다. 이는 오롯이 사용자의 업무로 돌아가 할 일을 더 가중시킬 뿐이다. 더 나아가 일정 관리에 대한 달성 성공/실패 여부와 같은 일차원적인 피드백 밖에 제공해주지 못해 사용자의 생활 개선에 도움을 제공해주지 못했다. 3. 사용자들은 다양한 유형의 일정을 관리하기 위해 여러가지 앱을 사용하게 되어 관리 도구가 분산되고 있다. 하나의 수단으로 모든 일정을 관리할 수 있는 수단이 필요하다. 대학생만 해도 시간표를 위해서는 에브리타임, 월간 스케줄 관리를 위해선 TimeBlocks, 일간스케줄 관리를 위해서는 todomate를 쓰는 경우가 빈번하다. 해당 어플들에서 월간/일간 뷰 중 하나의 기능만을 제공하는 것은 아니지만, 뷰 전환이 불편하고 한 가지 형태에만 기능이 최적화되어있어 일정 관리를 위해서는 여러가지 어플들에 중복해서 일정을 입력하는 경우도 발생한다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 리코딩 팀은 현존하는 목표 관리 앱들이 어떠한 강점과 취약점을 가지고 있는지 약 한달여 간의 자료조사를 통해 분석하였다. 1. 투두메이트 투두메이트는 심플하면서도 트렌디한 UI, 그리고 직관적인 사용법으로 인해 많은 고객들을 확보했다. 그러나 인터뷰 등을 통해 상당한 수의 사용자들이 짧은 기간 내에 앱 사용을 포기하는 모습을 볼 수 있었는데, 앞서 제시한 설문조사 결과와 연관지어 생각해볼 때, 사용자가 직접 투두 리스트를 작성하고 그룹화할 뿐 아니라 정렬해야 한다는 점이 약점으로 작용했다는 점을 알 수 있었다. 2. TimeBlocks TimeBlocks는 월별 일정을 간편하게 한 눈에 볼 수 있다는 점, 그리고 다양한 테마를 스토어에서 구입해 쉽게 커스터마이즈가 가능하다는 점에서 많은 사용자들을 모았다. 그러나 화면 구성 상 월별 일정을 한 눈에 보여줘야 한다는 한계는 적재할 수 있는 계획의 수를 제한 시킨다는 문제를 발생시킨다. 때문에 사용자는 중요한 일정을 주로 적게 되고, 전체적인 일정 관리를 위해서는 추가적인 서비스를 이용해야 한다는 문제점이 존재했다. 리코딩 팀은 위와 같은 자료 조사 및 설문조사를 통해 지금까지의 서비스들과는 다른 ‘네스’만의 강점을 인풋 자율성의 극대화에 두고자 하였다. 즉, 앱에서 지정한 인풋 형식, 카테고리화에서 벗어나 사용자에게 극강의 자율성을 주고 자체 서비스를 통해 플래닝을 진행시키는 개인 비서로서의 역할을 더욱 공고히 하고자 한 것이다. 뿐만 아니라, 현대 퍼스널라이징 트렌드에 따라 사용자 맞춤 분석 서비스를 추가하였다. 3. 인아웃 인아웃은 다이어트를 관리해주는 어플로, 내가 하루 먹은 식단의 칼로리와 운동으로 인해 소요한 칼로리를 알려주는 기본적인 기능 뿐만 아니라, 친구와 함께 다이어트 목표를 설정해서 이를 달성해나갈 수 있도록 도움을 준다. 이 과정에서 레벨업, 랭킹 등의 게임적 요소를 넣어 힘든 과정이 될 수 있는 다이어트를 즐거운 게임처럼 표현하여 사용자들의 부담감을 줄이고자 한 점이 크게 각광 받았다. 특히 리코딩 팀은 사용자의 인풋을 분석해 개별적인 식단 관리 알림 및 분석 레포트 서비스에 주목을 했는데, 인아웃 어플은 사용자가 데이터를 직접 작성해야지만 이를 바탕으로 분석이 진행되지만, 네스 프로젝트에서는 단순한 줄글 형태의 인풋 만으로도 중요 데이터를 뽑아내 알고리즘 및 인공지능을 통한 개별 분석을 도와주고자 하는 지향점을 가지게 되었다. ‘네스’ 서비스 기획을 발전시키던 과정에서, 리코딩 팀은 인공지능을 활용해 플래닝을 도와주는 Reclaim.ai 라는 서비스를 발견하였다. 4. Reclaim.ai Reclaim.ai는 구글 캘린더와 연동시켜 활용하는 개인/팀 플래닝 ai 서비스이다. 각 팀원들이 가능한 시간대와 일정 등을 적으면, 자동적으로 충돌이 나는 시간대를 피해 회의 시간을 선정하고 최적화 시켜준다. 다만, 이 IT 서비스 또한 정형화된 사용자의 인풋 입력과 한정적인 스케쥴링 기능이라는 한계점을 갖고 있는 만큼, 본 네스’ 프로젝트는 한층 더 나아가 입력 형식의 자율성이나 ui/ux 측면에서 더욱 발전된 결과물을 도모하고자 한다. |
제안내용 | NESS는 스케줄러에 챗봇 기능을 도입하여 “상호작용을 통한 편리한 스케줄링 관리”라는 목표를 가진 서비스이다. NESS는 일정의 설정, 삭제, 변경을 돕고, 적절한 변경안도 제시해주는 효율적인 비서이다. 반복적인 일정, 혹은 예외적인 일정도 명령어 한 줄로 설정이 가능하며, 사용자는 하나의 입력창으로 네스의 모든 기능을 제어할 수 있다. 또한, NESS는 사용자의 입력을 기다리기만 하는 게 아니라 스스로 일정을 분석하고 먼저 추천하는 똑똑한 비서이기도 하다. 사용자의 데이터를 기반으로 미리 일정에 대한 알림을 주기도 하고, 사용자가 스케줄러에 기입한 정보가 부족할 때 먼저 리마인드를 주는 능동적인 비서이다. [입력 처리] 사용자 입력의 차별화: 사용자는 비서에게 이야기하듯이 자신만의 스타일로 자유롭게 일정을 입력할 수 있다. 이렇게 입력받은 텍스트를 LLM이 처리하여 스케쥴 관리를 자동화한다. 이를 통해 일정관리 어플의 편집, 알람설정, 반복설정, 일정조정 등의 번거로움을 개선한다. 요약: 사용자가 자유롭게 일정을 입력하면, LLM이 할 일 목록으로 요약한다. 복잡하게 서술한 내용도 명료하게 요약해 정리한다(예: 오늘은 친구랑 여의도에서 밥 먹어야지. -> 친구와 저녁 약속(at: 여의도)) [스케줄링] 위치/인물 맨션: 일정을 수행할 위치, 또한 일정에 포함된 사람을 글로 적으면 이를 자동으로 분류하고 맨션해준다. 또한 지도 API를 사용해 장소를 자동으로 추천해주거나 태그할 수 있다. (예: 영희랑 신촌에서 밥 먹기 -> 밥 약속(at: 신촌, @영희)) 자동분류: 요약된 할 일 목록을 카테고리에 맞게 자동으로 분류한다. (예: 헬스장에서 30분 동안 러닝 -> '운동' 카테고리로 분류) 일정 충돌 방지 및 재배치 제안: 사용자에게 새롭게 입력받은 일정이 기존의 일정과 충돌할 경우, 사용자에게 이를 알리며 대안을 제시해준다. 이를 통해 일정 관리 및 편집에 따른 번거로움을 개선한다. 알림: 사용자가 설정한 일정의 마감 기한에 맞추어서 자동으로 알림을 전송한다. 추천: 사용자에게서 입력받은 일정에 대해 사전에 준비해야 할 사항들을 알려준다. (예: 토요일에 면접 일정이 있다면, 면접에 일반적으로 필요한 준비물들을 미리 알려준다.) 반복 일정 관리: 루틴 설정을 챗봇 형식으로 편리하게 해결 가능하다. (예: 헬스장에 가는 일정을 챗봇에 입력하면 자동으로 스케줄에 정리된다.) [분석] 분석 레포트 및 솔루션 제공: 사용자의 일정을 분석하여 레포트를 제공한다. 효율적인 일정관리를 위한 제안과 일정 수행 시 부족했던 부분에 대한 개선점을 제시한다. 우리는 이 서비스를 통해 사용자의 만족도와 생산성을 높이며, 혁신적인 기술을 통해 스케줄링을 넘어 개인 비서로서의 역할을 수행할 것을 기대한다. |
구현방법 | 네스는 다음과 같은 기술을 통해서 구현된다. [ML/AI 기술] LLM의 프롬프트 엔지니어링 : LLM의 가장 중요한 특징은, fine-tuning 없이 few-shot, one-shot, 혹은 zero-shot으로도 우수한 output을 낼 수 있다는 것이다. 사용자의 입력을 요약, 태그에 따른 자동분류 등을 수행하는 것은 LLM의 프롬프트 엔지니어링을 통해 구현할 예정이다. 또한, 사용자에게 분석 레포트 및 솔루션을 제공할 때 문장을 생성하는 것 역시 LLM을 통해 구현한다. 우수한 성능을 보이는 OpenAI의 LLM 모델, 오픈소스에 가격면에서 경쟁력이 있는 Google의 BERT, 한국어의 처리와 프롬프트 엔지니어링에 따라 좋은 성능을 보이며 근 시일 내에 출시 예정인 HyperCLOVA 등의 사용을 고려중이다. RAG based LLM: NESS의 핵심기술은 RAG based LLM이다. 근 몇 년 사이 언어모델을 평정한 사전학습된 거대언어모델의 한계는, 사전학습에 포함되지 못한 정보는 알지 못한다는 것이었다. RAG, 즉 Retrieval Augmented Generation이라는 방식은, 쿼리와 관련된 문서를 효율적으로 검색하여 쿼리와 함께 언어모델에 전달하는 방식이다. 이 방식을 이용하면, 추가적인 학습 없이 모델 외부의 데이터를 이용할 수 있다. 따라서 개인화된 경험 제공을 위하여 실시간으로 업데이트 되는 사용자 데이터의 활용이 핵심이 되는 NESS 서비스에 매우 중요한 역할을 한다. LangChain&VectorDB: LangChain은 AI 모델, 에이전트 및 프롬프트를 구조적으로 만들고 연결하여, LLM 관련 작업을 중앙에서 제어할 수 있는 오케스트레이션 프레임워크이다. 또한 모델에 context-enhanced 프롬프트를 전달하기 위해서는 사용자 쿼리에 관련된 문서를 벡터유사도에 기반하여 검색하게 되는데, 이를 위해 데이터를 벡터로 저장할 수 있는 VectorDB를 사용할 예정이다. [FE/BE 기술] Spring Boot&FastAPI: 웹 서비스의 벡엔드는 Spring Boot를 사용하고, ChatGPT의 API와 연동하기 위해 FastAPI를 사용할 예정이다. 각 프레임워크별 백엔드 서버를 따로 두고 REST API를 통한 통신을 진행한다. React&TypeScript: React를 통해 CSR(CLient Side Rendering)의 최적화를 위해 노력한다. 웹 서비스이지만 모바일 기기를 소지한 사용자들 역시 편리하게 이용할 수 있도록 반응형 개발을 진행하며, React의 비동기적 특성을 이용하여 간편하면서도 사용자들의 눈을 사로잡을 수 있는 UI/UX를 구현할 에정이다. TypeScript를 이용해 확장 용이성을 높이고, 발전된 형태의 structure 설계를 하고자 한다. |
사용할 세부기술 | Github AWS Spring Boot FastAPI React TypeScript OpenAI API Python LangChain Chroma |
기대효과 및 의의 | [거대언어모델과 생성형 AI 기반으로 만드는 인공지능 비서, NESS] 팀 re:coding은 생성형 AI 기반 챗봇을 통해 사용자와 자유로운 의사소통이 가능한 스마트 스케줄링 서비스를 개발할 예정이다. 사용자가 마치 채팅을 하듯 일정을 입력하면, 대규모 언어모델(LLM)이 비정형 데이터를 처리하여 맥락을 파악하고, 사용자의 의도에 부합하는 최적의 스케줄을 도출한다. 이 서비스는 개별 누적 데이터를 기반으로 관련 활동 및 장소를 추천하며, 일정 준비를 위한 사전 피드백과 추후 스케줄링 개선을 위한 사후 피드백을 제공하여 사용자의 일정 관리를 능동적으로 지원한다. 일간, 주간, 할 일 목록을 제공함으로써 다양한 일정을 통합 관리할 수 있는 기능 또한 제공한다. 이를 통해 단순히 일정을 저장하는 수준을 넘어 '인공지능 기반 개인 맞춤형 일정 관리 비서'로서의 기능을 제공하는 것이 목표이다. [서비스의 확장 가능성] 뛰어난 사용자 경험을 제공하기 위해 다양한 외부 서비스와의 통합을 통해 기능을 확장할 수 있는 구조로 서비스를 설계하였다. 이를 통해 사용자들은 단일 플랫폼에서 다양한 활동을 수행하고 자신의 일상을 보다 간편하게 관리할 수 있다. 아래는 통합 가능한 타 서비스와 기능에 대한 설명이다. 캘린더 서비스 API 통합: 사용자의 일정 및 일정 관리를 강화하기 위해 주요 캘린더 서비스와의 API 통합을 지원한다. 이를 통해 사용자는 하나의 플랫폼을 통해 다양한 캘린더 서비스 (예: Google 캘린더, Apple 캘린더, Outlook 등)의 일정을 연동하고 중앙에서 효율적으로 관리할 수 있다. 사용자들은 NESS 서비스를 통해 여러 캘린더에서 예약 및 일정을 통합적으로 확인하고 조정할 수 있으며, 일정 충돌 및 중복을 방지할 수 있다. 쇼핑 서비스 API 통합: 사용자들이 쇼핑 활동을 원활하게 관리할 수 있도록 주요 쇼핑 서비스와의 API 통합을 지원한다. 네이터 쇼핑 등의 서비스와 통합하여 쇼핑 목록, 할인 및 프로모션 정보, 주문 추적 등을 모두 관리할 수 있다. 이를 통해 사용자들은 쇼핑 활동과 일정을 통합할 수 있으며, 쇼핑한 물품이 도착하는 일정까지 모두 관리 가능하다. 지도 및 위치 기반 서비스 API 통합: 위치 기반 정보 및 지도 서비스와의 통합을 통해 사용자들은 일정을 관리할 수 있다. 예를 들어, 회의 위치와 가장 가까운 커피숍을 추천받을 수 있다. |
기술적 성취/ 산출물 | 9월 진척사항은 다음과 같다. 아이디에이션: 팀원들 모두가 원하는 서비스에 대한 의견을 내는 아이디에이션 시간을 가졌다. 아이디에이션 시간 동안에는 문제 인식(어떤 집단의 Pain Point와 Needs를 공략하는지), 현재 대안과 한계점, 해결 방안, 비즈니스 모델을 분석했다. 또한, 팀원들이 각자 기획해온 서비스의 장점을 도출하고 하나로 통합하는 시간을 가졌다. 설문조사: 기획한 서비스를 바탕으로 설문조사를 하는 시간을 가졌다. 200명에게 설문조사를 통해 경쟁 서비스의 장단점을 조사해보았으며, 사람들이 목표 관리를 하는 방식을 알아보았다. 이를 통해서 사용자와 자유로운 상호작용을 할 수 있는 Gen AI 기반 스마트 스케줄링 서비스를 기획할 수 있었다. 담당교수/외부 멘토의 멘토링: 담당 교수 면담을 통해 서비스에 포함하고 싶은 인공지능 기술의 효율성을 판단해보았다. 또한 현대 오토모바일 부장, 카카오 이사와의 면담을 통해 서비스 기획의 측면에서 발전시켰다. 10월 진척사항은 다음과 같다. 1차 요구사항 명세서: 기획된 내용을 바탕으로 1차 요구사항 명세서를 완성했다. 기능 단위로 요구사항 명세서를 상세하게 작성하였다. 인공지능 기술 테스트: ChatGPT의 API를 사용하는 방법(프롬프트 엔지니어링, fine tuning) 테스트를 진행하였다. 이 과정을 통해서 프로젝트에 적합한 프롬프트를 도출할 수 있었다. 디자인 테마(MVP 골격) 완성: 서비스의 핵심 디자인 테마를 완성하고, 색상 조합과 서비스 컨셉 등을 결정했다. 또한 서비스의 컨셉과 적합한 로고의 프로토타입을 제작하였다. figma를 통한 프로토타입 제작: figma를 통해 각 유즈 케이스 시나리오를 구성하고, 그에 맞는 UI/UX 프로토타입을 제작하였다. 11월 진척사항은 다음과 같다. 창업경진대회: SW 창업경진대회를 통해 아이디어를 검증하고 발표하는 시간을 가졌다. IR자료 작성: 프로젝트의 사업성을 평가하고, IR 자료를 제작하는 시간을 가졌다. 데모 자료 제작: 데모 데이를 위해 React를 통해 FE를 만들고, GPT API를 통해 프롬프트 엔지니어링을 검증했다. 12월 진척사항은 다음과 같다. 데모 데이 발표: 11월에 제작한 데모 자료 및 IR 자료 등을 수정하여 데모 데이에 발표했다. 1월에 예정된 계획은 다음과 같다. 요구사항명세서 구체화: 서비스에서 요구된 모든 사항을 정리한 요구사항 명세서를 작성하고, 디자인 프로토타입에 해당 사항이 모두 적용되어 있는 요구사항명세서를 작성한다. 앞서 완성한 1차 요구사항 명세서를 구체화하는 방향으로 진행한다. RAG Based LLM 테스트: 거대 언어 모델을 사용하는 법을 검토하고, RAG를 임베딩하여 프로젝트에 통합 가능하게 만든다. 2월에 예정된 계획은 다음과 같다. FE 개발: figma 프로토타입을 제작한다. 이를 기반으로 React로 메인 화면을 개발하고, 구글 캘린더 API 및 네이버 지도 API를 통합한다. BE 개발: SpringBoot로 일반적인 Task를 담당하는 REST API를 개발한다. 또한, RDB를 설계하고 이를 프로젝트와 연결한다. AI 개발: LangChain 스크립트 작성 및 RAG 검색 알고리즘을 구현한다. |
데모 시나리오 | 데모 시나리오: 인공지능 비서 '네스' [문제 정의 및 솔루션 소개] 설문조사 및 포커스 그룹 인터뷰를 통해 기존 서비스에는 관리를 보조해주는 기능이 없다는 painpoint를 소개한다. 이를 통해 LLM 기반 사용자의 의도에 맞는 프로액티브한 스케쥴링을 제공 가능한 챗봇, NESS를 소개한다. [핵심 기술 및 아키텍처 소개] NESS의 핵심 기술인 RAG based LLM의 작동 방식을 소개하고, 이를 구현하기 위한 프레임워크 및 DB를 소개한다. LLM를 거치지 않는 일반적인 Task와, LLM을 거쳐야 하는 Task 두 가지로 분리된 마이크로서비스 아키텍처를 설명하고, 각 기능에 필요한 기술을 소개한다. |
발표자료 | https://drive.google.com/file/d/1aQOjN3Amj_xZ4PLyFp6lwFc6UbIllIS2/view?usp=drive_link |
기타 | [역량 활용 계획] 개발 역량 활용: 전혜승 팀장은 Google Developer Student Club 맴버 경험을 활용하여 프로젝트의 기술 개발 및 관리 역할을 맡아 프로젝트를 발전시킬 예정이다. 프로젝트의 기술적 도전 과제를 해결하고, 개발 및 배포 과정을 주도할 계획이다. 최민주 팀원은 CEOS 및 다양한 IT 및 웹 개발 프로젝트 경험을 통해 프론트엔드 및 웹 개발 역할을 수행할 계획이다. 사용자 인터페이스 및 경험을 개선하고, 웹 기술을 효율적으로 활용하여 프로젝트의 가치를 높인다. 이러한 종합적인 노력을 통해 개발 역량을 강화하고, 프로젝트를 발전시키고자 한다. AI 역량 활용: 황채원 팀원은 Google ML 부트캠프 및 인공지능 랩실 경험을 통해 머신 러닝 및 딥 러닝 기술을 활용하여 프로젝트에 AI 요소를 통합하고, 사용자에게 혁신적인 기능을 제공할 예정이다. 전혜승 팀장 또한 이화여대 인공지능 랩실 및 AWS Student Club 멤버로 활동한 경험을 바탕으로, 클라우드 컴퓨팅 및 인공지능 기술에 대한 지식을 프로젝트에 적용하여 효율적인 서비스를 개발할 예정이다. 이를 통해서 AI 역량을 강화하고, AI 기술이 적합하게 통합된 프로젝트를 만들 계획이다. 사용자 경험 역량 활용: 최민주 팀원은 연극 및 영상제작 경험을 활용하여 프로젝트의 멀티미디어 콘텐츠 및 사용자 경험을 개선할 예정이다. 사용자에게 긍정적인 경험을 제공하기 위해 UI/UX 요소를 개선할 예정이다. 외부 멘토링 진행: 앞서 진행했던 현대 오토에버 부장, 카카오 이사와의 지속적인 소통과 멘토링을 통해 프로젝트 팀의 역량을 지속적으로 향상시킬 것이다. 프로젝트 전략과 방향을 최적화하고 개선하기 위해 멘토링을 적극 활용할 계획이다. |
프로젝트명 / 부제 | 스킨트리: 실패 없는 화장품 선택을 위한 머신러닝 기반 성분 맞춤형 화장품 추천 서비스 |
---|---|
작성일 | 2023년12월16일 |
팀번호 및 팀명 | 38. 화이 |
팀구성원들의 역할분담 | 정다희(2076367) 팀장, Flask, react 등 프론트엔드 임수화(2176313) 팀원, scikitlern, jupyter notebook 등 머신러닝 안민영(2045025) 팀원, AWS Ubuntu 22.04, Flask, MySQL 등 백엔드 |
팀지도교수 | 최병주 교수님 |
엘리베이터 스피치 문장 | 사고 안 맞아서 버리는 낭비는 그만, 실제로 사용하던 화장품을 입력하고 성분 메이트를 통해 맞춤형 화장품을 추천받을 수 있는 기회를 지금 경험해보세요. |
문제의 정의 | 소비자가 화장품을 선택하는 과정에서 발생하는 여러가지 어려움을 해결하고자 한다. 1) 피부 유형과 민감도에 따른 여러 요구사항을 반영하고자 한다. 개인별 다양한 성분 민감도와 알러지 반응을 일으킬 수 있는 성분들을 고려 사항에 포함시켜 잘못된 화장품 사용으로 인한 부정적인 영향을 최소화한다. 2) 제품 다양성으로 인한 제품 선택의 어려움을 해결한다. 수많은 브랜드와 제품이 존재하는 화장품 시장 속 소비자가 어떤 제품을 선택할 지 결정하기 어려운 문제를 보다 효율적으로 더 나은 선택을 하는 방향으로 해결하고자 한다. 3) 화장품에 대한 정보가 부족하거나 부정확할 경우, 소비자는 어떤 제품을 선택할 지 알기 어렵다는 문제점을 해결하고자 한다. 4) 기존에 사용하던 잘 맞는 제품이 단종되거나 가격이 부담스러울 경우, 이와 비슷한 대체 제품을 찾기가 어려운 문제를 해결하고자 한다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 유사 서비스) 화해: 화장품 관련 정보 공유를 중심으로 하는 소셜 미디어 플랫폼 1) 제품 리뷰 및 평가 제공: 화해 어플을 사용하는 사용자들은 자신이 사용한 화장품 제품에 대한 리뷰와 평가를 작성하고 공유할 수 있다. 이를 통해 다른 사용자들은 제품에 대한 정보를 얻을 수 있다. 2) 제품 검색 및 정보 제공: 화해 어플은 성분 항목에서 20가지 주의성분과 알레르기 주의성분, 전성분을 확인할 수 있다. 또한 사용자들은 화해 어플을 통해 특정 화장품 제품을 검색하고 해당 제품에 대한 정보, 리뷰, 가격 등을 확인할 수 있다. 3) 추천 제품 제공: 화해 어플은 사용자의 피부 유형, 관심사, 사용 기록 등을 기반으로 개인화된 제품 추천을 제공하며 이를 통해 사용자들에게 적합한 화장품을 찾을 수 있도록 돕는다. 해당 추천은 나이대와 피부 타입이 같은 다른 사용자를 기반으로 제공된다. - 강점: 다른 사용자의 경험을 통해 제품 선택에 도움을 받을 수 있는 커뮤니티 및 리뷰 기능을 제공한다. - 약점 및 본 제안 서비스와의 차이점: 화해는 성분 기반 제품 검색 기능을 제공하나 자동으로 개인에게 적합한 성분들을 분류하여 제품을 추천하는 알고리즘은 아니다. 따라서 완벽하게 사용자 피부 맞춤 화장품을 추천해줄 수 없다는 한계가 있다. 또한 사용자가 기존에 본인이 사용하던 제품과 유사한 화장품을 찾고 싶을 경우에 대한 대안을 제공하지 않는다. 이에 따라 사용자가 기존에 잘 사용하는 화장품과 성분이 유사한 다른 제품을 추천한다는 점에서 경쟁 서비스와 비교하여 신뢰성과 개인화를 더욱 높인 서비스를 제공할 것이라고 볼 수 있다. |
제안내용 | 사용자로부터 기존에 사용 중인 제품 데이터를 입력받으며, 이때 사용자 본인에게 적합 혹은 부적합 여부를 선택하도록 하여 각 제품의 전성분 분석을 통한 사용자의 성분 리스트를 생성한다. 이를 기반으로 해당 사용자와 성분 유사도가 높은 그룹을 머신러닝으로 추출하여 그 그룹에서 본인에게 적합하다고 입력한 화장품을 사용자에게 추천한다. 이를 통해 소비자들이 화장품을 고를 때 새로운 화장품이 본인에게 잘 맞지 않을 수도 있다는 불확실성을 줄이고 보다 안전한 선택을 할 수 있도록 돕는 서비스를 제안한다. 1) 피부 유형 및 관련 정보 수집: 사용자들로부터 피부 민감도, 기존에 잘 맞았던 혹은 잘 맞지 않았던 제품, 사용하고 싶은 화장품 종류 등과 같은 정보를 수집한다. 2) 성분 분석 및 평가: 다양한 화장품 성분 데이터베이스를 활용하여 제품 성분을 분석하고, 각 성분이 사용자의 피부에 어떤 영향을 미칠 수 있는지 평가한다. 이를 통해 특정 성분이 사용자의 피부에 적합한지 부적합한지 예측할 수 있다. 3) 맞춤 제품 추천: 사용자의 피부 정보와 성분 분석 결과를 기반으로 머신 러닝을 활용하여 성분 유사도가 높은 사용자 그룹을 찾아 맞춤 화장품을 추천한다. 성분 유사도가 높다는 의미는 그 그룹에게 적합한 화장품이 해당 사용자에게도 잘 맞을 가능성이 높다는 것이다. 이렇게 추천된 제품은 사용자의 피부 상태와 사용하고자 하는 목표에 부합하며, 피부에 미치는 영향을 최소화하거나 최적화한다. |
구현방법 | 크롤링으로 화장품 데이터 수집 후 머신러닝 모델을 통하여 사용자간 유사도를 측정한다. 유사도가 높은 매칭 사용자가 적합하다고 입력한 제품을 사용자에게 추천한다. 1. Appliaction의 동작 환경 (서비스 환경): 웹앱(Chrome, Edge, Safari) 2. frontend: html, javascript(ES6), css, flask, react 3. backend: flask, AWS Ubuntu 22.04 4. database: mysql 5. 머신러닝: scikitlearn, numpy, pandas, bs4 6. 수집 데이터: https://kcia.or.kr/cid/main/ (대한화장품협회 성분사전), Incidecoder의 Product List, Product & Ingredients |
사용할 세부기술 | html javascript css react flask scikitlearn jupyter notebook mysql AWS Ubuntu 22.04 python pandas numpy beautifulsoup |
기대효과 및 의의 | 성분 맞춤형 화장품 추천 서비스는 소비자에게 제품 선택의 편의성을 제공하고 잘못된 화장품 선택으로 인해 버려지는 화장품 낭비를 막으며 소비자의 피부 건강을 증진시키는데 기여할 수 있다. 1) 개인화된 제품 추천: 각 사용자의 피부 유형, 민감도 등을 고려하여 화장품을 추천함으로써 사용자가 자신에게 맞는 제품을 더 쉽게 찾을 수 있다. 이로써 화장품 선택의 어려움을 해소하고 피부 건강을 더 잘 관리할 수 있으며 부적절한 화장품 사용으로 인한 피부 문제나 알러지 반응을 예방하고 개선할 수 있다. 2) 화장품 선택의 편의성: 사용자들은 수많은 화장품 중에서 자신에게 적합한 제품을 찾는 시간과 노력을 줄일 수 있다. 따라서 뷰티 쇼핑이 더 편리해지며, 시간과 비용을 절약할 수 있다. 3) 더 지속 가능한 소비: 화장품 성분에 대한 정보를 제공하고 환경 친화적인 제품을 추천함으로써, 사용자들은 더 지속 가능한 화장품 소비 습관을 개발하고 환경에 미치는 영향을 줄일 수 있다. |
기술적 성취/ 산출물 | 1. 산출물 기능별 상세 요구사항 작성 ui 설계서 작성 E-R 다이어그램 작성 클래스 다이어그램 작성 프로토타입 영상 2. 기술적 성취 제품 데이터 수집 및 전처리 데이터 샘플링 및 사용자 성분 리스트 데이터 생성 머신러닝 모델 설계 유사도 알고리즘 코드 작성 1) 코사인 유사도 2) 자카드 유사도 유사도 알고리즘 비교 분석 및 양적 검증 유사도 알고리즘 선정(정확도가 더 높은 자카드 유사도) |
데모 시나리오 | 웹 브라우저 환경에서 전체 서비스 동작 실시간 시연 1. 사용자 데이터(기존 사용 화장품) 입력 2. 추천받고 싶은 카테고리 선택 3. 학습된 모델을 통해 추출된 추천 제품 확인 |
발표자료 | 기말발표 PPT |
기타 |
프로젝트명 / 부제 | 객체 인식과 NLP를 활용한 객관·단답·서술식 시험지 채점 AI 소프트웨어 |
---|---|
작성일 | 2023-12-15 14:45:00 |
팀번호 및 팀명 | 39. 순간포착 |
팀구성원들의 역할분담 | 이주현(1871041) 팀장, 계획 및 데이터 라벨링 (labelImg) 및 ai training 및 정확도 평가 (TensorFlow) 성아정(1970126) 팀원, UI 설계·구축 (PyQt) 및 데이터 라벨링 (labelImg) 및 data 후처리 (OpenCV) 정나영(2129033) 팀원, 자료조사 및 데이터 라벨링 (labelImg) 및 data 전처리 (OpenCV) |
팀지도교수 | 반효경 교수님 |
엘리베이터 스피치 문장 | 저희는 시험지 대량 채점 자동화를 위한 교육기관용 PC 실행 어플리케이션을 개발하고 있습니다. 채점에 들어가는 인력과 비용을 감축하여, 편하고 빠른 채점 경험을 교육기관에 제공할 것입니다. |
문제의 정의 | 시험 진행 방식은 크게 CBT(Computer Based Test) 방식과 PBT(Paper Based Test) 방식으로 나누어집니다. CBT 방식의 시험은 컴퓨터 상에서 시험을 진행하는 방식이고, PBT는 종이 서류 상에서 시험을 진행하는 방식입니다. 최근 여러 자격 시험들이 PBT 방식에서 CBT 방식으로 바뀌면서 빠르고 정확한 채점이 가능하게 되었지만, CBT 방식의 채점은 네트워크나 컴퓨터 하드웨어 문제의 영향을 받아 시험이 제대로 진행되지 못할 수 있으며, PBT 방식에 비해 부정행위의 가능성이 있고, 눈의 피로를 야기한다는 등 응시자의 집중도 하락을 야기한다는 점에서 여전히 응시자의 불편함을 유발합니다. 한편 PBT 방식은 수기 채점 방식과 OMR 채점 방식으로 나누어집니다. 수기 채점 방식은 채점자가 직접 채점하는 방식이고, OMR 채점 방식은 OMR 카드에 마킹된 답안을 컴퓨터를 사용해 채점하는 방식입니다. 수기 채점 방식은 많은 인력이 소요되지만 시간이 오래 걸리고 정확하지 않다는 단점이 있어 여러 시험에서 OMR 채점 방식을 채택하고 있습니다. 하지만 OMR 채점 방식은 응시자들이 답안지를 따로 작성해야한다는 번거롭고, OMR 카드 작성 과정에서 밀려쓰거나, 마킹 실수가 발생하기 쉽다는 단점을 갖고 있습니다. 또한, 단답식과 서술형 문제에 대한 채점의 경우, OMR 채점이 불가능하며 수기 채점 방식만이 가능한데, 이는 매우 많은 시간과 인력이 필요합니다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 1. 연구 1) 합성곱 신경망(CNN)을 활용한 그래픽 답안 자동 채점 가능성 탐색 -그래픽 문제의 경우, 직접 보고 정답 여부를 확인해야 하는데, 그러지 않고 합성곱 신경망을 활용해 그래픽에 답을 표시하였을 때 표시한 위치 등을 파악하여 답안을 자동 채점. -강점: 합성곱 신경망을 활용하여 꽤 높은 정확도로 그래픽 답안을 채점할 수 있음. -약점: 그래픽 답안을 요구하는 문제가 많지 않음. 여전히 오분류율이 존재하여 보조적으로만 사용가능. 2) 손글씨 인식을 이용한 pdf 기반 문제지의 자동 채점 앱 개발 -대학수학능력 시험 문제를 중심으로 -스마트 omr을 사용하는 것이 아니라, pdf 문제지 위 손글씨를 인식하여, 단답 또는 객관식을 구분하고, 각각 표시 부분을 인식하여 자동으로 채점. -강점: 답을 마크하거나 적으면 페이지별, 문제 번호결 영역 인식 후 답의 위치를 찾아내어 자동으로 채점함. 단답형 문제 또한 손글씨 인식을 통해 자동으로 채점함. -약점: 스마트기기를 목표로 하는 연구로 스마트기기 속 앱을 통해 문제 pdf에 답을 체크해야함. 오채점이 가능하여 정확도를 높일 필요 존재. 3) 딥러닝 기반 어린이 손글씨 답안 자동 채점 시스템 -선생님이 하나씩 손글씨 답안지를 직접 보고 채점하는 것이 아니라, 어린이 손글씨를 인식하여 텍스트로 변환 후, 정답과 비교해 자동으로 채점. -강점: 답안 영역을 찾아 이미지로 저장해 이미지를 필기체 인식을 통해 텍스트로 변환하고 이를 정답과 비교하여 자동으로 채점. -약점: 글씨가 배경과 겹치거나 낙서 또는 일정하지않은 글씨로 인해 정확도가 낮음. 2. 서비스 1) 이코딩 http://edu-coding.co.kr/ -omr을 사용하는 것이 아닌 앱의 스마트 omr을 사용하여 자동 채점. -강점: 웹사이트, 앱 모두 존재하며 학원용, 학생용, 학부모용으로 나뉘어 맞춤 제공 서비스가 존재, 출결, 결제, 채팅 등 다양한 기능이 존재, 오답을 하나씩 체크하는 것이 아니라 자동으로 오답만 뽑아 정리해 주어 강사가 직접 시험지를 채점하거나 오답 문제만 따로 직접 뽑아줄 필요가 없음. -약점: 앱을 통해 문제를 풀어야 채점이 자동으로 됨. 개인의 오답 관련 맞춤 문제 나오지 않고 오답 문제만 재시험 가능. 2) 에듀허브 https://eduhub.co.kr/ -omr 종이 없이, 일반 a4에 omr 숫자만 인쇄하면 이를 omr지로 대신 사용 가능. -강점: omr 종이를 따로 구매하지 않아도 스캐너를 통해 채점할 수 있음. 오답을 하나씩 체크하는 것이 아니라 자동으로 오답만 뽑아 정리해 주어 강사가 직접 시험지를 채점하거나 오답 문제만 따로 직접 뽑아줄 필요가 없음. -약점: a4에 omr 인쇄 후 스캐너로 채점하거나 스마트 omr을 사용해야 채점이 자동으로 됨. 스캐너를 사용한 경우 객관식 문제만 자동 채점이 가능함. 개인의 오답 관련 맞춤 문제 나오지 않고 오답 문제만 재시험 가능. 3) 콴다 -직접 답안지를 찾아보는 것이 아니라 단순히 문제를 찍기만 하면 문제를 인식해 자동으로 답안을 찾아줌. -강점: 앱을 통해 모르는 문제를 찍어 사진을 올리면 사진 속 문제를 인식해 같은 문제의 답안을 찾아줌. 앱을 이용해 문제를 풀고 자동 채점 및 해설을 한 번에 볼 수있음. -약점: 핸드폰이나 태블릿 등 앱을 사용할 수 있는 전자기기가 있어야 가능함. 스마트 omr을 이용해야 채점이 자동으로됨. 3. 시스템 1) OMR - 별도의 규칙이 있는 답안지를 따로 제작하여 답안지에에 빛을 비추어 표시된 위치를 얻는 기술. - 강점: OMR 카드 전용 리더기를 사용할 경우 대량의 답안지를 매우 빠르고 정확한 속도로 채점이 가능함. - 약점: 특정 양식을 준수한 답안지만 사용해야하며, 시험지 외에 별도의 답안지를 따로 출력해야해서 비용이 발생함. OMR카드 전용 리더기가 비싸서 소규모의 업장에서는 하드웨어 구매 시 부담을 느낌. |
제안내용 | CBT 방식의 한계점과 PBT 방식의 한계점을 모두 극복하기 위해, 별도의 마킹 답안지 없이 시험지에 적힌 필기를 인식하여 자동으로 채점해 주는 AI 소프트웨어를 개발할 것입니다. 이를 통해 응시자는 가독성이 좋다는 PBT 방식의 장점과 더불어, OMR 마킹을 위한 시간을 따로 마련하지 않아도 된다는 장점을 누리게 될 것이며, 채점자는 간소화된 채점 과정을 통해 채점에 들어가는 인력 및 시간과 비용을 절감하는 효과를 누릴 수 있을 것입니다. 또한 객관식과 더불어 단답식과 서술형 채점 구현을 통해, 단순 채점을 넘어선 복잡한 채점 소프트웨어 구현을 하여 보편성과 사용성 확보를 기대할 수 있습니다. |
구현방법 | 포인트 체커의 시나리오를 설명하겠습니다. 먼저 스캐너를 통해 스캔한 시험지를 jpg 파일로 변환합니다. PyQt 인터페이스를 사용하여 jpg 파일을 입력 받습니다. Flask api는 데이터를 AWS 클라우드로 송신하고, 클라우드 내의 학습된 모델을 활용하여 채점을 진행합니다. 채점 결과를 MySQL 데이터베이스에 저장하고, Flask apj를 통해 데이터를 로드한 후, PyQt 인터페이스를 통해 사용자에게 결과를 제공합니다. 포인트 체커의 향후 개발 계획은 다음과 같습니다. 저희는 AWS 클라우드 서비스를 사용할 예정이고, GPU 연산을 위해 Linux 서버인 Ubuntu 22.04 LTS를 이용할 것입니다. 데이터는 MySQL DB에 저장할 것이며 실행 디바이스로 Windows OS 기반 PC가 필요할 것입니다. 백엔드는 Flask, 프론트엔드는 PyQT 프레임워크를 사용하여 개발할 예정입니다. 배포는 EXE 어플리케이션 형태로 할 것입니다. |
사용할 세부기술 | Yolov8, EasyOCR, Google Bard |
기대효과 및 의의 | 1. 비용 절감을 할 수 있습니다. - 채점에 필요한 인력 낭비를 줄임으로써 인건비를 줄일 수 있고, OMR 용지나 컴퓨터용 싸인펜을 사는데 드는 비용 또한 줄일 수 있습니다. 2. 환경을 보호할 수 있습니다. - OMR 용지를 따로 제작하지 않아도 되어 이에 사용되는 종이를 줄일 수 있습니다. 3. 응시자의 표기 다양성 존중합니다. - 정해진 규격에 맞추어 응답을 하지 않아도 되므로 개인별로 자신에게 익숙한 표기 법을 이용하여 답을 표기할 수 있습니다. 4. 다양한 사람들에게 시험 응시 기회를 제공합니다. - 답안지를 따로 작성할 필요가 없어, OMR 작성이 어려운 응시자들에게도 쉽게 시험에 응시할 수 있는 기회를 제공합니다. 5. 답안지 작성 교육 및 연습이 필요하지 않습니다. - 답안지 작성에 대한 별도의 교육이 필요하지 않습니다. |
기술적 성취/ 산출물 | - 팀 빌딩 및 역할 분담 - 주제 선정 및 프로젝트 계획 세우기 - 지도 교수 면담 - 멘토 컨택 및 멘토링 오티 - 사용가능한 오픈 소스 찾기 - 데이터 수집 및 학습 데이터 라벨링 작업 - 멘토링 활동으로 자문 구하기 - 문제 영역과 정답영역 구분하는 모델 구축 및 테스트 - 정답 영역에서 선지 구분하는 모델 구축 및 테스트 - 문제 풀이 된 시험지 데이터 수집 및 라벨링 작업 - 객관식 문제에서 표시된 답 구별하는 모델 구축 - 시험지에서 응시자 분류 체계 구축 |
데모 시나리오 | Google Colab에서 미리 스캔한 시험지 이미지를 입력 받아 yolo로 문제 영역을 크롭하여 추출하고, 각 이미지의 문항 번호와 체크된 선지 번호를 인식해 데이터 프레임 형태로 제공한다. 입력: 스캔 jpg 이미지 파일 출력: 채점 결과 데이터 프레임 |
발표자료 | https://drive.google.com/file/d/1ELpl_5TAGU3Z3zvYSSMeXrnGvBQbZ5aU/view?usp=sharing |
기타 |
프로젝트명 / 부제 | 초등학교 고학년 수화 교육을 위한 모션인식 게임 |
---|---|
작성일 | 2023-12-18 |
팀번호 및 팀명 | 40. 흰토끼 |
팀구성원들의 역할분담 | 김지수(211709) 팀장, 기획, 시나리오 작성, Unity, Mediapipe 튜닝 신소현(2071029) 팀원, 기획, Unity, Mediapipe 튜닝 Tan Jiali(2071085) 팀원, Unity, Mediapipe 튜닝 |
팀지도교수 | 이미정 교수님 |
엘리베이터 스피치 문장 | 저희는 초등학교 고학년을 대상으로 수화 교육용 모션인식 게임을 고안했습니다. 이를 통해 올바른 장애인식 교육에 보탬이 되어, 사회문화적 공감대 형성에 도움이 될 수 있을 것입니다. |
문제의 정의 | 작년 지하철 시위를 이유로 고려대 총학생회에서 전국장애인차별철폐연대 대표의 강연을 취소하는 등의 사건이 있었다. 이를 통해 비장애인의 장애이해도가 떨어짐을 알 수 있으며, 이는 곧 학교 교육의 실패로 볼 수 있다. 학교현장에서 장애이해교육은 형식적이며 일회성으로 제공되고 있다. 장애인의 날 등에 학교 행사성으로 진행되는 장애이해교육은 비 장애학생들에게 장애학생을 다른 존재로 이해하고 장애에 대한 이질성과 거부감을 더욱 느끼게 하여 동등한 사회공동체의 일원으로서 장애학생을 바라보지 못하게 만든다. 장애이해교육은 문화다양성의 측면에서, 일상생활 내에서 이루어져야 한다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | popsign : 미국 수화 교육용 퍼즐 보블류 게임. 플레이어가 직접 수화를 사용해 볼 기회가 제공되지 않는다. DEVISIGN 데이터베이스 : 전체 4,414개의 표준 중국 수화 어휘를 포괄하며 총 30개 대상(남성 13명, 여성 17명)의 331,050개 어휘 데이터를 포함한다. 그러나 데이터베이스일 뿐이라서, 효과적인 학습에는 어려움이 있다. 학교 수화교육과정: 중국의 학교와 교육기관에서 제공하는 수화교육과정으로 중국수화(CSL)나 중국수화의 다양한 형태를 가르치기 위한 것. 이 수업들은 수화 기초, 수화 어휘, 문법 규칙 등을 다룬다. 그러나 교육자 및 학생 간의 상호작용과 효과적인 교육 방법이 중요하며, 이는 교육자의 역량에 의존하기 때문에, 향상시키는데 어려움이 있을 수 있다. |
제안내용 | 수화교육을 게임을 통해 진행한다. 장애인식 교육용 교재 “다다다 다른별”, 영화 “아바타” 등에서 영감을 얻어, 다른 별에 불시착한 플레이어가 이들과 대화하기 위해 수화를 배우고 이 별의 아름다움과 다양성을 깨닫게 되는 스토리라인을 따른다. 게임 “젤다의 전설 스카이워드소드” 등처럼, Mediapipe를 활용한 모션인식을 통해 퍼즐을 푼다. 플레이어가 직접 수화를 하도록 유도한다. |
구현방법 | Unity에 Mediapipe를 연결한다. 좌표를 받아 Python으로 전송한 후, Python 내에서 KNN 알고리즘을 통해 수화를 판별한다. 판별한 정보를 Unity로 전송하여 게임에 활용한다. |
사용할 세부기술 | C#, Python Unity MediaPipe, KNN |
기대효과 및 의의 | 장애 아동에 대한 비장애아동의 태도 변화를 위한 연구에서 비디오자료 중재 전략은 다른 전략보다 짧은 시간에 긍정적인 큰 영향을 미친다. 최근 어린이들은 영상매체에 익숙해져 있기에 영상자료를 활용한 수업을 진행 시 학습자는 거부감없이 쉽게 이해하고 더욱 실감나게 느낄 수 있다. 타 연구에서 영상 매체를 활용한 장애이해 프로그램의 실시 후 실험집단이 통제집단에 비해 장애수용 태도가 유의미하게 높아진 것을 확인할 수 있었다. 게임을 통한 수화 교육 역시, 장애수용 태도를 증진시킬 수 있을 것이다. 문화 활동의 일환으로 수화에 접근하게 되어, 청각장애인이나 농아에게는 언어일 뿐만 아니라 또 하나의 문화라는 관점을 이끌어낼 수 있다. 또한 이를 통해, 사회적 공감대를 형성하고 장애 이해도를 높이는 데에 기여할 수 있다. |
기술적 성취/ 산출물 | 1주차 : 주제 선정, 팀원 모집 2주차 : 지도교수님 컨택, 멘토님 컨택 3주차 : 주제에 대한 조사 및 팀원 역할 분배 4주차 : 멘토링 및 주제 구체화 1주차 : 멘토링 및 주제 구체화, 1차 보고서 작성 2주차 : 멘토링, 자료조사 및 시나리오 작성 3주차 : 시나리오 작성 및 캐릭터 디자인(1) 4주차 : 시나리오 작성 및 캐릭터 디자인(2) 1주차 : Flutter 등의 기술 공부 2주차 : mediapipe 튜닝 및 2차 보고서 작성 3주차 : 기술 블로그 작성 및 mediapipe 튜닝 4주차 : 구현 및 데모 준비 |
데모 시나리오 | 노트북의 웹캠을 통해 손 움직임을 게임 내에서 인식하는 것과, 오브젝트와 정해진 상호작용을 하며 퍼즐을 푸는 것을 시연한다. |
발표자료 | https://drive.google.com/file/d/1PajbwavbkvKm_cAy_RuCBZ-U_6seFvRk/view?usp=sharing |
기타 | 박명화(Myung-Hwa Park);서유진(You-Jin Seo). (2022). 장애이해교육과 연계한 초등학교 문화다양성 교육과정 개발 및 실행 효과. 학습자중심교과교육연구, 22(20), 217-232. 10.22251/jlcci.2022.22.20.217 https://lib.ewha.ac.kr/eds/detail/edsker_edsker.000005111340?briefLink=%2Feds%2Fbrief%2FdiscoveryResult%3Fst%3DKWRD%26si%3DTOTAL%26q%3D%25EC%259E%25A5%25EC%2595%25A0%2B%25EC%259D%25B4%25ED%2595%25B4%2B%25EA%25B5%2590%25EC%259C%25A1%26 |
프로젝트명 / 부제 | MATHORY: 재미있는 프롬포트 생성 기반 스토리텔링형 초등학교 저학년 산수 교육 게임 |
---|---|
작성일 | 2023-12-08 |
팀번호 및 팀명 | 41. 초이배리 |
팀구성원들의 역할분담 | 이나영(2071090) 팀장, 기획, 프론트엔드(Unity), 백엔드(MySQL, asp.net core) 배소현(2076183) 팀원, 기획, 프론트엔드(Unity), 백엔드(MySQL, asp.net core) Choi Hannah Vanessa(2171001) 팀원, 기획, 프론트엔드(Unity), 백엔드(MySQL, asp.net core) |
팀지도교수 | 이형준 교수님 |
엘리베이터 스피치 문장 | 이 게임은 초등학교 저학년을 대상으로 한 산수 교육 게임으로, 학생들은 프롬포트 생성 기술을 기반으로 만들어진 다양한 상황 속의 수학 문제를 해결하면서 수학에 대한 흥미를 갖게 된다. |
문제의 정의 | 많은 초등학교 저학년 학생들이 수학을 재미없고 어렵다고 느껴서 공부하는데 장벽을 느끼고 있다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 1. Toon Math 장점: 수학 연산 및 난이도를 설정할 수 있어 사용자의 수준별로 게임 플레이를 할 수 있다. 단점: 수학 학습이 중점인 게임라기보다는 부가적인 요소로 들어간 게임으로, 학습 효과가 부족할 것으로 보인다. 2.토도수학 장점: 직관적인 룰의 사용으로 이해가 쉽다. 처음 게임 실행 시, 사용자의 수학 수준을 선택할 수 있어 사용자의 수준별로 게임 플레이를 할 수 있다. 단점: 게임이라기보단 퀴즈에 더 가까워보이는 게임의 룰. 아이들의 흥미를 끌 만한 요소가 적어서 쉽게 지루해질 수 있다. 3. 수학의 제왕 장점: UI와 게임의 규칙이 직관적이다. 단점: 게임이라기보단 퀴즈에 더 가까워보이는 게임의 룰. 게임 단계를 설정하지 못하고 순서대로 게임을 진행해야 함. 세 가지 게임 모두 다른 문제점이 있지만, 종합적으로 보았을 때 교육적인 측면이나 오락적인 측면에 치중하여 다른 하나를 놓친다는 문제점을 볼 수 있었다. 또한, 일부 게임에서는 사용자의 교육 수준을 파악하지 못하고 가장 낮은 수준부터 게임을 진행해야하였다. 따라서 문제 수준에 따라 단계적이고, 오락 및 교육적인 측면까지 모두 고려한 산수 교육 게임을 개발하고자 한다. |
제안내용 | [게임 진행 방식] 1. 사용자는 존재하는 캐릭터 중, 자신의 게임에 등장시키고자 하는 2~4명을 고른다. 2. ChatGPT를 활용하여 주인공과 사용자가 고른 캐릭터의 성격과 특성에 맞게 스토리가 진행된다. 큰 틀에서의 배경과 테마/주제는 설정되어 있지만, 주인공과 선택한 캐릭터에 성격에 따라 이야기의 결말은 다양하게 진행된다. 3. 스토리를 진행 중간에 수학 퀴즈를 풀어야 하는 구간이 있고 퀴즈는 진행되는 스토리와 연관되어 있다. 모든 퀴즈를 풀었으면 스토리를 완성하고 다음 레벨로 통과할 수 있다. 틀린 문제가 있으면 틀린 문제에 대한 풀이를 보여준다. 4. 각 레벨을 통과할 때마다 코인이 주어지고 코인을 통해 상점에서 여러 아이템들을 구매할 수 있다. |
구현방법 | 1. 모바일 애플리케이션을 통한 게임 플레이 -> Unity 활용 2. 각 테마 및 등장인물에 따른 새로운 스토리 제공 -> AI 프롬포트 기술(문장 생성) ChatGPT 활용 3. 게임 스토리 진행 시 필요한 이미지 생성 ->DALL-E, midjourney 등 활용 4. 게임 진행 상황 저장 및 관리 -> 서버 구축, MySQL 데이터베이스 활용 |
사용할 세부기술 | 클라우드: AWS, 게임 프론트: Unity(C#) version: 2022.3.14f1, 서버 프레임워크: asp.net core(C#) version: 6.0.25, DB: MySQL version: 8.0.33 , 스토리 생성: ChatGPT 3.5, 스토리 배경 그림: DALL-E version 3, midjourney 등 |
기대효과 및 의의 | 사용자들이 매번 플레이할 때마다 달라지는 새로운 스토리와 함께 게임을 즐기며 흥미롭게 수학 공부가 가능하다. 따라서 공부하는 동안 계속 흥미가 유지될 수 있으므로, 아이들은 모르는 개념을 배우는 수학공부의 과정을 즐기며 수학을 배울 수 있다. |
기술적 성취/ 산출물 | -주제 선정 및 아이디어 구체화 -멘토 및 지도교수 확정 -팀 규칙 수립 -팀 역할분담 -멘토링을 통해 아이디어 수정 및 추가 -시스템 아키텍처 제작 -게임 제작을 위해 unity 공부 -사용 가능한 오픈 소스 찾기 -게임 제작을 위해 unity 공부 -데모 시나리오 제작 |
데모 시나리오 | Unity를 이용하여 전반적인 게임 흐름도를 시각적으로 나타내보았다. (게임 흐름: 사용자가 원하는 레벨을 누르고 스토리에 등장시키고 싶은 캐릭터를 선택하면 게임이 시작된다. 스토리 사이에 발생하는 수학문제를 모두 해결하면 게임이 완료된다.) |
발표자료 | https://drive.google.com/file/d/1IoL-ZkTuciMzCSVIChj5R4V8SP-mNk9b/view?usp=sharing |
기타 |
프로젝트명 / 부제 | DRIVE GUARDIAN : 경량화한 딥러닝 모델을 통해 운전자의 졸음 운전 및 운전 중 부주의를 방지하는 운전자 모니터링 앱 서비스 |
---|---|
작성일 | 2023-12-15 |
팀번호 및 팀명 | 42. 왈라비 |
팀구성원들의 역할분담 | 이하진(2176308) 팀장, landmark detection 모델을 사용하여 눈 크기 탐지. 사용자의 눈 크기 비율에 따른 졸음 탐지 수행. 이지원(2171038) 팀원, landmark detection 모델을 사용하여 눈 깜박임 및 횟수 탐지. 눈 깜박임 횟수에 따른 졸음 탐지 수행. 박지현(217615) 팀원, object detection 모델을 사용하여 운전 중 하품, 부주의 행동 등 이상행동 탐지 수행 및 안드로이드 연결 |
팀지도교수 | 이형준 교수님 |
엘리베이터 스피치 문장 | 사망사고의 가장 빈번한 원인인 졸음운전은 운전자가 운전을 중단하거나 스스로 졸음을 참지 않으면 해결할 수 없습니다. 저희는 여러가지 탐지 방법을 이용하여 졸음 운전과 부주의 상황에서 운전자를 구출하는 운전자 이상 행동 감지 프로젝트를 진행하고 있습니다. 이 프로젝트는 앱 서비스 출시를 위한 딥러닝 모델의 경량화라는 연구적 의의와 상용화를 통해 많은 위험 상황을 방지할 수 있다는 점에서 서비스적 의의를 가집니다. |
문제의 정의 | 본 프로젝트에서 해결하고자 하는 문제는 운전 중 사용자의 졸음 운전과 운전자 부주의 행동으로 인한 사고 발생 위험입니다. 한국도로공사에 따르면 2014∼2019년 고속도로에서 발생한 교통사고 사망자 1079명 중 졸음 및 주시 태만으로 인한 사망자가 729명(67.6%)으로 가장 많습니다. 또한 운전자가 약 3초간 전방을 주시하지 못하는 경우, 시속 60km로 달리는 차량은 약 50m 거리를, 시속 100km인 경우는 약 83m 거리를 운전자가 없는 상태로 질주하는 것과 같은 위험한 상황이 발생합니다. 운전자는 이를 방지하기 위해 운전 중간에 휴식하고 운전 중에는 전방 주시를 유지하는 등 노력을 기울일 수 있으나, 트럭 운전 기사나 택배 운전 기사 등의 경우에는 상황에 따라 휴식할 여유가 없는 경우가 많기 때문에 졸음과 부주의의 위험이 찾아오기 쉽습니다. 화물차의 경우 의무 휴식 법적 규제가 있지만 실효성은 적은 실정이라고 합니다. 본 프로젝트는 사용자들의 운전 중 이상 행동을 모니터링함으로써 사고 발생 위험을 줄여 이 문제를 해결하고자 합니다. |
관련연구/서비스/ 시스템조사결과 및 한계점 | 선행 연구로는 운전자 상태 감지 시스템(Driver State Monitoring System, DSM)이 있습니다. DSM은 눈 깜빡임의 특성, 즉 깜빡임 빈도, 횟수 등 다수의 요소에서 우선순위를 정해 졸음에 가까운 요소에 가중치를 주는 알고리즘으로 졸음과 유사한 상태를 판단합니다. 운전부주의 검지는 얼굴방향, 눈 상태 인식 결과를 기반으로 지정된 시간 동안 전방을 주시하지 않았을 경우를 판단해 경고를 합니다. 또한 관련 서비스로는 AIKEEP이라고 운전자 상태 모니터링 시스템이 있습니다. AIKEEP은 하품, 졸음, 전방주시 태만, 흡면 ,휴태폰 사용, 운전자 이탈을 감지하는 AI 딥러닝 기술과 맞춤 하드웨어 시스템의 조합으로 운전자의 상태를 모니터랑 하는 서비스입니다. 이러한 서비스들은 아직 차량에 탑재하는 것을 목표로 하여 상용화되지 않았거나 따로 하드웨어 디바이스를 설치해야 한다는 문제가 있었습니다. 이러한 점이 아직 졸음 운전 탐지 디바이스가 널리 쓰이지 않는 이유라고 판단하였습니다. |
제안내용 | 이 프로젝트에서는 자동차 운전자의 이상 행동을 감지하여 운전자를 위험 상황으로부터 최대한 빠르게 벗어날 수 있도록 하는 것을 목표로 합니다. 따라서 저희는 “평상시 상태”, “부주의한 상태”, “졸린 상태”, “위험 상태” 네가지로 구분하여 각각의 상태에 따라 다른 경고를 하는 서비스를 제공하려 합니다. 먼저 졸음 운전 탐지를 위해서는 하품 감지, 눈이 감기는 정도, 눈이 깜박거리는 정도 등을 구별하여 탐지합니다. 그리고 위에 명시한 여러가지 카테고리의 항목들을 종합한 결과 졸음 운전으로 판단되면 조치를 취하도록 합니다. 또한 운전자 부주의를 탐지하기 위해서는 전방주시 태만 감지, 흡연 감지, 휴대폰 사용 감지, 운전자 이탈 감지 등을 구별하여 탐지합니다. 최종적으로 기존 서비스에서의 문제점이라고 판단한 접근성 문제를 해결하기 위해서 앱으로 서비스를 제공할 예정입니다. 맞춤 하드웨어 디바이스를 사용하는 것보다 탐지 다양성이나 특수한 상황에서의 졸음 탐지는 불가능하겠지만 보편적인 상황에서의 졸음 탐지는 높은 성능으로 가능하도록 하며 누구나 이 서비스를 제공받을 수 있도록 하는 것을 목표로 합니다. |
구현방법 | 먼저, 졸린 상태를 탐지하기 위한 기준 중 운전자의 눈이 감기는 정도를 판단하기 위해서는 Landmark Detection을 활용하여 눈 크기 비율을 계산합니다. 눈 크기 비율 계산은 EAR(eye aspect ratio) 식을 따릅니다. EAR에서 필요한 point들을 Landmark Detection을 통해 얻어내어 눈 크기 비율을 탐지합니다. 그리고 눈 크기 비율을 좀 더 정확하게 탐지하기 위해서 전체 얼굴 윤곽 landmark를 탐지하지 않고 input 영상을 눈 주위로 확대하여 눈의 landmark를 얻어내어 정확한 탐지가 가능하도록 합니다. 그리고 Landmark Detection으로 눈 깜박임을 탐지합니다. 눈 깜박임은 D-ORS 졸음 척도에서 소개하는 졸음 징후에서 “눈깜박임 횟수가 증가하고 눈 깜박임이 산발적으로 일어남.”과 같은 기준을 반영하여 횟수와 경향성을 졸음 감지에 사용합니다. Landmark Detection은 ML-kit의 얼굴 윤곽 인식 모델 API를 사용합니다. 그리고 YOLO를 사용한 Object detection으로 하품을 탐지합니다. 졸음의 기준으로 정한 눈 깜박임 횟수, 하품, 눈 크기의 정보를 모두 조합하여 졸음을 최종적으로 탐지합니다. 그 다음으로, 운전자 부주의는 흡연 감지, 휴대폰 사용 감지, 운전자 이탈 감지의 4가지 기준을 바탕으로 탐지합니다. 흡연 감지, 휴대폰 사용 감지, 운전자 이탈 감지는 Object Detection으로 진행됩니다. 마지막으로, detection 모델들을 android studio에 연동하고 실행했을 때 휴대폰 환경에서 부하가 없는지 배터리 소모는 어떻게 되는지 테스트하고 경량화 과정을 거칩니다. |
사용할 세부기술 | 이 프로젝트에서는 크게는 Detection, 세부적으로는 Landmark Detection과 YOLOv8의 Object Detection을 이용하여 운전자 영상 및 이미지 데이터셋으로 운전자 이상 행동을 학습시킵니다. 먼저, 하품 감지를 위해 사용한 Object Detection 모델은 YOLOv8를 활용합니다. 그리고 운전자 하품 데이터 셋은 Roboflow의 Drowsiness dataset(https://universe.roboflow.com/ndthien150-gmail-com/drowsiness-dataset/dataset/2)입니다. Tensorflow Lite Object detection 데모 앱을 Android Studio에서 커스텀하여 사용합니다. 그리고 눈 깜박임과 눈 크기 감지를 위해 사용한 Landmark Detection은 MLkit(https://developers.google.com/ml-kit/vision/face-detection?hl=ko)에 있는 얼굴 윤곽 인식 API를 사용합니다. 그리고 MLkit의 얼굴 윤곽 인식 API를 Android Studio에 연동하여 실행합니다. 그 다음으로, 운전자 부주의 탐지에는 MobileNet, Vision Transformer, EfficientNet, ResNet 등의 여러가지 object detection 모델의 성능을 비교하여 성능이 우수하면서 실시간 탐지가 가벼운 모델을 선택할 예정입니다. 또한 Android Studio에서는 카메라 연동이 필요하므로 camerax를 사용하여 카메라로 실시간 탐지가 가능하도록 합니다. 만약 데이터셋에 필요로 하는 데이터가 없을 경우 기존 데이터를 활용해 GAN으로 이미지를 생성할 예정입니다. 운전자의 이상행동 여부를 판단할 수 있는 시스템을 딥러닝 모델을 통해 사전에 구축하고 Android Studio를 사용하여 딥러닝 모델을 연결합니다. 그리고 최종적으로는 사용자의 휴대폰에 설치된 앱과 연결하여 실시간으로 사용자의 모습을 모니터링합니다. |
기대효과 및 의의 | 이 프로젝트를 통해서 졸음운전이나 부주의로 인한 사고의 위험에 처해 있는 누구나 핸드폰 앱서비스를 통해서 위험을 방지하는 것을 기대합니다. |
기술적 성취/ 산출물 | 주제 탐색 및 데이터셋 확인, 학습에 사용될 모델 선정 Android 적용에 대한 탐색 진행 서비스에 사용될 여러가지 모델들(detection, landmark detection)를 이용한 졸음 탐지 메커니즘 구체화 눈깜박임 탐지, 눈이 감기는 정도 탐지, 하품 탐지를 YOLO와 ML-kit을 이용하여 구현하고 Android Studio에 연동 |
데모 시나리오 | MLkit API Landmark Detection 모델과 Object Detection의 학습된 모델을 Android에 적용하여 realtime으로 탐지 시연 |
발표자료 | (https://drive.google.com/file/d/1hyfdkKh2C69m7MF1oyEtlbhb29KD67Mn/view?usp=sharing)https://drive.google.com/file/d/1hyfdkKh2C69m7MF1oyEtlbhb29KD67Mn/view?usp=sharing |
지도교수님 커멘트 | |
기타 |