homuler / MediaPipeUnityPlugin

Unity plugin to run MediaPipe
MIT License
1.84k stars 468 forks source link

Error during make step #8

Closed ashrvstv closed 4 years ago

ashrvstv commented 4 years ago

getting the following error

cp .build/protobuf-3.13.0/csharp/src/Google.Protobuf/bin/Release/net45/* Assets/Mediapipe/SDK/Plugins/Protobuf
cp: cannot stat '.build/protobuf-3.13.0/csharp/src/Google.Protobuf/bin/Release/net45/*': No such file or directory
Makefile:55: recipe for target 'install-protobuf' failed
make: *** [install-protobuf] Error 1

Steps to reproduce : step 1 - git clone https://github.com/homuler/MediapipeUnityPlugin.git step 2 - cd MediapipeUnityPlugin step 3 - make install

Prerequisites - already satisfied 1- mediapipe is installed 2- opencv version 3.4.10-pre installed 3- protocol compiler version libprotoc 3.0.0 installed

homuler commented 4 years ago

Please run make before make install.

ashrvstv commented 4 years ago

@homuler running make gives the following error

mkdir -p .build
curl -L https://github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz -o .build/protobuf-3.13.0.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   133  100   133    0     0    203      0 --:--:-- --:--:-- --:--:--   203
100 5154k    0 5154k    0     0  1333k      0 --:--:--  0:00:03 --:--:-- 1757k
tar xf .build/protobuf-3.13.0.tar.gz -C .build
./.build/protobuf-3.13.0/csharp/buildall.sh
+ echo Building relevant projects.
Building relevant projects.
+ dotnet restore ./.build/protobuf-3.13.0/csharp/src/Google.Protobuf.sln
./.build/protobuf-3.13.0/csharp/buildall.sh: line 9: dotnet: command not found
Makefile:43: recipe for target '.build/protobuf-3.13.0/csharp/src/Google.Protobuf/bin/Release/net45/Google.Protobuf.dll' failed
make: *** [.build/protobuf-3.13.0/csharp/src/Google.Protobuf/bin/Release/net45/Google.Protobuf.dll] Error 127
homuler commented 4 years ago

To build Google.Protobuf.dll, dotnet command is required (cf. https://github.com/homuler/MediapipeUnityPlugin#protocol-buffer). Please install .NET Core SDK(3.x) and .NET Core runtime 2.1.

ashishkrshrivastava commented 4 years ago

@homuler I have already installed using

sudo snap install dotnet-sdk --classic
sudo snap install dotnet-runtime-31
homuler commented 4 years ago

Please make sure that you can run dotnet --version. Below issue may be related. https://askubuntu.com/questions/1131867/dotnet-command-not-found-after-installing-using-snap

ashrvstv commented 4 years ago

Thanks @homuler that worked but now i am facing this error

cp .build/protobuf-3.13.0/csharp/src/Google.Protobuf/bin/Release/net45/* Assets/Mediapipe/SDK/Plugins/Protobuf
cp -f C/bazel-bin/mediapipe_api/libmediapipe_c.so Assets/Mediapipe/SDK/Plugins
cp: cannot stat 'C/bazel-bin/mediapipe_api/libmediapipe_c.so': No such file or directory
Makefile:58: recipe for target 'install-mediapipe_c' failed
make: *** [install-mediapipe_c] Error 1

Mediapipe examples are already working on my system

homuler commented 4 years ago

Please copy and paste the log when you run make.

ashrvstv commented 4 years ago

Thankyou so much @homuler . it worked on make install command

~/MediapipeUnityPlugin$ make install

output on terminal

cp .build/protobuf-3.13.0/csharp/src/Google.Protobuf/bin/Release/net45/* Assets/Mediapipe/SDK/Plugins/Protobuf
cp -f C/bazel-bin/mediapipe_api/libmediapipe_c.so Assets/Mediapipe/SDK/Plugins
unzip C/bazel-bin/mediapipe_api/mediapipe_models.zip -d Assets/Mediapipe/SDK/Models
Archive:  C/bazel-bin/mediapipe_api/mediapipe_models.zip
  inflating: Assets/Mediapipe/SDK/Models/face_detection_front.tflite  
  inflating: Assets/Mediapipe/SDK/Models/face_detection_front_labelmap.txt  
  inflating: Assets/Mediapipe/SDK/Models/face_landmark.tflite  
  inflating: Assets/Mediapipe/SDK/Models/hair_segmentation.tflite  
  inflating: Assets/Mediapipe/SDK/Models/hand_landmark.tflite  
  inflating: Assets/Mediapipe/SDK/Models/handedness.txt  
  inflating: Assets/Mediapipe/SDK/Models/iris_landmark.tflite  
  inflating: Assets/Mediapipe/SDK/Models/palm_detection.tflite  
  inflating: Assets/Mediapipe/SDK/Models/palm_detection_labelmap.txt  
  inflating: Assets/Mediapipe/SDK/Models/ssdlite_object_detection.tflite  
  inflating: Assets/Mediapipe/SDK/Models/ssdlite_object_detection_labelmap.txt  
  inflating: Assets/Mediapipe/SDK/Models/pose_detection.tflite  
  inflating: Assets/Mediapipe/SDK/Models/pose_landmark_upper_body.tflite  
ashrvstv commented 4 years ago

@homuler Readme doesnot contain instructions to use this plugin inside unity. My objective is to use pose landmarks and render a 3D model over a landmark. Can you please guide me how can i get pose landmarks using this plugin inside unity?

homuler commented 4 years ago

As to pose tracking, I'm developing now (and not finished yet), but the HandTracking example may be used as a reference.

  1. Define output_stream you use in the graph config file
  2. Initialize the graph
  3. Prepare an OutputStreamPoller and the corresponding Packet.
  4. Push an image to the graph.
  5. Wait and fetch the result.

Overall, I think that the sample code is very similar to the official one.

homuler commented 4 years ago

In https://github.com/homuler/MediapipeUnityPlugin/commit/269a081018f179f6ed01469043e2bb2c412fd5d9, I added sample code to use pose landmarks.