MediaPipe 솔루션은 애플리케이션에 인공지능 (AI) 및 머신러닝 (ML) 기법을 빠르게 적용할 수 있는 라이브러리 및 도구 모음을 제공합니다. 이러한 솔루션을 애플리케이션에 즉시 연결하고, 필요에 맞게 맞춤설정하고, 여러 개발 플랫폼에서 사용할 수 있습니다.
Google MediaPipe 솔루션 이해하기
목차
1. MediaPipe란?
MediaPipe는 Google에서 개발한 멀티모달 AI 프레임워크로, 영상 처리뿐만 아니라 텍스트 분석, 오디오 인식까지 지원하는 범용 플랫폼입니다.
이 프레임워크는 실시간 성능과 높은 정확도를 제공하며, 크로스 플랫폼에서 동일한 코드 기반으로 실행이 가능하도록 설계되었습니다.
주요 특징:
- 다양한 데이터 타입(영상, 오디오, 텍스트)에 적용 가능
- CPU, GPU, TPU 기반의 온디바이스 추론 최적화
- 단 몇 줄의 코드로 AI 기능 실행 가능 (로우 코드 구조)
2. MediaPipe 구성요소 와 통합도구
MediaPipe는 여러 ML 도구를 하나로 통합한 구조로 이루어져 있습니다.
개별적으로도 강력하지만, 함께 사용할 경우 높은 효율과 생산성을 제공합니다.
다음 라이브러리와 리소스는 각 MediaPipe 솔루션의 핵심 기능을 제공합니다.
- MediaPipe Tasks: 솔루션을 배포하기 위한 크로스 플랫폼 API 및 라이브러리입니다.
- MediaPipe 모델: 각 솔루션과 함께 사용할 수 있는 선행 학습된 실행 준비 상태의 모델입니다.
다음 도구를 사용하여 솔루션을 맞춤설정하고 평가할 수 있습니다.
- MediaPipe Model Maker: 데이터를 사용하여 솔루션용 모델을 맞춤설정합니다.
- MediaPipe 스튜디오: 브라우저에서 솔루션을 시각화, 평가, 벤치마킹합니다.
3. MediaPipe Tasks 개요
MediaPipe Tasks는 Google MediaPipe에서 제공하는 AI 기능 실행 전용 API 세트로, 고급 머신러닝 기능을 손쉽게 실행할 수 있도록 설계된 로우 코드 API입니다.
기존의 복잡한 추론 파이프라인 설정 없이도, 사전 학습된 TFLite 모델을 불러와 즉시 사용할 수 있습니다.
- 핵심 목표: 멀티 플랫폼에서 통일된 방식으로 ML 기능을 구현
- 사용 대상: 비전, 텍스트, 오디오 관련 AI 기능이 필요한 개발자
특징 | 설명 |
크로스 플랫폼 | Android, 웹, Python, (iOS 예정) 등 다양한 플랫폼에서 동일한 API 제공 |
로우 코드 | 복잡한 TensorFlow 세팅 없이 5줄 내외의 코드로 추론 가능 |
고성능 | CPU, GPU, TPU를 활용한 엔드 투 엔드 최적화 처리 |
모듈화 | vision, text, audio 등 도메인별 세분화된 모듈 구성 |
Model Maker와 통합 | 커스텀 모델을 쉽게 불러와 적용 가능 |
◆ 사용하기 쉽고 잘 정의된 크로스 플랫폼 API
- MediaPipe Tasks는 간결한 로우 코드 API를 제공합니다.
- 단 5줄 이내의 코드만으로 복잡한 머신러닝 추론을 실행할 수 있습니다.
- Android, 웹, Python 등 다양한 플랫폼에서 동일한 구조와 사용법으로 작동하므로 유지보수와 이식성이 매우 뛰어납니다.
◆ 맞춤설정 가능한 솔루션 (Customizable)
- MediaPipe Tasks는 Google이 제공하는 모델뿐 아니라 사용자 데이터로 만든 모델도 자유롭게 적용할 수 있습니다.
- Model Maker를 활용해 직접 모델을 학습하고 .tflite로 저장하면, 이를 GestureRecognizer, ImageClassifier 등 Tasks API에서 바로 사용할 수 있습니다.
- 플랫폼에 관계없이 동일한 모델을 배포할 수 있습니다.
◆ 고성능 ML 파이프라인
- 일반적인 ML 솔루션은 모델 추론, 후처리, 입출력 처리가 분리되어 있어 지연(latency)이 발생합니다.
- 반면, MediaPipe Tasks는 모든 처리 과정을 하나의 통합 파이프라인으로 최적화하여 높은 속도를 자랑합니다.
- CPU, GPU, TPU에서 최적화된 병렬 처리가 가능하며, 실시간 예측도 무리 없이 수행됩니다.
◆ Python 예시
pip install mediapipe
''' 이미지 분류 코드 예시 '''
from mediapipe.tasks.python.vision import ImageClassifier
classifier = ImageClassifier.create_from_model_path("efficientnet.tflite")
result = classifier.classify(image)
for category in result.classifications[0].categories:
print(category.category_name, category.score)
4. MediaPipe Model Maker를 이용한 재 학습
MediaPipe Model Maker는 기존 머신러닝 모델을 새로운 데이터로 재학습(retrains) 맞춤형 모델(Custom Model)을 손쉽게 만드는 도구입니다.
완전히 새 모델을 처음부터 학습시키는 것보다 훨씬 빠르고 효율적하며, 적은 양의 데이터로도 높은 성능을 낼 수 있습니다.
- 기존 모델 + 새 데이터 → 재학습 → 최적화된 나만의 모델
◆ 동작 방식
Model Maker는 전이 학습(Transfer Learning) 기법을 사용합니다.
즉, 기존에 잘 훈련된 모델의 기초 구조(Feature Extractor)는 그대로 두고, 출력층(Classifier Layer)만 새 데이터에 맞춰 다시 학습합니다.
- 내부 동작 요약:
- 기존 모델에서 최종 레이어(분류기) 제거
- 새 데이터 클래스 수에 맞춰 새 출력층 생성
- 이 출력층을 새 데이터로 학습
- 필요 시 전체 모델을 미세 조정(Fine-tune)
- 예시:
기존 모델이 30종 객체 분류 →
새 데이터가 ‘고양이’, ‘개’, ‘앵무새’라면 →
최종 결과 모델은 이 3개 클래스만 분류하는 경량 모델이 됩니다.
◆ 학습데이터 요구사항
Model Maker의 가장 큰 장점 중 하나는 “적은 데이터로도 충분히 학습할 수 있다”는 점입니다.
기존 머신러닝처럼 수천 장의 데이터를 요구하지 않으며, 클래스(카테고리)당 약 100장 정도의 이미지면 충분합니다.
용도 | 비율 | 설명 |
학습용 (Training) | 80% | 모델이 실제 학습하는 데 사용 |
검증용 (Validation) | 10% | 학습 중 정확도를 확인하며 과적합을 방지 |
테스트용 (Testing) | 10% | 학습이 끝난 후, 실제 성능을 평가 |
- 100장은 권장 수치일 뿐이며, 카테고리당 30~50장만으로도 어느 정도 학습이 가능합니다.
- 하지만 이미지가 많을수록 정확도는 더 높아질 가능성이 있습니다.
◆ Model Maker 재학습의 한계
1. 재학습된 모델은 새 데이터 클래스만 인식합니다.
- Model Maker는 기존 모델에서 출력 계층(분류기 부분)을 삭제하고 새로 학습합니다.
- 즉, 재학습이 끝난 모델은 오직 새로 학습한 클래스만 인식합니다.
- 예시:
원래 모델: 30종류의 꽃 분류
새 학습 데이터: 10종류의 야생화
결과: 30개 → 10개 클래스만 인식하는 모델로 바뀜
- 이전 모델이 인식하던 클래스 정보는 완전히 사라집니다.
2. 모델의 작업(Task 유형)은 바꿀 수 없습니다.
- Model Maker는 기존 모델이 수행하던 기본 작업 유형을 바꾸지 못합니다.
기존작업 | 새 작업 | 가능 여부 |
이미지 분류 | 이미지 분류(새 클래스) | 가능 |
텍스트 분류 | 텍트트 분류(새 카테고리) | 가능 |
이미지 분류 | 객체 감지 | 불가능 |
오디오 분류 | 동작 인식 | 불가능 |
5. MediaPipe Studio로 실시간 테스트
MediaPipe Studio는 브라우저에서 실행되는 AI 시각화 및 벤치마킹 도구입니다.
간단한 드래그 앤 드롭 방식으로 모델을 업로드하고 결과를 바로 확인할 수 있습니다.
◆ 기능 특징
- 웹캠 연동 또는 파일 업로드 가능
- 모델 성능 (정확도, 처리 속도) 즉시 확인
- 사용한 모델 및 태스크 코드 확인 가능
◆ 솔루션 데모 실행 흐름
- Studio 홈페이지 접속
- 원하는 솔루션 종류 선택 (예: 이미지 분류)
- 모델 선택: 기본 모델 or 내 모델 업로드
- 입력 데이터 선택: 이미지 업로드 / 웹캠 / 텍스트 입력
- 결과 시각화 확인
- 하단의 개발자 가이드 버튼 클릭 → 실전 앱 코드로 연결됨
이 흐름을 통해 웹에서 결과를 빠르게 검증한 뒤, 바로 애플리케이션 개발로 이어질 수 있습니다.
◆ 실무 활용 예시
- Model Maker로 만든 제스처 인식 모델을 Studio에 올려서 테스트
- 추론 결과가 정확하지 않다면 → 학습 데이터 보강 필요성 파악
- Threshold 값을 변경해보고 최적의 신뢰도 조건 탐색
- 결과가 만족스러우면 → Tasks API에 바로 모델 적용!
◆ 주의사항
항목 | 주의할 점 |
모델 형식 | .tflite만 지원되며, 메타데이터가 포함되어 있어야 함 |
호환성 | MediaPipe Tasks API 기반 솔루션과만 연동 가능 |
텍스트 입력 길이 | 일부 솔루션은 입력 길이에 제한이 있을 수 있음 |
GPU 가속 | 브라우저 환경이므로 GPU 가속이 제한적일 수 있음 |
6. 사용가능한 솔루션 목록
2023년 3월 1일부터 아래에 나열된 MediaPipe 기존 솔루션에 대한 지원이 종료되었습니다.
다른 모든 MediaPipe 기존 솔루션은 새 MediaPipe 솔루션으로 업그레이드됩니다.
관련 글 링크
https://ai.google.dev/edge/mediapipe/solutions/guide?hl=ko
MediaPipe 솔루션 가이드 | Google AI Edge | Google AI for Developers
LiteRT 소개: 온디바이스 AI를 위한 Google의 고성능 런타임(이전 명칭: TensorFlow Lite)입니다. 이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 MediaPipe 솔루션 가이드 의견 보내기 달
ai.google.dev
'2.인공지능 > MediaPipe' 카테고리의 다른 글
6.MediaPipe Interactive Image Segmenter 사용 : 코드 예시 (0) | 2025.05.13 |
---|---|
5.MediaPipe Hair Segmenter로 머리카락 염색 효과 테스트 (0) | 2025.05.08 |
4.MediaPipe Image Segmentation 사용하기 : 이미지 분할 (0) | 2025.04.28 |
3.MediaPipe Image Classification 사용하기 : 이미지 분류 (0) | 2025.04.24 |
2.MediaPipe Object Detector 사용하기: 객체탐지 (0) | 2025.04.22 |