Hi there,
I'm currently working on deploying my custom pose classification model on OAK-D Lite, and I have a question regarding the integration of my custom model node with another node. Specifically, I want to know how I can check whether the node I created can access the data it needs to process. Is there a way to verify that the node is correctly receiving the data it needs?
I am integrating the pose classification model with the depthai_blazepose pose detection and pose landmark model.
Additionally, I have a question about the output that I'm seeing when running the code. Could you help me understand what the output means?
[1844301021598C1200] [1.2] [2.222] [NeuralNetwork(10)] [warning] The issued warnings are orientative, based on optimal settings for a single network, if multiple networks are running in parallel the optimal settings may vary
[1844301021598C1200] [1.2] [2.222] [NeuralNetwork(11)] [warning] The issued warnings are orientative, based on optimal settings for a single network, if multiple networks are running in parallel the optimal settings may vary
[1844301021598C1200] [1.2] [2.223] [NeuralNetwork(5)] [warning] The issued warnings are orientative, based on optimal settings for a single network, if multiple networks are running in parallel the optimal settings may vary
[1844301021598C1200] [1.2] [2.223] [NeuralNetwork(6)] [warning] The issued warnings are orientative, based on optimal settings for a single network, if multiple networks are running in parallel the optimal settings may vary
Landmarks [[ 0.3195763 -0.46999952 -0.29101562]
I'd like to share a portion of the code I'm currently working with. As the entire code is quite large, I will only be providing a specific section at this time. If someone requires additional code to aid in debugging, I'm happy to share it as well.
def create_pipeline(self):
print("Creating pipeline...")
# Start defining a pipeline
pipeline = dai.Pipeline()
pipeline.setOpenVINOVersion(dai.OpenVINO.Version.VERSION_2021_4)
print("Creating Pose Classification pre processing image manip...")
pre_pc_manip = pipeline.create(dai.node.ImageManip) # <--- This Node is preprocessing the input images for the custom pose classifier model
pre_pc_manip.setMaxOutputFrameSize(self.pc_input_length*self.pc_input_length*3)
pre_pc_manip.setWaitForConfigInput(True)
pre_pc_manip.inputImage.setQueueSize(1)
pre_pc_manip.inputImage.setBlocking(False)
cam.preview.link(pre_pc_manip.inputImage)
manager_script.outputs['pre_pd_manip_cfg'].link(pre_pd_manip.inputConfig)
# Define manager script node
manager_script = pipeline.create(dai.node.Script)
manager_script.setScript(self.build_manager_script())
print("Creating Landmark Neural Network...")
lm_nn = pipeline.create(dai.node.NeuralNetwork)
lm_nn.setBlobPath(self.lm_model)
# lm_nn.setNumInferenceThreads(1)
divide_nn.out.link(lm_nn.input)
lm_nn.out.link(manager_script.inputs['from_lm_nn'])
# Define Pose Classify model # <--- This Node is the custom pose classifier node that I created
print("Creating Pose Classify Neural Network...")
pc_nn = pipeline.create(dai.node.NeuralNetwork)
pc_nn.setBlobPath(self.pc_model)
lm_nn.out.link(pc_nn.input)
pc_nn.out.link(manager_script.inputs['from_pc_nn'])
print("Pipeline created.")
return pipeline
Thank you for your time and assistance.