Commit 16b8d8a2 authored by oscar's avatar oscar

提交更新

parent 2cce8a41
......@@ -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::MeasureIouData(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++)
{
......
......@@ -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::MeasureIouData(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]);
}
......@@ -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 MeasureIouData(const std::vector<float>& input, std::vector<float>& out, int& obj_type);
trackOjbPtr m_obj = nullptr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment