MediaPipeがサポートしているPythonパッケージをWindowsで動かしたサンプルです。
実行時のサブコマンドで以下7種類のモデルを動かすことが可能です。(詳細はUsageを確認ください)
Face Detection | Face Mesh |
---|---|
Hands | Pose |
Holistic | Objectron |
SelfieSegmentation | |
- Windows 10 home Insider Preview 10.0.21327 build 221327
- Core(TM) i7-9700K CPU @ 3.60GHz
- Anaconda 4.8.2
- Web Camera
- mediapipe==0.8.5
- opencv-python==4.5.1.48
(base) $ git clone https://github.com/T-Sumida/mediapipe_python4windows.git
(base) $ conda create -n mediapipe python=3.7
(base) $ conda activate mediapipe
(mediapipe) $ conda install requests
(mediapipe) $ pip install mediapipe==0.8.5, loguru
mediapipe_sample.py 実行時のサブコマンドで、MediaPipeがサポートしているモデルを指定して実行することができる。
2021/4/18現在、mediaPipeがPythonでサポートしているモデルは、
- Face Detection
- Face Mesh
- Hands
- Pose
- Holistic
- Objectron
- SelfieSegmentation
(サポートについては、こちらをご確認ください。)
(mediapipe) $ python mediapipe_sample.py -h
usage: mediapipe_sample.py [-h] [--device DEVICE] [--width WIDTH]
[--height HEIGHT]
{FaceDetector,FaceMesh,HandTracker,PoseEstimator,Objectron,Holistic,SelfieSegmentation}
...
positional arguments:
{FaceDetector,FaceMesh,HandTracker,PoseEstimator,Objectron,Holistic,SelfieSegmentation}
FaceDetector
FaceMesh
HandTracker
PoseEstimator
Objectron
Holistic
SelfieSegmentation
optional arguments:
-h, --help show this help message and exit
--device DEVICE device id
--width WIDTH capture width
--height HEIGHT capture height
顔のランドマークを取得するサンプル。
(mediapipe) $ python mediapipe_sample.py FaceDetector -h
usage: mediapipe_sample.py FaceDetector [-h]
[--min_detection_confidence MIN_DETECTION_CONFIDENCE]
FaceDetector
optional arguments:
-h, --help show this help message and exit
--min_detection_confidence MIN_DETECTION_CONFIDENCE
顔検出モデルの最小信頼値 [0.0, 1.0]
Example
(mediapipe) $ python mediapipe_sample.py FaceDetector
顔のメッシュを取得するサンプル
(mediapipe) $ python mediapipe_sample.py FaceMesh -h
usage: mediapipe_sample.py FaceMesh [-h] [--max_num_faces MAX_NUM_FACES]
[--min_detection_confidence MIN_DETECTION_CONFIDENCE]
[--min_tracking_confidence MIN_TRACKING_CONFIDENCE]
FaceMesh
optional arguments:
-h, --help show this help message and exit
--max_num_faces MAX_NUM_FACES
最大検出顔数
--min_detection_confidence MIN_DETECTION_CONFIDENCE
顔検出モデルの最小信頼値 [0.0, 1.0]
--min_tracking_confidence MIN_TRACKING_CONFIDENCE
ランドマーク追跡モデルの最小信頼値 [0.0, 1.0]
Example
(mediapipe) $ python mediapipe_sample.py FaceMesh
手のランドマークを取得するサンプル。
(mediapipe) $ python mediapipe_sample.py HandTracker -h
usage: mediapipe_sample.py HandTracker [-h] [--max_num_hands MAX_NUM_HANDS]
[--min_detection_confidence MIN_DETECTION_CONFIDENCE]
[--min_tracking_confidence MIN_TRACKING_CONFIDENCE]
HandTracker
optional arguments:
-h, --help show this help message and exit
--max_num_hands MAX_NUM_HANDS
最大検出手数
--min_detection_confidence MIN_DETECTION_CONFIDENCE
手検出モデルの最小信頼値 [0.0, 1.0]
--min_tracking_confidence MIN_TRACKING_CONFIDENCE
ランドマーク追跡モデルの最小信頼値 [0.0, 1.0]
Example
(mediapipe) $ python mediapipe_sample.py HandTracker
人の骨格を取得するサンプル。
(mediapipe) $ python mediapipe_sample.py PoseEstimator -h
usage: mediapipe_sample.py PoseEstimator [-h]
[--min_detection_confidence MIN_DETECTION_CONFIDENCE]
[--min_tracking_confidence MIN_TRACKING_CONFIDENCE]
PoseEstimator
optional arguments:
-h, --help show this help message and exit
--min_detection_confidence MIN_DETECTION_CONFIDENCE
姿勢推定モデルの最小信頼値 [0.0, 1.0]
--min_tracking_confidence MIN_TRACKING_CONFIDENCE
ランドマーク追跡モデルの最小信頼値 [0.0, 1.0]
Example
(mediapipe) $ python mediapipe_sample.py PoseEstimator
上記のFace Mesh、Hands、Poseを1つにまとめたサンプル。
(mediapipe) $ python mediapipe_sample.py Holistic -h
usage: mediapipe_sample.py Holistic [-h]
[--min_detection_confidence MIN_DETECTION_CONFIDENCE]
[--min_tracking_confidence MIN_TRACKING_CONFIDENCE]
Holistic
optional arguments:
-h, --help show this help message and exit
--min_detection_confidence MIN_DETECTION_CONFIDENCE
人物検出モデルの最小信頼値 [0.0, 1.0]
--min_tracking_confidence MIN_TRACKING_CONFIDENCE
ランドマーク追跡モデルの最小信頼値 [0.0, 1.0]
Example
(mediapipe) $ python mediapipe_sample.py Holistic
3D物体検出のサンプル。
(mediapipe) $ python mediapipe_sample.py Objectron -h
usage: mediapipe_sample.py Objectron [-h] [--max_num_objects MAX_NUM_OBJECTS]
[--min_detection_confidence MIN_DETECTION_CONFIDENCE]
[--min_tracking_confidence MIN_TRACKING_CONFIDENCE]
[--model_name MODEL_NAME]
Objectron
optional arguments:
-h, --help show this help message and exit
--max_num_objects MAX_NUM_OBJECTS
最大検出物体数
--min_detection_confidence MIN_DETECTION_CONFIDENCE
物体検出モデルの最小信頼値 [0.0, 1.0]
--min_tracking_confidence MIN_TRACKING_CONFIDENCE
ランドマーク追跡モデルの最小信頼値 [0.0, 1.0]
--model_name MODEL_NAME
モデル名 {Shoe, Chair, Cup, Camera}
Example
(mediapipe) $ python mediapipe_sample.py Objectron --model_name Shoe
HumanSegmentationのサンプル。
bg_image_pathを指定しない場合はブラーをかける。
(mediapipe) $ python mediapipe_sample.py SelfieSegmentation -h
python mediapipe_sample.py SelfieSegmentation -h
usage: mediapipe_sample.py SelfieSegmentation [-h]
[--model_selection MODEL_SELECTION]
[--bg_image_path BG_IMAGE_PATH]
SelfieSegmentation
optional arguments:
-h, --help show this help message and exit
--model_selection MODEL_SELECTION
モデルのタイプ 0(general model) or 1(fast model)
--bg_image_path BG_IMAGE_PATH
背景画像のパス
Example
(mediapipe) $ python mediapipe_sample.py SelfieSegmentation --bg_image_path .\pic\bg_image.JPG
T-Sumida