public static List <MultipartiteWeightedMatch> computeAssociations <T>(List <List <T> > boundingBoxes, ComputeSimilarityFunction <T> similarity) { MultipartiteWeightTensor t = computeSimilarityTensor <T>(boundingBoxes, similarity); MultipartiteWeightedMatching.GreedyMean matching = new MultipartiteWeightedMatching.GreedyMean(); List <MultipartiteWeightedMatch> ret = matching.getMatching(t); return(ret); }
public static List <MultipartiteWeightedMatch> computeGenericPolygonAssociations(List <List <Segment> > polygons) { MultipartiteWeightTensor t = computeSimilarityTensor(polygons); MultipartiteWeightedMatching.GreedyMean matching = new MultipartiteWeightedMatching.GreedyMean(); List <MultipartiteWeightedMatch> ret = matching.getMatching(t); return(ret); }
public static List <MultipartiteWeightedMatch> computeBoundingBoxAssociations(List <List <BoundingBox> > boundingBoxes) { MultipartiteWeightTensor t = computeSimilarityTensor(boundingBoxes); MultipartiteWeightedMatching.GreedyMean matching = new MultipartiteWeightedMatching.GreedyMean(); List <MultipartiteWeightedMatch> ret = matching.getMatching(t); return(ret); }
public static List <MultipartiteWeightedMatch> AssociateTracklets(List <MultiObjectTrackingResult> compressedResults) { // multipartitie weighted matching // multipartite matching to cluster tracks CompressedTrackSimilarityMetric.ICompressedTrackSimilarityMetric metric = new CompressedTrackSimilarityMetric.TubeletIoU(); MultipartiteWeightedMatching.GreedyMean mwmg = new MultipartiteWeightedMatching.GreedyMean(); MultipartiteWeightTensor weightTensor = CompressedTrackSimilarityMetric.computeTrackSimilarityTensor(compressedResults, metric); List <MultipartiteWeightedMatch> association = mwmg.getMatching(weightTensor); return(association); }