311 人が閲覧(直近 30 日) AI

MediaPipe(メディアパイプ)とは?Google製AIライブラリの機能・読み方・商用利用【1.1.0対応】

MediaPipe(メディアパイプ)とは?Google製AIライブラリの機能・読み方・商用利用【1.1.0対応】

MediaPipe(メディアパイプ)は、カメラ映像から顔・手・全身の姿勢を検出したり、文章や音声を分類したりする処理を、端末の中だけで動かせるGoogle製のオープンソースライブラリです。Android・iOS・Web・Pythonで同じタスク名のAPIを使えます。最新版は2026年10月6日(UTC。日本時間では10月7日)公開の1.1.0です(PyPI・npmで確認)。この記事では、読み方と正体、1.1.0時点でできる21タスク、出力の実測値、Apache 2.0での商用利用の範囲、そして採用を見送るべき用途を順に整理します。

まとめ:MediaPipeの正体と商用利用・採用判断の結論

MediaPipeは「メディアパイプ」と読みます。Googleが公開するオンデバイス推論のライブラリで、学習済みモデルと前処理・後処理をまとめて配っています。顔478点・手21点・姿勢33点のランドマーク検出が代表的な機能です。1.1.0では文章や画像をベクトル化するUniversal Embedderと、検索を担うSemantic Retrieverが加わりました。

コード本体はApache License 2.0で、商用利用に料金はかかりません。顔・姿勢のモデルもモデルカード上はApache 2.0です。ただしTasks APIは性能と利用状況のメトリクスをGoogleへ送るため、アプリの利用者から同意を得る責任は導入する側にあります。

古い解説記事にある mp.solutions.hands のような書き方は、0.10.30以降のpip配布物では使えません。新規開発はTasks APIで書きます。顔認証による本人確認、医療診断の根拠には使わないでください。モデルカード自身が本人識別と生命に関わる判断を対象外としています。工業製品の外観検査も、汎用モデルが微細な欠陥を見分けるように学習されていないため向きません。

MediaPipeの読み方と提供元、TensorFlow・OpenCVとの役割分担

読み方は「メディアパイプ」、名前が表すパイプライン構造

MediaPipeは「メディアパイプ」と読みます。公式の和名はありませんが、media(映像・音声)とpipe(パイプライン)をつないだ名前です。入力の取得、画像の変換、推論、座標の後処理という段階が部品として並び、データが順に流れる構造をそのまま表しています。

そのため pip install mediapipe で手に入るのは、リサイズや座標の正規化を含む一続きの処理を動かす実行環境です。学習済みモデルはwheelに含まれず(1.1.0のwheelに .tflite・.task は0ファイル)、タスクごとの .task ファイルを別に取得して読み込みます。素のモデルファイルだけを配るプロジェクトとは、前処理と後処理までそろっている点が違います。

提供元はGoogle AI Edge、推論エンジンはLiteRT

ソースコードはGitHubのgoogle-ai-edge/mediapipeで公開されています。Google内でオンデバイスAIを扱うGoogle AI Edgeの製品群に属し、ドキュメントも developers.google.com/edge/mediapipe 配下にまとまっています。

推論の実行にはLiteRT(旧TensorFlow Lite)を使います。1.1.0のリリースノートには、LiteRTの依存をv2.2.0へ上げたことと、NPU向けのdelegate設定をTasksに公開したことが記録されています。LiteRTの位置づけはTensorFlow Lite(LiteRT)の改称後の位置づけとNPU実行の解説で整理しています。

TensorFlow・OpenCV・LiteRTとの違い

混同しやすい4つは、担当する工程が違います。pip版のMediaPipeはOpenCVを依存として同時に入れるため、OpenCVとは最初から併用する形になります。

名称 担当する工程 MediaPipeとの関係
TensorFlow・PyTorch モデルの学習 学習側(MediaPipeは推論側)
OpenCV 画像の入出力・加工 依存として同時に入る
LiteRT 端末上での推論実行 内部の実行基盤
MediaPipe 前処理から結果の整形まで 本体

PyPIのmediapipe 1.1.0は opencv-contrib-python、numpy、absl-py などに依存しています。MediaPipeを入れた時点でOpenCVも入るので、前処理用に別途インストールする必要はありません。OpenCV自体の使い方はOpenCVのPythonでの使い方入門にまとめています。

MediaPipeでできること:1.1.0時点の21タスク一覧

公式のMediaPipe Solutions guideは、2026年10月14日時点で21のタスクを掲載しています。機能は「タスク」単位で選び、タスクごとに学習済みモデルが用意されています。

系統 タスク Android Web Python iOS
映像 顔検出・顔ランドマーク・手ランドマーク・姿勢ランドマーク・ホリスティック ○ ○ ○ ○
映像 ジェスチャー認識・画像分類・物体検出 ○ ○ ○ ○
映像 画像埋め込み・画像セグメンテーション・インタラクティブセグメンテーション ○ ○ ○ ○
テキスト 言語判定・テキスト分類・テキスト埋め込み ○ ○ ○ ○
テキスト 校正・要約 ○ - ○ ○
音声 音声分類 ○ ○ ○ ○
検索・判断 Universal Embedder・Semantic Retriever・Decision maker ○ ○ ○ ○
生成AI LLM Inference API - ○ - -

独自データでの再学習(MediaPipe Model Maker)に対応するのは、ジェスチャー認識・画像分類・物体検出・テキスト分類の4タスクと、LLM Inference APIです。公式ツールのMediaPipe Studioでは、映像系タスクにWebカメラの映像や手元の画像を入れて、結果をブラウザ上で確かめられます。コードを書く前に、自社の素材で検出の様子を見て採否の見当を付けられます。

映像系11タスク:顔・手・姿勢の検出が中心

21タスクのうち11を映像系が占めます。顔ランドマークは3次元の478点、手は1本あたり21点、姿勢は全身33点を返します。物体検出の推奨モデルEfficientDet-Lite0はCOCOデータセットの80ラベルで学習されており、独自の部品を見分ける案件ではModel Makerでの再学習か専用モデルが必要になります。検出手法そのものを比べたい場合は物体検出の仕組みと代表手法の比較が判断材料になります。

1.1.0で増えた検索・判断系のタスク

1.1.0の目玉は、テキスト・画像・音声・動画を1つの共有ベクトル空間へ変換するUniversal Embedderと、そのベクトルの保存と検索を受け持つSemantic Retrieverです。PythonのSemantic RetrieverはSQLiteのベクトルストアを同梱しており、端末内で完結するRAG(検索拡張生成)の部品になります。どちらも対応モデルとして公式ガイドが挙げるのはEmbeddingGemma V2です。

Decision makerは、選択式・真偽・採点といった決まった形の判断を、文章を生成せずに1回の推論で確率付きで返すタスクです。1.1.0のリリースノートでは、EmbeddingGemma 1・2を使う判断用のバックエンドが追加されました。

2026年6月時点の対応表にあった画像生成(Android)は2026年10月時点の表から消え、非推奨と表示されていたAndroid向けのRAGとFunction Callingのガイドページも現在は開けません(404)。古い記事を頼りにこれらを前提とした設計を始めないでください。

生成AI(LLM Inference API)は保守のみ、新規はLiteRT-LMへ

端末内でLLMを動かすLLM Inference APIは、公式ガイドの冒頭で保守のみ(maintenance-only)のモードに入ったと告知されています。新機能と最適化はLiteRT-LMに集中し、移行が推奨されています。1.0.0のリリースノートでもAndroidとiOS向けのLLM推論エンジンがリリースから外されました。Web向けの @mediapipe/tasks-genai も、npmのlatestは0.10.29(2026年7月8日UTC公開)のままです(nightly版の1.1.1-rcだけが出続けています)。新規に端末内LLMを組むなら、MediaPipeではなくLiteRT-LMを第一候補にしてください。

顔・手・姿勢の検出で返る出力と推論時間の実測

最小コード:Face Landmarkerで顔の478点を取り出す

Tasks APIでは、タスクごとの .task ファイル(モデル一式)を読み込み、画像を渡して結果を受け取ります。顔ランドマークを取り出す最小のPythonコードは次のとおりです。モデルは公式が配るface_landmarker.taskを、画像は公式サンプルのbusiness-person.pngを person.png として同じフォルダに置いて使います。

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision

options = vision.FaceLandmarkerOptions(
    base_options=python.BaseOptions(model_asset_path="face_landmarker.task"),
    output_face_blendshapes=True,  # 表情係数も受け取る
    num_faces=1,
)
image = mp.Image.create_from_file("person.png")
with vision.FaceLandmarker.create_from_options(options) as landmarker:
    result = landmarker.detect(image)

print(len(result.face_landmarks[0]))   # 478
print(len(result.face_blendshapes[0])) # 52
top = sorted(result.face_blendshapes[0], key=lambda c: -c.score)[:3]
print([(c.category_name, round(c.score, 3)) for c in top])

静止画は detect()、動画ファイルは detect_for_video()、カメラ映像は非同期の detect_async() と、実行モード(IMAGE・VIDEO・LIVE_STREAM)ごとに呼ぶメソッドが変わります。インストールから手・姿勢の検出、CSV保存までの手順はMediaPipeの使い方(Python 1.0系で手・姿勢・顔を検出する手順)で扱っています。

出力点数と推論時間の実測値

上のコードと姿勢ランドマークを、2026年10月14日に当社の検証環境(Intel Core i9-9880H、macOS、Python 3.12)で動かした結果です。Intel Mac向けの最新版が0.10.21のため0.10.21で計測しましたが、Tasks APIのクラス名と結果の形は1.1.0と同じです。推論時間は初回を除く20回の中央値で、GPUは使っていません。

タスク(モデル) 返った出力 推論時間
Face Landmarker(float16) 478点+ブレンドシェイプ52種 38.4ms
Pose Landmarker(lite) 33点+ワールド座標33点 92.4ms

サンプルの人物写真(958×1358ピクセル)では、ブレンドシェイプの上位は mouthSmileLeft(0.649)、mouthSmileRight(0.549)でした。笑顔の度合いが0〜1の数値で取れるため、表情に反応するUIやアバターの口元の制御に直接使えます。ランドマーク座標は画像幅・高さで割った0〜1の正規化座標です。描画や距離計算の前にピクセル座標へ戻す必要があります。

478点という仕様はブラウザ版でも同じです。Webでは公式の @mediapipe/tasks-vision(1.1.0)のFaceLandmarkerを使うのが本筋で、TensorFlow.js経由で同じモデルを動かす方法はTensorFlow.jsでフェイストラッキングを実装する手順にまとめています。

最新版1.1.0の変更点とPython・OS別に入る版

1.0系から1.1.0で変わった点

PyPIの公開日(UTC)は、1.0.0が2026年7月27日、1.0.1が8月14日、1.1.0が10月6日です。1.1.0の主な変更は、上で触れた検索系タスクの追加、Pythonビルドの3.13・3.14対応、LiteRT v2.2.0への更新、Windowsビルドの修正です。Python APIにはAudioEmbedderと、類似度を計算する cosine_similarity が加わりました。

PyPIの開発ステータス表記は1.1.0でも「3 – Alpha」のままです。1.0に上がっても破壊的変更が無いとは保証されていません。本番では mediapipe==1.1.0 のように版を固定し、更新前に検証を挟んでください。

OS・CPU・Python別にpipで入るMediaPipeの版

1.1.0のwheelはPythonの版に依存しない形式(py3-none)で、macOS arm64、Linux(manylinux_2_28)のx86_64とaarch64、Windowsのamd64とarm64の5種類です。Intel Mac(x86_64)向けのwheelは0.10.21(2025年2月6日公開)が最後で、0.10.30以降はApple Silicon向け(macosx_11_0_arm64)だけになっています。Intel Macでは pip install mediapipe がエラーにならず0.10.21を入れるため、手元とサーバーで版がずれやすい点に注意してください。

Linuxのwheelはmanylinux_2_28(glibc 2.28以上)向けです。64bit版のRaspberry Pi OS(Bullseye以降)やJetPack 5以降のJetsonならpipだけで入りますが、glibc 2.27のJetPack 4系(Ubuntu 18.04)やAmazon Linux 2(glibc 2.26)には1.1.0は入りません。OS・Pythonの組み合わせごとに入る版の一覧と、版を固定する手順はMediaPipeの使い方のインストールの章にまとめています。

mediapipe 1.0.1以降でmp.solutionsが使えない理由

「mediapipe 1.0.1 mp.solutions」で検索される問題の答えは、配布物にコードが入っていないことです。PyPIのwheelを展開すると、mediapipe/python/solutions は0.10.21には含まれ、0.10.30以降と1.1.0には1ファイルもありません。公式ガイドも2023年3月1日付でレガシーSolutionsの支援終了を告知し、Face Mesh・Hands・Poseなどは後継のタスクへ移行済み(Upgraded)としています。そのため mp.solutions.hands を呼ぶ古いコードは、最新版では AttributeError で止まります。旧コードからTasks APIへの対応表はMediaPipeの使い方の移行表の章にまとめています。

MediaPipeの商用利用:Apache 2.0の範囲と見落としやすい義務

コード本体のApache 2.0が課す表示義務

MediaPipeのコード本体はApache License 2.0です。PyPIのライセンス欄とnpmの @mediapipe/tasks-vision 1.1.0のlicenseフィールドは、どちらもApache 2.0でした。商用製品への組み込み、改変、再配布が許されており、ソースコードの公開義務(コピーレフト)はありません。

代わりに、ライセンス文の同梱、著作権表示の保持、改変したファイルへの変更表示、NOTICEファイルがある場合の引き継ぎが求められます。バイナリで配布するアプリなら、ライセンス文と著作権表示を「オープンソースライセンス」画面に載せる形で満たせます(MediaPipeのリポジトリにNOTICEファイルはありません)。依存として入る opencv-contrib-python のwheelはLGPLv2.1のFFmpegを同梱しており、Linuxの非headless版はLGPLv3のQt 5も含むため、Pythonごと製品に同梱して配布する場合はこれらの条件も確認してください。主要ライセンスの義務を横断で見るならオープンソースライセンスの商用利用可否と義務を条項番号で整理した記事が照合表になります。

学習済みモデルのライセンスと対象外の用途

モデルにはタスクごとにモデルカード(PDF)があります。Face Mesh V2のモデルカードとBlazePose GHUM 3Dのモデルカードは、どちらもライセンスをApache License 2.0と記載しています。

注意したいのは対象外(Out-of-scope)の欄です。Face Mesh V2は「人の生命に関わる判断を意図していない」「顔の認識や識別の機能を持たない」と書いています。BlazePoseは「あらゆる形の監視や本人識別は明示的に対象外」としています。ライセンス上は使えても、モデルの作り手が想定していない用途だということです。一方、Universal EmbedderとSemantic Retrieverが対応するEmbeddingGemma V2は、公式ページで「Gemma license」での提供と明記されています。LLM Inference APIのガイドが挙げるGemma 3n・Gemma 3 1B・Gemma 2 2Bも、Apache 2.0とは別のGemma利用規約に従います(Gemma 4はApache 2.0で、Decision makerが対応しています)。製品に載せるモデルを決めた時点で、モデルカードの版と記載を社内の記録に残してください。

Tasks APIの利用メトリクス送信とユーザー同意

見落とされやすいのがデータの流れです。GitHub READMEのPrivacy Notice(2026年6月5日更新)は、入力した画像・動画・テキストは端末内で処理されGoogleのサーバーへ送られないとしています。そのうえで、Tasks APIはアプリ内でのAPIの性能と利用状況のメトリクスをGoogleへ送ると書いています。さらに、そのメトリクスの処理について、適用される法律に沿ってアプリ利用者から同意を得る責任は導入する側にある、と太字で明記しています。READMEにはメトリクス送信を止める設定の記載はありません。

「映像は外に出ないから、プライバシーの説明は要らない」と判断するのは誤りです。アプリのプライバシーポリシーと同意画面に、Googleへの利用状況データの送信を書いておく必要があります。

顔・姿勢データと個人情報保護法

日本の個人情報保護法では、顔の骨格及び皮膚の色並びに目・鼻・口その他の顔の部位の位置及び形状によって定まる容貌を、特定の個人を識別できる基準でデータに変換したものを個人識別符号として扱います(個人情報保護法施行令第1条第1号ロ)。同号ホは「歩行の際の姿勢及び両腕の動作、歩幅その他の歩行の態様」も挙げています。478点の顔ランドマークや33点の姿勢データを本人の照合に使う設計にすれば、この扱いに近づきます。逆に、端末内で座標を計算して人数や姿勢の判定結果だけを送る設計なら、扱うデータの性質が変わります。オンデバイス推論の利点を生かすには、座標を外へ出さない設計から考えてください。

MediaPipeを採用する案件と見送る案件の判断基準

採用が向く条件:出力の種類・端末内処理・対象端末

次の3条件がそろう案件では、MediaPipeが第一候補になります。1つ目は、必要な出力が顔・手・姿勢・人物領域・汎用物体の座標やラベルで足りること。2つ目は、通信費・遅延・映像を外へ出したくない事情のいずれかで、端末内で処理を終えたいこと。3つ目は、対象端末がAndroid・iOS・モダンブラウザ・Apple SiliconのMac・LinuxかWindowsの64bit機であることです。

この場合、姿勢推定のモデルを自前で学習するより早く試作に入れます。フィットネスのフォーム判定、オンライン会議のエフェクト、非接触操作のUI、関節角度の記録といった用途が典型です。

大規模な実例はGoogle Meetの背景ぼかしです。Google Researchの解説(2020年10月30日)によると、MobileNetV3-smallを改変したエンコーダーを持つセグメンテーションモデルを、MediaPipeのWebパイプライン上でWebAssemblyとXNNPACKを使いブラウザのCPUで推論していました。専用GPUや追加ソフトが無い会議参加者の端末でも動かす、という要件にMediaPipeが合った例です。

採用を見送る用途:本人確認・外観検査・医療診断

顔認証による本人確認、工業製品の外観検査、医療診断の根拠となる計測の3つには使わないでください。前の章で見たとおり、モデルカード自身が本人識別と生命に関わる判断を対象外にしています。外観検査は、汎用モデルが微細な欠陥を見分けるように学習されていないためです。Model Makerで再学習できるのも分類・検出系の4タスクに限られ、ランドマーク系のモデルは再学習できません。

検査や診断では、精度の根拠を後から説明できることが要件に入ります。この領域は、自社の検査データで学習・評価したモデルを用意し、精度の根拠を記録として残せる体制で進めてください。

クラウドAPI・専用モデルとの使い分け

クラウドの画像認識APIは、モデルの更新をサーバー側で回せる代わりに、通信の遅延と映像の外部送信が付いて回ります。専用モデルは精度を詰められる代わりに、学習データの収集と開発期間が必要です。MediaPipeは「汎用の端末で、汎用の検出を、追加のハードなしで動かす」ための選択肢です。出力の実測の章ではFace LandmarkerがノートPC向けCPU(Core i9-9880H)で1枚38.4msで、入力画像はGoogleのサーバーへ送られません(Privacy Notice)。端末内でAIを動かす考え方はオンデバイスAIの仕組みと業務導入の判断基準、クラウドとの比較はエッジAIとクラウドAIの違いと実装の判断基準で整理しています。

MediaPipeで賄える範囲と専用モデルが要る範囲の線引きから相談したい場合は、当社の画像認識AIモデル構築で要件整理から対応しています。

よくある質問

MediaPipeの読み方は何ですか?

「メディアパイプ」と読みます。media(映像・音声)とpipe(パイプライン)を組み合わせた名前で、公式に定められた和名はありません。

MediaPipeは無料で商用利用できますか?

できます。コード本体はApache License 2.0で、商用製品への組み込み・改変・再配布に費用はかからず、ソースコードの公開義務もありません。ライセンス文と著作権表示の同梱は必要です。加えて、Tasks APIが利用状況のメトリクスをGoogleへ送るため、アプリ利用者からの同意取得は導入する側の責任になります。

MediaPipeでできることは何ですか?

1.1.0時点で、顔検出・顔ランドマーク(478点)・手ランドマーク(21点)・姿勢ランドマーク(33点)・ジェスチャー認識・物体検出・画像分類・セグメンテーションなどの映像系11タスクがあります。ほかにテキスト分類・要約などのテキスト系、音声分類、Universal Embedderなどの検索・判断系、Web版のLLM Inference APIがあり、合計21タスクです。

mediapipe 1.0.1でmp.solutionsが使えないのはなぜですか?

0.10.30以降のpip配布物(wheel)に mediapipe/python/solutions が含まれていないためです。1.0.1・1.1.0でも同じで、mp.solutions を呼ぶと AttributeError になります。旧Solutionsの支援は2023年3月1日に終了しているので、Tasks APIで書き直してください。

MediaPipeはPythonのどのバージョンで動きますか?

PyPIの1.1.0はPython 3.9〜3.14を対応バージョンとして記載しています。ただしIntel Macでは1.1.0が配布されておらず、Python 3.9〜3.12なら0.10.21が入り、3.13以降は入りません。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2025.02.27 コラム トラッキングビーコン(Webビーコン)とは?仕組み・用途・確認と対策を徹底解説
  2. 2026.10.27 テックブログ Joshin(ジョーシン)不正アクセス:最大600万件の対象とサブスク初期パスワードの対処
  3. 2026.10.27 テックブログ Brotli 脆弱性:CVE-2026-111497の影響確認とNode.js・Python・.NETの更新手順
  4. 2026.07.09 テックブログ Muse Imageとは?Metaの画像生成AIの使い方・API料金(1枚0.01ドル)と日本での提供状況【2026年10月】
  5. 2026.10.21 テックブログ ユミルリンク不正アクセス第二報で延べ5,162万件:Cuenote FC利用企業と受信者の確認点

RELATED POSTS 関連記事

目次