This project focuses on two major components:
- Video enhancement system and image processing.
- Data extraction and analytics specific about vehicles and license plates.
-
Real-ESRGAN - Enhance low-resolution images with super-resolution techniques.
-
RVRT - Techniques for de-blurring images and videos.
-
RealBasicVSR - A repository dedicated to video super-resolution.
-
NonUniformBlurKernelEstimation - Estimate the blur kernel in images for de-blurring.
-
Grounded-Segment-Anything (SAM) - Segmentation techniques based on text prompts.
-
Yolo Tracking - Object detection, tracking, and REID using Yolo.
-
Co-Tracker Optical Flow - Optical flow-based tracking system.
-
Frame Interpolation - Interpolate frames in videos for smooth transitions.
-
Inpaint-Anything - Techniques for inpainting objects in images and videos.
-
Yolo detection - Techniques for detections segmentation.
11 **Segment anything ** - Techniques for segmentation. - GitHub Repository
-
Lavis Model - A model for question-answering based on images.
-
ViLT Model - Another model for image-based question-answering, hosted on Hugging Face.
-
PyTorch - An open-source machine learning library to accelerate the path from research to production.
-
Plate recognizer - A company provide ability to recognize license plate.
-
Image stabilization by classical calculations:
- Options: Directory of images input -> processing -> image result
-
Reticle image stabilization using optical flow and averaging:
-
Averaging and stabilization - ECC by choosing a segmentation map for an object that we want to stabilize.
-
De-noise - Repository
-
De-blur - Repository
-
De-jpeg - Repository
-
Blur kernel estimation - Repository
-
Object segmentation based on text prompt - Repository
-
Object Detection & Tracking & REID - YOLO - Repository
-
Optical Flow - Repository
- Options: Video + ROI User selection -> processing -> Video & PT
5 Frame Interpolation - Repository * Options: Image a + image b -> processing -> crop and other stuff
-
Questions and Answering - Based on the Lavis Model and ViLT Model
-
Create Motion Blur for Objects - Based on optical flow and some logic. (Coming Soon)
-
Remove/Inpaint Any Object
- Options:
- Video + ROI User selection -> processing (Model) -> Inpaint object inside video, Repository
- Video + ROI User selection -> processing (Classic) -> Inpaint object inside video
- Options:
-
Segmentation based on Optical Flow - Get segmentation (BB) based on the optical flow points track
Specifically regarding vehicles and license plates. Follow the provided web page for results for cars and license plates according to your terms. The results are provided as a JSON file per object (Car and its license) with the best score.
Note -> to use this web page u should to buy and install the license for - PlateRecognizerCompany
git clone https://github.com/NehorayMelamed/VPAAE.git
pip3 install torch torchvision torchaudio
Navigate to the project's root directory and run:
pip install -r requirements.txt
sudo apt install python3-tk
sudo apt install tk-dev
-
Download the Files:
Download thept_and_pth_files.zip
from this Drive link and place it in the base directory of the project. -
Place the .pt Files in Their Locations:
- Ensure you are in the root directory of the project (where the zip file should be located).
- Navigate to the SystemBuilding directory:
cd SystemBuilding
- Run the code inside the SystemBuildingForUser.py script:
python SystemBuildingForUser.py
python gui_video_processing_via_tkniret_3.py
The way to get into the system for the vehicle and license plate is by clicking the below link of the window
-
Add an option to upload a video or a folder of photos, uniformly for everyone.
-
To create a connection between the different services.
-
Make VIDEO COMPRESSION so that it is also possible to choose with a simple YOLO, and not just upload a folder of FRAMES, and MASKS.
-
Support the choice of CPU or CUDA for:
- Chain_demo_main_interface -(By co-track)
- FRAME INTERPOLATION
- DENOISE
- DEBLUR