All Projects → deepampatel → BirdsEye

deepampatel / BirdsEye

Licence: other
Applying Perspective transformations to 2d images.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to BirdsEye

pytorch-mot-tracking
Demo the Kalman Filter on pedestrian tracking with YOLOv3.
Stars: ✭ 76 (+245.45%)
Mutual labels:  tracking
pyMHT
Track oriented, multi target, multi hypothesis tracker
Stars: ✭ 66 (+200%)
Mutual labels:  tracking
FMFNet
Official Pytorch implementation for the paper: "FMFNet: Improve the 3D Object Detection and Tracking via Feature Map Flow" [Accepted in IJCNN-2022]
Stars: ✭ 23 (+4.55%)
Mutual labels:  tracking
RustyTaintChain
The simplest of implementations for FIFO (Clayton's case from 1816) money tracking algorithm.
Stars: ✭ 16 (-27.27%)
Mutual labels:  tracking
brfv4 android examples
Android Studio project (Java)
Stars: ✭ 43 (+95.45%)
Mutual labels:  tracking
BOVText-Benchmark
BOVText: A Large-Scale, Multidimensional Multilingual Dataset for Video Text Spotting
Stars: ✭ 44 (+100%)
Mutual labels:  tracking
VIAN
No description or website provided.
Stars: ✭ 18 (-18.18%)
Mutual labels:  tracking
Face-Detection-and-Tracking
Face Detection and tracking using CamShift, Kalman Filter, Optical Flow
Stars: ✭ 30 (+36.36%)
Mutual labels:  tracking
opencv TLD
TLD:tracking-learning-detection 跟踪算法
Stars: ✭ 41 (+86.36%)
Mutual labels:  tracking
TobiiGlassesPyController
Tobii Pro Glasses 2 Python controller
Stars: ✭ 42 (+90.91%)
Mutual labels:  tracking
tracking-python3
In this repository I will give some implementation of single and multiple object tracking algorithms. These include meanShift, CamShift, Boosting, MIL, KCF, TLD , GoTurn, and MedianFlow. Additionally I will show you how to grab frames at a very high FPS from camera and videos.
Stars: ✭ 98 (+345.45%)
Mutual labels:  tracking
FMF Server
FindMyFriends API intended to be used for server side applications written using requests and iCloud.com
Stars: ✭ 22 (+0%)
Mutual labels:  tracking
IMU-VR-Full-Body-Tracker
Inertial Measurement Unit (IMU) based full body tracker for Steam VR.
Stars: ✭ 46 (+109.09%)
Mutual labels:  tracking
3D-Tracking-MVS
3D position tracking for soccer players with multi-camera videos
Stars: ✭ 68 (+209.09%)
Mutual labels:  tracking
Awesome-Vision-Transformer-Collection
Variants of Vision Transformer and its downstream tasks
Stars: ✭ 124 (+463.64%)
Mutual labels:  tracking
packages.unity.com
Tracking changes of few Unity packages
Stars: ✭ 24 (+9.09%)
Mutual labels:  tracking
top-view-multi-person-tracking
This repo contains links to multi-person re-identification and tracking dataset in top view multi-camera environment.
Stars: ✭ 59 (+168.18%)
Mutual labels:  tracking
sdks
Polyaxon Clients & Langange SDKS
Stars: ✭ 12 (-45.45%)
Mutual labels:  tracking
trackanimation
Track Animation is a Python 2 and 3 library that provides an easy and user-adjustable way of creating visualizations from GPS data.
Stars: ✭ 74 (+236.36%)
Mutual labels:  tracking
untrace
🐳 Minimal event tracking on the client in 300 bytes.
Stars: ✭ 26 (+18.18%)
Mutual labels:  tracking

Birds Eye


Birds Eye Demo Gif

Perspective Transform

In Perspective Transformation, we can change the perspective of a given image or video for getting better insights about the required information. In Perspective Transformation, we need provide the points on the image from which want to gather information by changing the perspective. We also need to provide the points inside which we want to display our image. Then, we get the perspective transform from the two given set of points and wrap it with the original image.

For perspective transformation, you need a 3x3 transformation matrix. Straight lines will remain straight even after the transformation. To find this transformation matrix, you need 4 points on the input image and corresponding points on the output image. Among these 4 points, 3 of them should not be collinear. Then transformation matrix can be found by the function cv2.getPerspectiveTransform. Then apply cv2.warpPerspective with this 3x3 transformation matrix.

To get the Transformation Matrix

Install requirements

pip install -r requirements.txt

Run this command and select four points on the image. In the order (TopLeft, TopRight, BottomLeft, BottomRight)

python calliberate.py --image calliberation_image.jpg 

The output will be a numpy .npy transformation matrix file. Which you can use for further development.

Example application of perspective change:

In this case i have used the above created matrix file to change the side tilted view of the camera into top(Birds eye) view. I used a person detection model to detect the person in the frame. The detections are in the form of rectangle co-ordinates (xmin,ymin, xmax, ymax). I selected the bottom coordinate of rectangle and transformed its view to top view to get a point representation of the person using the transformation matrix.

To run the example :

cd examples/movements/
python person_birds_eye.py 

In the above example the dots on black screen are the top view of people walking in the video. The flickering is because of the accuracy of the model that is used. This experiment was done using an ssd_mobilenet model. To use a model with higher accuracy in person detection task change this line.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].