Models and Pipelines
Cordatus uses models to detect and categorize objects in a video stream. You can select from Cordatus’s ready-to-use computer vision models or integrate your custom models if the available options don’t fit your needs. Currently, Cordatus supports Object Detection and Classification models, with plans to add Semantic Segmentation models soon.
Classification models can only be utilized within pipelines by connecting to an object detection model; they cannot operate independently.
Cordatus also allows users to create custom AI models by building pipelines that easily combine the platform's ready-to-use models as well as user's custom models. This feature enables users to develop AI solutions that are specifically tailored to their needs. Pipelines, a key feature of Cordatus, enable the sequential operation of multiple models. For example, in a vehicle detection model, users can first detect vehicles and then classify the brand and type of the vehicle using additional models. This showcases the versatility and flexibility of Cordatus in addressing various use cases.
Ready-to-Deploy Models & Pipelines
Cordatus currently provides two model architectures: object detection and classification.
Ready-to-Deploy Object Detection Models
- TRAFFICCAMNET: The TrafficCamNet model detects and outlines one or more physical objects in an image captured by a stationary camera, categorizing them into four distinct categories. It provides bounding boxes for each object and assigns a category label. The four categories include cars, persons, road signs, and two-wheelers.
- DASHCAMNET: The DashCamNet model identifies and outlines one or more physical objects in an image captured by a moving camera. It provides bounding boxes and category labels for each object, with four categories including cars, persons, road signs, and bicycles.
- LPDNET: The LPDNet model identifies and outlines one or more license plate objects in an image. For each detected object, the model returns a bounding box and an lpd label.
- PEOPLENET: The PeopleNet model identifies and outlines one or more physical objects in an image, falling into three categories. The output includes bounding boxes and category labels for each detected object. The three categories comprise persons, bags, and faces.
- FACENET: The FaceNet model recognizes and outlines one or more faces in an image. It generates bounding boxes and assigns category labels for each detected face.
- FACENET-IR: The FaceNet-IR model excels at detecting one or more faces in provided images or videos, particularly optimized for infrared (IR) images. When compared to the PeopleNet model, this model delivers superior results, especially in the detection of large faces, such as those found in webcam images.
Ready-to-Deploy Classification Models
- GENDERNET: The Gendernet model specializes in classifying detected individuals by their gender, categorizing them as male or female.
- AGENET: The Agenet model excels at estimating the age of detected individuals within a range of 0 to 100.
- EMOTIONNET: The EmotionNet model categorizes human emotions detected by detection models into six distinct categories: Neutral, Happy, Surprise, Squint, Disgust, and Scream.
- VEHICLETYPENET: The VehicleTypeNet model classifies car images into six distinct vehicle types: Coupe, Sedan, SUV, Van, Large Vehicle, and Truck.
- VEHICLEMAKENET: The VehicleMakeNet model proficiently classifies car images into 20 popular car makes, including Acura, Audi, BMW, Chevrolet, Chrysler, Dodge, Ford, GMC, Honda, Hyundai, Infiniti, Jeep, Kia, Lexus, Mazda, Mercedes, Nissan, Subaru, Toyota, and Volkswagen.
- LPRNET_US: The LPRNet (License Plate Recognition Net for the US) model predicts sequences of license plate characters detected by the LPDNet, enhancing the accuracy and reliability of license plate recognition tasks.
Ready-to-Deploy Pipelines
- Demographic-Analytics: The Demographic Analytics pipeline is designed for comprehensive demographic predictions for detected individuals. Initiating with FACENET, the pipeline accurately detects faces. Subsequently, the pipeline seamlessly integrates GENDERNET for gender classification, EMOTIONNET for emotional state analysis, and AGENET for accurate age estimation. Together, these components create a robust pipeline that delivers detailed demographic analytics for a comprehensive understanding of the target audience.
- Plate-Recognition: The Plate Recognition pipeline is designed for precise identification of vehicles and their license plates, providing advanced license plate recognition (LPR) capabilities. The pipeline begins with the utilization of TRAFFICCAMNET for accurate vehicle detection, swiftly followed by LPDNET for license plate detection. Finally, the pipeline employes LPRNET_US for the recognition of license plates, ensuring a seamless and efficient process from vehicle identification to license plate reading. This integrated approach enables reliable and accurate plate recognition for diverse applications, ranging from security to traffic management.
Additional pre-built models and pipelines will be introduced soon.
Using the Interface
The Models page in Cordatus offers user-friendly features to enhance the overall experience:
-
Users can streamline their view by selecting the Only My Models checkbox, ensuring that they see exclusively the models they have uploaded.
-
The Sort Models option at the top of the page enables users to arrange their models alphabetically in ascending or descending order, facilitating quick navigation.
-
A search box located at the top right corner of the screen allows users to effortlessly find specific models by entering the model's name.
- Similar functionalities are extended to Pipelines at the bottom of the Models page. Furthermore, for Pipelines, users can click on Label or Created tags atop the columns to organize pipelines based on their label or creation time.
Adding a Custom Model
If the existing ready-to-deploy models don't suit your needs, you can add your custom object detection and classification models into Cordatus. These models will be private, accessible only to you.
Currently, you can only add models trained with NVIDIA TAO Toolkit or TensorFlow Object Detection API. To understand how to train a model with NVIDIA TAO Toolkit or TensorFlow Object Detection API, refer to these links.
Follow these steps to add a new model:
- Go to the Models page from the left menu in the Web App.
- Click the Add Model button. This action opens the Add New Algorithm or Deep Learning Models modal.
- Fill in the following details in the modal:
- Model Label: Provide a name for your model.
- Algorithm Type: Choose the model type you trained, either object detection or classification.
- Train Source: Select the application in which the model was trained.
- Model Key: Only required for models trained with TAO Toolkit; enter the model key used in the training config.
- Model Format: Only required if the train source is selected as TensorFlow Object Detection API. Choose your model's file export format (ONNX, TF SavedModel, TF GraphDef, TF Checkpoint, or TF Keras).
- Channel Order: Select your model's channel order as channel-first (NHWC) or channel-last (NCHW).
- Channel Width and Channel Height: Enter your model's input channel dimensions.
- Model Files: Upload your model's exported files (only zip format is allowed).
- Label File: Upload a file containing model labels on each line (only txt format is allowed).
- Click Save and Upload to complete the process.
Ensure a successful deployment by verifying that your training configuration matches the configurations added to Cordatus. Any discrepancies in the model configurations can lead to deployment failures. Carefully inspect and align these configurations to ensure a smooth integration process.
Once the uploading process is complete, Cordatus will process your model files and securely save them to your account. Subsequently, you can initiate a job using this model. Refer to the Jobs section for more detailed information.
Creating a Custom Pipeline
Creating a pipeline with Cordatus is a hassle-free process that requires no coding. Users can effortlessly design their pipelines by utilizing the intuitive Cordatus Model Composer, simply dragging and dropping the desired models into place. This user-friendly approach ensures that users can efficiently structure their pipelines without the need for complex coding procedures.
Follow these steps to create a new pipeline:
- Navigate to the Models page from the left menu.
- Click the New Pipeline button to access the Model Composer.
- Start your pipeline with the Dummy Stream, which signifies your camera stream and serves as the origin for all pipelines.
- On the left sidebar, find the models you want to include and drag them into the Model Composer. The Dummy Stream and the first model will connect automatically.
- To establish connections between models, drag the output of one model and link it to the input of another model by drawing a line between them. You have the flexibility to connect the output of one model to the inputs of multiple models within your pipeline.
- To remove a connection between models, drag either the input or output part of the connecting line and release it in the black area.
- To remove a model from the pipeline, simply right-click on the model's header and choose the Delete option. Continue adding and connecting models in sequence as needed.
- Click the Save Pipeline button, provide a name for your pipeline in the Pipeline Label field, and then click Save to finalize the process.
With your pipeline created, you are ready to deploy it. Initiate a job using this pipeline by referring to the details in the Jobs section.
For optimal performance and efficiency, it is recommended that your pipeline begins with an object detection model and continues with a classification model. This sequence ensures the best results in your AI deployment.