I would like to load a person detector once, use it on one clip and then reuse the model on another clip (based on the MultiCameraTracker demo).
When I try to do this I get an error :
ie_api.pyx in openvino.inference_engine.ie_api.ExecutableNetwork.start_async() ValueError: Incorrect request_id specified!
I created a python notebook that recreates the problem. Attached.
Thank you for reaching out to us. I assume that the error is triggered possibly due to request_id is holding information from the previous clip. Try resetting the demo before attempting to execute it on a new clip.
Thanks, but this is exactly my question.
object_detector = multi_camera_multi_target_tracking.Detector(ie, detector,config['obj_det']['trg_classes'],t_detector,detector_device, cpu_extension,1)
If this is the object detector - this is where the model is loaded. I want to be do this once. How do I reset this object for a different clip (run)?
Thank you for your patience. The 'Multi-Camera Multi-Target Tracking' sample is not designed for reusing the same object_detector variable with different videos.
In order to make your Jupyter Notebook sample code work, you could just reinitialize the 'object_detector' before calling out the 'my_run' function for the second time. So the last section of the code would look like this:
capture = multi_camera_multi_target_tracking.MulticamCapture([clip_name]) object_detector = multi_camera_multi_target_tracking.Detector(ie, detector,config['obj_det']['trg_classes'],t_detector,detector_device, cpu_extension,1) my_run(params, config, capture, object_detector, object_recognizer)
Thanks you for your answer.
Could you explain the design issues about the problem of reusing the same object (that is missing in the sample)? Some documentation? What would I need to change? A snippet?
Is this the same for any model that uses IECore?
I know I could reload the model again and rerun but that is exactly what I wish to prevent.