From 9e03533704bbd5364b2e017b7dc8d8f92500e85a Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 14 Oct 2024 16:28:34 +0200 Subject: [PATCH] Renamed project. --- .gitignore | 4 ++-- Dockerfile | 2 +- README.md | 16 ++++++++-------- {spt => rpt}/camera.cpp | 0 {spt => rpt}/camera.hpp | 0 {spt => rpt}/interface.cpp | 0 {spt => rpt}/interface.hpp | 0 {spt => rpt}/triangulator.cpp | 0 {spt => rpt}/triangulator.hpp | 0 run_container.sh | 4 ++-- scripts/test_skelda_dataset.py | 12 ++++++------ scripts/test_triangulate.py | 8 ++++---- swig/Makefile | 8 ++++---- swig/{spt.i => rpt.i} | 10 +++++----- tests/test_interface.py | 24 ++++++++++++------------ 15 files changed, 44 insertions(+), 44 deletions(-) rename {spt => rpt}/camera.cpp (100%) rename {spt => rpt}/camera.hpp (100%) rename {spt => rpt}/interface.cpp (100%) rename {spt => rpt}/interface.hpp (100%) rename {spt => rpt}/triangulator.cpp (100%) rename {spt => rpt}/triangulator.hpp (100%) mode change 100644 => 100755 run_container.sh rename swig/{spt.i => rpt.i} (93%) diff --git a/.gitignore b/.gitignore index 30ec818..7a71247 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ -spt_wrap.* -spt.py +rpt_wrap.* +rpt.py *.bin # Prerequisites diff --git a/Dockerfile b/Dockerfile index 1007af5..2cf6e8e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,5 +45,5 @@ RUN apt-get update && apt-get install -y --no-install-recommends libopencv-dev COPY ./skelda/ /skelda/ RUN pip3 install --no-cache-dir -e /skelda/ -WORKDIR /SimplePoseTriangulation/ +WORKDIR /RapidPoseTriangulation/ CMD ["/bin/bash"] diff --git a/README.md b/README.md index 878bae7..6506675 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# SimplePoseTriangulation +# RapidPoseTriangulation -Triangulation of multiple persons from multiple camera views. +Fast triangulation of multiple persons from multiple camera views.
2D detections @@ -17,25 +17,25 @@ Triangulation of multiple persons from multiple camera views. - Clone this project with submodules: ```bash - git clone --recurse-submodules https://gitlab.com/Percipiote/SimplePoseTriangulation.git - cd SimplePoseTriangulation/ + git clone --recurse-submodules https://gitlab.com/Percipiote/RapidPoseTriangulation.git + cd RapidPoseTriangulation/ ``` - Build docker container: ```bash - docker build --progress=plain -t simpleposetriangulation . + docker build --progress=plain -t rapidposetriangulation . ./run_container.sh ``` - Test with samples: ```bash - python3 /SimplePoseTriangulation/scripts/test_triangulate.py + python3 /RapidPoseTriangulation/scripts/test_triangulate.py ``` - Test with _skelda_ dataset: ```bash export CUDA_VISIBLE_DEVICES=0 - python3 /SimplePoseTriangulation/scripts/test_skelda_dataset.py + python3 /RapidPoseTriangulation/scripts/test_skelda_dataset.py ```
@@ -43,5 +43,5 @@ Triangulation of multiple persons from multiple camera views. ## Debugging ```bash -cd /SimplePoseTriangulation/swig/ && make all && cd ../tests/ && python3 test_interface.py +cd /RapidPoseTriangulation/swig/ && make all && cd ../tests/ && python3 test_interface.py ``` diff --git a/spt/camera.cpp b/rpt/camera.cpp similarity index 100% rename from spt/camera.cpp rename to rpt/camera.cpp diff --git a/spt/camera.hpp b/rpt/camera.hpp similarity index 100% rename from spt/camera.hpp rename to rpt/camera.hpp diff --git a/spt/interface.cpp b/rpt/interface.cpp similarity index 100% rename from spt/interface.cpp rename to rpt/interface.cpp diff --git a/spt/interface.hpp b/rpt/interface.hpp similarity index 100% rename from spt/interface.hpp rename to rpt/interface.hpp diff --git a/spt/triangulator.cpp b/rpt/triangulator.cpp similarity index 100% rename from spt/triangulator.cpp rename to rpt/triangulator.cpp diff --git a/spt/triangulator.hpp b/rpt/triangulator.hpp similarity index 100% rename from spt/triangulator.hpp rename to rpt/triangulator.hpp diff --git a/run_container.sh b/run_container.sh old mode 100644 new mode 100755 index 5b4fb8d..348883b --- a/run_container.sh +++ b/run_container.sh @@ -3,9 +3,9 @@ xhost + docker run --privileged --rm --network host -it \ --gpus all --shm-size=16g --ulimit memlock=-1 --ulimit stack=67108864 \ - --volume "$(pwd)"/:/SimplePoseTriangulation/ \ + --volume "$(pwd)"/:/RapidPoseTriangulation/ \ --volume "$(pwd)"/../datasets/:/datasets/ \ --volume "$(pwd)"/skelda/:/skelda/ \ --volume /tmp/.X11-unix:/tmp/.X11-unix \ --env DISPLAY --env QT_X11_NO_MITSHM=1 \ - simpleposetriangulation + rapidposetriangulation diff --git a/scripts/test_skelda_dataset.py b/scripts/test_skelda_dataset.py index a7faeab..aac2418 100644 --- a/scripts/test_skelda_dataset.py +++ b/scripts/test_skelda_dataset.py @@ -12,8 +12,8 @@ import test_triangulate import utils_2d_pose from skelda import evals, utils_pose -sys.path.append("/SimplePoseTriangulation/swig/") -import spt +sys.path.append("/RapidPoseTriangulation/swig/") +import rpt # ================================================================================================== @@ -100,7 +100,7 @@ if dataset_use.endswith("_wb"): # eval_joints[eval_joints.index("head")] = "nose" eval_joints = list(joint_names_2d) -# output_dir = "/SimplePoseTriangulation/data/testoutput/" +# output_dir = "/RapidPoseTriangulation/data/testoutput/" output_dir = "" # ================================================================================================== @@ -271,7 +271,7 @@ def main(): all_ids = [] all_paths = [] times = [] - triangulator = spt.Triangulator(min_score=minscore, min_group_size=min_group_size) + triangulator = rpt.Triangulator(min_score=minscore, min_group_size=min_group_size) old_scene = "" old_index = -1 for label in tqdm.tqdm(labels): @@ -318,10 +318,10 @@ def main(): if sum(np.sum(p) for p in poses_2d) == 0: poses3D = np.zeros([1, len(joint_names_3d), 4]).tolist() else: - spt_cameras = spt.convert_cameras(label["cameras"]) + rpt_cameras = rpt.convert_cameras(label["cameras"]) roomparams = [label["room_size"], label["room_center"]] poses3D = triangulator.triangulate_poses( - poses_2d, spt_cameras, roomparams, joint_names_2d + poses_2d, rpt_cameras, roomparams, joint_names_2d ) time_3d = time.time() - start diff --git a/scripts/test_triangulate.py b/scripts/test_triangulate.py index a2c4443..01d8ab9 100644 --- a/scripts/test_triangulate.py +++ b/scripts/test_triangulate.py @@ -12,8 +12,8 @@ import numpy as np import utils_2d_pose from skelda import utils_pose, utils_view -sys.path.append("/SimplePoseTriangulation/swig/") -import spt +sys.path.append("/RapidPoseTriangulation/swig/") +import rpt # ================================================================================================== @@ -338,9 +338,9 @@ def main(): poses3D = np.zeros([1, len(joint_names_3d), 4]) poses2D = np.zeros([len(images_2d), 1, len(joint_names_3d), 3]) else: - cameras = spt.convert_cameras(camparams) + cameras = rpt.convert_cameras(camparams) roomp = [roomparams["room_size"], roomparams["room_center"]] - triangulator = spt.Triangulator(min_score=0.95) + triangulator = rpt.Triangulator(min_score=0.95) stime = time.time() poses_3d = triangulator.triangulate_poses( diff --git a/swig/Makefile b/swig/Makefile index 8ae5c14..cea52c3 100644 --- a/swig/Makefile +++ b/swig/Makefile @@ -7,7 +7,7 @@ PYTHONL = -Xlinker -export-dynamic # Default super-target all: - cd ../spt/ && g++ $(FLAGS) -std=c++2a -I/usr/include/opencv4 -c *.cpp ; cd ../swig/ - swig -c++ -python -keyword -o spt_wrap.cxx spt.i - g++ $(FLAGS) $(PYTHONI) -c spt_wrap.cxx -o spt_wrap.o - g++ $(FLAGS) $(PYTHONL) -shared ../spt/*.o spt_wrap.o -lopencv_core -lopencv_imgproc -lopencv_calib3d -o _spt.so + cd ../rpt/ && g++ $(FLAGS) -std=c++2a -I/usr/include/opencv4 -c *.cpp ; cd ../swig/ + swig -c++ -python -keyword -o rpt_wrap.cxx rpt.i + g++ $(FLAGS) $(PYTHONI) -c rpt_wrap.cxx -o rpt_wrap.o + g++ $(FLAGS) $(PYTHONL) -shared ../rpt/*.o rpt_wrap.o -lopencv_core -lopencv_imgproc -lopencv_calib3d -o _rpt.so diff --git a/swig/spt.i b/swig/rpt.i similarity index 93% rename from swig/spt.i rename to swig/rpt.i index ce0f7ef..4bebcbf 100644 --- a/swig/spt.i +++ b/swig/rpt.i @@ -1,8 +1,8 @@ -%module spt +%module rpt %{ // Includes the header in the wrapper code - #include "../spt/camera.hpp" - #include "../spt/interface.hpp" + #include "../rpt/camera.hpp" + #include "../rpt/interface.hpp" %} // Some modules need extra imports beside the main .hpp file @@ -47,8 +47,8 @@ namespace std { #pragma SWIG nowarn=511 // Parse the header file to generate wrappers -%include "../spt/camera.hpp" -%include "../spt/interface.hpp" +%include "../rpt/camera.hpp" +%include "../rpt/interface.hpp" // Add additional Python code to the module %pythoncode %{ diff --git a/tests/test_interface.py b/tests/test_interface.py index 631e47c..c571421 100644 --- a/tests/test_interface.py +++ b/tests/test_interface.py @@ -5,7 +5,7 @@ import time import numpy as np sys.path.append("../swig/") -import spt +import rpt # ================================================================================================== @@ -14,7 +14,7 @@ def main(): print("") # Test camera structure - camera = spt.Camera() + camera = rpt.Camera() camera.name = "Camera 1" camera.K = [[1, 0, 0], [0, 1, 0], [0, 0, 1]] camera.DC = [0, 0, 0, 0, 0] @@ -49,18 +49,18 @@ def main(): "shoulder_middle", "head", ] - cpath = "/SimplePoseTriangulation/data/h1/sample.json" - ppath = "/SimplePoseTriangulation/tests/poses_h1.json" + cpath = "/RapidPoseTriangulation/data/h1/sample.json" + ppath = "/RapidPoseTriangulation/tests/poses_h1.json" with open(cpath, "r") as file: cdata = json.load(file) with open(ppath, "r") as file: pdata = json.load(file) cams = cdata["cameras"] poses_2d = pdata["2D"] - cameras = spt.convert_cameras(cams) + cameras = rpt.convert_cameras(cams) # Run triangulation - triangulator = spt.Triangulator(min_score=0.95) + triangulator = rpt.Triangulator(min_score=0.95) stime = time.time() poses_3d = triangulator.triangulate_poses( poses_2d, cameras, roomparams, joint_names @@ -71,15 +71,15 @@ def main(): # Load input data roomparams = [[5.6, 6.4, 2.4], [0, -0.5, 1.2]] - cpath = "/SimplePoseTriangulation/data/p1/sample.json" - ppath = "/SimplePoseTriangulation/tests/poses_p1.json" + cpath = "/RapidPoseTriangulation/data/p1/sample.json" + ppath = "/RapidPoseTriangulation/tests/poses_p1.json" with open(cpath, "r") as file: cdata = json.load(file) with open(ppath, "r") as file: pdata = json.load(file) cams = cdata["cameras"] poses_2d = pdata["2D"] - cameras = spt.convert_cameras(cams) + cameras = rpt.convert_cameras(cams) # Run triangulation triangulator.reset() @@ -102,15 +102,15 @@ def main(): # Load input data roomparams = [[6.0, 5.0, 2.0], [1.5, 1.0, -0.5]] - cpath = "/SimplePoseTriangulation/data/e1/sample.json" - ppath = "/SimplePoseTriangulation/tests/poses_e1.json" + cpath = "/RapidPoseTriangulation/data/e1/sample.json" + ppath = "/RapidPoseTriangulation/tests/poses_e1.json" with open(cpath, "r") as file: cdata = json.load(file) with open(ppath, "r") as file: pdata = json.load(file) cams = cdata["cameras"] poses_2d = pdata["2D"] - cameras = spt.convert_cameras(cams) + cameras = rpt.convert_cameras(cams) # Run triangulation triangulator.reset()