google-coral / project-posenet

Human Pose Detection on EdgeTPU
Apache License 2.0
550 stars 156 forks source link

project-posenet and others not working with enterprise-eagle-20200724205123 #45

Closed jjgraham closed 3 years ago

jjgraham commented 3 years ago

We have 32 Coral Dev Boards and most of the demos now fail after flashing enterprise-eagle-20200724205123 because edgetpu https://github.com/google-coral/edgetpu has been branded Legacy and replaced by libedgetpu

mendel@k3s-tpu-09:~/project-posenet$ python3 simple_pose.py Traceback (most recent call last): File "simple_pose.py", line 18, in <module> from pose_engine import PoseEngine File "/home/mendel/project-posenet/pose_engine.py", line 20, in <module> from edgetpu import __version__ as edgetpu_version ModuleNotFoundError: No module named 'edgetpu'

Are there any plans to update the example code soon ? Can i substitute libedgetpu easily ?

Namburger commented 3 years ago

Hello, yes, we're working on a fix for this as our old API was deprecated. For now, please use my fork: https://github.com/Namburger/project-posenet More details here: https://github.com/google-coral/project-posenet/issues/42#issuecomment-738026058

jjgraham commented 3 years ago

Closer ! simple_pose.py works now but pose_camera.py is not happy about the input size ValueError: input size=925444, expected=924963.

mendel@k3s-tpu-04:~/project-posenet$ python3 simple_pose.py Inference time: 19 ms

Pose Score: 0.60673916 KeypointType.NOSE x=210 y=152 score=1.0 KeypointType.LEFT_EYE x=223 y=138 score=1.0 KeypointType.RIGHT_EYE x=199 y=137 score=1.0 KeypointType.LEFT_EAR x=244 y=135 score=1.0 KeypointType.RIGHT_EAR x=183 y=129 score=0.8 KeypointType.LEFT_SHOULDER x=269 y=169 score=0.8 KeypointType.RIGHT_SHOULDER x=160 y=174 score=1.0 KeypointType.LEFT_ELBOW x=281 y=255 score=0.6 KeypointType.RIGHT_ELBOW x=153 y=253 score=0.9 KeypointType.LEFT_WRIST x=237 y=332 score=0.6 KeypointType.RIGHT_WRIST x=163 y=304 score=0.5 KeypointType.LEFT_HIP x=261 y=317 score=0.1 KeypointType.RIGHT_HIP x=173 y=309 score=0.1 KeypointType.LEFT_KNEE x=223 y=339 score=0.3 KeypointType.RIGHT_KNEE x=200 y=342 score=0.3 KeypointType.LEFT_ANKLE x=186 y=407 score=0.1 KeypointType.RIGHT_ANKLE x=188 y=410 score=0.2

Pose Score: 0.54908466 KeypointType.NOSE x=400 y=145 score=1.0 KeypointType.LEFT_EYE x=418 y=129 score=1.0 KeypointType.RIGHT_EYE x=383 y=127 score=1.0 KeypointType.LEFT_EAR x=458 y=110 score=0.9 KeypointType.RIGHT_EAR x=371 y=121 score=0.2 KeypointType.LEFT_SHOULDER x=496 y=168 score=1.0 KeypointType.RIGHT_SHOULDER x=361 y=150 score=0.8 KeypointType.LEFT_ELBOW x=463 y=291 score=1.0 KeypointType.RIGHT_ELBOW x=331 y=245 score=0.8 KeypointType.LEFT_WRIST x=340 y=305 score=0.9 KeypointType.RIGHT_WRIST x=234 y=332 score=0.5 KeypointType.LEFT_HIP x=485 y=312 score=0.1 KeypointType.RIGHT_HIP x=364 y=327 score=0.1 KeypointType.LEFT_KNEE x=470 y=336 score=0.0 KeypointType.RIGHT_KNEE x=245 y=329 score=0.1 KeypointType.LEFT_ANKLE x=444 y=381 score=0.0 KeypointType.RIGHT_ANKLE x=188 y=410 score=0.2

mendel@k3s-tpu-04:~/project-posenet$ python3 pose_camera.py /home/mendel/project-posenet/gstreamer.py:15: PyGIWarning: Gst was imported without specifying a version first. Use gi.require_version('Gst', '1.0') before import to ensure that the right version gets loaded. from gi.repository import GLib, GObject, Gst, GstBase, GstVideo, Gtk /home/mendel/project-posenet/gstreamer.py:15: PyGIWarning: GstBase was imported without specifying a version first. Use gi.require_version('GstBase', '1.0') before import to ensure that the right version gets loaded. from gi.repository import GLib, GObject, Gst, GstBase, GstVideo, Gtk /home/mendel/project-posenet/gstreamer.py:15: PyGIWarning: GstVideo was imported without specifying a version first. Use gi.require_version('GstVideo', '1.0') before import to ensure that the right version gets loaded. from gi.repository import GLib, GObject, Gst, GstBase, GstVideo, Gtk /home/mendel/project-posenet/gstreamer.py:15: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded. from gi.repository import GLib, GObject, Gst, GstBase, GstVideo, Gtk Loading model: models/mobilenet/posenet_mobilenet_v1_075_481_641_quant_decoder_edgetpu.tflite Detected Edge TPU dev board. Gstreamer pipeline: v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480,framerate=30/1 ! decodebin ! glupload ! glvideoflip video-direction=identity ! tee name=t t. ! queue max-size-buffers=1 leaky=downstream ! freezer name=freezer ! glsvgoverlaysink name=overlaysink t. ! queue max-size-buffers=1 leaky=downstream ! glfilterbin filter=glbox name=glbox ! video/x-raw,format=RGB,width=641,height=481 ! appsink name=appsink emit-signals=true max-buffers=1 drop=true

Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner self.run() File "/usr/lib/python3.7/threading.py", line 865, in run self._target(*self._args, **self._kwargs) File "/home/mendel/project-posenet/gstreamer.py", line 180, in inference_loop output = self.inf_callback(input_tensor) File "pose_camera.py", line 148, in run_inference return engine.run_inference(input_tensor) File "/home/mendel/project-posenet/pose_engine.py", line 96, in run_inference edgetpu.run_inference(self._interpreter, input_data) File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 169, in run_inference _check_input_size(memory.size, expected_input_size) File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 141, in _check_input_size input_size, expected_input_size)) ValueError: input size=925444, expected=924963.

BrewLink commented 3 years ago

We have 32 Coral Dev Boards and most of the demos now fail after flashing enterprise-eagle-20200724205123 because edgetpu https://github.com/google-coral/edgetpu has been branded Legacy and replaced by libedgetpu

mendel@k3s-tpu-09:~/project-posenet$ python3 simple_pose.py Traceback (most recent call last): File "simple_pose.py", line 18, in <module> from pose_engine import PoseEngine File "/home/mendel/project-posenet/pose_engine.py", line 20, in <module> from edgetpu import __version__ as edgetpu_version ModuleNotFoundError: No module named 'edgetpu'

Are there any plans to update the example code soon ? Can i substitute libedgetpu easily ?

I doubted. I tried removing pycoral, and adding legacy packages but couldn't resolve dependencies. I tried going back to Day13 version but that also failed in reflashing

BrewLink commented 3 years ago

I ran into this issue with the new repo after running pose_camera.py

oading model: models/mobilenet/posenet_mobilenet_v1_075_481_641_quant_decoder_edgetpu.tflite Detected Edge TPU dev board. Gstreamer pipeline: v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480,framerate=30/1 ! decodebin ! glupload ! glvideoflip video-direction=identity ! tee name=t t. ! queue max-size-buffers=1 leaky=downstream ! freezer name=freezer ! glsvgoverlaysink name=overlaysink t. ! queue max-size-buffers=1 leaky=downstream ! glfilterbin filter=glbox name=glbox ! video/x-raw,format=RGB,width=641,height=481 ! appsink name=appsink emit-signals=true max-buffers=1 drop=true

(pose_camera.py:4175): Gtk-CRITICAL **: 02:29:02.758: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed

(pose_camera.py:4175): Gtk-CRITICAL **: 02:29:02.758: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed

(pose_camera.py:4175): Gtk-CRITICAL **: 02:29:02.758: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed Segmentation fault

BrewLink commented 3 years ago

Closer ! simple_pose.py works now but pose_camera.py is not happy about the input size ValueError: input size=925444, expected=924963.

mendel@k3s-tpu-04:~/project-posenet$ python3 simple_pose.py Inference time: 19 ms

Pose Score: 0.60673916 KeypointType.NOSE x=210 y=152 score=1.0 KeypointType.LEFT_EYE x=223 y=138 score=1.0 KeypointType.RIGHT_EYE x=199 y=137 score=1.0 KeypointType.LEFT_EAR x=244 y=135 score=1.0 KeypointType.RIGHT_EAR x=183 y=129 score=0.8 KeypointType.LEFT_SHOULDER x=269 y=169 score=0.8 KeypointType.RIGHT_SHOULDER x=160 y=174 score=1.0 KeypointType.LEFT_ELBOW x=281 y=255 score=0.6 KeypointType.RIGHT_ELBOW x=153 y=253 score=0.9 KeypointType.LEFT_WRIST x=237 y=332 score=0.6 KeypointType.RIGHT_WRIST x=163 y=304 score=0.5 KeypointType.LEFT_HIP x=261 y=317 score=0.1 KeypointType.RIGHT_HIP x=173 y=309 score=0.1 KeypointType.LEFT_KNEE x=223 y=339 score=0.3 KeypointType.RIGHT_KNEE x=200 y=342 score=0.3 KeypointType.LEFT_ANKLE x=186 y=407 score=0.1 KeypointType.RIGHT_ANKLE x=188 y=410 score=0.2

Pose Score: 0.54908466 KeypointType.NOSE x=400 y=145 score=1.0 KeypointType.LEFT_EYE x=418 y=129 score=1.0 KeypointType.RIGHT_EYE x=383 y=127 score=1.0 KeypointType.LEFT_EAR x=458 y=110 score=0.9 KeypointType.RIGHT_EAR x=371 y=121 score=0.2 KeypointType.LEFT_SHOULDER x=496 y=168 score=1.0 KeypointType.RIGHT_SHOULDER x=361 y=150 score=0.8 KeypointType.LEFT_ELBOW x=463 y=291 score=1.0 KeypointType.RIGHT_ELBOW x=331 y=245 score=0.8 KeypointType.LEFT_WRIST x=340 y=305 score=0.9 KeypointType.RIGHT_WRIST x=234 y=332 score=0.5 KeypointType.LEFT_HIP x=485 y=312 score=0.1 KeypointType.RIGHT_HIP x=364 y=327 score=0.1 KeypointType.LEFT_KNEE x=470 y=336 score=0.0 KeypointType.RIGHT_KNEE x=245 y=329 score=0.1 KeypointType.LEFT_ANKLE x=444 y=381 score=0.0 KeypointType.RIGHT_ANKLE x=188 y=410 score=0.2

mendel@k3s-tpu-04:~/project-posenet$ python3 pose_camera.py /home/mendel/project-posenet/gstreamer.py:15: PyGIWarning: Gst was imported without specifying a version first. Use gi.require_version('Gst', '1.0') before import to ensure that the right version gets loaded. from gi.repository import GLib, GObject, Gst, GstBase, GstVideo, Gtk /home/mendel/project-posenet/gstreamer.py:15: PyGIWarning: GstBase was imported without specifying a version first. Use gi.require_version('GstBase', '1.0') before import to ensure that the right version gets loaded. from gi.repository import GLib, GObject, Gst, GstBase, GstVideo, Gtk /home/mendel/project-posenet/gstreamer.py:15: PyGIWarning: GstVideo was imported without specifying a version first. Use gi.require_version('GstVideo', '1.0') before import to ensure that the right version gets loaded. from gi.repository import GLib, GObject, Gst, GstBase, GstVideo, Gtk /home/mendel/project-posenet/gstreamer.py:15: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded. from gi.repository import GLib, GObject, Gst, GstBase, GstVideo, Gtk Loading model: models/mobilenet/posenet_mobilenet_v1_075_481_641_quant_decoder_edgetpu.tflite Detected Edge TPU dev board. Gstreamer pipeline: v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480,framerate=30/1 ! decodebin ! glupload ! glvideoflip video-direction=identity ! tee name=t t. ! queue max-size-buffers=1 leaky=downstream ! freezer name=freezer ! glsvgoverlaysink name=overlaysink t. ! queue max-size-buffers=1 leaky=downstream ! glfilterbin filter=glbox name=glbox ! video/x-raw,format=RGB,width=641,height=481 ! appsink name=appsink emit-signals=true max-buffers=1 drop=true

Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner self.run() File "/usr/lib/python3.7/threading.py", line 865, in run self._target(*self._args, **self._kwargs) File "/home/mendel/project-posenet/gstreamer.py", line 180, in inference_loop output = self.inf_callback(input_tensor) File "pose_camera.py", line 148, in run_inference return engine.run_inference(input_tensor) File "/home/mendel/project-posenet/pose_engine.py", line 96, in run_inference edgetpu.run_inference(self._interpreter, input_data) File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 169, in run_inference _check_input_size(memory.size, expected_input_size) File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 141, in _check_input_size input_size, expected_input_size)) ValueError: input size=925444, expected=924963.

I got here too after connecting the output:

python3 pose_camera.py /home/mendel/p2/project-posenet/gstreamer.py:15: PyGIWarning: Gst was imported without specifying a version first. Use gi.require_version('Gst', '1.0') before import to ensure that the right version gets loaded. from gi.repository import GLib, GObject, Gst, GstBase, GstVideo, Gtk /home/mendel/p2/project-posenet/gstreamer.py:15: PyGIWarning: GstBase was imported without specifying a version first. Use gi.require_version('GstBase', '1.0') before import to ensure that the right version gets loaded. from gi.repository import GLib, GObject, Gst, GstBase, GstVideo, Gtk /home/mendel/p2/project-posenet/gstreamer.py:15: PyGIWarning: GstVideo was imported without specifying a version first. Use gi.require_version('GstVideo', '1.0') before import to ensure that the right version gets loaded. from gi.repository import GLib, GObject, Gst, GstBase, GstVideo, Gtk /home/mendel/p2/project-posenet/gstreamer.py:15: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded. from gi.repository import GLib, GObject, Gst, GstBase, GstVideo, Gtk Loading model: models/mobilenet/posenet_mobilenet_v1_075_481_641_quant_decoder_edgetpu.tflite Detected Edge TPU dev board. Gstreamer pipeline: v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480,framerate=30/1 ! decodebin ! glupload ! glvideoflip video-direction=identity ! tee name=t t. ! queue max-size-buffers=1 leaky=downstream ! freezer name=freezer ! glsvgoverlaysink name=overlaysink t. ! queue max-size-buffers=1 leaky=downstream ! glfilterbin filter=glbox name=glbox ! video/x-raw,format=RGB,width=641,height=481 ! appsink name=appsink emit-signals=true max-buffers=1 drop=true

Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner self.run() File "/usr/lib/python3.7/threading.py", line 865, in run self._target(*self._args, **self._kwargs) File "/home/mendel/p2/project-posenet/gstreamer.py", line 180, in inference_loop output = self.inf_callback(input_tensor) File "pose_camera.py", line 148, in run_inference return engine.run_inference(input_tensor) File "/home/mendel/p2/project-posenet/pose_engine.py", line 96, in run_inference edgetpu.run_inference(self._interpreter, input_data) File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 169, in run_inference _check_input_size(memory.size, expected_input_size) File "/usr/lib/python3/dist-packages/pycoral/utils/edgetpu.py", line 141, in _check_input_size input_size, expected_input_size)) ValueError: input size=925444, expected=924963.

Namburger commented 3 years ago

Sorry guys, I forgot to push some important changes :) https://github.com/Namburger/project-posenet please do a git pull and try again, I'm traveling the first few days of this week and forgot my tpu at home so I can't really test this, but I'll try to get this repo fixed as soon as I get back!

BrewLink commented 3 years ago

Sorry guys, I forgot to push some important changes :) https://github.com/Namburger/project-posenet please do a git pull and try again, I'm traveling the first few days of this week and forgot my tpu at home so I can't really test this, but I'll try to get this repo fixed as soon as I get back!

It's working now! thank you.

BrewLink commented 3 years ago

Sorry guys, I forgot to push some important changes :) https://github.com/Namburger/project-posenet please do a git pull and try again, I'm traveling the first few days of this week and forgot my tpu at home so I can't really test this, but I'll try to get this repo fixed as soon as I get back!

@Namburger Does the synthesizer.py work for you with the pycoral one?

jjgraham commented 3 years ago

Yes synthesizer.py runs. I need to find some speakers to hear if its working. Any way to get audio to default to HDMI output ?

BrewLink commented 3 years ago

Yes synthesizer.py runs. I need to find some speakers to hear if its working. Any way to get audio to default to HDMI output ?

It also runs for me but I don't hear anything. When it first runs, it does generate some noise but that's about it

hjonnala commented 3 years ago

Closing the issue as examples got updated with pycoral API.