Skip to main content

Modified HOTA (Higher Order Tracking Accuracy) extended for ReID evaluation

Project description

HOTA-ReID: Accelerated Higher Order Tracking Accuracy for Re-Identification

HOTA-ReID is a modified version of the Higher Order Tracking Accuracy (HOTA) metric specifically designed to support Re-Identification (ReID) problems while providing significant performance improvements through parallel processing acceleration.

Key Features

  • ReID-Aware Evaluation: Handles identity switches and re-appearances common in ReID scenarios
  • Parallel Processing: Multi-threaded computation for faster evaluation
  • Flexible ID Assignment: Flexible ID assignment per frame, video, and global
  • Extraneous Box Handling: Optional removal of comparison ids which don't have an assignment to a ground truth id, with those FP tracked separately.
  • Flexible ID Assignment Cost: ID assignment cost can be box IOU or L2 distance in Lat/Long/Alt space.

Installation

git clone https://github.com/usnistgov/reid_hota.git
cd hota_reid
uv sync

Quick Start

Basic Usage

from reid_hota import HOTAReIDEvaluator, HOTAConfig
# create a reference and comparison dictionary of pandas dataframes. Each dataframe contains all detection boxes from that video.
ref_dfs, comp_dfs = load_data()

# create the Config controlling the Metric calculation
config = HOTAConfig(id_alignment_method='global', similarity_metric='iou', purge_non_matched_comp_ids=True)
# create the evaluator
evaluator = HOTAReIDEvaluator(n_workers=20, config=config)
# evaluate on data
evaluator.evaluate(ref_dfs, comp_dfs)
# extract results
global_hota_data = evaluator.get_global_hota_data().get_dict()
per_video_hota_data = evaluator.get_per_video_hota_data()
per_frame_hota_data = evaluator.get_per_frame_hota_data()

print(f"HOTA-ReID Score: {global_hota_data['HOTA']:.3f}")

License

This software was developed by employees of the National Institute of Standards and Technology (NIST), an agency of the Federal Government and is being made available as a public service. Pursuant to title 17 United States Code Section 105, works of NIST employees are not subject to copyright protection in the United States. This software may be subject to foreign copyright. Permission in the United States and in foreign countries, to the extent that NIST may hold copyright, to use, copy, modify, create derivative works, and distribute this software and its documentation without fee is hereby granted on a non-exclusive basis, provided that this notice and disclaimer of warranty appears in all copies.

THE SOFTWARE IS PROVIDED 'AS IS' WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT THE SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND FREEDOM FROM INFRINGEMENT, AND ANY WARRANTY THAT THE DOCUMENTATION WILL CONFORM TO THE SOFTWARE, OR ANY WARRANTY THAT THE SOFTWARE WILL BE ERROR FREE. IN NO EVENT SHALL NIST BE LIABLE FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO, DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES, ARISING OUT OF, RESULTING FROM, OR IN ANY WAY CONNECTED WITH THIS SOFTWARE, WHETHER OR NOT BASED UPON WARRANTY, CONTRACT, TORT, OR OTHERWISE, WHETHER OR NOT INJURY WAS SUSTAINED BY PERSONS OR PROPERTY OR OTHERWISE, AND WHETHER OR NOT LOSS WAS SUSTAINED FROM, OR AROSE OUT OF THE RESULTS OF, OR USE OF, THE SOFTWARE OR SERVICES PROVIDED HEREUNDER.

To see the latest statement, please visit: [https://www.nist.gov/director/copyright-fair-use-and-licensing-statements-srd-data-and-software](Copyright, Fair Use, and Licensing Statements for SRD, Data, and Software)

Acknowledgments

Contact

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reid_hota-0.1.0.tar.gz (817.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reid_hota-0.1.0-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file reid_hota-0.1.0.tar.gz.

File metadata

  • Download URL: reid_hota-0.1.0.tar.gz
  • Upload date:
  • Size: 817.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for reid_hota-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7c8e7bd5a0b1d3b411e709668365a2eea6d1e2a24f43241f13b904625e34686e
MD5 036d10fc5f1dcc7870e7f99b7adf34f1
BLAKE2b-256 bd78160772f85a8f8317d092e0b7c23c8b80cf4d853104ee570e9afefe6df530

See more details on using hashes here.

File details

Details for the file reid_hota-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: reid_hota-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for reid_hota-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 21bdc0d6f802752e7ec5eae035307cc31d8e3e018512f3389512546c5def21c6
MD5 b8de23cfdc8a9960012e55439be04495
BLAKE2b-256 e234f4a86b7efd302fc662512868b7ab897d6e6b7cec2d5877336d8c948a86da

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page