Skip to content

Virtually controlling computer using hand gestures and voice commands using OpenCV Python, MediaPipe, Google Gemini API and Naver Clova STT API.

License

Notifications You must be signed in to change notification settings

BukSan-MAM/reMote-Air-Manager

Repository files navigation

내 MAM (reMote Air Manager) 대로

손 제스처와 음성으로 디스플레이를 제어

Python flask GEMINI CLOVA Socket

PC, 노트북 모니터, 키오스크 등 여러 디스플레이를 멀리 떨어진 곳에서도 손과 음성으로 디스플레이를 제어합니다.

모션 인식 및 음성 인식 기술 활용을 통한 마우스, 키보드 조작 구현

Getting Started

본 프로젝트는 2가지 방법의 환경이 존재합니다.

  1. 라즈베리 파이와 노트북 연동
  2. 노트북에서만 동작

라즈베리 파이 코드는 실습 환경을 구축하기 어렵기 때문에, 모든 동작은 노트북에서 실행하는 것으로 가정합니다. 라즈베리 파이 세팅방법은 "보드 코드" 폴더 내 README를 참고해주세요.

Prerequisites

control_keyboard.py에서 필요한 FFmpeg 프로그램은 별도로 설치해야합니다. FFmpeg는 영상과 음성을 변환 및 편집할 수 있는 커맨드라인 프로그램입니다.

OS X & 리눅스:

sudo apt install ffmpeg

윈도우:

  1. https://ffmpeg.org/download.html 에서 Essentials 의 zip을 다운로드
  2. 3과 4중 원하는 방식으로 환경변수 추가
  3. 설치한 폴더의 \ffmpeg\bin를 윈도우 환경변수에 추가
  4. 아래과 같은 코드를 control_keyboard.py의 main 함수 처음에 추가
# FFmpeg 경로 설정
ffmpeg_path = r"C:\ffmpeg\bin\ffmpeg.exe"

# 환경 변수에 FFmpeg 경로 추가
os.environ["PATH"] += os.pathsep + os.path.dirname(ffmpeg_path)

Installing

pip 명령어를 사용하여 필요 패키지를 다운로드

pip install -r requirements.txt

Running

상시 wake word를 듣는 프로그램을 실행시킵니다.

python open_wake_word.py

만약 라즈베리파이 보드 환경에서 사용중이라면, socket 통신을 위한 server, client 프로그램을 실행시킵니다.

# 보드 환경에서 server 실행
python server.py
# pc 환경에서 client 실행
python client.py

이후 원하는 동작을 실행시키는 wake word 를 말합니다.

# 제어 프로그램 실행 (마우스 제어 프로그램)
"hi gram"

# 키보드 제어 프로그램 실행
"type gram"

# 제어 프로그램 종료
"bye bye"

Use Example

이 프로젝트는 음성 명령과 손 동작을 인식하여 다양한 작업을 수행할 수 있도록 돕습니다. 아래는 사용 방법의 예제입니다.

  1. 시작 준비

    • "hi gram"이라고 말하여 시스템을 활성화합니다.
  2. 손 동작 인식

    • 캠을 향해 손을 움직이며 마우스를 조작합니다.
    • [손 동작 예시 이미지 삽입 예정]
  3. 텍스트 입력 준비

    • "type gram"이라고 말하여 텍스트 입력 모드를 활성화합니다.
  4. 브라우저 탭 전환

    • "브라우저 2번째 탭으로 가줘"라고 말하여 브라우저의 두 번째 탭으로 이동합니다.
  5. 검색 준비

    • 다시 "type gram"이라고 말하여 텍스트 입력 모드를 준비합니다.
  6. 검색 수행

    • "역삼역 맛집 검색해"라고 말하여 검색을 수행합니다.
  7. 마우스 클릭

    • 손을 움직이며 마우스를 조작하여 버튼을 클릭합니다.
    • [마우스 클릭 예시 이미지 삽입 예정]

이러한 과정을 통해 음성과 손 동작을 활용하여 직관적으로 시스템을 제어할 수 있습니다.

Developer

Alt text Alt text Alt text Alt text

About

Virtually controlling computer using hand gestures and voice commands using OpenCV Python, MediaPipe, Google Gemini API and Naver Clova STT API.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages