Posturr - 구부정한 자세에선 화면을 흐리게 해 자세 교정을 돕는 macOS 앱

2 weeks ago 7

  • 사용자의 자세를 인식해 구부정한 자세일 때는 화면을 점진적으로 흐리게 만드는 macOS 앱
  • Apple Vision 프레임워크를 이용해 실시간으로 신체 자세와 얼굴 위치를 추적하며, 자세가 바르게 돌아오면 즉시 화면이 선명해짐
  • 모든 영상 처리는 로컬에서 수행되어 개인정보가 외부로 전송되지 않으며, 다중 디스플레이와 메뉴바 제어를 지원
  • CoreGraphics의 비공개 API로 블러 효과를 구현하되, 호환성 문제 시 NSVisualEffectView 기반 모드로 전환 가능
  • 장시간 컴퓨터 작업 중 자세 교정과 건강 유지에 도움을 주는 도구로 활용 가능

Posturr 개요

  • Posturr는 사용자의 자세를 인식해 화면을 흐리게 하여 바른 자세를 유도하는 macOS용 앱
    • Mac의 카메라와 Apple Vision 프레임워크를 사용해 실시간으로 자세를 감지
    • 사용자가 구부정한 자세를 취하면 화면이 점차 흐려지고, 자세를 바로잡으면 즉시 선명해짐
  • 모든 처리는 Mac 내부에서만 수행되어 영상이나 데이터가 외부로 전송되지 않음
  • MIT 라이선스로 공개되어 있으며, GitHub에서 소스코드와 바이너리를 제공

주요 기능

  • 실시간 자세 감지: Vision 프레임워크를 이용해 신체 포즈와 얼굴을 추적
  • 점진적 화면 블러: 자세가 나빠질수록 블러 강도가 증가하는 시각적 피드백 제공
  • 메뉴바 제어: 상태 표시, 감지 민감도 조정, 재보정, 종료 등 기능을 메뉴바에서 조작 가능
  • 다중 디스플레이 지원: 연결된 모든 모니터에서 동작
  • 로컬 처리 중심 설계: 개인정보 보호를 위해 모든 영상 분석을 로컬에서 수행
  • 가벼운 백그라운드 실행: 최소한의 리소스로 동작하며 계정 등록이나 클라우드 연동 불필요

설치 및 실행

  • 최신 버전의 Posturr-vX.X.X.zip 파일을 Releases 페이지에서 다운로드 후 압축 해제
  • Posturr.app을 Applications 폴더로 이동
  • 첫 실행 시 Gatekeeper 차단을 우회하기 위해 “오른쪽 클릭 → 열기” 절차 필요
  • 카메라 접근 권한을 허용해야 하며, 이후에는 일반 실행 가능

사용 방법

  • 실행 후 메뉴바에 사람 아이콘이 표시되며, 앱이 지속적으로 자세를 모니터링
  • 메뉴 항목에는 다음 기능 포함
    • Status: 현재 상태 표시 (Monitoring, Slouching 등)
    • Enabled: 감지 기능 켜기/끄기
    • Recalibrate: 기준 자세 재설정
    • Sensitivity / Dead Zone: 감지 민감도 및 허용 오차 조정
    • Compatibility Mode: 블러 효과가 작동하지 않을 때 공개 API 기반 모드로 전환
    • Quit: 앱 종료 또는 ESC 키로 종료

작동 원리

  • Vision 프레임워크로 코와 어깨 위치를 추적해 자세를 분석
    • 신체 포즈 감지: 코와 어깨의 상대적 위치를 추적
    • 얼굴 감지 대체 모드: 상체가 보이지 않을 경우 얼굴 위치로 대체
    • 자세 분석: 코와 어깨 간의 수직 거리로 자세 상태 계산
    • 블러 반응: 자세 편차에 비례해 화면 블러 강도 조정
  • 기본적으로 CoreGraphics의 비공개 API를 사용하나, 필요 시 NSVisualEffectView로 대체 가능

빌드 및 요구 사항

  • macOS 13.0(Ventura) 이상, Xcode Command Line Tools 필요
  • ./build.sh 명령으로 빌드 가능하며, 결과물은 build/Posturr.app에 생성
  • 표준 빌드, 릴리스 아카이브 생성, 수동 Swift 컴파일 등 다양한 빌드 옵션 제공

제한 사항

  • 코드 서명 미지원으로 첫 실행 시 Gatekeeper 수동 해제 필요
  • 카메라 의존성 존재, 조명과 시야 확보가 중요
  • 감지 정확도는 상체나 얼굴이 명확히 보일 때 가장 높음

명령 인터페이스

  • /tmp/posturr-command 파일을 통해 외부에서 명령 제어 가능
    • capture: 사진 촬영 및 자세 분석
    • blur : 블러 강도 수동 설정
    • quit: 앱 종료
  • 결과는 /tmp/posturr-response 파일에 기록

시스템 요구 사항

  • macOS 13.0 이상, 카메라 필요, 약 10MB 디스크 공간

개인정보 보호

  • 모든 영상 데이터는 Mac 내부에서만 처리되며, 외부 서버로 전송되지 않음
  • 카메라 영상은 자세 감지 목적에만 사용, 저장되지 않음

Read Entire Article