Create Your First Project
Start adding your projects to your portfolio. Click on "Manage Projects" to get started
A static motion detector
Project type
Python
Date
July 2023
Location
Lausanne
Goal:
To extract the motion period of an object during non-traveling time, for example, hand waiving while standing.
Milestones:
1. Deployed a semi-auto labeling tool as a fast labeling tool
2. Finish the manual correction
3. Fully automatize the behavior classification.
Execution:
1. Object segmentation and tracking by image processing with OpenCV to isolate static period.
2. Periodic image projection compresses temporal information to a spatial dimension in a single frame to enhance the feature of static motion.
3. Generate potential videos and manually correct/label them as a semi-auto analysis pipeline.
4. Train the ResNet-50 model for image classification using the labeled video frames.
5. Post-process the predictions of the deep learning model by threshold fine-tuning and voting mechanism to remove the noise.
Results:
1. The semi-auto analysis pipeline turns out to be a useful tool for behavior analysis as a side product.
2. The deep learning model further improves the accuracy of OpenCV-based prediction from 72% to 92% in the validation dataset, showing the potential to automatize the classification process.