This project utilizes event-frame filtering and a genetic algorithm to detect and measure vibrations of an object using high-speed camera footage. The integration of neuromorphic computing and high-speed cameras aims to revolutionize vibration diagnostics by making advanced vibration analysis techniques accessible to everyone.
Vibration analysis is crucial in various fields such as structural health monitoring, mechanical engineering, and industrial maintenance. Traditional methods often require expensive equipment and specialized expertise. This project seeks to overcome these barriers by leveraging cutting-edge technologies and computer vision algorithms.
-
Data Retrieval and Preprocessing
- Retrieve data from transformed frames of a high-speed camera .
- Enhance the final results by clearing, normalizing, and denoising the obtained frames.
-
Frame Correlation and Template Matching
- Find the region of the source frame that matches the given image template using the normalized mutual correlation function.
- Estimate the degree of correlation without scaling or rotating the template.
-
Visualization
- Develop a user-friendly application for interaction and result visualization.
-
Event-Frame Filtering
- Utilize high-speed cameras and different image enhancing algorithms to capture dynamic scenes and filter relevant events for vibration analysis.
-
Genetic Algorithm
- Apply a genetic algorithm to optimize the detection and measurement of vibrations from the processed frames.
-
Vibration Measurement
- Analyze the processed frames to detect and measure the vibrations accurately.
- Python 3.8 or higher
- pip (Python package installer)
git clone https://github.com/argirovga/vibration_diagnostics.git
cd vibration_diagnosticspip install -r requirements.txt-
Preprocess Data
Use the provided scripts to preprocess the data from the high-speed or event-based cameras.
python run.py
You can also explore the provided Jupyter Notebook for a step-by-step walkthrough of the frame shifting and vibration calculation.
jupyter notebook frame_shifting_and_vibration_calculation.ipynbContributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Commit your changes (
git commit -am 'Add new feature'). - Push to the branch (
git push origin feature-branch). - Create a new Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Special thanks to all contributors and the open-source community.
- This project is inspired by the need for accessible and advanced vibration diagnostic tools.