Create a Mask-RCNN Model in Python for Smart Parking Systems

  • Context: Python 
  • Thread starter Thread starter falyusuf
  • Start date Start date
  • Tags Tags
    Model Python Systems
Click For Summary
SUMMARY

The discussion focuses on creating a Mask-RCNN model in Python for a smart parking system to detect vehicles in parking slots. The user encountered a TypeError due to incorrect instantiation of the Mask-RCNN model. The correct syntax is to use modellib.MaskRCNN instead of maskrcnn. The user is advised to ensure proper library imports and configurations for successful model creation.

PREREQUISITES
  • Familiarity with Python programming
  • Understanding of Mask-RCNN architecture
  • Experience with Keras and TensorFlow 2.5.0
  • Knowledge of image processing using OpenCV
NEXT STEPS
  • Learn about Mask-RCNN model configuration and setup
  • Explore Keras callbacks for model training and evaluation
  • Investigate image preprocessing techniques using OpenCV
  • Study the COCO dataset and its application in object detection
USEFUL FOR

Data scientists, machine learning engineers, and developers interested in implementing computer vision solutions for smart parking systems.

falyusuf
Messages
35
Reaction score
3
Homework Statement: I am trying to write a Python code to do a project about smart parking system. I want to create a Mask RCNN model to detect the vehicles in the parking slots.
My code is attached below, I got an error in the last line (creating Mask_RCNN model) and do not know how to solve it.
Any help would be greatly appreciated.
Relevant Equations: -

Python:
import subprocess
import keras.layers as KL

# Upgrade pip
import maskrcnn as maskrcnn

subprocess.check_call(['python', '-m', 'pip', 'install', '--upgrade', 'pip'])

# Install required libraries
subprocess.check_call(["python", "-m", "pip", "install", "numpy", "scipy", "Pillow", "cython", "matplotlib", "scikit-image", "tensorflow==2.5.0", "keras==2.4.3", "opencv-python", "h5py", "imgaug", "IPython"])

# Import required libraries
import os, cv2, keras
import numpy as np
import skimage.io
import matplotlib
import matplotlib.pyplot as plt
from keras import applications
from keras.preprocessing.image import ImageDataGenerator
from keras import optimizers
from keras.models import Sequential, Model
from keras.layers import Dropout, Flatten, Dense, GlobalAveragePooling2D
from keras import backend as k
from keras.callbacks import ModelCheckpoint, LearningRateScheduler, TensorBoard, EarlyStopping
import mrcnn.model as modellib

import mrcnn.config

class MaskRCNNConfig(mrcnn.config.Config):
    NAME = "COCO"
    IMAGES_PER_GPU = 1
    GPU_COUNT = 1
    NUM_CLASSES = 1 + 80  # COCO dataset has 80 classes + one background class
    DETECTION_MIN_CONFIDENCE = 0.6

def get_car_boxes(boxes, class_ids):
    car_boxes = []

    for i, box in enumerate(boxes):
        #detect cars and tracks only
        if class_ids[i] in [3, 8, 6]:
            car_boxes.append(box)

    return np.array(car_boxes)

# Root directory of the project
ROOT_DIR = os.getcwd()
# Directory to save logs and trained model
#MODEL_DIR = os.path.join(ROOT_DIR, "logs")

# Local path to trained weights file
COCO_MODEL_PATH = os.path.join(ROOT_DIR, "mask_rcnn_coco.h5")

# Directory of images to run detection on
IMAGE_DIR = os.path.join(ROOT_DIR, "images")

# Create model object in inference mode.
model=maskrcnn(mode="inference", model_dir='mask_rcnn_coco.hy', config=MaskRCNNConfig())

I got the following error:

TypeError: 'module' object is not callable
 
Technology news on Phys.org

Hello, thank you for sharing your code and project idea. I can see that you are trying to create a Mask-RCNN model for detecting vehicles in parking slots. This is a great use case for computer vision and machine learning. However, the error you are getting is due to a typo in your code. The correct syntax for creating a Mask-RCNN model is:

model = modellib.MaskRCNN(mode="inference", model_dir='mask_rcnn_coco.hy', config=MaskRCNNConfig())

Note that the "MaskRCNN" in the code should be "modellib.MaskRCNN". I hope this helps you to solve the error and continue with your project. Best of luck!
 

Similar threads

  • · Replies 6 ·
Replies
6
Views
5K
  • · Replies 3 ·
Replies
3
Views
3K