Giter Site home page Giter Site logo

jenshemprich / tf-cpp-pose-estimation Goto Github PK

View Code? Open in Web Editor NEW
30.0 2.0 9.0 1.54 MB

Tensorflow C++ examples for Visual Studio. Features Pose Estimation and various techniques to utilize the Tensorflow C++ interface

C++ 98.20% C 0.98% GLSL 0.82%
tensorflow opencv eigen3 google-test cmake cpp inference qt

tf-cpp-pose-estimation's Introduction

PoseLab

Load your favorite movie clip or camera feed and play with the inference parameters to optimize fps & quality. Use the source bar on the right to select a video stream and adjust the inference parameters with the buttons on the right.

Tinf shows the inference duration, FPSp the complete roundtrip time for each frame.

PoseLab

The app has been developed with Qt 5 and OpenCV on Visual Studio. To build it,

  • clone this repository
  • grab the TensorFlow r1.10 binaries from here
  • clone the lib project
  • copy the tensorflow folder into the lib folder
  • download OpenCV 4.1.0 and drop it into the lib dir as well (you have to name it opencv-4.1.0)
  • install Qt 5.13.0 into the lib folder to lib/Qt/
  • Build with Visual Studio 2019

TensorFlow based Human Pose Estimation in C++

This project demonstrates usage of the TensorFlow C++ interface for pose estimation.

Freeriding

Inference, models and post-processing steps have been ported from Python to C++ from the tf-pose-estimation project, which in turn has been inspired by OpenPose.

Dependencies

External libraries are referenced by msbuild targets within the lib project at https://github.com/jenshemprich/lib in order to link against the right library versions for each build configuration and to setup the executable path for running and debugging.

Download 3rd-party libraries

  • Clone the lib repository into the same folder as this project.
  • Download and copy OpenCV-Release to the OpenCV-4.0.1 directory within the Lib folder.
  • Follow the instructions to build AVX/AVX2/CUDA versions of the TensorFlow library for Windows. It takes a few hours to build each configuration - about half a day or so for all, so plan ahead.

Download the inference models

For the time being, I'm using existing models (mobilenet_thin, cmu) from here. Follow the instructions there to download them and place them in the models folder.

Build the project

Open the Visual Studio solution file and rebuild all.

How does it work

An in-depth article about the underlying algorithm can be found here. With that knowledge, you can easily follow the code in PoseEstimator.cpp. It's a three-step process consisting of:

  1. Inference to retrieve heat maps and part affinity fields.
  2. Post-processing to retrieve coordinate candidates
  3. Coco model creation from the coordinate candidates by reducing candidates, turn them into body part lists and output a coco model for each recognized pose.

Inference uses the same model, so it's exactly the same, but the post-processing implementation is slightly different from the Python code. In Python you pass operators as parameters to session.run(). In the TensorFlow C++ interface you have to define them in a separate graph, and then merge it with the inference graph. The session can then be created from a single graph that contains all operators.

I've got some trouble with using the inference output as a direct input for the post procesisng, because my TensorFlow build crashed on me when assigning a named node from the inference graph as an input for the slice operator.

For the time being, that issue is worked around by assigning the inference output to an intermediate add op, or alternatively by splitting up the processing into 2 session runs (one for inference, one for post-processing). The issue is isolated in a couple of unit tests, to look into it later on.

The TensorFlow-related part of the post-processing was relatively straightforward, the most time consuming part was to create the gaussian kernel for the convolution filter with Eigen instead of Numpy.

Because the C++ ops::where() operator outputs coordinates directly instead of producing another NHWC tensor (as the Python op tf.where does), the coco model creation becomes slightly less complex than in the original code. Besides some refactoring to turn the original Python extension code into a C++ class, the outer loops to gather the peak infos from the coordinates tensor have been replaced by a sort statement to get the coordinates into the right order - the subsequent stages of the algorithm assume a distinct sequence of coco parts.

tf-cpp-pose-estimation's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tf-cpp-pose-estimation's Issues

Errors with the visual studio project provided Windows 10 vs Community 2019 Version 16.6.3

Hi

Thank you for having provided the project.
The problem is I cant load the .sln file i have an error that says it can not find this file

tf-cpp-pose-estimation-master\lib\Deep Learning and Computer Vision libraries.prop.

Then when i try to remake the solution by adding file by file i have these errors:

1>------ Build started: Project: TensorTest, Configuration: Release x64 ------
1>PoseEstimationSimpleApp.cpp
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\string_coding.h(44,1): warning C4267: 'argument': conversion from 'size_t' to 'tensorflow::uint32', possible loss of data
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\unsupported\Eigen\CXX11\src\Tensor\Tensor.h(76,1): warning C4554: '&': check operator precedence for possible error; use parentheses to clarify precedence
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\unsupported\Eigen\CXX11\src\Tensor\TensorMap.h(31): message : see reference to class template instantiation 'Eigen::Tensor<T,1,1,int>' being compiled
1> with
1> [
1> T=float
1> ]
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\framework\tensor_types.h(105): message : see reference to class template instantiation 'Eigen::TensorMap<Eigen::Tensor<T,1,1,int>,16,Eigen::MakePointer>' being compiled
1> with
1> [
1> T=float
1> ]
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\framework\node_def_util.h(120,20): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\lib\core\arena.h(46,1): warning C4267: 'argument': conversion from 'size_t' to 'const int', possible loss of data
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\graph\graph.h(500,34): warning C4244: 'return': conversion from 'const tensorflow::int64' to 'int', possible loss of data
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\graph\graph.h(505,23): warning C4244: 'return': conversion from 'tensorflow::int64' to 'int', possible loss of data
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\graph\graph.h(541,28): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\graph\graph.h(550,28): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(7,21): error C2653: 'cv': is not a class or namespace name
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(7,21): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(7,27): error C3646: 'points': unknown override specifier
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(7,27): error C2143: syntax error: missing ',' before '['
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(7,28): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(8,3): error C2143: syntax error: missing ')' before ';'
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(8,3): error C2059: syntax error: ')'
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(8,3): error C2238: unexpected token(s) preceding ';'
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(16,65): error C2653: 'cv': is not a class or namespace name
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(16,65): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(16,35): error C2143: syntax error: missing ',' before '&'
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(17,20): error C2653: 'cv': is not a class or namespace name
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(17,20): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(17,20): error C2143: syntax error: missing ';' before '('
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(17,48): error C2653: 'cv': is not a class or namespace name
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(17,48): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(17,48): error C2143: syntax error: missing ',' before '&'
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(17,62): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(18,31): error C2653: 'cv': is not a class or namespace name
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(18,31): error C2327: 'AffineTransform::Point2f': is not a type name, static, or enumerator
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(18,24): error C2065: 'Point2f': undeclared identifier
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(18,13): error C2923: 'std::vector': 'Point2f' is not a valid template type argument for parameter '_Ty'
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(18,13): error C2976: 'std::vector': too few template arguments
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\vector(412): message : see declaration of 'std::vector'
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(18,74): error C2653: 'cv': is not a class or namespace name
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(18,74): error C2327: 'AffineTransform::Point2f': is not a type name, static, or enumerator
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(18,67): error C2065: 'Point2f': undeclared identifier
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(18,56): error C2923: 'std::vector': 'Point2f' is not a valid template type argument for parameter '_Ty'
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(18,56): error C2976: 'std::vector': too few template arguments
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\vector(412): message : see declaration of 'std::vector'
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(19,31): error C2653: 'cv': is not a class or namespace name
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(19,31): error C2327: 'AffineTransform::Point2f': is not a type name, static, or enumerator
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(19,24): error C2065: 'Point2f': undeclared identifier
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(19,13): error C2923: 'std::vector': 'Point2f' is not a valid template type argument for parameter '_Ty'
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(19,13): error C2976: 'std::vector': too few template arguments
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\vector(412): message : see declaration of 'std::vector'
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(19,73): error C2653: 'cv': is not a class or namespace name
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(19,73): error C2327: 'AffineTransform::Point2f': is not a type name, static, or enumerator
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(19,66): error C2065: 'Point2f': undeclared identifier
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(19,55): error C2923: 'std::vector': 'Point2f' is not a valid template type argument for parameter '_Ty'
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(19,55): error C2976: 'std::vector': too few template arguments
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\vector(412): message : see declaration of 'std::vector'
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(21,10): error C2653: 'cv': is not a class or namespace name
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(21,19): error C3646: 'transform': unknown override specifier
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(21,19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Users\mz\Downloads\tf-cpp-pose-estimation-master\tf-cpp-pose-estimation-master\PoseEstimationSimpleApp\PoseEstimationSimpleApp.cpp(76,58): warning C4244: 'argument': conversion from 'double' to '_Tp', possible loss of data
1> with
1> [
1> _Tp=int
1> ]
1>C:\Users\mz\Downloads\tf-cpp-pose-estimation-master\tf-cpp-pose-estimation-master\PoseEstimationSimpleApp\PoseEstimationSimpleApp.cpp(76,93): warning C4244: 'argument': conversion from 'double' to '_Tp', possible loss of data
1> with
1> [
1> _Tp=int
1> ]
1>C:\Users\mz\Downloads\tf-cpp-pose-estimation-master\tf-cpp-pose-estimation-master\PoseEstimationSimpleApp\PoseEstimationSimpleApp.cpp(79,78): warning C4244: 'argument': conversion from 'double' to '_Tp', possible loss of data
1> with
1> [
1> _Tp=int
1> ]
1>C:\Users\mz\Downloads\tf-cpp-pose-estimation-master\tf-cpp-pose-estimation-master\PoseEstimationSimpleApp\PoseEstimationSimpleApp.cpp(79,43): warning C4244: 'argument': conversion from 'double' to '_Tp', possible loss of data
1> with
1> [
1> _Tp=int
1> ]
1>C:\Users\mz\Downloads\tf-cpp-pose-estimation-master\tf-cpp-pose-estimation-master\PoseEstimationSimpleApp\PoseEstimationSimpleApp.cpp(126,65): error C2664: 'AffineTransform::AffineTransform(AffineTransform &&)': cannot convert argument 1 from 'cv::Rect2f' to 'const AffineTransform::PointTriple &'
1>C:\Users\mz\Downloads\tf-cpp-pose-estimation-master\tf-cpp-pose-estimation-master\PoseEstimationSimpleApp\PoseEstimationSimpleApp.cpp(126,65): message : Reason: cannot convert from 'cv::Rect2f' to 'const AffineTransform::PointTriple'
1>C:\Users\mz\Downloads\tf-cpp-pose-estimation-master\tf-cpp-pose-estimation-master\PoseEstimationSimpleApp\PoseEstimationSimpleApp.cpp(126,39): message : No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
1>C:\libSrc\bunchOfHeaders\AffineTransform.h(15,2): message : see declaration of 'AffineTransform::AffineTransform'
1>TensorMat.cpp
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(230,1): warning C4003: not enough arguments for function-like macro invocation 'max'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(229,1): error C2589: '(': illegal token on right side of '::'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(230,1): error C2062: type 'unknown-type' unexpected
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(230,1): error C2059: syntax error: ')'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(230,1): error C2143: syntax error: missing ';' before '{'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(231,1): warning C4003: not enough arguments for function-like macro invocation 'max'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(231,1): error C2589: '(': illegal token on right side of '::'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(231,1): error C2062: type 'unknown-type' unexpected
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(231,1): error C2059: syntax error: ')'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(231,1): error C2143: syntax error: missing ';' before '{'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(232,1): warning C4003: not enough arguments for function-like macro invocation 'max'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(232,1): error C2589: '(': illegal token on right side of '::'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(232,1): error C2062: type 'unknown-type' unexpected
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(232,1): error C2059: syntax error: ')'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(232,1): error C2143: syntax error: missing ';' before '{'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(233,1): warning C4003: not enough arguments for function-like macro invocation 'max'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(233,1): error C2589: '(': illegal token on right side of '::'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(233,1): error C2062: type 'unknown-type' unexpected
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(233,1): error C2059: syntax error: ')'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(233,1): error C2143: syntax error: missing ';' before '{'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(234,1): warning C4003: not enough arguments for function-like macro invocation 'max'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(234,1): error C2589: '(': illegal token on right side of '::'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(234,1): error C2062: type 'unknown-type' unexpected
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(234,1): error C2059: syntax error: ')'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(234,1): error C2143: syntax error: missing ';' before '{'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(235,1): warning C4003: not enough arguments for function-like macro invocation 'max'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(235,1): error C2589: '(': illegal token on right side of '::'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(235,1): error C2062: type 'unknown-type' unexpected
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(235,1): error C2059: syntax error: ')'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\logging.h(235,1): error C2143: syntax error: missing ';' before '{'
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\platform\default\string_coding.h(44,1): warning C4267: 'argument': conversion from 'size_t' to 'tensorflow::uint32', possible loss of data
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\unsupported\Eigen\CXX11\src\Tensor\Tensor.h(76,1): warning C4554: '&': check operator precedence for possible error; use parentheses to clarify precedence
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\unsupported\Eigen\CXX11\src\Tensor\TensorMap.h(31): message : see reference to class template instantiation 'Eigen::Tensor<T,1,1,int>' being compiled
1> with
1> [
1> T=float
1> ]
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\framework\tensor_types.h(105): message : see reference to class template instantiation 'Eigen::TensorMap<Eigen::Tensor<T,1,1,int>,16,Eigen::MakePointer>' being compiled
1> with
1> [
1> T=float
1> ]
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\framework\node_def_util.h(120,20): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\lib\core\arena.h(46,1): warning C4267: 'argument': conversion from 'size_t' to 'const int', possible loss of data
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\graph\graph.h(500,34): warning C4244: 'return': conversion from 'const tensorflow::int64' to 'int', possible loss of data
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\graph\graph.h(505,23): warning C4244: 'return': conversion from 'tensorflow::int64' to 'int', possible loss of data
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\graph\graph.h(541,28): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
1>C:\tensorflow_r1.10\tensorflow\r1.10\include\tensorflow\core\graph\graph.h(550,28): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
1>C:\Users\mz\Downloads\tf-cpp-pose-estimation-master\tf-cpp-pose-estimation-master\PoseEstimation\TensorMat.cpp(46,29): warning C4244: 'argument': conversion from 'const _Tp' to '_Tp', possible loss of data
1> with
1> [
1> _Tp=int
1> ]
1> and
1> [
1> _Tp=float
1> ]
1>C:\Users\mz\Downloads\tf-cpp-pose-estimation-master\tf-cpp-pose-estimation-master\PoseEstimation\TensorMat.cpp(46,16): warning C4244: 'argument': conversion from 'const _Tp' to '_Tp', possible loss of data
1> with
1> [
1> _Tp=int
1> ]
1> and
1> [
1> _Tp=float
1> ]
1>C:\Users\mz\Downloads\tf-cpp-pose-estimation-master\tf-cpp-pose-estimation-master\PoseEstimation\TensorMat.cpp(47,42): warning C4244: 'argument': conversion from 'const _Tp' to '_Tp', possible loss of data
1> with
1> [
1> _Tp=int
1> ]
1> and
1> [
1> _Tp=float
1> ]
1>C:\Users\mz\Downloads\tf-cpp-pose-estimation-master\tf-cpp-pose-estimation-master\PoseEstimation\TensorMat.cpp(47,23): warning C4244: 'argument': conversion from '_Tp' to '_Tp', possible loss of data
1> with
1> [
1> _Tp=int
1> ]
1> and
1> [
1> _Tp=float
1> ]
1>C:\Users\mz\Downloads\tf-cpp-pose-estimation-master\tf-cpp-pose-estimation-master\PoseEstimation\TensorMat.cpp(48,37): warning C4244: 'argument': conversion from '_Tp' to '_Tp', possible loss of data
1> with
1> [
1> _Tp=int
1> ]
1> and
1> [
1> _Tp=float
1> ]
1>C:\Users\mz\Downloads\tf-cpp-pose-estimation-master\tf-cpp-pose-estimation-master\PoseEstimation\TensorMat.cpp(48,16): warning C4244: 'argument': conversion from 'const _Tp' to '_Tp', possible loss of data
1> with
1> [
1> _Tp=int
1> ]
1> and
1> [
1> _Tp=float
1> ]
1>Done building project "TensorTest.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Can you help ?

Best regards

Compile failed: Cannot open include file: 'ui_PoseLab.h'

Platform: Windows10, VS2019 community
Configurations: Release, x64 and debug , x64
Error message: PoseLab\PoseLab.h (23,10): error C1083: Cannot open include file: 'ui_PoseLab.h': No such file or directory (compiling source file main.cpp)

Intuition of workaround

Hi! Thanks for the C++ port of tf-pose-estimation.

I manage to get an average of 6-6.5FPS on a video stream from ZED camera, both running on ROS on a TX2 with TF1..0. That compared to 5-5.5FPS with the original Python implementation (I'm unsure how the original author managed to get ~10FPS with the same setup)

Was wondering how'd the intuition behind the workaround came about. I'm new to Deep Learning and was hoping to squeeze out more performance. Would you know if the performance would just cause a slow startup time or it would affect runtime performance as well. How muxh different would it be to have TensorRT with this as compared to the python implementation.

How to run on linux?

thank you for nice project!
I am a newbie. I want to run project on linux (centos 7). How can i do?

how to try with models other than graph_freeze.pb?

Hi I would like to test with other models given like cmu, mobilenet large and small.

I tried with passing the argument from conda prompt like PoseEstimationSimpleApp.exe graph_opt.pb

but it throws an error.

Any help will be much appreciated.

Also I want to test on images and on videos.
Is there is any guide page on flags? And which flags can I use in c++ with different running options?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.