Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
J
jfx_kalman_filter_src
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
oscar
jfx_kalman_filter_src
Commits
16b8d8a2
Commit
16b8d8a2
authored
Dec 28, 2021
by
oscar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交更新
parent
2cce8a41
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
23 additions
and
12 deletions
+23
-12
BaseTracker.h
BaseTracker/BaseTracker.h
+8
-9
Track3D.cpp
BaseTracker/Track3D.cpp
+14
-2
Track3D.h
BaseTracker/Track3D.h
+1
-1
No files found.
BaseTracker/BaseTracker.h
View file @
16b8d8a2
...
...
@@ -260,7 +260,7 @@ void BaseTracker<T>::AssociateDetectionsToTrackers(const std::vector<std::vector
{
std
::
vector
<
float
>
out
;
int
ob_type
=
0
;
T
::
MeasureData
(
detections
[
i
],
out
,
ob_type
);
T
::
Measure
Iou
Data
(
detections
[
i
],
out
,
ob_type
);
for
(
int
j
=
0
;
j
<
out
.
size
();
j
++
)
{
detect_ptr
.
get
()[
i
*
measure_size
+
j
]
=
out
[
j
];
...
...
@@ -274,11 +274,10 @@ void BaseTracker<T>::AssociateDetectionsToTrackers(const std::vector<std::vector
tracker_ptr
.
get
()[
i
*
tra_size
+
j
]
=
tracker_states
[
i
][
j
];
}
}
std
::
string
dete_str
=
GetMatrixStr
(
detect_ptr
.
get
(),
measure_size
,
detections
.
size
());
//std::string track_str = GetMatrixStr(tracker_ptr.get(), tra_size, tracker_states.size());
std
::
string
track_str
=
GetMatrixStr
(
tracker_states
,
tracker_states
.
size
(),
tra_size
);
SDK_LOG
(
SDK_INFO
,
"detections = [%s]"
,
dete_str
.
c_str
());
SDK_LOG
(
SDK_INFO
,
"tracker_states = [%s]"
,
track_str
.
c_str
());
//std::string dete_str = GetMatrixStr(detect_ptr.get(), measure_size, detections.size());
//std::string track_str = GetMatrixStr(tracker_states, tracker_states.size(), tra_size);
//SDK_LOG(SDK_INFO, "detections = [%s]",dete_str.c_str());
//SDK_LOG(SDK_INFO, "tracker_states = [%s]", track_str.c_str());
#ifdef _KF_IOU_CUDA_
bev_overlap
(
detections
.
size
(),
detect_ptr
.
get
(),
tracker_states
.
size
(),
tracker_ptr
.
get
(),
iou_ptr
.
get
());
#endif
...
...
@@ -298,9 +297,9 @@ void BaseTracker<T>::AssociateDetectionsToTrackers(const std::vector<std::vector
}
// Find association
std
::
string
str
=
GetMatrixStr
(
iou_matrix
,
detections
.
size
(),
tracks
.
size
());
SDK_LOG
(
SDK_INFO
,
"iou_matrix = [%s]"
,
str
.
c_str
());
HungarianMatching
(
iou_matrix
,
detections
.
size
(),
tracks
.
size
(),
association
);
//
std::string str = GetMatrixStr(iou_matrix, detections.size(), tracks.size());
//
SDK_LOG(SDK_INFO, "iou_matrix = [%s]",str.c_str());
//
HungarianMatching(iou_matrix, detections.size(), tracks.size(), association);
for
(
size_t
i
=
0
;
i
<
detections
.
size
();
i
++
)
{
...
...
BaseTracker/Track3D.cpp
View file @
16b8d8a2
...
...
@@ -376,8 +376,20 @@ int Track3D::GetIouData(std::vector<float>& data, int obj_type)
return
0
;
}
void
Track3D
::
MeasureData
(
const
std
::
vector
<
float
>&
input
,
std
::
vector
<
float
>&
out
,
int
&
obj_type
)
void
Track3D
::
Measure
Iou
Data
(
const
std
::
vector
<
float
>&
input
,
std
::
vector
<
float
>&
out
,
int
&
obj_type
)
{
if
(
input
.
size
()
!=
8
)
{
SDK_LOG
(
SDK_INFO
,
"input is not 8"
);
return
;
}
obj_type
=
input
[
0
];
out
.
push_back
(
input
[
1
]);
out
.
push_back
(
input
[
2
]);
out
.
push_back
(
input
[
3
]);
out
.
push_back
(
input
[
5
]);
out
.
push_back
(
input
[
6
]);
out
.
push_back
(
input
[
7
]);
out
.
push_back
(
input
[
4
]);
}
BaseTracker/Track3D.h
View file @
16b8d8a2
...
...
@@ -46,7 +46,7 @@ public:
virtual
void
SetValues
(
std
::
vector
<
float
>&
data
);
virtual
int
GetIouData
(
std
::
vector
<
float
>&
data
,
int
obj_type
);
static
void
MeasureData
(
const
std
::
vector
<
float
>&
input
,
std
::
vector
<
float
>&
out
,
int
&
obj_type
);
static
void
Measure
Iou
Data
(
const
std
::
vector
<
float
>&
input
,
std
::
vector
<
float
>&
out
,
int
&
obj_type
);
trackOjbPtr
m_obj
=
nullptr
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment