diff --git "a/Modules/PoseEstimation/pose_estimation.ipynb" "b/Modules/PoseEstimation/pose_estimation.ipynb" --- "a/Modules/PoseEstimation/pose_estimation.ipynb" +++ "b/Modules/PoseEstimation/pose_estimation.ipynb" @@ -2,30 +2,61 @@ "cells": [ { "cell_type": "code", - "execution_count": 11, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "from ultralytics import YOLO\n", - "\n", - "# Load a model\n", - "model = YOLO('yolov8n-pose.pt') # pretrained YOLOv8n model" + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "id_joints_dict = {0: 'nose',\n", + " 1: 'left_eye',\n", + " 2: 'right_eye',\n", + " 3: 'left_ear',\n", + " 4: 'right_ear',\n", + " 5: 'left_shoulder',\n", + " 6: 'right_shoulder',\n", + " 7: 'left_elbow',\n", + " 8: 'right_elbow',\n", + " 9: 'left_wrist',\n", + " 10: 'right_wrist',\n", + " 11: 'left_hip',\n", + " 12: 'right_hip',\n", + " 13: 'left_knee',\n", + " 14: 'right_knee',\n", + " 15: 'left_ankle',\n", + " 16: 'right_ankle'}\n", + "joints_id_dict = {v: k for k, v in id_joints_dict.items()}" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ - "class PoseEstimator():\n", - " def __init__(self):\n", - " self.model = YOLO('yolov8n-pose.pt')" + "model = YOLO('yolov8n-pose.pt')\n", + "\n", + "def get_keypoints_from_keypoints(model, video_path):\n", + "\n", + " keypoints = []\n", + " results = model(video_path, save=True, show_conf=False, show_boxes=False)\n", + " for frame in results:\n", + " keypoints.append(frame.keypoints.xy)\n", + "\n", + " return keypoints" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -44,419 +75,552 @@ " masks = r.masks # Masks object for segment masks outputs\n", " probs = r.probs # Class probabilities for classification outputs\n", "\n", - "video 1/1 (frame 1/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 385.4ms\n", - "video 1/1 (frame 2/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 140.9ms\n", - "video 1/1 (frame 3/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 117.0ms\n", - "video 1/1 (frame 4/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 111.9ms\n", - "video 1/1 (frame 5/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 119.1ms\n", - "video 1/1 (frame 6/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 116.3ms\n", - "video 1/1 (frame 7/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 154.8ms\n", - "video 1/1 (frame 8/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.1ms\n", - "video 1/1 (frame 9/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.8ms\n", - "video 1/1 (frame 10/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.5ms\n", - "video 1/1 (frame 11/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 109.9ms\n", - "video 1/1 (frame 12/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 142.1ms\n", - "video 1/1 (frame 13/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.8ms\n", - "video 1/1 (frame 14/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 149.6ms\n", - "video 1/1 (frame 15/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 206.0ms\n", - "video 1/1 (frame 16/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.3ms\n", - "video 1/1 (frame 17/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 170.7ms\n", - "video 1/1 (frame 18/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 153.2ms\n", - "video 1/1 (frame 19/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 141.3ms\n", - "video 1/1 (frame 20/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.0ms\n", - "video 1/1 (frame 21/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 125.6ms\n", - "video 1/1 (frame 22/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 159.6ms\n", - "video 1/1 (frame 23/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 123.7ms\n", - "video 1/1 (frame 24/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 114.6ms\n", - "video 1/1 (frame 25/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 139.2ms\n", - "video 1/1 (frame 26/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 294.3ms\n", - "video 1/1 (frame 27/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 148.7ms\n", - "video 1/1 (frame 28/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.6ms\n", - "video 1/1 (frame 29/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.7ms\n", - "video 1/1 (frame 30/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.2ms\n", - "video 1/1 (frame 31/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.5ms\n", - "video 1/1 (frame 32/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 117.8ms\n", - "video 1/1 (frame 33/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 115.9ms\n", - "video 1/1 (frame 34/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 149.6ms\n", - "video 1/1 (frame 35/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 112.4ms\n", - "video 1/1 (frame 36/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.1ms\n", - "video 1/1 (frame 37/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 114.8ms\n", - "video 1/1 (frame 38/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.7ms\n", - "video 1/1 (frame 39/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 115.5ms\n", - "video 1/1 (frame 40/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 149.1ms\n", - "video 1/1 (frame 41/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 188.5ms\n", - "video 1/1 (frame 42/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 152.3ms\n", - "video 1/1 (frame 43/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 178.8ms\n", - "video 1/1 (frame 44/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.7ms\n", - "video 1/1 (frame 45/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 144.7ms\n", - "video 1/1 (frame 46/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 176.6ms\n", - "video 1/1 (frame 47/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 154.9ms\n", - "video 1/1 (frame 48/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 155.9ms\n", - "video 1/1 (frame 49/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 145.3ms\n", - "video 1/1 (frame 50/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 117.3ms\n", - "video 1/1 (frame 51/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.9ms\n", - "video 1/1 (frame 52/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 153.9ms\n", - "video 1/1 (frame 53/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 147.3ms\n", - "video 1/1 (frame 54/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 138.0ms\n", - "video 1/1 (frame 55/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 117.9ms\n", - "video 1/1 (frame 56/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 157.2ms\n", - "video 1/1 (frame 57/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 145.5ms\n", - "video 1/1 (frame 58/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 161.3ms\n", - "video 1/1 (frame 59/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.1ms\n", - "video 1/1 (frame 60/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.2ms\n", - "video 1/1 (frame 61/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.1ms\n", - "video 1/1 (frame 62/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 115.7ms\n", - "video 1/1 (frame 63/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 116.7ms\n", - "video 1/1 (frame 64/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.3ms\n", - "video 1/1 (frame 65/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.8ms\n", - "video 1/1 (frame 66/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.4ms\n", - "video 1/1 (frame 67/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.7ms\n", - "video 1/1 (frame 68/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 117.9ms\n", - "video 1/1 (frame 69/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.1ms\n", - "video 1/1 (frame 70/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.6ms\n", - "video 1/1 (frame 71/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.3ms\n", - "video 1/1 (frame 72/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.4ms\n", - "video 1/1 (frame 73/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.1ms\n", - "video 1/1 (frame 74/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.0ms\n", - "video 1/1 (frame 75/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 230.7ms\n", - "video 1/1 (frame 76/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 142.0ms\n", - "video 1/1 (frame 77/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.6ms\n", - "video 1/1 (frame 78/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 281.9ms\n", - "video 1/1 (frame 79/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.6ms\n", - "video 1/1 (frame 80/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.9ms\n", - "video 1/1 (frame 81/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.3ms\n", - "video 1/1 (frame 82/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.3ms\n", - "video 1/1 (frame 83/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 117.8ms\n", - "video 1/1 (frame 84/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.4ms\n", - "video 1/1 (frame 85/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.1ms\n", - "video 1/1 (frame 86/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 204.6ms\n", - "video 1/1 (frame 87/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.8ms\n", - "video 1/1 (frame 88/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.3ms\n", - "video 1/1 (frame 89/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 140.9ms\n", - "video 1/1 (frame 90/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.0ms\n", - "video 1/1 (frame 91/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.4ms\n", - "video 1/1 (frame 92/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 154.1ms\n", - "video 1/1 (frame 93/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.8ms\n", - "video 1/1 (frame 94/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 123.7ms\n", - "video 1/1 (frame 95/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 115.9ms\n", - "video 1/1 (frame 96/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.2ms\n", - "video 1/1 (frame 97/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 143.5ms\n", - "video 1/1 (frame 98/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 158.5ms\n", - "video 1/1 (frame 99/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 146.0ms\n", - "video 1/1 (frame 100/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.4ms\n", - "video 1/1 (frame 101/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.2ms\n", - "video 1/1 (frame 102/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 141.4ms\n", - "video 1/1 (frame 103/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 147.7ms\n", - "video 1/1 (frame 104/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 156.3ms\n", - "video 1/1 (frame 105/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 155.1ms\n", - "video 1/1 (frame 106/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 152.8ms\n", - "video 1/1 (frame 107/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.6ms\n", - "video 1/1 (frame 108/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 146.3ms\n", - "video 1/1 (frame 109/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 160.8ms\n", - "video 1/1 (frame 110/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.2ms\n", - "video 1/1 (frame 111/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.5ms\n", - "video 1/1 (frame 112/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 138.6ms\n", - "video 1/1 (frame 113/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 143.2ms\n", - "video 1/1 (frame 114/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 143.8ms\n", - "video 1/1 (frame 115/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.2ms\n", - "video 1/1 (frame 116/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 142.3ms\n", - "video 1/1 (frame 117/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.6ms\n", - "video 1/1 (frame 118/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.2ms\n", - "video 1/1 (frame 119/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.7ms\n", - "video 1/1 (frame 120/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 172.2ms\n", - "video 1/1 (frame 121/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 162.6ms\n", - "video 1/1 (frame 122/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.5ms\n", - "video 1/1 (frame 123/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.8ms\n", - "video 1/1 (frame 124/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 174.0ms\n", - "video 1/1 (frame 125/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 147.1ms\n", - "video 1/1 (frame 126/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 143.2ms\n", - "video 1/1 (frame 127/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 157.9ms\n", - "video 1/1 (frame 128/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 140.9ms\n", - "video 1/1 (frame 129/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.2ms\n", - "video 1/1 (frame 130/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.8ms\n", - "video 1/1 (frame 131/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.4ms\n", - "video 1/1 (frame 132/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 146.1ms\n", - "video 1/1 (frame 133/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 147.8ms\n", - "video 1/1 (frame 134/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 158.2ms\n", - "video 1/1 (frame 135/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 144.2ms\n", - "video 1/1 (frame 136/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 145.1ms\n", - "video 1/1 (frame 137/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 175.3ms\n", - "video 1/1 (frame 138/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.0ms\n", - "video 1/1 (frame 139/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.7ms\n", - "video 1/1 (frame 140/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 147.9ms\n", - "video 1/1 (frame 141/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 183.7ms\n", - "video 1/1 (frame 142/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.6ms\n", - "video 1/1 (frame 143/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.6ms\n", - "video 1/1 (frame 144/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 147.6ms\n", - "video 1/1 (frame 145/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 188.0ms\n", - "video 1/1 (frame 146/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.7ms\n", - "video 1/1 (frame 147/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.8ms\n", - "video 1/1 (frame 148/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.1ms\n", - "video 1/1 (frame 149/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 138.4ms\n", - "video 1/1 (frame 150/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.2ms\n", - "video 1/1 (frame 151/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.0ms\n", - "video 1/1 (frame 152/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 138.9ms\n", - "video 1/1 (frame 153/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.8ms\n", - "video 1/1 (frame 154/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.0ms\n", - "video 1/1 (frame 155/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.7ms\n", - "video 1/1 (frame 156/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 144.6ms\n", - "video 1/1 (frame 157/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.0ms\n", - "video 1/1 (frame 158/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 162.1ms\n", - "video 1/1 (frame 159/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.9ms\n", - "video 1/1 (frame 160/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.7ms\n", - "video 1/1 (frame 161/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.4ms\n", - "video 1/1 (frame 162/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 156.4ms\n", - "video 1/1 (frame 163/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 142.5ms\n", - "video 1/1 (frame 164/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.5ms\n", - "video 1/1 (frame 165/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.9ms\n", - "video 1/1 (frame 166/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 147.8ms\n", - "video 1/1 (frame 167/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 139.0ms\n", - "video 1/1 (frame 168/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.6ms\n", - "video 1/1 (frame 169/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.7ms\n", - "video 1/1 (frame 170/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 154.6ms\n", - "video 1/1 (frame 171/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 140.5ms\n", - "video 1/1 (frame 172/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.9ms\n", - "video 1/1 (frame 173/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.7ms\n", - "video 1/1 (frame 174/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 145.5ms\n", - "video 1/1 (frame 175/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.5ms\n", - "video 1/1 (frame 176/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.3ms\n", - "video 1/1 (frame 177/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.4ms\n", - "video 1/1 (frame 178/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.1ms\n", - "video 1/1 (frame 179/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.1ms\n", - "video 1/1 (frame 180/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.7ms\n", - "video 1/1 (frame 181/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.6ms\n", - "video 1/1 (frame 182/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 138.3ms\n", - "video 1/1 (frame 183/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 157.0ms\n", - "video 1/1 (frame 184/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.4ms\n", - "video 1/1 (frame 185/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.9ms\n", - "video 1/1 (frame 186/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 143.2ms\n", - "video 1/1 (frame 187/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.9ms\n", - "video 1/1 (frame 188/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.5ms\n", - "video 1/1 (frame 189/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.4ms\n", - "video 1/1 (frame 190/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.2ms\n", - "video 1/1 (frame 191/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 151.9ms\n", - "video 1/1 (frame 192/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.7ms\n", - "video 1/1 (frame 193/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.7ms\n", - "video 1/1 (frame 194/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 142.7ms\n", - "video 1/1 (frame 195/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.9ms\n", - "video 1/1 (frame 196/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 154.5ms\n", - "video 1/1 (frame 197/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.1ms\n", - "video 1/1 (frame 198/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.2ms\n", - "video 1/1 (frame 199/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.2ms\n", - "video 1/1 (frame 200/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.3ms\n", - "video 1/1 (frame 201/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 140.1ms\n", - "video 1/1 (frame 202/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 139.9ms\n", - "video 1/1 (frame 203/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.5ms\n", - "video 1/1 (frame 204/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 147.6ms\n", - "video 1/1 (frame 205/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.3ms\n", - "video 1/1 (frame 206/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 193.1ms\n", - "video 1/1 (frame 207/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 143.0ms\n", - "video 1/1 (frame 208/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 175.5ms\n", - "video 1/1 (frame 209/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 167.8ms\n", - "video 1/1 (frame 210/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 204.3ms\n", - "video 1/1 (frame 211/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 191.8ms\n", - "video 1/1 (frame 212/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 144.3ms\n", - "video 1/1 (frame 213/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 142.4ms\n", - "video 1/1 (frame 214/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.4ms\n", - "video 1/1 (frame 215/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 166.1ms\n", - "video 1/1 (frame 216/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 181.9ms\n", - "video 1/1 (frame 217/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 294.6ms\n", - "video 1/1 (frame 218/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 493.3ms\n", - "video 1/1 (frame 219/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 155.6ms\n", - "video 1/1 (frame 220/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 162.9ms\n", - "video 1/1 (frame 221/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 167.6ms\n", - "video 1/1 (frame 222/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 220.9ms\n", - "video 1/1 (frame 223/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 200.2ms\n", - "video 1/1 (frame 224/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 192.9ms\n", - "video 1/1 (frame 225/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 165.2ms\n", - "video 1/1 (frame 226/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 202.2ms\n", - "video 1/1 (frame 227/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 222.9ms\n", - "video 1/1 (frame 228/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 220.1ms\n", - "video 1/1 (frame 229/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 295.6ms\n", - "video 1/1 (frame 230/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 246.3ms\n", - "video 1/1 (frame 231/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 192.4ms\n", - "video 1/1 (frame 232/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 158.9ms\n", - "video 1/1 (frame 233/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.7ms\n", - "video 1/1 (frame 234/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 123.8ms\n", - "video 1/1 (frame 235/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 157.2ms\n", - "video 1/1 (frame 236/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.1ms\n", - "video 1/1 (frame 237/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.0ms\n", - "video 1/1 (frame 238/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 119.4ms\n", - "video 1/1 (frame 239/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.0ms\n", - "video 1/1 (frame 240/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.5ms\n", - "video 1/1 (frame 241/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.8ms\n", - "video 1/1 (frame 242/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.0ms\n", - "video 1/1 (frame 243/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 139.4ms\n", - "video 1/1 (frame 244/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 123.2ms\n", - "video 1/1 (frame 245/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.3ms\n", - "video 1/1 (frame 246/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 119.5ms\n", - "video 1/1 (frame 247/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 140.3ms\n", - "video 1/1 (frame 248/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.7ms\n", - "video 1/1 (frame 249/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 142.0ms\n", - "video 1/1 (frame 250/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 119.1ms\n", - "video 1/1 (frame 251/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.8ms\n", - "video 1/1 (frame 252/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.6ms\n", - "video 1/1 (frame 253/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.5ms\n", - "video 1/1 (frame 254/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 119.7ms\n", - "video 1/1 (frame 255/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 119.5ms\n", - "video 1/1 (frame 256/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.0ms\n", - "video 1/1 (frame 257/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 160.1ms\n", - "video 1/1 (frame 258/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.1ms\n", - "video 1/1 (frame 259/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.6ms\n", - "video 1/1 (frame 260/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.2ms\n", - "video 1/1 (frame 261/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.0ms\n", - "video 1/1 (frame 262/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 119.1ms\n", - "video 1/1 (frame 263/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.1ms\n", - "video 1/1 (frame 264/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.3ms\n", - "video 1/1 (frame 265/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 125.3ms\n", - "video 1/1 (frame 266/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.4ms\n", - "video 1/1 (frame 267/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 115.8ms\n", - "video 1/1 (frame 268/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.1ms\n", - "video 1/1 (frame 269/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 123.1ms\n", - "video 1/1 (frame 270/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.2ms\n", - "video 1/1 (frame 271/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 116.5ms\n", - "video 1/1 (frame 272/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.5ms\n", - "video 1/1 (frame 273/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.4ms\n", - "video 1/1 (frame 274/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 119.6ms\n", - "video 1/1 (frame 275/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 115.4ms\n", - "video 1/1 (frame 276/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.9ms\n", - "video 1/1 (frame 277/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 158.6ms\n", - "video 1/1 (frame 278/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.0ms\n", - "video 1/1 (frame 279/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 117.4ms\n", - "video 1/1 (frame 280/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.7ms\n", - "video 1/1 (frame 281/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.8ms\n", - "video 1/1 (frame 282/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.8ms\n", - "video 1/1 (frame 283/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 116.8ms\n", - "video 1/1 (frame 284/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 161.0ms\n", - "video 1/1 (frame 285/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.0ms\n", - "video 1/1 (frame 286/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.1ms\n", - "video 1/1 (frame 287/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 141.9ms\n", - "video 1/1 (frame 288/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.8ms\n", - "video 1/1 (frame 289/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 224.3ms\n", - "video 1/1 (frame 290/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.2ms\n", - "video 1/1 (frame 291/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.3ms\n", - "video 1/1 (frame 292/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 144.3ms\n", - "video 1/1 (frame 293/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 152.6ms\n", - "video 1/1 (frame 294/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.6ms\n", - "video 1/1 (frame 295/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.7ms\n", - "video 1/1 (frame 296/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.5ms\n", - "video 1/1 (frame 297/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.8ms\n", - "video 1/1 (frame 298/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 165.5ms\n", - "video 1/1 (frame 299/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.2ms\n", - "video 1/1 (frame 300/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 148.5ms\n", - "video 1/1 (frame 301/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.8ms\n", - "video 1/1 (frame 302/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 167.9ms\n", - "video 1/1 (frame 303/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 138.6ms\n", - "video 1/1 (frame 304/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.2ms\n", - "video 1/1 (frame 305/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.3ms\n", - "video 1/1 (frame 306/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.1ms\n", - "video 1/1 (frame 307/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.2ms\n", - "video 1/1 (frame 308/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 125.4ms\n", - "video 1/1 (frame 309/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.8ms\n", - "video 1/1 (frame 310/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.8ms\n", - "video 1/1 (frame 311/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.1ms\n", - "video 1/1 (frame 312/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 158.1ms\n", - "video 1/1 (frame 313/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.8ms\n", - "video 1/1 (frame 314/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.6ms\n", - "video 1/1 (frame 315/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 138.3ms\n", - "video 1/1 (frame 316/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.4ms\n", - "video 1/1 (frame 317/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 140.7ms\n", - "video 1/1 (frame 318/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 123.2ms\n", - "video 1/1 (frame 319/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.6ms\n", - "video 1/1 (frame 320/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 169.8ms\n", - "video 1/1 (frame 321/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 140.1ms\n", - "video 1/1 (frame 322/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 125.0ms\n", - "video 1/1 (frame 323/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.4ms\n", - "video 1/1 (frame 324/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.4ms\n", - "video 1/1 (frame 325/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.5ms\n", - "video 1/1 (frame 326/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 204.4ms\n", - "video 1/1 (frame 327/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.5ms\n", - "video 1/1 (frame 328/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 154.6ms\n", - "video 1/1 (frame 329/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.6ms\n", - "video 1/1 (frame 330/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.9ms\n", - "video 1/1 (frame 331/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.9ms\n", - "video 1/1 (frame 332/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.8ms\n", - "video 1/1 (frame 333/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.2ms\n", - "video 1/1 (frame 334/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 140.1ms\n", - "video 1/1 (frame 335/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 181.8ms\n", - "video 1/1 (frame 336/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.2ms\n", - "video 1/1 (frame 337/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.8ms\n", - "video 1/1 (frame 338/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 165.4ms\n", - "video 1/1 (frame 339/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.4ms\n", - "video 1/1 (frame 340/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.2ms\n", - "video 1/1 (frame 341/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.6ms\n", - "video 1/1 (frame 342/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.1ms\n", - "video 1/1 (frame 343/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.9ms\n", - "video 1/1 (frame 344/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.3ms\n", - "video 1/1 (frame 345/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 141.3ms\n", - "video 1/1 (frame 346/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 148.7ms\n", - "video 1/1 (frame 347/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.5ms\n", - "video 1/1 (frame 348/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.7ms\n", - "video 1/1 (frame 349/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.4ms\n", - "video 1/1 (frame 350/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.9ms\n", - "video 1/1 (frame 351/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.4ms\n", - "video 1/1 (frame 352/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.0ms\n", - "video 1/1 (frame 353/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.6ms\n", - "video 1/1 (frame 354/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 142.9ms\n", - "video 1/1 (frame 355/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 125.5ms\n", - "video 1/1 (frame 356/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 125.9ms\n", - "video 1/1 (frame 357/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.1ms\n", - "video 1/1 (frame 358/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.1ms\n", - "video 1/1 (frame 359/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.3ms\n", - "video 1/1 (frame 360/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.1ms\n", - "video 1/1 (frame 361/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.7ms\n", - "video 1/1 (frame 362/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.8ms\n", - "video 1/1 (frame 363/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.1ms\n", - "video 1/1 (frame 364/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.7ms\n", - "video 1/1 (frame 365/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.7ms\n", - "video 1/1 (frame 366/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 145.4ms\n", - "video 1/1 (frame 367/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 195.1ms\n", - "video 1/1 (frame 368/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 261.2ms\n", - "video 1/1 (frame 369/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 276.8ms\n", - "video 1/1 (frame 370/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 211.9ms\n", - "video 1/1 (frame 371/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 165.4ms\n", - "video 1/1 (frame 372/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 190.0ms\n", - "video 1/1 (frame 373/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 199.0ms\n", - "video 1/1 (frame 374/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 168.6ms\n", - "video 1/1 (frame 375/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.3ms\n", - "video 1/1 (frame 376/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 220.9ms\n", - "video 1/1 (frame 377/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 157.4ms\n", - "video 1/1 (frame 378/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 185.7ms\n", - "video 1/1 (frame 379/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 157.5ms\n", - "video 1/1 (frame 380/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 139.0ms\n", - "video 1/1 (frame 381/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 171.7ms\n", - "video 1/1 (frame 382/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 146.0ms\n", - "video 1/1 (frame 383/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 154.1ms\n", - "video 1/1 (frame 384/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 176.9ms\n", - "video 1/1 (frame 385/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 175.2ms\n", - "video 1/1 (frame 386/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 174.7ms\n", - "video 1/1 (frame 387/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 172.8ms\n", - "video 1/1 (frame 388/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 164.0ms\n", - "video 1/1 (frame 389/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 170.3ms\n", - "video 1/1 (frame 390/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 179.2ms\n", - "video 1/1 (frame 391/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 172.0ms\n", - "video 1/1 (frame 392/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 165.4ms\n", - "video 1/1 (frame 393/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 171.5ms\n", - "video 1/1 (frame 394/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.2ms\n", - "video 1/1 (frame 395/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.8ms\n", - "video 1/1 (frame 396/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.4ms\n", - "video 1/1 (frame 397/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 158.4ms\n", - "video 1/1 (frame 398/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 138.2ms\n", - "video 1/1 (frame 399/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.4ms\n", - "video 1/1 (frame 400/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 186.8ms\n", - "video 1/1 (frame 401/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 174.7ms\n", - "video 1/1 (frame 402/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 166.3ms\n", - "video 1/1 (frame 403/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 151.0ms\n", - "video 1/1 (frame 404/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 146.7ms\n", - "video 1/1 (frame 405/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 154.7ms\n", - "Speed: 6.5ms preprocess, 145.4ms inference, 1.3ms postprocess per image at shape (1, 3, 640, 576)\n", + "video 1/1 (frame 1/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 254.3ms\n", + "video 1/1 (frame 2/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 269.2ms\n", + "video 1/1 (frame 3/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.3ms\n", + "video 1/1 (frame 4/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 177.4ms\n", + "video 1/1 (frame 5/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 156.0ms\n", + "video 1/1 (frame 6/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 182.3ms\n", + "video 1/1 (frame 7/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 187.9ms\n", + "video 1/1 (frame 8/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 326.9ms\n", + "video 1/1 (frame 9/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 194.0ms\n", + "video 1/1 (frame 10/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.3ms\n", + "video 1/1 (frame 11/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 181.8ms\n", + "video 1/1 (frame 12/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.6ms\n", + "video 1/1 (frame 13/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 116.1ms\n", + "video 1/1 (frame 14/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.4ms\n", + "video 1/1 (frame 15/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.2ms\n", + "video 1/1 (frame 16/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.5ms\n", + "video 1/1 (frame 17/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.5ms\n", + "video 1/1 (frame 18/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.4ms\n", + "video 1/1 (frame 19/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.6ms\n", + "video 1/1 (frame 20/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.1ms\n", + "video 1/1 (frame 21/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.3ms\n", + "video 1/1 (frame 22/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 143.8ms\n", + "video 1/1 (frame 23/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.1ms\n", + "video 1/1 (frame 24/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 223.9ms\n", + "video 1/1 (frame 25/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.5ms\n", + "video 1/1 (frame 26/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.3ms\n", + "video 1/1 (frame 27/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.8ms\n", + "video 1/1 (frame 28/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 156.6ms\n", + "video 1/1 (frame 29/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 115.2ms\n", + "video 1/1 (frame 30/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.4ms\n", + "video 1/1 (frame 31/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.8ms\n", + "video 1/1 (frame 32/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.2ms\n", + "video 1/1 (frame 33/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.4ms\n", + "video 1/1 (frame 34/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.1ms\n", + "video 1/1 (frame 35/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.2ms\n", + "video 1/1 (frame 36/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.7ms\n", + "video 1/1 (frame 37/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 152.7ms\n", + "video 1/1 (frame 38/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.5ms\n", + "video 1/1 (frame 39/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.0ms\n", + "video 1/1 (frame 40/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.0ms\n", + "video 1/1 (frame 41/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 116.9ms\n", + "video 1/1 (frame 42/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.1ms\n", + "video 1/1 (frame 43/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 166.0ms\n", + "video 1/1 (frame 44/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.7ms\n", + "video 1/1 (frame 45/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 114.1ms\n", + "video 1/1 (frame 46/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.6ms\n", + "video 1/1 (frame 47/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 154.5ms\n", + "video 1/1 (frame 48/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 161.2ms\n", + "video 1/1 (frame 49/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 210.8ms\n", + "video 1/1 (frame 50/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 211.0ms\n", + "video 1/1 (frame 51/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 176.2ms\n", + "video 1/1 (frame 52/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 146.4ms\n", + "video 1/1 (frame 53/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 148.0ms\n", + "video 1/1 (frame 54/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 157.5ms\n", + "video 1/1 (frame 55/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.5ms\n", + "video 1/1 (frame 56/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.9ms\n", + "video 1/1 (frame 57/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.1ms\n", + "video 1/1 (frame 58/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.5ms\n", + "video 1/1 (frame 59/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.9ms\n", + "video 1/1 (frame 60/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.5ms\n", + "video 1/1 (frame 61/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.3ms\n", + "video 1/1 (frame 62/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 162.3ms\n", + "video 1/1 (frame 63/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 148.8ms\n", + "video 1/1 (frame 64/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 162.5ms\n", + "video 1/1 (frame 65/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 161.3ms\n", + "video 1/1 (frame 66/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 155.9ms\n", + "video 1/1 (frame 67/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 159.1ms\n", + "video 1/1 (frame 68/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 161.8ms\n", + "video 1/1 (frame 69/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 159.5ms\n", + "video 1/1 (frame 70/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 158.4ms\n", + "video 1/1 (frame 71/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 160.5ms\n", + "video 1/1 (frame 72/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 145.9ms\n", + "video 1/1 (frame 73/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.6ms\n", + "video 1/1 (frame 74/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.0ms\n", + "video 1/1 (frame 75/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.0ms\n", + "video 1/1 (frame 76/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 140.6ms\n", + "video 1/1 (frame 77/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.5ms\n", + "video 1/1 (frame 78/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 164.7ms\n", + "video 1/1 (frame 79/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 171.5ms\n", + "video 1/1 (frame 80/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 157.1ms\n", + "video 1/1 (frame 81/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 322.1ms\n", + "video 1/1 (frame 82/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 145.6ms\n", + "video 1/1 (frame 83/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 195.0ms\n", + "video 1/1 (frame 84/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 140.5ms\n", + "video 1/1 (frame 85/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.6ms\n", + "video 1/1 (frame 86/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 186.5ms\n", + "video 1/1 (frame 87/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 173.6ms\n", + "video 1/1 (frame 88/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 163.2ms\n", + "video 1/1 (frame 89/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.4ms\n", + "video 1/1 (frame 90/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 125.3ms\n", + "video 1/1 (frame 91/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.7ms\n", + "video 1/1 (frame 92/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.4ms\n", + "video 1/1 (frame 93/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.0ms\n", + "video 1/1 (frame 94/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.7ms\n", + "video 1/1 (frame 95/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 158.6ms\n", + "video 1/1 (frame 96/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 143.4ms\n", + "video 1/1 (frame 97/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.5ms\n", + "video 1/1 (frame 98/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.2ms\n", + "video 1/1 (frame 99/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.7ms\n", + "video 1/1 (frame 100/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 156.2ms\n", + "video 1/1 (frame 101/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 138.8ms\n", + "video 1/1 (frame 102/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 139.8ms\n", + "video 1/1 (frame 103/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.3ms\n", + "video 1/1 (frame 104/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 190.6ms\n", + "video 1/1 (frame 105/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 254.7ms\n", + "video 1/1 (frame 106/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.5ms\n", + "video 1/1 (frame 107/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.9ms\n", + "video 1/1 (frame 108/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.1ms\n", + "video 1/1 (frame 109/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 140.7ms\n", + "video 1/1 (frame 110/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.5ms\n", + "video 1/1 (frame 111/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 159.8ms\n", + "video 1/1 (frame 112/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 166.6ms\n", + "video 1/1 (frame 113/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 144.8ms\n", + "video 1/1 (frame 114/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 210.6ms\n", + "video 1/1 (frame 115/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 166.1ms\n", + "video 1/1 (frame 116/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.0ms\n", + "video 1/1 (frame 117/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.5ms\n", + "video 1/1 (frame 118/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.0ms\n", + "video 1/1 (frame 119/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.0ms\n", + "video 1/1 (frame 120/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.7ms\n", + "video 1/1 (frame 121/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.9ms\n", + "video 1/1 (frame 122/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.4ms\n", + "video 1/1 (frame 123/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.7ms\n", + "video 1/1 (frame 124/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 143.0ms\n", + "video 1/1 (frame 125/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 141.9ms\n", + "video 1/1 (frame 126/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.2ms\n", + "video 1/1 (frame 127/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.5ms\n", + "video 1/1 (frame 128/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 138.0ms\n", + "video 1/1 (frame 129/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.2ms\n", + "video 1/1 (frame 130/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.8ms\n", + "video 1/1 (frame 131/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 159.7ms\n", + "video 1/1 (frame 132/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 273.5ms\n", + "video 1/1 (frame 133/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 193.9ms\n", + "video 1/1 (frame 134/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.4ms\n", + "video 1/1 (frame 135/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.2ms\n", + "video 1/1 (frame 136/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 144.5ms\n", + "video 1/1 (frame 137/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 142.6ms\n", + "video 1/1 (frame 138/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 146.8ms\n", + "video 1/1 (frame 139/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 162.3ms\n", + "video 1/1 (frame 140/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 160.4ms\n", + "video 1/1 (frame 141/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.8ms\n", + "video 1/1 (frame 142/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 177.3ms\n", + "video 1/1 (frame 143/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.9ms\n", + "video 1/1 (frame 144/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 143.9ms\n", + "video 1/1 (frame 145/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 140.2ms\n", + "video 1/1 (frame 146/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 151.2ms\n", + "video 1/1 (frame 147/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.6ms\n", + "video 1/1 (frame 148/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 144.4ms\n", + "video 1/1 (frame 149/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 138.3ms\n", + "video 1/1 (frame 150/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.3ms\n", + "video 1/1 (frame 151/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 143.6ms\n", + "video 1/1 (frame 152/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 160.9ms\n", + "video 1/1 (frame 153/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 256.6ms\n", + "video 1/1 (frame 154/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 213.9ms\n", + "video 1/1 (frame 155/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 228.7ms\n", + "video 1/1 (frame 156/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 140.8ms\n", + "video 1/1 (frame 157/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.5ms\n", + "video 1/1 (frame 158/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.1ms\n", + "video 1/1 (frame 159/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 157.7ms\n", + "video 1/1 (frame 160/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 184.1ms\n", + "video 1/1 (frame 161/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 161.4ms\n", + "video 1/1 (frame 162/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.1ms\n", + "video 1/1 (frame 163/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.1ms\n", + "video 1/1 (frame 164/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 162.6ms\n", + "video 1/1 (frame 165/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 179.7ms\n", + "video 1/1 (frame 166/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.5ms\n", + "video 1/1 (frame 167/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.2ms\n", + "video 1/1 (frame 168/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 147.5ms\n", + "video 1/1 (frame 169/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 138.7ms\n", + "video 1/1 (frame 170/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.6ms\n", + "video 1/1 (frame 171/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 144.0ms\n", + "video 1/1 (frame 172/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 142.1ms\n", + "video 1/1 (frame 173/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 146.8ms\n", + "video 1/1 (frame 174/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.3ms\n", + "video 1/1 (frame 175/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.2ms\n", + "video 1/1 (frame 176/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 149.2ms\n", + "video 1/1 (frame 177/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 157.5ms\n", + "video 1/1 (frame 178/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 144.8ms\n", + "video 1/1 (frame 179/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.2ms\n", + "video 1/1 (frame 180/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 149.9ms\n", + "video 1/1 (frame 181/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 163.5ms\n", + "video 1/1 (frame 182/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 169.8ms\n", + "video 1/1 (frame 183/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.5ms\n", + "video 1/1 (frame 184/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 145.3ms\n", + "video 1/1 (frame 185/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.5ms\n", + "video 1/1 (frame 186/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.9ms\n", + "video 1/1 (frame 187/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 160.5ms\n", + "video 1/1 (frame 188/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 141.4ms\n", + "video 1/1 (frame 189/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 193.2ms\n", + "video 1/1 (frame 190/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 314.3ms\n", + "video 1/1 (frame 191/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 149.7ms\n", + "video 1/1 (frame 192/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 139.6ms\n", + "video 1/1 (frame 193/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.1ms\n", + "video 1/1 (frame 194/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.7ms\n", + "video 1/1 (frame 195/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 141.8ms\n", + "video 1/1 (frame 196/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.2ms\n", + "video 1/1 (frame 197/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.5ms\n", + "video 1/1 (frame 198/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 138.4ms\n", + "video 1/1 (frame 199/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.1ms\n", + "video 1/1 (frame 200/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 168.9ms\n", + "video 1/1 (frame 201/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 145.1ms\n", + "video 1/1 (frame 202/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.0ms\n", + "video 1/1 (frame 203/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 144.2ms\n", + "video 1/1 (frame 204/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 160.6ms\n", + "video 1/1 (frame 205/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 142.4ms\n", + "video 1/1 (frame 206/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 147.6ms\n", + "video 1/1 (frame 207/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 123.4ms\n", + "video 1/1 (frame 208/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.3ms\n", + "video 1/1 (frame 209/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.9ms\n", + "video 1/1 (frame 210/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.4ms\n", + "video 1/1 (frame 211/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 163.1ms\n", + "video 1/1 (frame 212/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 157.8ms\n", + "video 1/1 (frame 213/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 210.3ms\n", + "video 1/1 (frame 214/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 181.0ms\n", + "video 1/1 (frame 215/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.8ms\n", + "video 1/1 (frame 216/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 184.4ms\n", + "video 1/1 (frame 217/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 170.5ms\n", + "video 1/1 (frame 218/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.0ms\n", + "video 1/1 (frame 219/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.0ms\n", + "video 1/1 (frame 220/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 133.7ms\n", + "video 1/1 (frame 221/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 160.6ms\n", + "video 1/1 (frame 222/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 176.7ms\n", + "video 1/1 (frame 223/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 222.3ms\n", + "video 1/1 (frame 224/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 152.7ms\n", + "video 1/1 (frame 225/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 152.4ms\n", + "video 1/1 (frame 226/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 164.7ms\n", + "video 1/1 (frame 227/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 161.2ms\n", + "video 1/1 (frame 228/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 159.6ms\n", + "video 1/1 (frame 229/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 165.1ms\n", + "video 1/1 (frame 230/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 170.9ms\n", + "video 1/1 (frame 231/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 157.6ms\n", + "video 1/1 (frame 232/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 147.7ms\n", + "video 1/1 (frame 233/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 145.7ms\n", + "video 1/1 (frame 234/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 179.6ms\n", + "video 1/1 (frame 235/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 161.2ms\n", + "video 1/1 (frame 236/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 153.9ms\n", + "video 1/1 (frame 237/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 161.4ms\n", + "video 1/1 (frame 238/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 189.4ms\n", + "video 1/1 (frame 239/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 183.8ms\n", + "video 1/1 (frame 240/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 183.4ms\n", + "video 1/1 (frame 241/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 153.8ms\n", + "video 1/1 (frame 242/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 170.5ms\n", + "video 1/1 (frame 243/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 224.5ms\n", + "video 1/1 (frame 244/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 214.4ms\n", + "video 1/1 (frame 245/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 170.1ms\n", + "video 1/1 (frame 246/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 171.5ms\n", + "video 1/1 (frame 247/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 216.4ms\n", + "video 1/1 (frame 248/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 195.4ms\n", + "video 1/1 (frame 249/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 154.0ms\n", + "video 1/1 (frame 250/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 423.4ms\n", + "video 1/1 (frame 251/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 223.5ms\n", + "video 1/1 (frame 252/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 212.1ms\n", + "video 1/1 (frame 253/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 193.1ms\n", + "video 1/1 (frame 254/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 198.7ms\n", + "video 1/1 (frame 255/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 183.6ms\n", + "video 1/1 (frame 256/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 163.4ms\n", + "video 1/1 (frame 257/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.5ms\n", + "video 1/1 (frame 258/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 218.2ms\n", + "video 1/1 (frame 259/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 543.1ms\n", + "video 1/1 (frame 260/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 244.1ms\n", + "video 1/1 (frame 261/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 150.9ms\n", + "video 1/1 (frame 262/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 190.9ms\n", + "video 1/1 (frame 263/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 144.3ms\n", + "video 1/1 (frame 264/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 216.1ms\n", + "video 1/1 (frame 265/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 211.2ms\n", + "video 1/1 (frame 266/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 209.8ms\n", + "video 1/1 (frame 267/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 204.8ms\n", + "video 1/1 (frame 268/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 173.2ms\n", + "video 1/1 (frame 269/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 172.0ms\n", + "video 1/1 (frame 270/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 153.6ms\n", + "video 1/1 (frame 271/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 154.2ms\n", + "video 1/1 (frame 272/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 164.4ms\n", + "video 1/1 (frame 273/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 146.6ms\n", + "video 1/1 (frame 274/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 192.0ms\n", + "video 1/1 (frame 275/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 221.1ms\n", + "video 1/1 (frame 276/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 298.3ms\n", + "video 1/1 (frame 277/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 166.2ms\n", + "video 1/1 (frame 278/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 186.9ms\n", + "video 1/1 (frame 279/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 329.5ms\n", + "video 1/1 (frame 280/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 205.3ms\n", + "video 1/1 (frame 281/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.8ms\n", + "video 1/1 (frame 282/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.7ms\n", + "video 1/1 (frame 283/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 152.5ms\n", + "video 1/1 (frame 284/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 186.3ms\n", + "video 1/1 (frame 285/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 138.8ms\n", + "video 1/1 (frame 286/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 123.7ms\n", + "video 1/1 (frame 287/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.4ms\n", + "video 1/1 (frame 288/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.1ms\n", + "video 1/1 (frame 289/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.6ms\n", + "video 1/1 (frame 290/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 153.7ms\n", + "video 1/1 (frame 291/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 115.8ms\n", + "video 1/1 (frame 292/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.5ms\n", + "video 1/1 (frame 293/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.0ms\n", + "video 1/1 (frame 294/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.9ms\n", + "video 1/1 (frame 295/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.4ms\n", + "video 1/1 (frame 296/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.0ms\n", + "video 1/1 (frame 297/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.7ms\n", + "video 1/1 (frame 298/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.3ms\n", + "video 1/1 (frame 299/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 116.9ms\n", + "video 1/1 (frame 300/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 116.7ms\n", + "video 1/1 (frame 301/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.9ms\n", + "video 1/1 (frame 302/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.9ms\n", + "video 1/1 (frame 303/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.5ms\n", + "video 1/1 (frame 304/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 158.2ms\n", + "video 1/1 (frame 305/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 191.6ms\n", + "video 1/1 (frame 306/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.5ms\n", + "video 1/1 (frame 307/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.6ms\n", + "video 1/1 (frame 308/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.3ms\n", + "video 1/1 (frame 309/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.7ms\n", + "video 1/1 (frame 310/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 117.6ms\n", + "video 1/1 (frame 311/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 117.6ms\n", + "video 1/1 (frame 312/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.3ms\n", + "video 1/1 (frame 313/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 123.8ms\n", + "video 1/1 (frame 314/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.1ms\n", + "video 1/1 (frame 315/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.0ms\n", + "video 1/1 (frame 316/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 157.6ms\n", + "video 1/1 (frame 317/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 160.1ms\n", + "video 1/1 (frame 318/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 117.9ms\n", + "video 1/1 (frame 319/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 125.7ms\n", + "video 1/1 (frame 320/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.2ms\n", + "video 1/1 (frame 321/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 123.2ms\n", + "video 1/1 (frame 322/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.3ms\n", + "video 1/1 (frame 323/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 117.6ms\n", + "video 1/1 (frame 324/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.6ms\n", + "video 1/1 (frame 325/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.0ms\n", + "video 1/1 (frame 326/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 117.3ms\n", + "video 1/1 (frame 327/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 116.3ms\n", + "video 1/1 (frame 328/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.7ms\n", + "video 1/1 (frame 329/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 119.9ms\n", + "video 1/1 (frame 330/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 119.8ms\n", + "video 1/1 (frame 331/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 143.5ms\n", + "video 1/1 (frame 332/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 136.8ms\n", + "video 1/1 (frame 333/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.7ms\n", + "video 1/1 (frame 334/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.6ms\n", + "video 1/1 (frame 335/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.1ms\n", + "video 1/1 (frame 336/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.2ms\n", + "video 1/1 (frame 337/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.9ms\n", + "video 1/1 (frame 338/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.9ms\n", + "video 1/1 (frame 339/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 127.4ms\n", + "video 1/1 (frame 340/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 117.5ms\n", + "video 1/1 (frame 341/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 116.7ms\n", + "video 1/1 (frame 342/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 128.7ms\n", + "video 1/1 (frame 343/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.7ms\n", + "video 1/1 (frame 344/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.8ms\n", + "video 1/1 (frame 345/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 134.7ms\n", + "video 1/1 (frame 346/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 131.8ms\n", + "video 1/1 (frame 347/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.4ms\n", + "video 1/1 (frame 348/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 120.9ms\n", + "video 1/1 (frame 349/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 119.7ms\n", + "video 1/1 (frame 350/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.7ms\n", + "video 1/1 (frame 351/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.7ms\n", + "video 1/1 (frame 352/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 124.9ms\n", + "video 1/1 (frame 353/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 119.9ms\n", + "video 1/1 (frame 354/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 130.7ms\n", + "video 1/1 (frame 355/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 253.5ms\n", + "video 1/1 (frame 356/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.0ms\n", + "video 1/1 (frame 357/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 147.1ms\n", + "video 1/1 (frame 358/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 164.7ms\n", + "video 1/1 (frame 359/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 149.0ms\n", + "video 1/1 (frame 360/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 118.9ms\n", + "video 1/1 (frame 361/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.0ms\n", + "video 1/1 (frame 362/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 157.4ms\n", + "video 1/1 (frame 363/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 166.1ms\n", + "video 1/1 (frame 364/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 186.2ms\n", + "video 1/1 (frame 365/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 229.3ms\n", + "video 1/1 (frame 366/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 230.7ms\n", + "video 1/1 (frame 367/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 229.5ms\n", + "video 1/1 (frame 368/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 203.9ms\n", + "video 1/1 (frame 369/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 160.9ms\n", + "video 1/1 (frame 370/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 187.3ms\n", + "video 1/1 (frame 371/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 188.5ms\n", + "video 1/1 (frame 372/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 218.7ms\n", + "video 1/1 (frame 373/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 194.2ms\n", + "video 1/1 (frame 374/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 211.1ms\n", + "video 1/1 (frame 375/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 228.8ms\n", + "video 1/1 (frame 376/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 184.2ms\n", + "video 1/1 (frame 377/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 248.2ms\n", + "video 1/1 (frame 378/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 169.2ms\n", + "video 1/1 (frame 379/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 200.7ms\n", + "video 1/1 (frame 380/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 179.2ms\n", + "video 1/1 (frame 381/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 184.2ms\n", + "video 1/1 (frame 382/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 164.9ms\n", + "video 1/1 (frame 383/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 187.6ms\n", + "video 1/1 (frame 384/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 178.6ms\n", + "video 1/1 (frame 385/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 201.7ms\n", + "video 1/1 (frame 386/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 168.6ms\n", + "video 1/1 (frame 387/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 210.1ms\n", + "video 1/1 (frame 388/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 156.3ms\n", + "video 1/1 (frame 389/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.6ms\n", + "video 1/1 (frame 390/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 125.6ms\n", + "video 1/1 (frame 391/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 132.5ms\n", + "video 1/1 (frame 392/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 129.2ms\n", + "video 1/1 (frame 393/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 122.2ms\n", + "video 1/1 (frame 394/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 121.9ms\n", + "video 1/1 (frame 395/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 123.4ms\n", + "video 1/1 (frame 396/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 151.9ms\n", + "video 1/1 (frame 397/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 152.0ms\n", + "video 1/1 (frame 398/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 154.4ms\n", + "video 1/1 (frame 399/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 137.4ms\n", + "video 1/1 (frame 400/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 153.6ms\n", + "video 1/1 (frame 401/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 135.8ms\n", + "video 1/1 (frame 402/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.4ms\n", + "video 1/1 (frame 403/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.4ms\n", + "video 1/1 (frame 404/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 143.5ms\n", + "video 1/1 (frame 405/465) /Users/theorousseaux/Documents/Hackathon/FitnessEquation/Modules/PoseEstimation/../../data/pose/squat.mp4: 640x576 1 person, 126.9ms\n", + "Speed: 7.5ms preprocess, 156.2ms inference, 1.5ms postprocess per image at shape (1, 3, 640, 576)\n", "Results saved to \u001b[1m/Users/theorousseaux/Documents/Hackathon/FitnessEquation/runs/pose/predict\u001b[0m\n" ] } ], "source": [ - "estimator = PoseEstimator()\n", - "results = estimator.model('../../data/pose/squat.mp4', save=True)" + "keypoints = get_keypoints_from_keypoints(model, '../../data/pose/squat.mp4')" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "def calculate_angle(a, b, c):\n", + "\n", + " \"\"\"\n", + " Calculates the angle between three joints.\n", + "\n", + " Args:\n", + " a (tuple): coordinates of the first joint\n", + " b (tuple): coordinates of the second joint\n", + " c (tuple): coordinates of the third joint\n", + "\n", + " Returns:\n", + " angle (float): angle between the three joints\n", + " \"\"\"\n", + " \n", + " ba = np.array(a) - np.array(b)\n", + " bc = np.array(c) - np.array(b)\n", + "\n", + " cosine_angle = np.dot(ba, bc) / (np.linalg.norm(ba) * np.linalg.norm(bc))\n", + " angle = np.arccos(cosine_angle)\n", + "\n", + " return np.degrees(angle)\n", + "\n", + "def compute_left_knee_angle(pose):\n", + "\n", + " \"\"\"\n", + " Computes the knee angle.\n", + "\n", + " Args:\n", + " pose (dict): pose dictionary\n", + "\n", + " Returns:\n", + " knee_angle (float): knee angle\n", + " \"\"\"\n", + "\n", + " left_hip = pose[0][joints_id_dict['left_hip']]\n", + " left_knee = pose[0][joints_id_dict['left_knee']]\n", + " left_ankle = pose[0][joints_id_dict['left_ankle']]\n", + "\n", + " knee_angle = calculate_angle(left_hip, left_knee, left_ankle)\n", + "\n", + " return knee_angle\n", + "\n", + "def compute_right_knee_angle(pose):\n", + "\n", + " \"\"\"\n", + " Computes the knee angle.\n", + "\n", + " Args:\n", + " pose (dict): pose dictionary\n", + "\n", + " Returns:\n", + " knee_angle (float): knee angle\n", + " \"\"\"\n", + "\n", + " right_hip = pose[0][joints_id_dict['right_hip']]\n", + " right_knee = pose[0][joints_id_dict['right_knee']]\n", + " right_ankle = pose[0][joints_id_dict['right_ankle']]\n", + "\n", + " knee_angle = calculate_angle(right_hip, right_knee, right_ankle)\n", + "\n", + " return knee_angle\n", + "\n", + "def moving_average(data, window_size):\n", + "\n", + " \"\"\"\n", + " Computes the moving average of a list.\n", + "\n", + " Args:\n", + " data (list): list of values\n", + " window_size (int): size of the window\n", + "\n", + " Returns:\n", + " avg (list): list of moving average values\n", + " \"\"\"\n", + "\n", + " avg = []\n", + " for i in range(len(data) - window_size + 1):\n", + " avg.append(sum(data[i:i + window_size]) / window_size)\n", + "\n", + " return avg" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "angles = []\n", + "\n", + "for i in range(len(keypoints)):\n", + " angles.append(compute_left_knee_angle(keypoints[i]))\n", + "\n", + "angles = moving_average(angles, 10)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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6jBBISIiItVhgkJERESqwwSFiIiIVIcJyimeffZZjB07FjExMSgoKMD27duVDmnIfvGLX0AQhF5fU6dOlW93uVy4++67kZKSgoSEBNxwww1oaGhQMOL+bd26FStWrEBWVhYEQcC6det63S6KIh599FFkZmYiNjYWRUVFOHr0aK/7tLa2YuXKlTCZTLBYLLj99tvR0dExildxbv1d4/e+970zntelS5f2uo/ar3HNmjWYP38+EhMTkZ6ejmuvvRZlZWW97jOQf59VVVW48sorERcXh/T0dDz44IPwer2jeSlnNZBrXLRo0RnP5V133dXrPmq+xueeew6zZs2Sh3YVFhbio48+km8P9+cQ6P8aw/057MsTTzwBQRBw7733yt9T7LkUSRRFUXzjjTdEg8Eg/s///I946NAh8Y477hAtFovY0NCgdGhD8thjj4nnnXeeWF9fL381NTXJt991111iTk6OuHHjRnHnzp3ihRdeKF500UUKRty/Dz/8UPz5z38uvv322yIAce3atb1uf+KJJ0Sz2SyuW7dO3Ldvn3j11VeL48aNE7u7u+X7LF26VJw9e7a4bds28fPPPxcnTpwo3nzzzaN8JWfX3zXeeuut4tKlS3s9r62trb3uo/ZrXLJkifjiiy+KBw8eFPfu3SsuX75czM3NFTs6OuT79Pfv0+v1ijNmzBCLiorEPXv2iB9++KGYmpoqrl69WolLOsNArvHSSy8V77jjjl7Ppd1ul29X+zW+++674gcffCAeOXJELCsrE3/2s5+Jer1ePHjwoCiK4f8cimL/1xjuz+Hptm/fLo4dO1acNWuW+JOf/ET+vlLPJROUoAsuuEC8++675f/3+XxiVlaWuGbNGgWjGrrHHntMnD17dp+3tbe3i3q9Xnzrrbfk75WWlooAxOLi4lGKcHhO/+Xt9/tFq9Uq/va3v5W/197eLhqNRvH1118XRVEUv/76axGAuGPHDvk+H330kSgIglhbWztqsQ/U2RKUa6655qw/E27XKIqi2NjYKAIQt2zZIoriwP59fvjhh6JGoxFtNpt8n+eee040mUyi2+0e3QsYgNOvURQDv9xO/SVwunC7RlEUxaSkJPFvf/tbRD6HEukaRTGynkOn0ylOmjRJ3LBhQ6/rUvK55BIPgJ6eHuzatQtFRUXy9zQaDYqKilBcXKxgZMNz9OhRZGVlYfz4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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "plt.plot(angles)" ] } ],