본문 바로가기

KPMG Future Academy 6기

(삼정 KPMG future academy 6기 수업) - Mediapipe

* MediaPipe Studio

* https://ai.google.dev/edge/mediapipe/solutions/guide?hl=ko 

 

MediaPipe 솔루션 가이드  |  Google AI Edge  |  Google AI for Developers

Google AI Edge Portal 소개: 대규모로 엣지 AI를 벤치마킹합니다. 비공개 미리보기 기간에 액세스 권한을 요청하려면 가입하세요. 이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 Me

ai.google.dev

 

 

* MediaPipe 프레임 워크 https://ai.google.dev/edge/mediapipe/framework?hl=ko

[Mediapipe 핵심구조]

(요약)

Graph → 물류창고 전체 동선(플로어 플랜)

Calculator → 직원/기계(작업 단위)

Packet → 상자(데이터 묶음)

Stream → 컨베이어 벨트(데이터 흐름)

 

1. Graph = 물류창고 전체 동선(물류 플로어 플랜) 

  - 창고 안에서 어떤 경로로 물건이 이동할지 정해놓은 큰 설계도

  - 예: 입고 → 분류 → 포장 → 출고 이런 전체 프로세스가 Graph에 해당

 

2. Calculator = 작업자/기계(작업 단위)

  -  실제로 물건을 처리하는 사람이나 기계에 해당

  -  예:상자를 열어 물건 확인, 물건 분류하기, 박스에 포장하기 각각의 단계가 Calculator 역할

  - 비유: 분류 담당 직원, 포장 기계, 바코드 스캐너 같은 개별 작업자.

 

3. Packet = 박스(데이터 묶음)

  -   작업자 사이에서 오가는 물건 단위

  -   예: 상품 하나, 송장 정보, 위치 좌표 같은 데이터가 박스(Packet) 안에 들어감

  -   비유: 창고 안에서 이리저리 옮겨 다니는 상자.

 

4. Stream = 컨베이어 벨트(물건 흐름)

  -   박스(Packet)를 한 작업자에서 다른 작업자로 옮겨주는 흐름

  -   입력 스트림 → 처리 → 출력 스트림 형태로 계속 움직임

 

 

Mediapipe Face Mesh란?

- 얼굴의 주요 지점(랜드마크)을 실시간으로 찾아내는 기술

- 얼굴 전체를 468개의 점으로 표현하여 눈, 코, 입, 턱 등 얼굴 각 부위의 위치를 인식할 수 있음

- 즉, 사람 얼굴 위에 좌표 점으로 된 지도를 씌워서 컴퓨터가 얼굴을 이해하고 추적하도록 하는 방식

https://ai.google.dev/edge/mediapipe/solutions/vision/face_landmarker?hl=ko

 

얼굴 특징 감지 가이드  |  Google AI Edge  |  Google AI for Developers

Google AI Edge Portal 소개: 대규모로 엣지 AI를 벤치마킹합니다. 비공개 미리보기 기간에 액세스 권한을 요청하려면 가입하세요. 이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기

ai.google.dev

[ 주요 활용처 ]

1. AR(증강현실)

  - 얼굴에 가상의 오브젝트를 올릴 수 있다.

  - 예: 가상 메이크업, 마스크, 안경, 동물 귀 필터 등.

2,. 표정 인식

  - 표정 변화를 감지해 감정 상태를 분석하거나 상호작용에 활용할 수 있다.

  - 예: 웃음, 화남, 놀람 등 감정 상태 인식.

3. 게임 적용

  - 사용자의 얼굴 움직임과 표정을 게임 캐릭터 얼굴에 그대로 반영할 수 있다.

  - 예: 사용자가 웃으면 캐릭터도 웃는 기능.

 

[ 얼굴 감지 과정 ]

1. MediaPipe 얼굴 메시 및 그리기 객체 초기화

    a. mp.solution.face_mesh : 얼굴 메시 설정

    b. mp.solutions.drawing_utils : 그리기 객체 초기화

    c. mp_drawing.DrawingSpec : 그리기 사양 설정(선 두께, 원 반지름 등)

2. 웹캠으로 비디오 캡처 시작

3. 얼굴 메시 처리 과정 - FaceMesh 객체를 사용하여 얼굴 검출

    a. 최대 검출 얼굴 수, 랜드 마크 세부 조정, 신뢰도 임계값 등을 설정

4. 비디오 프레임별 처리 : while 문으로 처리

5. 검출된 얼굴 메시 시각화(그리기) : mp_drawing.draw_landmarks

6. 결과 이미지 표시 : cv2.imshow()