summaryrefslogtreecommitdiffstats
path: root/ml/dlib/dlib/svm/track_association_function.h
diff options
context:
space:
mode:
Diffstat (limited to 'ml/dlib/dlib/svm/track_association_function.h')
-rw-r--r--ml/dlib/dlib/svm/track_association_function.h154
1 files changed, 0 insertions, 154 deletions
diff --git a/ml/dlib/dlib/svm/track_association_function.h b/ml/dlib/dlib/svm/track_association_function.h
deleted file mode 100644
index bf5ef36c7..000000000
--- a/ml/dlib/dlib/svm/track_association_function.h
+++ /dev/null
@@ -1,154 +0,0 @@
-// Copyright (C) 2014 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#ifndef DLIB_TRACK_ASSOCiATION_FUNCTION_Hh_
-#define DLIB_TRACK_ASSOCiATION_FUNCTION_Hh_
-
-
-#include "track_association_function_abstract.h"
-#include <vector>
-#include <iostream>
-#include "../algs.h"
-#include "../serialize.h"
-#include "assignment_function.h"
-
-namespace dlib
-{
-
-// ----------------------------------------------------------------------------------------
-
- template <
- typename detection_type
- >
- class feature_extractor_track_association
- {
- public:
- typedef typename detection_type::track_type track_type;
- typedef typename track_type::feature_vector_type feature_vector_type;
-
- typedef detection_type lhs_element;
- typedef track_type rhs_element;
-
- feature_extractor_track_association() : num_dims(0), num_nonnegative(0) {}
-
- explicit feature_extractor_track_association (
- unsigned long num_dims_,
- unsigned long num_nonnegative_
- ) : num_dims(num_dims_), num_nonnegative(num_nonnegative_) {}
-
- unsigned long num_features(
- ) const { return num_dims; }
-
- unsigned long num_nonnegative_weights (
- ) const { return num_nonnegative; }
-
- void get_features (
- const detection_type& det,
- const track_type& track,
- feature_vector_type& feats
- ) const
- {
- track.get_similarity_features(det, feats);
- }
-
- friend void serialize (const feature_extractor_track_association& item, std::ostream& out)
- {
- serialize(item.num_dims, out);
- serialize(item.num_nonnegative, out);
- }
-
- friend void deserialize (feature_extractor_track_association& item, std::istream& in)
- {
- deserialize(item.num_dims, in);
- deserialize(item.num_nonnegative, in);
- }
-
- private:
- unsigned long num_dims;
- unsigned long num_nonnegative;
- };
-
-// ----------------------------------------------------------------------------------------
-
- template <
- typename detection_type_
- >
- class track_association_function
- {
- public:
-
- typedef detection_type_ detection_type;
- typedef typename detection_type::track_type track_type;
- typedef assignment_function<feature_extractor_track_association<detection_type> > association_function_type;
-
- track_association_function() {}
-
- track_association_function (
- const association_function_type& assoc_
- ) : assoc(assoc_)
- {
- }
-
- const association_function_type& get_assignment_function (
- ) const
- {
- return assoc;
- }
-
- void operator() (
- std::vector<track_type>& tracks,
- const std::vector<detection_type>& dets
- ) const
- {
- std::vector<long> assignments = assoc(dets, tracks);
- std::vector<bool> updated_track(tracks.size(), false);
- // now update all the tracks with the detections that associated to them.
- for (unsigned long i = 0; i < assignments.size(); ++i)
- {
- if (assignments[i] != -1)
- {
- tracks[assignments[i]].update_track(dets[i]);
- updated_track[assignments[i]] = true;
- }
- else
- {
- track_type new_track;
- new_track.update_track(dets[i]);
- tracks.push_back(new_track);
- }
- }
-
- // Now propagate all the tracks that didn't get any detections.
- for (unsigned long i = 0; i < updated_track.size(); ++i)
- {
- if (!updated_track[i])
- tracks[i].propagate_track();
- }
- }
-
- friend void serialize (const track_association_function& item, std::ostream& out)
- {
- int version = 1;
- serialize(version, out);
- serialize(item.assoc, out);
- }
- friend void deserialize (track_association_function& item, std::istream& in)
- {
- int version = 0;
- deserialize(version, in);
- if (version != 1)
- throw serialization_error("Unexpected version found while deserializing dlib::track_association_function.");
-
- deserialize(item.assoc, in);
- }
-
- private:
-
- assignment_function<feature_extractor_track_association<detection_type> > assoc;
- };
-
-// ----------------------------------------------------------------------------------------
-
-}
-
-#endif // DLIB_TRACK_ASSOCiATION_FUNCTION_Hh_
-