LOST supports adding inference servers in order to make annotating images faster and more efficient. The server needs to implemented using Nvidia Triton Inference Server.
Please make yourself familiar with:
Please follow the below guidelines when implementing a server in Triton Inference Server.
Models that just accept a single image as an input.
Input and Output formats in config.pbtxt:
input [
{
name: "img"
data_type: TYPE_FP32
dims: [-1, -1, -1]
}
]
output [
{
name: "detections"
data_type: TYPE_FP32
dims: [-1, 6]
}
]
Description of Inputs and Outputs:
-
Input (
img):
The input tensorimgrepresents the image data to be processed by the model. It is expected to be a floating-point tensor (TYPE_FP32) with three dimensions: height, width, and channels. Pass anumpyarray. -
Output (
detections):
The output tensordetectionsshould contain the results of the object detection process. It is a floating-point tensor (TYPE_FP32) with two dimensions: the number of detected objects and a fixed size of 6 for each detection. Each detection should include the following information:- left: The x-coordinate of the top-left corner of the bounding box.
- top: The y-coordinate of the top-left corner of the bounding box.
- width: The width of the bounding box.
- height: The height of the bounding box.
- confidence score: A value between 0 and 1 indicating the confidence level of the detection.
- class_id: The identifier of the detected object's class.
Input and Output formats in config.pbtxt:
input [
{
name: "img"
data_type: TYPE_FP32
dims: [-1, -1, -1]
}
]
output [
{
name: "polygons"
data_type: TYPE_FP32
dims: [-1, -1]
},
{
name: "class_ids",
data_type: TYPE_FP32
dims: [-1]
}
]
Description of Inputs and Outputs:
-
Input (
img):
Pass anumpyarray as described above. -
Output (
polygons):
The output tensorpolygonsshould contain the segmentation results in the form of polygon coordinates. It should be floating-point tensor (TYPE_FP32) with two dimensions: the number of detected objects and a variable number of points defining the polygons for each object. -
Output (
class_ids):
The output tensorclass_idsshould the class identifiers for the segmented objects. It should be a floating-point tensor (TYPE_FP32) with one dimension, where each entry corresponds to the class ID of a detected object. It should have a 1-1 correspondence with thepolygonstensor.