• DepthAICommunity
  • Way to verify whether custom NeuralNetwork Node is able receive and access data

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.

  • erik replied to this.

    Hi Team,
    Looking for a resolution. Kindly help.

    Hi rb210002 ,

    1. I'd suggest using Depthai PIpeline Graph tool, and the newest version will also show you FPS, which can be used to confirm operations.
    2. Regarding warnings - warning were saying something with optimal SHAVE cores, which is just a suggestion, so you can disregard the warning.

    Thanks, Erik

      Hi erik, sorry for responding late. I want to give you an update I have tried creating the pipeline graph using the Depthai Pipeline graph tool, however, I am encountering an error "Something went wrong, the schema could not be extracted".

      Let's continue the conversation on the other thread