| # Disclaimer: | |
| # Script for internal use. We might make continuous changess on it and we will not answer questions about it. | |
| # Full usage description: | |
| # Step 1 - Getting JSON output | |
| # Running it: | |
| # Run it from OpenPose main folder with the following command: | |
| # clear && clear && make all -j`nproc` && bash ./scripts/tests/hand_accuracy_test.sh | |
| # Image paths: | |
| # Read that script for details about all the paths and change them for your own paths. | |
| # Careful: | |
| # If you are using the NAS, please do not override my files, i.e., please change the output paths (corresponding to the ones indicated by `--write_json`, which is ). | |
| # In order to generate the JSON output: | |
| # Uncomment the commented lines starting by `--write_json` and `--display 0` | |
| # Step 2 - Running JSON output to get accuracy | |
| # Once you have the JSON files, run them with the script Tomas prepared for it, which in my case I use: | |
| # From Matlab, `cd /media/posefs3b/Users/gines/openpose_train/dataset/hand_testing` | |
| # Run `b_keypointJsonToMatAndImage` to generate your new file (you can run the current code to try it, I commented everything but test 1) | |
| # Run `c_plot_save_results` to plot and save the results. Just modify `models` and `texts` with your new model path and desired name. | |
| # Clear terminal screen | |
| clear && clear | |
| # Fix paths | |
| HAND_TESTING_FOLDER="/media/posefs3b/Users/gines/openpose_train/dataset/hand_testing/" | |
| IMAGES_FOLDER=${HAND_TESTING_FOLDER}"0_images/" | |
| IMAGES_BB_FOLDER=${HAND_TESTING_FOLDER}"3_images_bounding_box" | |
| HAND_GROUND_TRUTH_FOLDER=${HAND_TESTING_FOLDER}"4_hand_detections" | |
| PEOPLE_JSON_FOLDER=${HAND_TESTING_FOLDER}"5_keypointJson/" | |
| # Variable paths | |
| SCALES=6 | |
| SUFFIX="_${SCALES}" | |
| HAND_RESULTS_FOLDER_BASE=${PEOPLE_JSON_FOLDER}"hand_keypoints_estimated" | |
| HAND_RESULTS_FOLDER_NO_BB=${HAND_RESULTS_FOLDER_BASE}"_old"${SUFFIX} | |
| HAND_RESULTS_FOLDER_BB=${HAND_RESULTS_FOLDER_BASE}"_BBox"${SUFFIX} | |
| HAND_RESULTS_FOLDER_BODY_65=${HAND_RESULTS_FOLDER_BASE}"_BODY_65" | |
| # Given bounding box | |
| echo "Output on ${HAND_RESULTS_FOLDER_BB}" | |
| rm -rf $HAND_RESULTS_FOLDER_BB | |
| # 1 scale | |
| ./build/examples/tests/handFromJsonTest.bin \ | |
| --hand_scale_number ${SCALES} --hand_scale_range 0.4 \ | |
| --image_dir ${IMAGES_BB_FOLDER} \ | |
| --hand_ground_truth ${HAND_GROUND_TRUTH_FOLDER} \ | |
| --write_json $HAND_RESULTS_FOLDER_BB \ | |
| --display 0 | |
| # No bounding box | |
| echo "Output on ${HAND_RESULTS_FOLDER_NO_BB}" | |
| rm -rf $HAND_RESULTS_FOLDER_NO_BB | |
| # 1 scale | |
| ./build/examples/openpose/openpose.bin \ | |
| --hand \ | |
| --hand_scale_number ${SCALES} --hand_scale_range 0.4 \ | |
| --image_dir ${IMAGES_FOLDER} \ | |
| --write_json $HAND_RESULTS_FOLDER_NO_BB \ | |
| --display 0 | |