|
5 | 5 | "colab": {
|
6 | 6 | "provenance": [],
|
7 | 7 | "mount_file_id": "1YJfEK8zha4PfUk2yP9y-XbO4vtmn83gE",
|
8 |
| - "authorship_tag": "ABX9TyP54LxKBJts0KXl7EfJYOpo", |
| 8 | + "authorship_tag": "ABX9TyPkTtXM08RbtO4T0HwiFsGT", |
9 | 9 | "include_colab_link": true
|
10 | 10 | },
|
11 | 11 | "kernelspec": {
|
|
151 | 151 | " self.right_heel = pll[30]\n",
|
152 | 152 | " self.left_foot_index = pll[31]\n",
|
153 | 153 | " self.right_foot_index = pll[32]\n",
|
| 154 | + " self.threshold = 66\n", |
154 | 155 | "\n",
|
155 | 156 | " # Returns the angle formed by any three points, with pointb as the center\n",
|
156 | 157 | " def angle(self, pointa, pointb, pointc):\n",
|
|
180 | 181 | " # Then figure out what angle you need to calculate\n",
|
181 | 182 | " # Arm, Grip, Back, Arms by Side, Leg, Hip Angle, Calf\n",
|
182 | 183 | " if row[0] == 'Arm':\n",
|
183 |
| - " if ((self.right_shoulder.visibility + self.right_elbow.visibility + self.right_wrist.visibility) / 3) > ((self.left_shoulder.visibility + self.left_elbow.visibility + self.left_wrist.visibility) / 3): # Finds the better side and uses that for angles\n", |
| 184 | + " right_vis = (self.right_shoulder.visibility + self.right_elbow.visibility + self.right_wrist.visibility) / 3\n", |
| 185 | + " left_vis = (self.left_shoulder.visibility + self.left_elbow.visibility + self.left_wrist.visibility) / 3\n", |
| 186 | + " if right_vis > left_vis: # Finds the better side and uses that for angles\n", |
| 187 | + " if right_vis < self.threshold:\n", |
| 188 | + " return \"Right Arm Isn't Visible\"\n", |
184 | 189 | " working_angle = self.angle(self.right_shoulder, self.right_elbow, self.right_wrist)\n",
|
185 | 190 | " else:\n",
|
| 191 | + " if left_vis < self.threshold:\n", |
| 192 | + " return \"Left Arm Isn't Visible\"\n", |
186 | 193 | " working_angle = self.angle(self.left_shoulder, self.left_elbow, self.left_wrist)\n",
|
187 |
| - " print(working_angle)\n", |
| 194 | + "\n", |
188 | 195 | " if working_angle < int(row[1]): # See if the angle is within bounds\n",
|
189 | 196 | " return \"Try Straightening Your Arm Somewhat\"\n",
|
190 | 197 | " if working_angle > int(row[2]):\n",
|
191 | 198 | " return \"Try Bending Your Elbow More\"\n",
|
192 | 199 | "\n",
|
193 | 200 | " elif row[0] == 'Wrist Angle':\n",
|
194 |
| - " if ((self.right_elbow.visibility + self.right_wrist.visibility + self.right_thumb.visibility) / 3) > ((self.left_elbow.visibility + self.left_wrist.visibility + self.left_thumb.visibility) / 3):\n", |
| 201 | + " right_vis = (self.right_elbow.visibility + self.right_wrist.visibility + self.right_thumb.visibility) / 3\n", |
| 202 | + " left_vis = (self.left_elbow.visibility + self.left_wrist.visibility + self.left_thumb.visibility) / 3\n", |
| 203 | + " if right_vis > left_vis:\n", |
| 204 | + " if right_vis < self.threshold:\n", |
| 205 | + " return \"Right Wrist Isn't Visible\"\n", |
195 | 206 | " working_angle = self.angle(self.right_elbow, self.right_wrist, self.right_thumb)\n",
|
196 | 207 | " else:\n",
|
| 208 | + " if left_vis < self.threshold:\n", |
| 209 | + " return \"Left Wrist Isn't Visible\"\n", |
197 | 210 | " working_angle = self.angle(self.left_elbow, self.left_wrist, self.left_thumb)\n",
|
| 211 | + "\n", |
198 | 212 | " if working_angle < int(row[1]):\n",
|
199 | 213 | " return \"Try Straightening Your Wrist Somewhat\"\n",
|
200 | 214 | " if working_angle > int(row[2]):\n",
|
201 | 215 | " return \"Try Bending Your Wrist More\"\n",
|
202 | 216 | "\n",
|
203 | 217 | "\n",
|
204 | 218 | " elif row[0] == 'Hip Angle':\n",
|
205 |
| - " if ((self.right_shoulder.visibility + self.right_hip.visibility + self.right_knee.visibility) / 3) > ((self.left_shoulder.visibility + self.left_hip.visibility + self.left_knee.visibility) / 3):\n", |
| 219 | + " right_vis = (self.right_shoulder.visibility + self.right_hip.visibility + self.right_knee.visibility) / 3\n", |
| 220 | + " left_vis = (self.left_shoulder.visibility + self.left_hip.visibility + self.left_knee.visibility) / 3\n", |
| 221 | + " if right_vis > left_vis:\n", |
| 222 | + " if right_vis < self.threshold:\n", |
| 223 | + " return \"Right Side of Body Isn't Visible\"\n", |
206 | 224 | " working_angle = self.angle(self.right_shoulder, self.right_hip, self.right_knee)\n",
|
207 | 225 | " else:\n",
|
| 226 | + " if left_vis < self.threshold:\n", |
| 227 | + " return \"Left Side of Body Isn't Visible\"\n", |
208 | 228 | " working_angle = self.angle(self.left_shoulder, self.left_hip, self.left_knee)\n",
|
| 229 | + "\n", |
209 | 230 | " if working_angle < int(row[1]):\n",
|
210 | 231 | " return \"Try Straightening Your Hip Somewhat\"\n",
|
211 | 232 | " if working_angle > int(row[2]):\n",
|
212 | 233 | " return \"Try Bending Over More\"\n",
|
213 | 234 | "\n",
|
214 | 235 | " elif row[0] == 'Arms by Side':\n",
|
215 |
| - " if ((self.right_elbow.visibility + self.right_shoulder.visibility + self.right_hip.visibility) / 3) > ((self.left_elbow.visibility + self.left_shoulder.visibility + self.left_hip.visibility) / 3):\n", |
| 236 | + " right_vis = (self.right_elbow.visibility + self.right_shoulder.visibility + self.right_hip.visibility) / 3\n", |
| 237 | + " left_vis = (self.left_elbow.visibility + self.left_shoulder.visibility + self.left_hip.visibility) / 3\n", |
| 238 | + " if right_vis > left_vis:\n", |
| 239 | + " if right_vis < self.threshold:\n", |
| 240 | + " return \"Right Arm and Hip Isn't Visible\"\n", |
216 | 241 | " working_angle = self.angle(self.right_elbow, self.right_shoulder, self.right_hip)\n",
|
217 | 242 | " else:\n",
|
| 243 | + " if left_vis < self.threshold:\n", |
| 244 | + " return \"Left Arm and Hip Isn't Visible\"\n", |
218 | 245 | " working_angle = self.angle(self.left_elbow, self.left_shoulder, self.left_hip)\n",
|
| 246 | + "\n", |
219 | 247 | " if working_angle < int(row[1]):\n",
|
220 | 248 | " return \"Try Spreading Your Arms Out More\"\n",
|
221 | 249 | " if working_angle > int(row[2]):\n",
|
222 | 250 | " return \"Try Bringing Your Arms Somewhat Closer To Your Body\"\n",
|
223 | 251 | "\n",
|
224 | 252 | " elif row[0] == 'Leg':\n",
|
225 |
| - " if ((self.right_hip.visibility + self.right_knee.visibility + self.right_ankle.visibility) / 3) > ((self.left_hip.visibility + self.left_knee.visibility + self.left_ankle.visibility) / 3):\n", |
| 253 | + " right_vis = (self.right_hip.visibility + self.right_knee.visibility + self.right_ankle.visibility) / 3\n", |
| 254 | + " left_vis = (self.left_hip.visibility + self.left_knee.visibility + self.left_ankle.visibility) / 3\n", |
| 255 | + " if right_vis > left_vis:\n", |
| 256 | + " if right_vis < self.threshold:\n", |
| 257 | + " return \"Right Leg Isn't Visible\"\n", |
226 | 258 | " working_angle = self.angle(self.right_hip, self.right_knee, self.right_ankle)\n",
|
227 | 259 | " else:\n",
|
| 260 | + " if left_vis < self.threshold:\n", |
| 261 | + " return \"Left Leg Isn't Visible\"\n", |
228 | 262 | " working_angle = self.angle(self.left_hip, self.left_knee, self.left_ankle)\n",
|
| 263 | + "\n", |
229 | 264 | " if working_angle < int(row[1]):\n",
|
230 | 265 | " return \"Try Straightening Your Legs More\"\n",
|
231 | 266 | " if working_angle > int(row[2]):\n",
|
232 | 267 | " return \"Try Bending Your Legs More\"\n",
|
233 | 268 | "\n",
|
234 | 269 | " elif row[0] == 'Calf':\n",
|
235 |
| - " if ((self.right_ankle.visibility + self.right_heel.visibility + self.right_foot_index.visibility) / 3) > ((self.left_ankle.visibility + self.left_heel.visibility + self.left_foot_index.visibility) / 3):\n", |
| 270 | + " right_vis = (self.right_ankle.visibility + self.right_heel.visibility + self.right_foot_index.visibility) / 3\n", |
| 271 | + " left_vis = (self.left_ankle.visibility + self.left_heel.visibility + self.left_foot_index.visibility) / 3\n", |
| 272 | + " if right_vis > left_vis:\n", |
| 273 | + " if right_vis < self.threshold:\n", |
| 274 | + " return \"Right Foot Isn't Visible\"\n", |
236 | 275 | " working_angle = self.angle(self.right_ankle, self.right_heel, self.right_foot_index)\n",
|
237 | 276 | " else:\n",
|
| 277 | + " if left_vis < self.threshold:\n", |
| 278 | + " return \"Left Foot Isn't Visible\"\n", |
238 | 279 | " working_angle = self.angle(self.left_ankle, self.left_heel, self.left_foot_index)\n",
|
| 280 | + "\n", |
239 | 281 | " if working_angle < int(row[1]):\n",
|
240 | 282 | " return \"Try Pointing Your Feet More (Tiptoe position)\"\n",
|
241 | 283 | " if working_angle > int(row[2]):\n",
|
|
246 | 288 | "metadata": {
|
247 | 289 | "id": "RHyJwan8acCz"
|
248 | 290 | },
|
249 |
| - "execution_count": 9, |
| 291 | + "execution_count": 11, |
250 | 292 | "outputs": []
|
251 | 293 | },
|
252 | 294 | {
|
|
0 commit comments