Some code speedups.

This commit is contained in:
Daniel
2025-01-17 18:02:17 +01:00
parent 99368e5216
commit 97ea039f7d
4 changed files with 49 additions and 56 deletions

View File

@ -27,6 +27,7 @@ img_input_topic = "/" + cam_id + "/pylon_ros2_camera_node/image_raw"
pose_out_topic = "/poses/" + cam_id
last_input_image = None
last_input_time = 0.0
kpt_model = None
joint_names_2d = test_triangulate.joint_names_2d
@ -43,7 +44,7 @@ batch_poses = False
def callback_images(image_data):
global last_input_image, lock
global last_input_image, last_input_time, lock
# Convert into cv images from image string
if image_data.encoding == "bayer_rggb8":
@ -59,29 +60,31 @@ def callback_images(image_data):
time_stamp = image_data.header.stamp.sec + image_data.header.stamp.nanosec / 1.0e9
with lock:
last_input_image = (bayer_image, time_stamp)
last_input_image = bayer_image
last_input_time = time_stamp
# ==================================================================================================
def callback_model():
global last_input_image, kpt_model, lock
global last_input_image, last_input_time, kpt_model, lock
ptime = time.time()
if last_input_image is None:
time.sleep(0.001)
if last_input_time == 0.0:
time.sleep(0.0001)
return
# Collect inputs
images_2d = []
timestamps = []
with lock:
img = np.copy(last_input_image[0])
ts = last_input_image[1]
img = last_input_image
ts = last_input_time
images_2d.append(img)
timestamps.append(ts)
last_input_image = None
last_input_time = 0.0
# Predict 2D poses
images_2d = [test_triangulate.bayer2rgb(img) for img in images_2d]