-
Notifications
You must be signed in to change notification settings - Fork 69
Movement: Support for kalman filters (Deborshi Kashyap) #2
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
Open
decembboy
wants to merge
10
commits into
neuroinformatics-unit:main
Choose a base branch
from
decembboy:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
3bce3b5
Create NeuroInformation Support for kalman filters in movement Debor…
decembboy f6bb850
Update and rename NeuroInformation Support for kalman filters in move…
decembboy 6b3ed83
Update NeuroInformation Support for kalman filters in movement Debor…
decembboy e5e0a74
Update application_template.md
decembboy fb27a70
Update NeuroInformation Support for kalman filters in movement Debor…
decembboy 2e8b9c3
Update NeuroInformation Support for kalman filters in movement Debor…
decembboy b0bb2fa
Update NeuroInformation Support for kalman filters in movement Debor…
decembboy f209d4c
Update NeuroInformation Support for kalman filters in movement Debor…
decembboy 74222e3
Update NeuroInformation Support for kalman filters in movement Debor…
decembboy 1652afb
Updated implementation timeline.md
decembboy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
136 changes: 136 additions & 0 deletions
136
NeuroInformation Support for kalman filters in movement Deborshi Kashyap.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
<h1> Name and Contact Information </h1> | ||
|
||
Name : Deborshi Kashyap | ||
|
||
Time-zone : UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi | ||
|
||
E-mail : [email protected] | ||
|
||
Github : [decembboy](https://github.com/decembboy) , [Deborshi](https://github.com/deborshi-web) | ||
|
||
Zulip Username : [Debor](https://neuroinformatics.zulipchat.com/#user/882018) | ||
|
||
Code Contribution: | ||
|
||
[Microsoft torchgeo](https://github.com/microsoft/torchgeo/pull/2460) | ||
|
||
[myhealthconnectsociety](https://github.com/myhealthconnectsociety/project-healthcare/pull/138) | ||
|
||
[neuroinformatics unit ( movement )](https://github.com/neuroinformatics-unit/movement/issues/21) | ||
|
||
|
||
|
||
|
||
|
||
# Title: | ||
|
||
Support for kalman filter in movement | ||
|
||
# Synopsis: | ||
|
||
This project aims to integrate Kalman filtering into the Movement project to enhance data smoothing and filtering capabilities. The Kalman filter will be implemented to smooth position, velocity, and acceleration timeseries. Additionally, as a stretch goal, it will be applied to fix identity switches in multi-animal tracking data. This functionality is crucial for improving trajectory estimations, aggregating multi-source information, and enhancing tracking accuracy. The deliverables include a robust Python implementation, comprehensive tests, thorough documentation, and an example use case in the Movement gallery. The open-source community will benefit from improved data handling methods in movement analysis. | ||
|
||
# Implementation Timeline: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You haven't specified the size of the project you are applying for. How many hours to do you intend to commit in total? |
||
|
||
1. <h3> Understanding the Problem </h3> | ||
The goal is to implement Kalman Filters in a simplified manner for tracking movement. | ||
Kalman Filters help in predicting and correcting movement data (e.g., tracking an object's position over time with noisy measurements). | ||
|
||
2. <h3> Define Requirements </h3> | ||
Should handle basic motion models (e.g., constant velocity, constant acceleration). | ||
Should be easy to integrate into a simple movement tracking system. | ||
Should have minimal computational overhead for real-time processing. | ||
|
||
3. <h3> Implement a Basic Kalman Filter </h3> | ||
Define the state vector (position, velocity, etc.). | ||
Define state transition and observation models. | ||
Initialize the process covariance, measurement covariance, and Kalman gain. | ||
Implement the prediction and update steps. | ||
|
||
4. <h3> Test with Sample Data </h3> | ||
Simulate object movement (e.g., moving in a straight line). | ||
Introduce noise to measurements. | ||
Verify if the filter smooths out the trajectory correctly. | ||
|
||
5. <h3> Optimize and Simplify </h3> | ||
Reduce computational complexity if needed. | ||
Remove unnecessary parameters for a minimalist version. | ||
Provide easy-to-use functions for integration. | ||
|
||
<h2> Week Deliverables </h2> | ||
|
||
<h3> Community Bonding: </h3> | ||
|
||
Study Movement's current data structures, discuss approach with mentors, explore existing Kalman filter implementations. | ||
|
||
Week 1 Implement a basic Kalman filter for single-variable smoothing (position). | ||
|
||
Week 2 Extend the filter to support velocity and acceleration. Add initial test cases. | ||
|
||
Week 3 Optimize implementation for efficiency. Begin integrating filter into Movement’s framework. | ||
|
||
Week 4 Finalize core implementation. Improve test coverage and edge-case handling. | ||
|
||
Week 5 Draft documentation and create usage examples. | ||
|
||
Week 6 Midterm Evaluation: Ensure filtering is fully functional with documented examples. | ||
|
||
Week 7 Begin stretch goal: Implement identity switch correction using Kalman filtering. | ||
|
||
Week 8 Improve accuracy of identity-switch handling. Test and refine algorithm. | ||
|
||
Week 9 Integrate new feature into Movement’s tracking tools. | ||
|
||
Week 10 Final testing, performance tuning, and validation with real-world data. | ||
|
||
Week 11 Freeze codebase, finalize documentation, and polish the example use case. | ||
|
||
Week 12 Submit final deliverables, write project report, and assist with integration into Movement. | ||
|
||
<h3> Communication Plan: </h3> | ||
|
||
• Weekly progress meetings with mentors via video calls. | ||
|
||
• Ongoing discussions and questions through Zulip chat. | ||
|
||
• Regular code updates and reviews on GitHub. | ||
|
||
• Midterm and final project reports. | ||
|
||
# Personal Statement: | ||
|
||
<h2> Past Experience: </h2> | ||
|
||
I am an experienced Python developer with expertise in numpy, pandas, OpenCV, and matplotlib. I have worked on data processing, visualization, and automation tools, including CSV-to-graph converters and AI-driven automation frameworks here are projects listed below | ||
|
||
[Interactive German Dialect](https://github.com/decembboy/German-Dialect-Map) | ||
|
||
[Interactive Graph Generator](https://github.com/decembboy/Interactive-graph-generator) | ||
|
||
[Automate Assistant](https://github.com/decembboy/Automate-Assistant) | ||
|
||
|
||
I have contributed to open-source projects such as | ||
|
||
1. [Microsoft torchgeo](https://github.com/microsoft/torchgeo/pull/2460) | ||
2. [myhealthconnectsociety](https://github.com/myhealthconnectsociety/project-healthcare/pull/138) | ||
3. [neuroinformatics unit ( movement )](https://github.com/neuroinformatics-unit/movement/issues/21) | ||
|
||
I also took a [Google cyber security course](https://www.coursera.org/account/accomplishments/specialization/5AD3BY5DV4V3) on Coursera. It demonstrates my ability to manage complicated data procedures efficiently. | ||
|
||
<h3> Motivation: </h3> | ||
|
||
I am deeply interested in motion analysis and filtering techniques. This project aligns with my passion for optimizing data processing workflows and working on real-world applications in scientific computing. The opportunity to contribute to Movement and help improve data accuracy excites me, as it directly benefits researchers and analysts dealing with complex tracking problems. | ||
|
||
<h3> Match:</h3> | ||
|
||
My background in Python, data processing, and algorithmic optimization makes me an excellent fit for this project. Having worked on automation and AI-driven tools, I can efficiently implement, test, and optimize the Kalman filter for Movement. | ||
|
||
<h3> Availability: </h3> | ||
|
||
I have commitments during the GSoC work period. I have one-day exams in June and December, time-table is not yet scheduled. | ||
|
||
<h3> Are you also applying for projects with other organisations in GSoC 2025? </h3> | ||
|
||
No, I'm not applying for any projects with other organizations in GSoC 2025. | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is a link to an issue, not a PR. Note that in this section we expect to see links to PRs only.