-
Notifications
You must be signed in to change notification settings - Fork 84
Merge Gui into main #180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Merge Gui into main #180
Conversation
* compute height * revert * height for LSTm * debug_1 * moved backend and device selection out of main function * Handle case where Hip marker is missing (Coco, body_25b, mediapipe) * fix_1 * fixed error, but not multi-person(pytest) * remove test * Fix error caused by stationary person in multi-person detection by decreasing close_to_zero_speed_m. * parameters from markerAugmentation * Modify Hip calculation * Fix length mismatch * Move functions and other few changes * 'auto' for scaling * Increased pro-sup rom * cut_off_frequency as an argument * improved the gait events clean-up to make sure the occasional spikes are ignored, and that it still works for gait when there is no flight phase * round fps to an integer as it sometimes leads to errors in VideoWriter * more informative message error in best_coords_for_measurementswhen not moving or badly detected * Removed Lai-Uhlrich shoulder definition in LSTM model, released wrist flexion range, corrected Config typo * forgot this one * removed LSTM shoulder coordinate tasks * main person -> person with lowest reprojection error * - Default names for Halpe_26, coco_133, coco_17: body_with_feet, whole_body, body - Optional manual selection of backend and device * test CI fix * fixed latest issue: fallback to original data if Q_coords_low_speeds_low_angles is empty, and sync does not work in multiperson if all keypoints are used (on our Demo data) * disable display_detection on Config Batch * More info on pose estimation * solved edge cases for automatic height calculation, and Reorganizing files for Sports2D consistency * custom logging if needed * custom logging if needed * fixed issue when subject_height not 'auto' * solve issue with custom_logging * changed get_selected_id_list function name to select_person * stupid mistake * fixed other stupid mistake, sorry * Any person detection and/or pose estimation model can now be used + many other changes * custom rtmlib version until pull request is accepted * Kinematics now works with Coco17 model (not marker augmentation) * Updated readme with custom pose estimation * Rename some functions + minor edits in Readme * edit readme * Support drawing skeleton of custom model * Support drawing skeleton of custom model * custom output path when called within Python * proceeds video files in alphabatical order * sports2D skeleton by default (color of bounding box different per person, keypoint color function of confidence) * fixed last push * Implemented DeepSort tracking + Sped up calibration (LU rather than SVD decomposition, thanks @ANaaim) * fixed previous commit * Fixed previous commit * Fixed previous commit * Another stupid mistake * a * deepsort requires torch. Rather than making it a default dependency, tested by installing it in CI script * Update continuous-integration.yml * embedder None to avoid torch torchvision dependency * OpenSim cannot be installed on MacOS-latest with Python<3.10 anymore * Installs conda and OpenSim for IK * remove "Mouth21" (#159) * Kinematics with contact spheres and muscles by default + separated markersets to model files * replaced image with contact spheres and muscles * Kinematics with contact spheres and muscles by default + separated markerset from model files * update * Fixed model with muscles and contact spheres * fixed model with muscles * Handle approx_time_maxspeed specified once (#160) handle the case where the approx_time_maxspeed is only specified once for multiple cameras, add a log to warn when the synch frame range goes out of the pose frame range and check if there's enough sample for filtering * Fixed clicking board for extrinsics issue * frame_range was wrong on the pose estimation pbar * minor typos * fixed body_25 markers * larger RoM for wrist and body_25 fix * Removed qt5agg matplotlib backend * bump to v0.10.10 * Clamped arm dofs (for Sports2D) * bumped to v0.10.12 * rolled back to former joint limits, fixed head and lumbar vertebraes scaling, fixed global mass given once, let user use non rtmlib models * PR for User Interface of Synchronization * revert AurelienCoppee's commit and change multi_person logic * clamped ankle angles * New pipeline New pipeline unvisible for the user but will allow future structural rework * fix * fix * fix * fix * fix * Fixed person ID not passed + various small edits * synchronization_gui=true by default in multiperson cases * bump to v0.10.14 * Update synchronization instructions * Increased image width * Added Discord badge * Edited discord link * Discord badge * Add files via upload * Add files via upload * Add files via upload * Add files via upload * Delete GUI/tutorial/tutorial_step1.mp4 * Delete GUI/tutorial/tutorial_step2.mp4 * Delete GUI/tutorial/tutorial_step3.mp4 * Delete GUI/tutorial/tutorial_step4.mp4 * Add files via upload Beta version of GUI --------- Co-authored-by: HunMinKim <[email protected]> Co-authored-by: davidpagnon <[email protected]> Co-authored-by: HunMinKim <[email protected]> Co-authored-by: Laizo <[email protected]>
|
Thanks Yacine for this great work! What I did:
|
|
My suggestions, now. I did not reread it, so feel free to tell me if anything is unclear! My suggestions: General:
Tutorial:
Calibration:
Prepare videos:
Data visualization:
Not sure how to go about it, but it would be nice to integrate Mstudio, too |
|
I made a first attempt at making a one-click install. I haven't fully tested it yet, but basically, here is what I want:
However:
|
- Reproject hidden points too - Confirmation window after each labeled image Added "requests" package to requirements
- added an option to calibrate with a vertical checkerboard - save images with reprojected points Fixed edge cases: - handles trimmed_mean function failure (when computing height and scaling) - fixed frame range issues in pose estimation, triangulation, filtering, marker augmentation - handled cases when no videos found for synchronization GUI and fps determination
|
Calibration:
Fixed edge cases:
|
* add auto mode / found some bugs * some improvements * improvements2
* Add files via upload * Add files via upload * Add files via upload * Add files via upload * Delete GUI/tutorial/tutorial_step1.mp4 * Delete GUI/tutorial/tutorial_step2.mp4 * Delete GUI/tutorial/tutorial_step3.mp4 * Delete GUI/tutorial/tutorial_step4.mp4 * Add files via upload Beta version of GUI * little typo * CoM calculation within bodykin_from_mot_osim (#184) * Added in a function very similar to compute_height that calculates leg length (total shank and thigh distance) that could be used for gait analysis * Add in capability to calculate, export, and save CoM pos and vel for a given .mot file * Update calibration.py - Reproject hidden points too - Confirmation window after each labeled image * Little bug fix in calibration * Fix but when click out of axis (calibration) * Calibration: - added an option to calibrate with a vertical checkerboard - save images with reprojected points Fixed edge cases: - handles trimmed_mean function failure (when computing height and scaling) - fixed frame range issues in pose estimation, triangulation, filtering, marker augmentation - handled cases when no videos found for synchronization GUI and fps determination * Works if no left side to be swapped with (Single hand, for example) * New Demo video * fixed trc_gaitevents.py * Reorganized presentation * try releasing constraints on numpy and lxml versions and CI up to python 3.12 * opensim not supported on macos amd x64 beyond python 3.11 * Fixed CI * Fixed wrong column switch * typo fix * `use_simple_model` to make IK 10 times + faster * Modification of Markers_Halpe26.xml. Initialy Right and Left Ankle ma… (#189) * Modification of Markers_Halpe26.xml. Initialy Right and Left Ankle markers were to high and generate too high ankle flexion. The markers are now positionned in between each malleoles. This has been done qualitatively. Next step is to optimize each markers position by comparing markers-based and markerless analysis on the same set of experiments * propagated the ankle marker position fix to other markersets * removed accidentally added folder * removed accidentally added installer draft --------- Co-authored-by: David PAGNON <[email protected]> * Update README.md * synchronization on RWrist by default instead of 'all' * fixed synchronization_gui on Demo single person by using sort_people_sports2d * clearer comments * more flexible kinematic model + handling different regional decimal separators + Section on how to run faster inference in Readme * Edited format for clarity * more accurate explanation of det_frequency and removed a duplicate section * fixed head center of mass and geometries * more flexible method for finding the best valid chunk of data to triangulate * chunk_choice_method='all' instead of 'largest' * correct image ratio in pose detection and added sections_to_keep argument * conda install no longer optional with OpenSim * fix error when chunk_choice_method is not defined * Fix calibration conversion with some vicon files * Better fix of Vicon calibration by @hariouat: ISDV=0 for optical cameras * fix head marker positions * many filter improvements - Added optional Hampel filter for outlier rejection (before other filtering methods) - Added GCV spline filter. Automatically determines optimal parameters for each point, which is good when some move faster than others (e.g., fingers vs hips). Can be unstable, so use with caution. User can make it biased towards more smoothing (>1) or more fidelity to data (<1) by adjusting the smoothing_factor. Acts as a Butterworth filter if cut_off_frequency is set. - Fixed Kalman filter. Simplified version, the user says how much more they trust triangulation results (measurements), than the assumption of constant acceleration(process)? * back compatibility LOESS vs loess * fix last filtering issues and backcompatibility * no display for CI tests to run * fixed head marker placements * Handle RTMO if pose_model is not 'body' * automatic filtering parameters should work * Handle OpenMMLab's expired certificates * fixed gcv filtering (careful if series too short: noise can be considered as signal -> no filtering) * added hat_spine.vtp to Geometries * Fixed eye marker positions * Back to the previous way for vicon calibration * Limits cv2 version, otherwise forces numpy>=2 which is incompatible with some OpenSim versions * LPinky marker position should be set to fixed=true, like all others * Fixed sorting errors due to overlapping skeletons (implemented NMS at the pose level) * calib pts always on top + save sync and filt plots * fixed Qt call in headless run in Ubuntu * fix test.py * Fix print np.float64(3.0) rather than 3.0 in np>=2.0 * fixed numpy print error and error message when videos not found * Various changes, in particular in the triangulation and calibration stages * tentative pip install pose2sim before conda install opensim * constrained numpy version depending on python version * intrinsics: use videos instead of photos * Update Config.toml * Conflits fixed, GUI-ready to use, website ready * Delete templates directory Included in GUI --------- Co-authored-by: David PAGNON <[email protected]> Co-authored-by: Josh Carter <[email protected]> Co-authored-by: Gilles <[email protected]> Co-authored-by: yacine1007 <[email protected]>
…oading, merged two windows, uniformized layout
…p_model_class_mode function

Merge Gui branch (@AYLARDJ) into main