nathanrooy / rpi-urban-mobility-tracker

The easiest way to count pedestrians, cyclists, and vehicles on edge computing devices or live video feeds.
GNU General Public License v3.0
121 stars 37 forks source link

umt -camera fails/returns error for 'images:0' does not exist #9

Closed SRGWML closed 3 years ago

SRGWML commented 4 years ago

UMT installations, using the verbatim instructions and a "modified" instruction set for updated tensorflow, result in the inability to process the camera feed.

The results of the command "umt -camera" are below with no difference in root or user "pi" being used, nor the two different installations.

Any guidance to what to do? Is this related to the inability to install libhdf5-100 and libhdf5-103 having to be used instead?

Output from "umt-camera":

Traceback (most recent call last): File "/home/pi/venv_umt/bin/umt", line 5, in <module> from umt.umt_main import main File "/home/pi/venv_umt/lib/python3.7/site-packages/umt/umt_main.py", line 16, in <module> from umt.umt_utils import parse_label_map File "/home/pi/venv_umt/lib/python3.7/site-packages/umt/umt_utils.py", line 25, in <module> encoder = gd.create_box_encoder(w_path, batch_size=1) File "/home/pi/venv_umt/lib/python3.7/site-packages/umt/deep_sort/generate_detections.py", line 100, in create_box_encoder image_encoder = ImageEncoder(model_filename, input_name, output_name) File "/home/pi/venv_umt/lib/python3.7/site-packages/umt/deep_sort/generate_detections.py", line 81, in __init__ "%s:0" % input_name) File "/home/pi/venv_umt/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py", line 3786, in get_tensor_by_name return self.as_graph_element(name, allow_tensor=True, allow_operation=False) File "/home/pi/venv_umt/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py", line 3610, in as_graph_element return self._as_graph_element_locked(obj, allow_tensor, allow_operation) File "/home/pi/venv_umt/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py", line 3652, in _as_graph_element_locked "graph." % (repr(name), repr(op_name))) KeyError: "The name 'images:0' refers to a Tensor which does not exist. The operation, 'images', does not exist in the graph."

nathanrooy commented 4 years ago

Yes, this is a byproduct of using the newer DeepSort algorithm on an RPI. I'm currently working on a fix. I would recommend pulling from an earlier time before SORT was upgraded to DeepSort: https://github.com/nathanrooy/rpi-urban-mobility-tracker/tree/48172ccb050c0f64289526e4063aa431aca602d4

mlopezgez commented 4 years ago

Change "%s:0" to "net/%s:0" in both 81 & 83 lines in umt/deep_sort/generate_detections.py

nathanrooy commented 4 years ago

Thanks @mlopezgez, I just merged a PR with your recommended fix.