Playing with MASK RCNN on videos .. again
Source code for the implementation that created this video will be uploaded soon.
A first attempt at using a pre-trained implementation of Mask R-CNN on Python 3, Keras, and TensorFlow. The model generates bounding boxes and segmentation masks for each instance of an object in each frame. It’s based on Feature Pyramid Network (FPN) and a ResNet101 backbone.
Setup
Conda / Anaconda
First of all, we installed and activated anaconda
on an Ubuntu 20.04LTS
desktop. To do so, we installed the following dependencies from the repositories:
sudo apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6;
Then, we downloaded the 64-Bit (x86) Installer
from (https://www.anaconda.com/products/individual#linux).
Using a terminal, we followed the instructions here (https://docs.anaconda.com/anaconda/install/linux/) and performed the installation.
Python environment and OpenCV for Python
Following the previous step, we used the commands below to create a virtual environment for our code. We needed python
version 3.9 (as highlighted here https://www.anaconda.com/products/individual#linux) and OpenCV
for python
.
source ~/anaconda3/bin/activate;
conda create --name MaskRNN python=3.9;
conda activate MaskRNN;
pip install numpy opencv-python;
Problems that we did not anticipate
When we tried to execute our code in the virtual environment:
python3 main.py --video="/home/bob/Videos/Live @ Santa Claus Village 2021-11-13 12_12.mp4";
We got the following error:
Traceback (most recent call last): File "/home/bob/MaskRCNN/main.py", line 6, in <module> from cv2 import cv2 File "/home/bob/anaconda3/envs/MaskRNN/lib/python3.9/site-packages/cv2/__init__.py", line 180, in <module> bootstrap() File "/home/bob/anaconda3/envs/MaskRNN/lib/python3.9/site-packages/cv2/__init__.py", line 152, in bootstrap native_module = importlib.import_module("cv2") File "/home/bob/anaconda3/envs/MaskRNN/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) ImportError: libGL.so.1: cannot open shared object file: No such file or directory
We realized that we were missing some additional dependencies for OpenCV
as our Ubuntu
installation was minimal. To fix this issue, we installed the following package from the repositories:
sudo apt-get update;
sudo apt-get install -y python3-opencv;