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
43e16408
Commit
43e16408
authored
Dec 17, 2021
by
oscar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交修改
parent
355516bc
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
30 deletions
+30
-30
BaseTracker.h
BaseTracker/BaseTracker.h
+30
-30
No files found.
BaseTracker/BaseTracker.h
View file @
43e16408
...
...
@@ -108,15 +108,15 @@ int BaseTracker<T>::Run(const std::vector<std::vector<float> >& detections, std:
detectionsId
[
match
.
second
]
=
id
;
updateId
[
id
]
=
match
.
second
;
}
SDK_LOG
(
SDK_INFO
,
"Z = [%s]"
,
GetMatrixStr
(
Z
.
get
(),
no
,
bs
).
c_str
());
SDK_LOG
(
SDK_INFO
,
"X = [%s]"
,
GetMatrixStr
(
X
.
get
(),
ns
,
bs
).
c_str
());
SDK_LOG
(
SDK_INFO
,
"P = [%s]"
,
GetMatrixStr
(
P
.
get
(),
ns
*
ns
,
bs
).
c_str
());
SDK_LOG
(
SDK_INFO
,
"HX = [%s]"
,
GetMatrixStr
(
HX
.
get
(),
no
,
bs
).
c_str
());
//
SDK_LOG(SDK_INFO, "Z = [%s]", GetMatrixStr(Z.get(), no, bs).c_str());
//
SDK_LOG(SDK_INFO, "X = [%s]", GetMatrixStr(X.get(), ns, bs).c_str());
//
SDK_LOG(SDK_INFO, "P = [%s]", GetMatrixStr(P.get(), ns*ns, bs).c_str());
//
SDK_LOG(SDK_INFO, "HX = [%s]", GetMatrixStr(HX.get(),no,bs).c_str());
#ifdef _KF_IOU_CUDA_
kalman_update_batch
(
Z
.
get
(),
X
.
get
(),
P
.
get
(),
HX
.
get
(),
bs
,
ns
,
no
);
#endif
SDK_LOG
(
SDK_INFO
,
"after X = [%s]"
,
GetMatrixStr
(
X
.
get
(),
ns
,
bs
).
c_str
());
SDK_LOG
(
SDK_INFO
,
"after P = [%s]"
,
GetMatrixStr
(
P
.
get
(),
ns
*
ns
,
bs
).
c_str
());
//
SDK_LOG(SDK_INFO, "after X = [%s]", GetMatrixStr(X.get(), ns, bs).c_str());
//
SDK_LOG(SDK_INFO, "after P = [%s]", GetMatrixStr(P.get(), ns * ns, bs).c_str());
}
/*** Create new tracks for unmatched detections ***/
...
...
@@ -186,23 +186,23 @@ void BaseTracker<T>::AssociateDetectionsToTrackers(const std::vector<std::vector
j
++
;
}
}
std
::
string
dete_str
=
GetMatrixStr
(
detections
,
detections
.
size
(),
detections
.
size
()
>
0
?
detections
[
0
].
size
()
:
0
);
std
::
vector
<
std
::
vector
<
float
>
>
tracker_states
;
for
(
auto
&
iter
:
tracks
)
{
std
::
vector
<
float
>
measure
;
if
(
iter
.
second
->
GetMeasureData
(
measure
)
==
0
)
{
tracker_states
.
emplace_back
(
measure
);
}
else
{
SDK_LOG
(
SDK_INFO
,
"GetMeasureData failed"
);
}
}
std
::
string
track_str
=
GetMatrixStr
(
tracker_states
,
tracker_states
.
size
(),
tracker_states
.
size
()
>
0
?
tracker_states
[
0
].
size
()
:
0
);
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(detections, detections.size(), detections.size() > 0 ? detections[0].size() : 0);
//
std::vector<std::vector<float> > tracker_states;
//
for (auto& iter : tracks)
//
{
//
std::vector<float> measure;
//
if (iter.second->GetMeasureData(measure) == 0)
//
{
//
tracker_states.emplace_back(measure);
//
}
//
else
//
{
//
SDK_LOG(SDK_INFO, "GetMeasureData failed");
//
}
//
}
//
std::string track_str = GetMatrixStr(tracker_states, tracker_states.size(), tracker_states.size() > 0 ? tracker_states[0].size() : 0);
//
SDK_LOG(SDK_INFO, "detections = [%s]", dete_str.c_str());
//
SDK_LOG(SDK_INFO, "tracker_states = [%s]", track_str.c_str());
}
else
{
...
...
@@ -243,11 +243,11 @@ 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_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());
#ifdef _KF_IOU_CUDA_
bev_overlap
(
detections
.
size
(),
detect_ptr
.
get
(),
tracker_states
.
size
(),
tracker_ptr
.
get
(),
iou_ptr
.
get
());
#endif
...
...
@@ -260,8 +260,8 @@ 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
());
//
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
++
)
...
...
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