Skip to content

Commit 9daa908

Browse files
JujuDelJulien Delclos
andauthored
r5.1.1 (#729)
Co-authored-by: Julien Delclos <[email protected]>
1 parent 111e2fe commit 9daa908

File tree

343 files changed

+14652
-14749
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

343 files changed

+14652
-14749
lines changed

body tracking/body tracking/cpp/include/GLViewer.hpp

Lines changed: 53 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
#include <cuda_gl_interop.h>
1616

1717
#ifndef M_PI
18-
#define M_PI 3.141592653f
18+
#define M_PI 3.141592653f
1919
#endif
2020

2121
#define MOUSE_R_SENSITIVITY 0.03f
@@ -26,108 +26,51 @@
2626

2727
using namespace sl;
2828

29-
const std::vector<std::pair<BODY_38_PARTS, BODY_38_PARTS>> BODY_BONES_FAST_RENDER
30-
{
31-
{
32-
BODY_38_PARTS::PELVIS, BODY_38_PARTS::SPINE_1
33-
},
34-
{
35-
BODY_38_PARTS::SPINE_1, BODY_38_PARTS::SPINE_2
36-
},
37-
{
38-
BODY_38_PARTS::SPINE_2, BODY_38_PARTS::SPINE_3
39-
},
40-
{
41-
BODY_38_PARTS::SPINE_3, BODY_38_PARTS::NECK
42-
},
29+
const std::vector<std::pair<BODY_38_PARTS, BODY_38_PARTS>> BODY_BONES_FAST_RENDER {
30+
{BODY_38_PARTS::PELVIS, BODY_38_PARTS::SPINE_1 },
31+
{BODY_38_PARTS::SPINE_1, BODY_38_PARTS::SPINE_2 },
32+
{BODY_38_PARTS::SPINE_2, BODY_38_PARTS::SPINE_3 },
33+
{BODY_38_PARTS::SPINE_3, BODY_38_PARTS::NECK },
4334
// Face
44-
{
45-
BODY_38_PARTS::NECK, BODY_38_PARTS::NOSE
46-
},
47-
{
48-
BODY_38_PARTS::NOSE, BODY_38_PARTS::LEFT_EYE
49-
},
50-
{
51-
BODY_38_PARTS::LEFT_EYE, BODY_38_PARTS::LEFT_EAR
52-
},
53-
{
54-
BODY_38_PARTS::NOSE, BODY_38_PARTS::RIGHT_EYE
55-
},
56-
{
57-
BODY_38_PARTS::RIGHT_EYE, BODY_38_PARTS::RIGHT_EAR
58-
},
35+
{BODY_38_PARTS::NECK, BODY_38_PARTS::NOSE },
36+
{BODY_38_PARTS::NOSE, BODY_38_PARTS::LEFT_EYE },
37+
{BODY_38_PARTS::LEFT_EYE, BODY_38_PARTS::LEFT_EAR },
38+
{BODY_38_PARTS::NOSE, BODY_38_PARTS::RIGHT_EYE },
39+
{BODY_38_PARTS::RIGHT_EYE, BODY_38_PARTS::RIGHT_EAR },
5940
// Left arm
60-
{
61-
BODY_38_PARTS::SPINE_3, BODY_38_PARTS::LEFT_CLAVICLE
62-
},
63-
{
64-
BODY_38_PARTS::LEFT_CLAVICLE, BODY_38_PARTS::LEFT_SHOULDER
65-
},
66-
{
67-
BODY_38_PARTS::LEFT_SHOULDER, BODY_38_PARTS::LEFT_ELBOW
68-
},
69-
{
70-
BODY_38_PARTS::LEFT_ELBOW, BODY_38_PARTS::LEFT_WRIST
71-
},
41+
{BODY_38_PARTS::SPINE_3, BODY_38_PARTS::LEFT_CLAVICLE },
42+
{BODY_38_PARTS::LEFT_CLAVICLE, BODY_38_PARTS::LEFT_SHOULDER },
43+
{BODY_38_PARTS::LEFT_SHOULDER, BODY_38_PARTS::LEFT_ELBOW },
44+
{BODY_38_PARTS::LEFT_ELBOW, BODY_38_PARTS::LEFT_WRIST },
7245
// Right arm
73-
{
74-
BODY_38_PARTS::SPINE_3, BODY_38_PARTS::RIGHT_CLAVICLE
75-
},
76-
{
77-
BODY_38_PARTS::RIGHT_CLAVICLE, BODY_38_PARTS::RIGHT_SHOULDER
78-
},
79-
{
80-
BODY_38_PARTS::RIGHT_SHOULDER, BODY_38_PARTS::RIGHT_ELBOW
81-
},
82-
{
83-
BODY_38_PARTS::RIGHT_ELBOW, BODY_38_PARTS::RIGHT_WRIST
84-
},
46+
{BODY_38_PARTS::SPINE_3, BODY_38_PARTS::RIGHT_CLAVICLE },
47+
{BODY_38_PARTS::RIGHT_CLAVICLE, BODY_38_PARTS::RIGHT_SHOULDER },
48+
{BODY_38_PARTS::RIGHT_SHOULDER, BODY_38_PARTS::RIGHT_ELBOW },
49+
{BODY_38_PARTS::RIGHT_ELBOW, BODY_38_PARTS::RIGHT_WRIST },
8550
// Left leg
86-
{
87-
BODY_38_PARTS::PELVIS, BODY_38_PARTS::LEFT_HIP
88-
},
89-
{
90-
BODY_38_PARTS::LEFT_HIP, BODY_38_PARTS::LEFT_KNEE
91-
},
92-
{
93-
BODY_38_PARTS::LEFT_KNEE, BODY_38_PARTS::LEFT_ANKLE
94-
},
95-
{
96-
BODY_38_PARTS::LEFT_ANKLE, BODY_38_PARTS::LEFT_HEEL
97-
},
98-
{
99-
BODY_38_PARTS::LEFT_ANKLE, BODY_38_PARTS::LEFT_BIG_TOE
100-
},
101-
{
102-
BODY_38_PARTS::LEFT_ANKLE, BODY_38_PARTS::LEFT_SMALL_TOE
103-
},
51+
{BODY_38_PARTS::PELVIS, BODY_38_PARTS::LEFT_HIP },
52+
{BODY_38_PARTS::LEFT_HIP, BODY_38_PARTS::LEFT_KNEE },
53+
{BODY_38_PARTS::LEFT_KNEE, BODY_38_PARTS::LEFT_ANKLE },
54+
{BODY_38_PARTS::LEFT_ANKLE, BODY_38_PARTS::LEFT_HEEL },
55+
{BODY_38_PARTS::LEFT_ANKLE, BODY_38_PARTS::LEFT_BIG_TOE },
56+
{BODY_38_PARTS::LEFT_ANKLE, BODY_38_PARTS::LEFT_SMALL_TOE },
10457
// Right leg
105-
{
106-
BODY_38_PARTS::PELVIS, BODY_38_PARTS::RIGHT_HIP
107-
},
108-
{
109-
BODY_38_PARTS::RIGHT_HIP, BODY_38_PARTS::RIGHT_KNEE
110-
},
111-
{
112-
BODY_38_PARTS::RIGHT_KNEE, BODY_38_PARTS::RIGHT_ANKLE
113-
},
114-
{
115-
BODY_38_PARTS::RIGHT_ANKLE, BODY_38_PARTS::RIGHT_HEEL
116-
},
117-
{
118-
BODY_38_PARTS::RIGHT_ANKLE, BODY_38_PARTS::RIGHT_BIG_TOE
119-
},
120-
{
121-
BODY_38_PARTS::RIGHT_ANKLE, BODY_38_PARTS::RIGHT_SMALL_TOE
122-
},
58+
{BODY_38_PARTS::PELVIS, BODY_38_PARTS::RIGHT_HIP },
59+
{BODY_38_PARTS::RIGHT_HIP, BODY_38_PARTS::RIGHT_KNEE },
60+
{BODY_38_PARTS::RIGHT_KNEE, BODY_38_PARTS::RIGHT_ANKLE },
61+
{BODY_38_PARTS::RIGHT_ANKLE, BODY_38_PARTS::RIGHT_HEEL },
62+
{BODY_38_PARTS::RIGHT_ANKLE, BODY_38_PARTS::RIGHT_BIG_TOE },
63+
{BODY_38_PARTS::RIGHT_ANKLE, BODY_38_PARTS::RIGHT_SMALL_TOE},
12364
};
12465

12566
///////////////////////////////////////////////////////////////////////////////////////////////
12667

12768
class Shader {
12869
public:
129-
130-
Shader() : verterxId_(0), fragmentId_(0), programId_(0) {}
70+
Shader()
71+
: verterxId_(0)
72+
, fragmentId_(0)
73+
, programId_(0) { }
13174
Shader(const GLchar* vs, const GLchar* fs);
13275
~Shader();
13376

@@ -145,8 +88,9 @@ class Shader {
14588
static const GLint ATTRIB_VERTICES_POS = 0;
14689
static const GLint ATTRIB_COLOR_POS = 1;
14790
static const GLint ATTRIB_NORMAL = 2;
91+
14892
private:
149-
bool compile(GLuint &shaderId, GLenum type, const GLchar* src);
93+
bool compile(GLuint& shaderId, GLenum type, const GLchar* src);
15094
GLuint verterxId_;
15195
GLuint fragmentId_;
15296
GLuint programId_;
@@ -159,7 +103,6 @@ struct ShaderData {
159103

160104
class Simple3DObject {
161105
public:
162-
163106
Simple3DObject();
164107
Simple3DObject(sl::Translation position, bool isStatic);
165108
~Simple3DObject();
@@ -220,14 +163,21 @@ class Simple3DObject {
220163

221164
class CameraGL {
222165
public:
223-
224-
CameraGL() {
225-
}
166+
CameraGL() { }
226167

227168
enum DIRECTION {
228-
UP, DOWN, LEFT, RIGHT, FORWARD, BACK
169+
UP,
170+
DOWN,
171+
LEFT,
172+
RIGHT,
173+
FORWARD,
174+
BACK
229175
};
230-
CameraGL(sl::Translation position, sl::Translation direction, sl::Translation vertical = sl::Translation(0, 1, 0)); // vertical = Eigen::Vector3f(0, 1, 0)
176+
CameraGL(
177+
sl::Translation position,
178+
sl::Translation direction,
179+
sl::Translation vertical = sl::Translation(0, 1, 0)
180+
); // vertical = Eigen::Vector3f(0, 1, 0)
231181
~CameraGL();
232182

233183
void update();
@@ -243,7 +193,7 @@ class CameraGL {
243193
void setOffsetFromPosition(const sl::Translation& offset);
244194
const sl::Translation& getOffsetFromPosition() const;
245195

246-
void setDirection(const sl::Translation& direction, const sl::Translation &vertical);
196+
void setDirection(const sl::Translation& direction, const sl::Translation& vertical);
247197
void translate(const sl::Translation& t);
248198
void setPosition(const sl::Translation& p);
249199
void rotate(const sl::Orientation& rot);
@@ -265,6 +215,7 @@ class CameraGL {
265215

266216
sl::Transform projection_;
267217
bool usePerspective_;
218+
268219
private:
269220
void updateVectors();
270221
void updateView();
@@ -294,8 +245,8 @@ class GLViewer {
294245
GLViewer();
295246
~GLViewer();
296247
bool isAvailable();
297-
void init(int argc, char **argv);
298-
void updateData(Bodies &, sl::Transform&);
248+
void init(int argc, char** argv);
249+
void updateData(Bodies&, sl::Transform&);
299250
void exit();
300251

301252
private:

body tracking/body tracking/cpp/include/TrackingViewer.hpp

Lines changed: 46 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -14,62 +14,76 @@
1414
// 2D LEFT VIEW
1515
// -------------------------------------------------
1616

17-
inline sl::float2 getImagePosition(std::vector<sl::uint2> &bounding_box_image, sl::float2 img_scale) {
17+
inline sl::float2 getImagePosition(std::vector<sl::uint2>& bounding_box_image, sl::float2 img_scale) {
1818
sl::float2 position;
19-
position.x = (bounding_box_image[0].x + (bounding_box_image[2].x - bounding_box_image[0].x)*0.5f) * img_scale.x;
20-
position.y = (bounding_box_image[0].y + (bounding_box_image[2].y - bounding_box_image[0].y)*0.5f) * img_scale.y;
19+
position.x = (bounding_box_image[0].x + (bounding_box_image[2].x - bounding_box_image[0].x) * 0.5f) * img_scale.x;
20+
position.y = (bounding_box_image[0].y + (bounding_box_image[2].y - bounding_box_image[0].y) * 0.5f) * img_scale.y;
2121
return position;
2222
}
2323

24-
void render_2D(cv::Mat &left, sl::float2 img_scale, std::vector<sl::BodyData> & bodies, bool isTrackingON, bool fastRender=true);
24+
void render_2D(cv::Mat& left, sl::float2 img_scale, std::vector<sl::BodyData>& bodies, bool isTrackingON, bool fastRender = true);
2525

2626
inline cv::Mat slMat2cvMat(sl::Mat& input) {
2727
// Mapping between MAT_TYPE and CV_TYPE
2828
int cv_type = -1;
2929
switch (input.getDataType()) {
30-
case sl::MAT_TYPE::F32_C1: cv_type = CV_32FC1;
30+
case sl::MAT_TYPE::F32_C1:
31+
cv_type = CV_32FC1;
3132
break;
32-
case sl::MAT_TYPE::F32_C2: cv_type = CV_32FC2;
33+
case sl::MAT_TYPE::F32_C2:
34+
cv_type = CV_32FC2;
3335
break;
34-
case sl::MAT_TYPE::F32_C3: cv_type = CV_32FC3;
36+
case sl::MAT_TYPE::F32_C3:
37+
cv_type = CV_32FC3;
3538
break;
36-
case sl::MAT_TYPE::F32_C4: cv_type = CV_32FC4;
39+
case sl::MAT_TYPE::F32_C4:
40+
cv_type = CV_32FC4;
3741
break;
38-
case sl::MAT_TYPE::U8_C1: cv_type = CV_8UC1;
42+
case sl::MAT_TYPE::U8_C1:
43+
cv_type = CV_8UC1;
3944
break;
40-
case sl::MAT_TYPE::U8_C2: cv_type = CV_8UC2;
45+
case sl::MAT_TYPE::U8_C2:
46+
cv_type = CV_8UC2;
4147
break;
42-
case sl::MAT_TYPE::U8_C3: cv_type = CV_8UC3;
48+
case sl::MAT_TYPE::U8_C3:
49+
cv_type = CV_8UC3;
4350
break;
44-
case sl::MAT_TYPE::U8_C4: cv_type = CV_8UC4;
51+
case sl::MAT_TYPE::U8_C4:
52+
cv_type = CV_8UC4;
53+
break;
54+
default:
4555
break;
46-
default: break;
4756
}
4857

4958
return cv::Mat(input.getHeight(), input.getWidth(), cv_type, input.getPtr<sl::uchar1>(sl::MEM::CPU));
5059
}
5160

52-
5361
float const id_colors[8][3] = {
54-
{ 232.0f, 176.0f, 59.0f},
55-
{ 175.0f, 208.0f, 25.0f},
56-
{ 102.0f, 205.0f, 105.0f},
57-
{ 185.0f, 0.0f, 255.0f},
58-
{ 99.0f, 107.0f, 252.0f},
59-
{252.0f, 225.0f, 8.0f},
62+
{232.0f, 176.0f, 59.0f },
63+
{175.0f, 208.0f, 25.0f },
64+
{102.0f, 205.0f, 105.0f},
65+
{185.0f, 0.0f, 255.0f},
66+
{99.0f, 107.0f, 252.0f},
67+
{252.0f, 225.0f, 8.0f },
6068
{167.0f, 130.0f, 141.0f},
61-
{194.0f, 72.0f, 113.0f}
69+
{194.0f, 72.0f, 113.0f}
6270
};
6371

6472
inline cv::Scalar generateColorID_u(int idx) {
65-
if (idx < 0) return cv::Scalar(236, 184, 36, 255);
73+
if (idx < 0)
74+
return cv::Scalar(236, 184, 36, 255);
6675
int color_idx = idx % 8;
6776
return cv::Scalar(id_colors[color_idx][0], id_colors[color_idx][1], id_colors[color_idx][2], 255);
6877
}
6978

7079
inline sl::float4 generateColorID_f(int idx) {
7180
auto clr_u = generateColorID_u(idx);
72-
return sl::float4(static_cast<float> (clr_u.val[0]) / 255.f, static_cast<float> (clr_u.val[1]) / 255.f, static_cast<float> (clr_u.val[2]) / 255.f, 1.f);
81+
return sl::float4(
82+
static_cast<float>(clr_u.val[0]) / 255.f,
83+
static_cast<float>(clr_u.val[1]) / 255.f,
84+
static_cast<float>(clr_u.val[2]) / 255.f,
85+
1.f
86+
);
7387
}
7488

7589
inline bool renderObject(const sl::BodyData& i, const bool isTrackingON) {
@@ -80,12 +94,12 @@ inline bool renderObject(const sl::BodyData& i, const bool isTrackingON) {
8094
}
8195

8296
float const class_colors[6][3] = {
83-
{ 44.0f, 117.0f, 255.0f}, // PEOPLE
84-
{ 255.0f, 0.0f, 255.0f}, // VEHICLE
85-
{ 0.0f, 0.0f, 255.0f},
86-
{ 0.0f, 255.0f, 255.0f},
87-
{ 0.0f, 255.0f, 0.0f},
88-
{ 255.0f, 255.0f, 255.0f}
97+
{44.0f, 117.0f, 255.0f}, // PEOPLE
98+
{255.0f, 0.0f, 255.0f}, // VEHICLE
99+
{0.0f, 0.0f, 255.0f},
100+
{0.0f, 255.0f, 255.0f},
101+
{0.0f, 255.0f, 0.0f },
102+
{255.0f, 255.0f, 255.0f}
89103
};
90104

91105
inline sl::float4 getColorClass(int idx) {
@@ -94,9 +108,9 @@ inline sl::float4 getColorClass(int idx) {
94108
return clr / 255.f;
95109
}
96110

97-
template<typename T>
111+
template <typename T>
98112
inline uchar _applyFading(T val, float current_alpha, double current_clr) {
99-
return static_cast<uchar> (current_alpha * current_clr + (1.0 - current_alpha) * val);
113+
return static_cast<uchar>(current_alpha * current_clr + (1.0 - current_alpha) * val);
100114
}
101115

102116
inline cv::Vec4b applyFading(cv::Scalar val, float current_alpha, cv::Scalar current_clr) {
@@ -108,12 +122,7 @@ inline cv::Vec4b applyFading(cv::Scalar val, float current_alpha, cv::Scalar cur
108122
return out;
109123
}
110124

111-
inline void drawVerticalLine(
112-
cv::Mat &left_display,
113-
cv::Point2i start_pt,
114-
cv::Point2i end_pt,
115-
cv::Scalar clr,
116-
int thickness) {
125+
inline void drawVerticalLine(cv::Mat& left_display, cv::Point2i start_pt, cv::Point2i end_pt, cv::Scalar clr, int thickness) {
117126
int n_steps = 7;
118127
cv::Point2i pt1, pt4;
119128
pt1.x = ((n_steps - 1) * start_pt.x + end_pt.x) / n_steps;

0 commit comments

Comments
 (0)