-
Tool to annotate spatially regions of interest for omnidirectional visual data in EPR.
-
Developed using Equirectangular-toolbox, OpenCV, PyQt5 5.15.4, and python 3.9.5.
-
If you use this software in your project, please site the repository:
@software{360RAT, author = {Myllena Prado, Lucas Althoff, and Mylène Farias}, title = {360RAT: 360 - ROI Annotator Tool}, url = {https://gitlab.com/gpds-unb/360rat}, version = {0.1.0}, year = {2021}, }
-
(Install pip together with python.)
-
pip install opencv-python-headless
-
pip install PyQt5
-
pip install -U matplotlib
-
pip install numpy
-
pip install Pillow
-
After installing, go to prorgram folder:
`cd 360RAT`
-
Execute the program:
`python .\360RAT.py`
-
Dowloand the virtual machine from : Link to dowload
-
Upload the file on virtual box (link to help upload a .ova file on virtual box)
-
Start the Virtual Machine.
-
Enter
User: IEUser
password: Passw0rd!
-
Open powerShell
-
Go to directory of program with the command:
`cd C:\Users\IEUser\Desktop\360rat`
-
Execute the program:
`python .\360RAT.py`
- Video: https://youtu.be/YWhyuafnATI
The software outputs a folder with :
- Annotated frames;
- Black frames with ROIs shown in white;
- Video frames with annotated ROIs drawn over original content;
- CSV file with annotation data. This file can be used to later edit a video annotation. This CSV has the follow fields:
Field | Description | Options |
---|---|---|
Type | Represent the type os ROI saved in csv | 0 - Representing that row is a "Single ROI". 1- Representing one ROI which is part of "compose ROI". 2 - Representing that row is a complete "compose ROI" |
Frame | frame position during the video | Number from 0 to total frame of video |
ID ROI | ID of ROI. The count of ID is independent to "single ROI" and "compose ROI". | Number bagin on 0 and increase 1 with each new ROI annotated. |
Center_point X | X coordinate in the picture frame corresponding to the center of the ROI | Ranging from 0 to 1. Representing the center of "single ROI" or the first ROI of "compose ROI" |
Center_point Y | Y coordinate in the picture frame corresponding to the center of the ROI | Ranging from 0 to 1. Representing the center of "single ROI" or the first ROI of "compose ROI" |
ROI H | Horizontal ROI scale | Ranging from 0 to 1. |
ROI W | Vertical ROI scale | Ranging from 0 to 1. |
Label | Semantic classification of the ROI | See file Save_windows.py |
Movement | Movement of ROI along the frame and video. | “True” when the ROI is declared to be moving across the frames, “False” when it is declared as static, “*” for the“single ROI” |
Frame_end | Frame position during the video | Id of frame for type=2. ( Only present for type =2, otherwise equal 0) |
Center_point_end X | 𝑥 coordinate in the picture frame corresponding to the center of the ROI | Ranging from 0 to 1.(Only present for type =2 otherwise equal 0.) |
Center_point_end Y | 𝑦 coordinate in the picture frame corresponding to the center of the ROI | Ranging from 0 to 1. (Only present for type =2 otherwise equal 0) |
ROI H | Horizontal ROI scale | Ranging from 0 to 1. (Only present for type =2 otherwise equal 0) |
ROI W | Vertical ROI scale | Ranging from 0 to 1.(Only present for type =2 otherwise equal 0) |
To decrease the fps or cut the videos you can use FFMPEG 4.4
Full release : https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z
-
Change the fps:
ffmpeg -i <input> -filter:v fps=30 <output>
-
Cut the video:
ffmpeg -ss 00:01:00 -i input.mp4 -to 00:02:00 -c copy output.mp4
-
Change the resolution:
ffmpeg -i input.mp4 -vf scale=480:320 output_320.mp4