Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Humantracking #26

Open
wants to merge 13 commits into
base: main
Choose a base branch
from
Open

Humantracking #26

wants to merge 13 commits into from

Conversation

john-rocky
Copy link
Contributor

@john-rocky john-rocky commented Jun 4, 2024

Using the inference results of the YOLOv8-Human model, the same person is tracked between frames and identified as an individual.
The feature values ​​of the tracked same person are averaged over any frame to create a stable value. The frequency of the number of frames for updating the feature value can be set by changing the following value of HumanModel.
let updateFrequency: Int = 120
From the first time a person is detected until the number of frames set by the update frequency is reached, the feature values ​​for the frames up to that point are averaged, so there is a large fluctuation.
This tracking algorithm is very simple, so if person detection is lost for 15 frames, tracking will also be lost. I will consider changing to a better tracking method.

The tracking mode can be turned on/off with the tracking switch button.

🛠️ PR Summary

Made with ❤️ by Ultralytics Actions

🌟 Summary

This PR introduces significant enhancements and new features to the YOLO iOS app, improving object detection, tracking, and user interaction.

📊 Key Changes

  • Added new Swift files PostProcessing.swift, HumanModel.swift, and TrackingModel.swift to support post-processing of YOLOv8 model outputs, human feature extraction, and object tracking.
  • Updated the main storyboard to include new UI elements for task selection (object detection or human feature extraction) and tracking activation.
  • Removed outdated YOLO model package references (yolov8l.mlpackage, yolov8x.mlpackage, etc.) from the project.
  • Modified BoundingBoxView.swift to display additional information within bounding boxes (e.g., human features like weight, height).
  • Adjusted project settings, such as the development team ID.
  • Incorporated logic to switch between different tasks (object detection vs. human features) and to enable tracking functionality through UI controls.

🎯 Purpose & Impact

  • Enhanced Detection and Analysis: The introduction of post-processing and human model analysis allows for more refined and detailed object detection, particularly for identifying human features.
  • User Control and Interaction: By adding UI elements for selecting detection tasks and enabling tracking, users gain more control over the app's functionality, making it more versatile and user-friendly.
  • Future Development and Maintenance: Removing outdated model references and updating project settings streamline the app, making it easier to maintain and update in the future.

Overall, these updates significantly enhance the app's capabilities, providing users with more detailed analyses and customizable detection options, thereby improving the user experience.

@glenn-jocher glenn-jocher changed the title Humantraking Humantracking Jun 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants