살가이 : 어르신들을 위한 살가운 복약 도우미


살가이 포스터


🔗 목차

  1. 💡 프로젝트 소개
  2. 👥 팀원 소개
  3. 🚀 주요 기능
  4. 📝 참고 자료

💡 프로젝트 소개

살가이 기획1 살가이 기획2

살가이(Salguy) 프로젝트는 독거노인의 복약 관리를 돕기 위한 AI 기반 스마트 스피커 및 관리자 앱을 개발하는 국민대학교 알파프로젝트입니다.


🎯 프로젝트 배경

한국 사회는 고령화 속도가 빠르게 진행되고 있으며, 독거노인의 수도 지속적으로 증가하고 있습니다.
이들은 복약을 제때 하지 않거나 중복 복용하는 등의 문제를 겪을 가능성이 높으며, 돌봄 인력이나 가족의 지속적인 확인이 어려운 상황에서 건강 관리의 공백이 발생할 수 있습니다.

특히 경도 인지 장애를 가진 어르신은 복약 시점 기억과 판단에 어려움을 겪는 경우가 많습니다. 이러한 어르신들을 위한 자율적 복약 지원 시스템을 제공함으로써, 중증 인지 장애 어르신에게 돌봄 인력이 집중될 수 있는 환경을 마련하는 것이 본 프로젝트의 출발점입니다.


🔍 문제 정의

  • 💊 복약 시점 누락 또는 중복 복용
  • 🧠 인지 저하로 인한 약 복용 여부 판단 어려움
  • 👤 실시간 관리 인력의 부족
  • 📞 보호자 및 요양시설의 모니터링 공백

✅ 프로젝트 목표

  1. 사용자 음성 인식 기반의 복약 여부 확인
    → “방금 아침 약 먹었어”와 같은 발화를 인식하여 복약 여부 및 시점을 판단합니다.

  2. 자연어 처리 기반 복약 알림 및 응답 구조 구현
    → LLM 기반으로 복약 관련 발화를 정제된 구조로 분석하고, 사용자 발화에 자연스럽게 응답합니다.

  3. 하드웨어 기반 스피커 시제품 개발 (Raspberry Pi)
    → 음성 녹음, Wake Word 감지, 복약 시각 알림 등 기능 탑재.

  4. 클라우드 기반 서버 연동
    → EC2 + GCP 구조로 AI 추론 서버, 데이터베이스 운영.

  5. 관리자 앱을 통한 복약 이력 시각화 및 상태 확인
    → 보호자 또는 요양보호사가 실시간으로 사용자의 복약 상태를 확인할 수 있는 관리자 앱 제공. (개발예정)


🧩 기대 효과

  • 홀로 거주하시는 어르신들의 복약 관리 효율 향상
  • 정서적 교감을 통한 사용 만족도 제고
  • 요양 인력의 부담 완화
  • 복약 이력 데이터 기반의 개인 건강 패턴 분석 가능성

👥 팀원 소개

이름 역할 주요 기여
강태현 팀장 / 프론트엔드·백엔드 개발 EC2 서버 기반의 백엔드 API 개발, React 기반 스피커 UI 구현, 시스템 구조 설계 및 기술 문서 통합 관리
강동현 하드웨어 및 임베디드 개발 라즈베리파이 기반 스피커 동작 루틴 구현, 복약 루틴 알림 스케줄러 및 마이크 리소스 충돌 문제 해결, wake word 처리
배정민 마케팅 전략 및 커뮤니케이션 국내 복지 기업 조사 및 파트너십 제안서 작성, 비즈니스 모델 수립 지원, 사용자 인터뷰 설계 및 결과 분석
장근서 AI 모델 개발 및 실험 LLaMA 기반 LLM 모델 성능 비교 및 선택, 프롬프트 엔지니어링
황민규 UX/UI 및 서비스 기획 고령자 친화형 UI 구성 및 와이어프레임 설계, 관리자 애플리케이션 기획 및 디자인, 사용자 경험 중심의 기능 흐름 설계

🚀 주요 기능

🔊 1. 음성 기반 복약 확인 및 대화형 인터페이스

  • 사용자는 자연스러운 말투로 AI 스피커에 복약 여부를 말하거나 질문할 수 있습니다.
  • 예: "나 방금 약 먹었어", "오늘 아침 약 먹었나?" 등.
  • STT → LLM 분석 → 복약 여부 및 시점 판단.
  • 명령어가 아닌 대화 방식으로, 고령자 친화형 UX를 지향합니다.

⏰ 2. 복약 알림 루틴

  • 스케줄러에 기반하여 복약 알림을 루틴화

    ㄱ. 식사 여부 확인
    복약 전 식사 여부를 확인합니다. (예: “식사하셨나요?”)

    ㄴ. 복약 시각 알림
    복약 예정 시각에 음성으로 알림을 제공합니다.
    → 예: “이제 혈압약 드실 시간이에요.”

    ㄷ. 복약 응답 대기
    알림 1분 후 “약 드셨나요?”라는 물음과 함께 사용자의 음성 응답을 기다립니다. (ex. “먹었어”, “조금 이따 먹을게” 등)

    ㄹ. 미응답/미복용 시 리마인드
    응답이 없을 경우 5분 간격으로 최대 3회까지 재알림을 수행합니다.

    ㅁ. 결과 기록
    응답이 있을 경우 이를 서버에 전송하여 복약 여부 및 시점을 기록합니다. 응답이 없을 경우에는 “미응답”으로 기록합니다. LLM 응답을 파싱 후 복약 시점을 DB에 저장. 날짜별, 시간별 복약 기록이 시각화되어 관리자/보호자가 애플리케이션(개발예정)에서 확인 가능하도록 구현 예정

    ㅂ. 특이사항
    알림 스케줄은 관리자 애플리케이션(개발예정)에서 설정 가능 복약 시점은 사용자 발화로부터 LLM이 추론하여 판단

📞 3. Wake Word 감지 및 음성 상호작용

  • Wake Word "살가이"로 스피커를 깨우고 간단한 대화 시작 가능.
  • 예: "살가이, 오늘 날씨 어때?""오늘 날씨가 맑고 따뜻합니다."
    사용 엔진: Porcupine
    • 오프라인 작동 가능
    • 라즈베리파이에 최적화된 경량 엔진
    • 커스텀 키워드(“살가이”) 학습 및 배포 가능

    인식 방식

    • 음성 패턴 매칭 기반 : 사전에 등록된 “살가이” 음성 특징(주파수, 진폭 등)을 실시간으로 비교하여 인식
    • 낮은 리소스 소비 : STT 기반 Wake Word 대비 CPU·메모리 점유율이 낮아 상시 감지 상태 유지에 유리

    루틴 흐름

    1. Wake Word 인식.
    2. 사용자의 음성 응답을 LLM에서 (복약 기록 질문, 일반 대화, 모호함)의 3가지 상태로 분류.
    3. 분류한 상태에 따라서 알맞은 응답을 제공.

    마이크 자원 충돌 해결

    Wake Word 감지와 사용자 응답 녹음을 동시에 수행하기 위해 thread 간 마이크 권한 관리를 구현.

    병렬 처리 구조

    • Thread 1: Wake Word 감지 (Porcupine)
    • Thread 2: 복약 알림 시 사용자 응답 녹음 (arecord)

    둘 사이의 마이크 충돌을 방지하기 위해 마이크 자원 동기화 처리 적용.

    테스트 결과

    • “살가이” 외에 유사 발음(“설가이”, “살가”, “살가기”)도 일부 인식됨
    • “살개”, “살고기” 등 너무 벗어난 단어들은 인식되지 않도록 튜닝

🧠 4. LLM 기반 자연어 분석 및 프롬프트 구조

  • GCP에 구축된 LLaMA 기반 LLM에서 자연어 처리 수행.
  • 응답 형식은 <json>...</json><response>...</response>로 구성.
  • 약 복용 기록 조회, 시점 추론, 증상 요약 등 상황에 맞게 프롬프트 다르게 적용.
  • 상황 분류용 Text Classification 로직 적용
    • 사용자의 발화를 약 복용, 식사 여부, 일상 대화 등으로 자동 분류.
    • 상황에 따라 LLM 프롬프트를 동적으로 선택하여 정확도 향상.

📱 5. 관리자 앱 기획 및 디자인

  • 고령자 보호자 및 의료진을 위한 관리자 앱은 현재 와이어프레임과 정보구조(IA) 중심으로 기획이 완료된 상태.
  • 개발 일정 상 후순위로 설정.
  • 사용자 복약 이력 확인, 건강 모니터링, 알림 설정 등의 기능을 포함하여, 추후 실제 구현 및 연동을 통해 스마트 복약 관리 시스템의 관리 편의성을 높일 예정.

📝 참고 자료

이 문서는 살가이 프로젝트의 전반적인 내용을 다루고 있습니다. 각 기술 요소 및 모듈에 대한 더 자세한 정보는 아래 문서를 참조하십시오.