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.
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
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;