Next Article in Journal
Dynamics and Bifurcations of a Discrete-Time Moran-Ricker Model with a Time Delay
Next Article in Special Issue
Alzheimer’s Disease Prediction Using Deep Feature Extraction and Optimization
Previous Article in Journal
Multidimensional Preference Game and Extreme Dispute Resolution for Optimal Compensation of House Expropriation
Previous Article in Special Issue
Neuron-by-Neuron Quantization for Efficient Low-Bit QNN Training
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Real-Time Detection of Unrecognized Objects in Logistics Warehouses Using Semantic Segmentation

by
Serban Vasile Carata
1,*,
Marian Ghenescu
1,2 and
Roxana Mihaescu
1
1
Softrust Vision Analytics, 107A, Oltenitei Avenue, 041303 Bucharest, Romania
2
ISS—Institutul de Stiinte Spatiale, 409, Atomistilor Street, 077125 Magurele, Romania
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(11), 2445; https://doi.org/10.3390/math11112445
Submission received: 24 March 2023 / Revised: 24 April 2023 / Accepted: 24 May 2023 / Published: 25 May 2023

Abstract

:
Pallet detection and tracking using computer vision is challenging due to the complexity of the object and its contents, lighting conditions, background clutter, and occlusions in industrial areas. Using semantic segmentation, this paper aims to detect pallets in a logistics warehouse. The proposed method examines changes in image segmentation from one frame to the next using semantic segmentation, taking into account the position and stationary behavior of newly introduced objects in the scene. The results indicate that the proposed method can detect pallets despite the complexity of the object and its contents. This demonstrates the utility of semantic segmentation for detecting unrecognized objects in real-world scenarios where a precise definition of the class cannot be given.

1. Introduction

In recent years, the applications of machine learning and computer vision have extended to encompass a vast array of industries. Specifically, logistics warehouses have benefited considerably from the deployment of these technologies, as they enhance operating efficiency and safety. Unfortunately, despite their numerous benefits, these technologies still struggle to identify and detect unrecognized things in the actual world.
The potential hazard posed by abandoned or misplaced products is one of the most important concerns in logistics warehouses. These things can pose a serious risk to employees and impede the warehouse’s general operations. Hence, it is imperative to detect these unidentified things swiftly and precisely.
To overcome this issue, we offer a novel semantic segmentation method for finding unknown items in images. Semantic segmentation is a technique that adds a semantic label to each pixel of an image, indicating the entity to which it belongs. Particularly in the realm of computer vision, this method has proven to be highly effective for picture recognition tasks.
Our suggested method identifies freshly introduced objects in a scene based on their position and their stationary behavior. Using the state-of-the-art UPerNet model, which is renowned for its remarkable performance in semantic segmentation tasks, we developed a semantic segmentation mask.
Establishing a baseline by assessing the scene devoid of any items is the first stage in our methodology. Once a baseline has been constructed, the scene is monitored for any changes to the semantic segmentation mask. If a new object is added into the scene, its position and behavior is used to identify it.
To further improve the precision of our system, we classify freshly identified objects using machine learning methods. This enables our technique to distinguish between various object kinds, such as pallets and boxes, and label them appropriately.
The results of testing our proposed strategy in a real-world scenario were really encouraging. Our technique was able to accurately detect and classify unknown objects in situations when the object class was not explicitly defined. Existing approaches frequently struggle to identify unidentified items; therefore, this is a huge advance.
In conclusion, our method illustrates the effectiveness of semantic segmentation in recognizing unknown objects in real-world circumstances. The combination of position, stationary behavior, and machine learning techniques enables our system to effectively detect and classify newly introduced objects, hence enhancing warehouse security and operating efficiency. We feel that our technology has a great application potential in businesses where the detection of unidentified objects is a major issue.
The paper’s outline is as follows: We introduce the problem of pallet detection and its significance in the introduction. Section 2 then reviews the related work on pallet detection. In Section 3, we discuss the theory of neural network architectures and optimization techniques, including stochastic gradient descent (SGD), momentum method, and adaptive gradient descent (AdaGrad). Semantic segmentation and convolutional neural networks are discussed in this section as well. In Section 4, we present a method for detecting pallets that consists of background subtraction, tracking, and majority vote. Section 4 explains in detail our proposed algorithm. In Section 5, we discuss performance evaluation metrics, including the evaluation of semantic segmentation models, and provide dataset examples. There, we also present experimental results, and in Section 6, we conclude on the effectiveness of our proposed pallet detection method.

2. Related Work

2.1. Problem Overview

Today, logistics centers surround urban areas and employ a substantial number of individuals. The need to strengthen safety at these institutions is evident, but sadly, the expense of doing so is also a factor. Falling palettes from the shelves, lost palettes on passageways between shelves, and pallets stopping forklifts are some of the primary work security concerns in these locations.
Existing commercial hardware-based solutions for the first issue are based on infrared beams. They are extremely dependable but expensive, particularly for large distribution hubs.
We propose a technique that utilizes the existing monitoring system to detect all of these issues reliably. To do this, the suggested algorithm must be independent of perspective or lighting.

2.2. Dataset Problem

Due to the delicate and highly competitive nature of the logistics industry, public datasets are not readily available. The majority of research in this sector is conducted under strong nondisclosure agreements (NDAs), so photographs that could expose sensitive information are not released to the public. As a result, we had to independently acquire and annotate images. Regrettably, we were also bound by a stringent NDA.
In order to address this issue, we conducted the initial training for the semantic segmentation on a general purpose dataset and the fine-tuning on a smaller sample from our own dataset. For the initial step, we chose the ADE20k [1].
The ADE20k dataset is a large-scale dataset for scene parsing consisting of over 20,000 images with more than 150 object categories labeled at the pixel level. The images in the dataset depict a variety of indoor and outdoor settings including offices, bedrooms, streets, and parks, among others. The dataset is intended for computer vision tasks requiring scene comprehension, including object detection, semantic segmentation, and image captioning. The images in the dataset were gathered from multiple sources, including Flickr and Google Images, and annotated by humans using an interactive segmentation tool. Annotations consisting of object labels, object parts, and scene attributes provide rich and detailed scene information. The ADE20k dataset has been extensively utilized in computer vision research, leading to the creation of cutting-edge algorithms for scene parsing and related tasks.

2.3. Existing Methods

Classic object classification methods such as decision trees, hidden Markov chains, and support vector machines have been widely used in object classification tasks. Nevertheless, they cannot be applied in the scenario proposed in this paper. The first issue is the unknown identity of the objects. The primary purpose of the algorithm is to identify any object that may represent a risk in the work environment, not just fallen pallets. The classic methods could not identify any unknown object, regardless of its shape and structure, or without seeing it before. Further, there are many environmental changes, both regarding the background movements and the lighting conditions, which lead to unsatisfactory results in the case of the classic classification methods mentioned previously.
As shown in [2], several algorithms have been implemented and trained to detect pallets in industrial warehouses. This paper compares three convolutional neural network architectures to address the pallet detection task.
Faster R-CNN [3] is based on a region proposal concept, which was first introduced with R-CNN [4]. In 2015, Girshick introduced Fast R-CNN, which generated region proposals directly on a feature map computed on the whole image. Ren et al. introduced the region proposal network (RPN), which used a fully convolutional network for feature extraction that output a feature map of the input image. After ROI pooling, a classifier determined the class.
SSD [5] and YOLO [6] propose a one-step object detection network that does not require region proposals. SSD is comprised of a first convolutional extraction network of the feature map, several convolutional layers that acquire multiscale feature maps, and a final component that generates the estimated offset and confidence for each class. Redmon et al. introduced YOLO in 2016, which improved the detection accuracy, but its primary weakness was its inability to detect small objects.
A CNN evaluation of pallets and pallet pockets was used to select the final pallet proposals by employing a decision block, as shown in Figure 1. The heuristic rules utilized by the decision-making phase were as follows: if a detected pallet’s front side exceeds a threshold area, a pallet proposal is created only if the pallet’s front side contains exactly two pockets; otherwise, the pallet’s front side is discarded. If the area threshold is fixed to 150 × 103 pixels, the decision block always accepts the image as a palette, regardless of whether or not it contains two compartments. This decision rule was motivated by the necessity of identifying all pallet components in order to perform secure pallet forking operations on close and approximately frontal pallets. Additionally, it was necessary to model all potential pallets for AGV navigation.
Work in this field has also been done more recently, as highlighted in [7], also based on SSD and YOLO models.
The solutions now available in the literature are geared toward assisting forklift operators and even autonomous forklifts to recognize and manipulate palettes. Our objective is to detect abandoned, misplaced, or fallen palettes in order to enhance security.
The approaches currently being investigated for palette detection are inapplicable to our needs, as they rely on clearly detecting and observing the palette structure. Our objective is to discover the palettes with the surveillance system. This shift in camera position and perspective necessitates a radical adjustment to the strategy and algorithms employed.

2.4. Challenges in Pallet Detection Using Traditional Methods

Due to the complexity of the objects stacked on top of pallets, traditional object detection techniques such as you only look once (YOLO) [6] model and region-based convolutional neural network (R-CNN) [8] are incapable of accurately recognizing pallets from above. Preliminary investigations demonstrated that these networks did not converge when trained on such datasets. As shown in Figure 2, pallets are frequently covered with a variety of objects, such as boxes, barrels, bottles, motorcycles, and more. These objects can be of varying sizes, shapes, and textures, making it difficult for object detection algorithms to classify them accurately. In addition, pallets can be partially obscured by other objects or their surroundings, making it more difficult for object detection techniques to identify them. As a result, traditional methods may fail to accurately recognize pallets, making their monitoring and tracking in logistics warehouses difficult.
The high density of pallets in logistics centers presents a difficulty in detecting [9] misplaced or tipped-over pallets. Even if conventional object detection methods could accurately detect pallets, it is challenging to distinguish between pallets in their designated locations and those that are not. This emphasizes the need for a specialized algorithm capable of distinguishing between misplaced or fallen-over pallets and the rest, thereby enhancing warehouse safety.

3. Theory Overview

In this section, we define the theoretical aspects used throughout the implementation process of the proposed method. First, we present a detailed description of neural networks and how they developed from perceptron to convolutional networks. Afterward, we outline the semantic segmentation process, focusing on the UPerNet model that represents the foundation of our proposed algorithm.

3.1. Neural Network Architectures

The architecture of an artificial neural network (ANN) [10] defines how the neurons are arranged and interconnected. Generally, a neural network has three types of layers in its composition. The first one is the input layer. It receives information from the external environment. Network inputs are usually scaled to maximum values. The normalization step increases the numerical precision of the mathematical operations performed by the network. After the input layer, a network can have one or more hidden layers. Most of the neural network’s internal processing occurs at the level of these layers. At the end of the network, it is an output layer responsible for producing and presenting the final outputs of the network obtained due to the processing performed by the previous layers.
Furthermore, we outline several main architectures depending on how the neurons are interconnected.
The most straightforward layout is the perceptron [11]. It represents an element with a certain number of inputs, which calculates their weighted sum. For each entry, the weight can be either 1 or −1. Finally, this amount is compared with a threshold, and the output y is obtained according to Equation (1).
y = 1 i = 1 N ( β i · x i ) θ 0 i = 1 N ( β i · x i ) < θ
where N symbolizes the total number of inputs, x i is the value of each input, β i represents the value of the weight associated with input i, and θ is the decision threshold. The two output values are used to distinguish between two different classes. For a perceptron to classify as well as possible, the weights must be changed, and the threshold must be set to an appropriate value.
The perceptron is not a complete decision model, being able to distinguish only between two different classes. For this reason, the need for a complex network of perceptrons has occurred. These networks, called multilevel perceptron (MLP) networks [12], can solve classification problems. The perceptrons in the input layer make simple decisions by applying weights to the input data. In contrast, the ones in the intermediate layers apply weights to the results generated by the previous layer. In this way, the perceptrons in the intermediate layers make decisions more complex and abstract than those in the first layer. As the number of layers increases, the MLP network can make increasingly sophisticated decisions.
The purpose of MLPs is to approximate a mathematical function of the form
y = f ( x ; θ ) ,
and the goal of the network is to learn the parameter θ which leads to the best approximation of the desired function.
The network needs to use a cost function in the training stage [13], which depends on the values of the weights. The goal of any neural network is to minimize this cost function using various optimization methods. The most used optimization methods are described in the following subsection.
One of the cost functions used is mean squared error (MSE), from (3).
C ( w , b ) = 1 2 n x | | y ( x ) a | | 2
where w represents the weights in the network, n is the number of inputs trained, and the vector a represents the vector of outputs when the vector x is at the network’s input.

3.2. Optimizations Methods

Solving the training problem generally involves a lot of time and resources. Since this is a fundamental and costly problem, several optimization techniques have been developed [14]. Mainly, the optimization boils down to finding the parameter θ of the neural network so that the cost function J ( θ ) is minimal.

3.2.1. Stochastic Gradient Descent (SGD)

The classic gradient descent (GD) method [15] uses the entire training set to update the parameters, which involves high costs in terms of time and required computing power. In contrast, using the SGD algorithm [16] involves using only a few training examples or even a single example. Thus, this method leads to a smaller required memory and a high convergence speed.
The GD algorithm updates the θ parameter according to
θ = θ α · θ · E [ J ( θ ) ]
In the case of SGD, the parameters’ gradient is calculated using only some of the training examples, thus obtaining an update of the form
θ = θ α · θ · J ( θ ; x ( i ) , y ( i ) )
where α represents the learning rate, and x ( i ) , y ( i ) is a pair from the training set. The learning rate decreases linearly until iteration τ , then it remains constant, according to Equation (6).
α k = ( 1 ϵ ) · α 0 + ϵ α τ
ϵ = k τ
where α k represents the value of the learning rate at iteration k, and α 0 is the initial value of the learning rate.

3.2.2. Momentum Method

While the SGD method is popular, it can lead to relatively slow learning. The momentum method was created to speed up the learning process. The parameter update is computed according to
v = γ · v + θ · J ( θ ; x ( i ) , y ( i ) )
θ = θ v
The momentum method introduces variable v, which represents the velocity vector that has the same size as the θ vector. The parameter γ determines the rate at which the contributions of the previous gradients decay exponentially. This parameter belongs to the range ( 0 , 1 ] .

3.2.3. Adaptive Gradient (AdaGrad)

The AdaGrad (adaptive gradient) method [17] is an extension of the SGD algorithm. It adapts the learning rates of all model parameters individually. Unlike the SGD method, the AdaGrad method scales the learning rates to the root of the sum of all previous gradients. Let N be the number of examples from the training set used. In the first step, this method computes the size
g = θ · J ( θ ; x ( i ) , y ( i ) )
and updates the sum
r = r + g g
where ⊙ represents the element-by-element multiplication of the two vectors.
Finally, AdaGrad uses an update relation for the parameter θ similar to the one used by the SGD method in Equation (5):
θ = θ α δ + r · θ · J ( θ ; x ( i ) , y ( i ) )
where δ is a small constant that aims to avoid division by zero of the learning rate.
The AdaGrad method performs updates with a more significant step for the less frequent parameters and a minor step for the more frequent ones.

3.3. Convolutional Neural Networks

Convolutional neural networks (CNN) [18] are similar to the previously presented neural networks. They are composed of several layers of neurons that have various associated weights. These networks receive input images, leading to a three-dimensional network architecture. The main difference between fully connected networks and CNNs is the type of input data they accept.
The input layer receives the pixel values from the image for the three color channels: R—red, G—green, and B—blue, respectively. The intermediate layers can be of several types, among which the most important ones, convolutional layers and pooling layers, are described below. Finally, the last layer is a fully connected type layer. Its purpose is to calculate the results for each class. Thus, a CNN-type network transforms the pixel values from the input image into probabilities belonging to all classes. A loss function (for example, SVM or SoftMax) is applied to the last neural layer and measures the network’s performances and the outputs’ correctness.

3.3.1. Convolutional Layers

The primary process that takes place in a neural network is affine transformations [19]. The input receives a vector, which is then multiplied by a matrix to produce the output. This transformation can be applied to any input data. Regardless of their size, data can be put into a vector before the transformation occurs.
Discrete convolution is a linear transformation that preserves the input data’s structure and considers how those data are ordered. Only a few units from the input data structure are used to calculate a unit from the output data structure. In addition, discrete convolution reuses parameters, with the same weights being applied to multiple units in the input data structure. The kernels or filters used in the convolution operation are spatially small (along the width and height of the image) but extend through the entire depth of the input data volume. At each location, the product of each kernel element and the input element it overlaps is calculated. All the products are summed, resulting in the output value at the current location.
The convolution made at the level of these layers can have N dimensions. The collection of kernels defining a discrete convolution has a form corresponding to one of the permutations ( n , m , k 1 . . . , k N ) , where n is the number of output feature maps, m is the number of input feature maps, and k j is the size of the kernel along the j-axis.
A convolution layer results in a whole set of filters, each producing a two-dimensional feature map. All these maps are stored along the third dimension, depth, and thus produce the output of the convolutional layer. Neuron connections are local in space but complete over the entire depth of the input volume. Since the images have large sizes, each neuron favors being connected to a specific region in the input data volume, thus reducing the spatial dimensions—width and height. The regions are chosen to have the exact same dimensions as those of the filter used and are called the neuron’s receptive field. In contrast, the third dimension remains unchanged. The data’s dimensions at the convolutional layer’s output are calculated according to (13).
O = W F + 2 P S + 1
where W represents the size of the input data, F is the size of the receptive field of the neurons, which is equivalent to the size of the filters used in the convolution operation, S represents the step used, and P is the number of padding zeros used.
According to (13), as the step S used has a bigger value, the output produces a smaller quantity of data. Furthermore, the parameter P allows one to control the quantity of output data too. In general, a number of zeros is used so that the output data are the same size as the input data. The values of the parameters S and P should be chosen such that applying Equation (13) yields an integer value for the size of the output data.

3.3.2. Pooling Layers

In addition to convolution operations, pooling operations form another essential building block in CNNs. These operations reduce the dimensions of feature maps by using certain operations to summarize each subregion, such as averaging or the maximum value in each subregion. These operations work similarly to the convolution relation. A window of various sizes is hovered over the input data, selecting one subregion at a time. The content of this region is processed according to a pooling function. In a neural network, the role of pooling layers is to ensure the invariance to small translations of the input. The most common pooling operation is to choose the maximum value of each subregion in the input map.
In general, it is typical to introduce a pooling layer between several consecutive convolutional layers in a CNN network to reduce the number of required parameters and the amount of computation in the network. The pooling layer acts independently on each region in the input data and resizes it spatially. The depth does not change. The most common form is a set of filters of dimensions 2 × 2 , applied with a step equal to two. In this case, the pooling operation is applied to four numbers in each region. Thus, the volume is reduced by 75 % .
At the output of this layer, a volume of data is obtained with the following dimensions:
W = W i F S + 1
H = H i F S + 1
D = D i
where W i , H i , and D i are the input data sizes, S is the step at which the filters are applied, and F is the filter size. Equations (14)–(16) show that the third dimension remains unchanged while the width and height shrink.
Some architectures have no such layers but only use successive convolutional layers. To reduce the data size, a network can use convolutional layers with larger steps instead of pooling layers.

3.4. Residual Neural Networks

As stated in this section, as the number of layers in a network increases, any function can be approximated, regardless of its complexity. For this reason, vast neural networks with hundreds of layers have been implemented. One of the main problems of these networks is the vanishing or exploding gradient.
In the first case, the gradient can decrease exponentially towards zero. In this circumstance, optimization methods such as gradient descent evolve slowly toward a solution. In the second case, the gradient grows exponentially, taking very high values. To address this problem, residual neural networks were implemented, formed by a series of residual blocks. The concept of residual networks was first presented in [20] and was later augmented in [21].
The residual blocks are based on a method called skip-connections. This method assumes that the input data in the block are not passed through all the layers and are added directly to the block output. Figure 3 presents different architectures of a residual block.
Figure 3a illustrates the classic architecture of a block, where the input x and the output F ( x ) have the same dimensions.
Let x be the input to the residual block and H ( x ) be the desired output. F ( x ) represents the function learned by the neural network and represents the output of the block when the input is x. In the case of the residual block, the new output is a sum between the input to the block and the output of the layers, as can be seen from Equations (17)–(20). The function that the network has to learn is, this time, a residual function computed as the difference between the desired output and input (Equation (21)).
x Input
H ( x ) Correct Output
F ( x ) Network Output
H ( x ) = F ( x ) + x
F ( x ) = H ( x ) x
The second architecture shown in Figure 3b is used when the output F ( x ) and the input x have different sizes and cannot be summed. To solve the dimensions issue, the input has to go through one or more layers to reach the required size. In this way, a linear transformation is applied to the input, which can be achieved by using convolutional layers or just by filling the input with zeros until it reaches the size of the output F ( x ) . This time, the new output of the residual block is of the form
H ( x ) = F ( x ) + x
where x = W ( x ) is the linear transform.
Finally, several residual blocks are combined to obtain a residual neural network.

3.5. Semantic Segmentation

Semantic segmentation is a computer vision task that involves labeling each pixel in an image with a semantic label. Semantic segmentation aims to comprehend the pixel-level content of an image, providing a more comprehensive understanding of the scene than traditional object detection techniques. Deep neural networks, such as convolutional neural networks (CNNs) that are trained to predict the class of each pixel in an image, are typically used to perform semantic segmentation. Semantic segmentation results in a dense label map that assigns a class label to each pixel in the image, providing a comprehensive understanding of the scene’s objects and their boundaries. Semantic segmentation has numerous applications, including autonomous driving, scene comprehension, and medical imaging.
UPerNet [22] is a deep learning model for semantic segmentation that fuses multiscale contextual information using a top-down and bottom-up mechanism. By employing a hierarchical feature fusion mechanism that effectively combines the strengths of both top-down and bottom-up pathways, UPerNet is an improvement over existing models such as fully convolutional network (FCN) [23]. To generate the final semantic segmentation map, the UPerNet model employs a deep neural network architecture that combines a ResNet-style network [20] with an upsampling mechanism. It has been demonstrated that the UPerNet model produces high-quality results for semantic segmentation, making it a suitable option for detecting unrecognized objects in images.
For a better understanding of the UPerNet model, we define the following terms:
  • Top-down and bottom-up mechanisms: UPerNet captures high-level semantic information and low-level details using a top-down and bottom-up mechanism. The top-down pathway employs a pyramid pooling module to extract multiscale context information, whereas the bottom-up pathway employs dilated convolutions to maintain spatial resolution.
  • ResNet-style network: UPerNet’s backbone is a ResNet-style network. Pretrained on the ImageNet dataset, the ResNet-style network provides the model with rich feature representations that can be tuned for semantic segmentation.
  • Upsampling mechanism: To generate the final semantic segmentation map, UPerNet employs an upsampling mechanism. The upsampling mechanism combines the top-down and bottom-up features and employs transposed convolutions to improve the spatial resolution of the features.
  • Hierarchical feature fusion: the hierarchical feature fusion mechanism enables UPerNet to capture high-level and low-level semantic information, yielding high-quality semantic segmentation maps.
  • Performance: UPerNet has demonstrated state-of-the-art performance on multiple benchmark datasets for semantic segmentation, including PASCAL VOC [24] and Cityscapes [25]. This makes UPerNet a suitable option for detecting unidentified image objects.
The following can be seen in Figure 4.
Top-left: feature pyramid network (FPN) [26] is a common architecture for object detection and semantic segmentation. FPN is designed to extract multiscale contextual information from an image, which is essential for accurately detecting objects of various sizes.
In the FPN architecture, the pyramid pooling module (PPM) [27] is a component that is added to the final layer of the backbone network. The PPM module effectively captures both high-level semantic information and low-level details by combining features from different scales. The PPM module is incorporated into the top-down branch of the FPN architecture, where it contributes to the final feature maps used for object detection or semantic segmentation.
The combination of the FPN architecture and the PPM module enables the model to extract multiscale information from an image, which is essential for accurately detecting objects of varying sizes. By adding the PPM module to the final layer of the FPN architecture’s backbone network, the FPN + PPM model is able to effectively capture both high-level semantic information and low-level details, resulting in enhanced performance for object detection and semantic segmentation tasks.
This depicts a multihead architecture for semantic segmentation, with each head designed to extract specific semantic information from an image.
The scene head is attached to the feature map immediately after the pyramid pooling module (PPM), as information at the image level is more suitable for scene classification. This head is in charge of recognizing the overall scene and classifying it into various categories, such as indoor or outdoor scenes.
The object and part heads are affixed to the feature map in which all the layers generated by the feature pyramid network have been combined (FPN). These heads are responsible for detecting objects and their parts in the image, respectively. The object head provides coarse-grained information about the location of an object, whereas the part head provides fine-grained information about object parts.
The material head is attached to the highest-resolution feature map in the FPN. This head is responsible for identifying various material properties, including metal, glass, and cloth.
The texture head is connected to the Res-2 block in the ResNet [20] architecture and is fine-tuned after the network has completed training for other tasks. This head is responsible for capturing texture data, such as the roughness, smoothness, and patterns of image objects.
The use of multiple heads in this architecture enables the model to capture multiple levels of semantic information, resulting in a more in-depth and thorough comprehension of the image content.

4. Proposed Method

4.1. Proposed Algorithm

Using a block diagram, the following section illustrates the proposed algorithm. The block diagram provides a clear and concise illustration of the algorithm’s various components and their interactions. In addition, the section contains a pseudocode implementation of the algorithm, which describes the algorithm’s operations and decision-making procedure in detail. The block diagram and pseudocode together provide a comprehensive understanding of the proposed method and its operation. These visual aids clarify the algorithm’s complex operations and demonstrate its functionality in a concise and clear manner.
As input data, the proposed algorithm works only on videos. While the first part of the algorithm is applied to the static images extracted from the footage, the following stages such as tracking are dependent on the temporal component.
In the first step of the proposed algorithm, the input image is preprocessed. This is achieved by running an image through a background subtraction algorithm [28]. The mathematical model of this method and its detailed description are presented in the following subsection. In addition to producing a clean image as input for the semantic segmentation algorithm, this step extracts the bounding boxes of all moving objects within the scene. By eliminating the static background, the algorithm is able to concentrate on the static objects, making them easier to identify and segment. This preliminary step is essential for ensuring the consistency of the subsequent semantic segmentation process over time and enhancing the algorithm’s overall performance.
In the second step of the proposed algorithm, it is determined whether or not the semantic segmentation map needs to be updated. If an update is deemed necessary, the current image is subjected to the semantic segmentation algorithm, and the mean segmentation map is updated using a majority vote approach [29]. In this method, the segmentation result that occurs most frequently for each pixel is selected as the updated map. If no update is necessary, the algorithm continues without performing the semantic segmentation. Periodically, the map is revised to ensure that it remains accurate and reflects the current landscape, by adding a new vote to the majority vote algorithm. The updated map provides a comprehensive depiction of the floor, as it is routinely revised to maintain its accuracy and keep up with environmental changes.
In the third step of the proposed algorithm, motion areas detected in the first step are analyzed using a tracking algorithm. The tracker is responsible for maintaining the paths of moving objects and identifying which of these paths have remained stationary and inactive for a predetermined amount of time, such as one minute. Once a stationary track is identified, it is considered a potential object of interest and sent to the next stage of the algorithm. This step is essential for reducing false-positive detections by eliminating tracks that are merely noise or transient motions. Instead, the algorithm focuses on objects that are potentially significant and remain in the scene for an extended amount of time. The tracking algorithm is essential for ensuring the accuracy and efficacy of the overall algorithm, as it identifies objects that require additional analysis and consideration. In this algorithm, we use the centroid tracking method, which is presented in detail later in this section.
In the next phase of the proposed algorithm, a potential object of interest is analyzed further to determine if it is a class that is unknown. On the current image, the semantic segmentation algorithm is applied, and its output map is compared to the historical map. This comparison, along with the location of the potential object of interest, aids in determining whether the area of interest belongs to an unknown class or is expected to be present. If an unknown or unexpected class is detected at the location of the tracked object, it is safe to assume the presence of the target class.
The comparison of the maps, in conjunction with the location of the potential object of interest, provides a reliable method for detecting unidentified objects. The detection is based on the likelihood that unknown objects will be of a different class than the expected objects in the scene, and that their position will differ from that of the expected objects on the historical map.
The proposed algorithm can be implemented through pseudocode (Algorithm 1) and represented through a block diagram as in Figure 5. The pseudocode provides a clear and concise description of each step in the algorithm, making it easy to understand and implement. On the other hand, the block diagram provides a visual representation of the flow of the algorithm, helping to simplify and clarify the overall process.
The most significant contribution of this paper is the novel application of semantic segmentation techniques to detect objects that were not present during the training phase of the algorithm. This renders the proposed algorithm extremely resistant to novel circumstances and environments.
Algorithm 1 Proposed method
  • I ← InputImage
  • BG, MM ← BackgroundSubtraction(I)
  • VM ← GetBoundingBoxes(MM)
  • if|i ≤ th1|now − tm < th2 then
  •       TmpMap ← SemanticSegmentation(BG)
  •       Map ← MajorityVote(TmpMap)
  •       FlorMap ← LabelFilter(Map)
  • end if
  • Tracks ← ObjectTracking(VM,now)
  • StopedTracks ← GetStopedTraks(Tracks,now)
  • if len(StopedTracks) > then
  •       Map ← SemanticSegmentation(I)
  •       FlorMaptmp ← LabelFilter(Map)
  •       FlorChange = FlorMap − FlorMaotmp
  •       n ← 0
  •       while n < len(StopedTracks) do
  •             Nz = CountNonZeros(StopTracks(n), FlorChange)
  •             if (then Nz > 0)
  •                  ObjectOfInterest ← StopTracks(n)
  •             end if
  •             n ← n + 1
  •       end while
  • end if

4.2. Background Subtraction

The background subtraction method (BSM) represents one of the most used algorithms for detecting moving objects in a video stream. After applying this method, a mask of the foreground objects is obtained. This mask has the exact dimensions as the input image, with the foreground objects being white and the background black. The mathematical formulation of background subtraction can be described as follows:
Let I ( x , y ) be the current frame and I b g ( x , y ) be the estimated background model. The goal of background subtraction is to find the pixels that correspond to the foreground object. This can be achieved by subtracting the background model from the current frame:
F ( x , y ) = | I ( x , y ) I b g ( x , y ) |
where F ( x , y ) is the difference between the current frame and the background model.
Finally, a thresholding function can be applied to F ( x , y ) to segment the foreground object:
B ( x , y ) = 255 if F ( x , y ) > T 0 otherwise
where B ( x , y ) is the binary segmentation, with the foreground object in white and the background in black, and T is the threshold value. The choice of threshold value affects the performance of the background subtraction algorithm, with higher values leading to fewer false positives and lower values leading to fewer false negatives (Figure 6).
There are several ways to perform background subtraction. All the methods start from an estimated background model that is updated over time. Each method updates the background model differently.
One of the simplest and most frequently used techniques is frame differencing. In this case, the absolute difference of two consecutive frames is used to detect moving objects. Initially, the estimated background model is the first frame of the input video, and then, it is considered to be the previous frame. Mathematically it can be written as
F ( x , y ) = | I t ( x , y ) I t 1 ( x , y ) |
Frame difference is a relatively simple technique, sensitive to its threshold value. Although it is a technique that does not involve high costs in terms of computing power, other more complex methods of updating the background model were necessary.
One of the most well-known techniques is the mixture of Gaussians (MoG) technique. This background subtraction method was also used in this proposed method. The Gaussian model is a probabilistic model that starts from the hypothesis that a mixture of Gaussian distributions with unknown parameters can generate all pixel values. In practice, between three and five Gaussian distributions are used. The mathematical model is described as follows:
The multivariate Gaussian distribution is:
N ( x | μ , Σ ) = 1 ( 2 π ) D / 2 1 | Σ | 1 / 2 e 1 2 ( x μ ) T Σ 1 ( x μ )
At any time t, we know the history of each pixel ( x 0 , y 0 ) :
X 1 , , X t = { I ( x 0 , y 0 , i ) : 1 i t }
The history of each pixel is considered to be a mixture of k Gaussian distributions, according to
P ( X t ) = i = 1 K ω i , t N ( X t | μ i , t , Σ i , t )
where ω i , t is the weight at time t, corresponding to the ith distribution, while μ i , t and Σ i , t are the mean and, respectively, the standard deviation of the ith distribution, at time t.
When a new frame appears, at time t + 1 , each pixel in the frame is compared with the Gaussian distributions by calculating the Mahalanobis distance:
( ( X t + 1 μ i , t ) T σ i , t 1 ( X t + 1 μ i , t ) ) 0.5 < 2.5 · σ i , t
Two situations are possible:
  • If the pixel value X t + 1 matches one of the distributions, that distribution is updated according to the relations (30) and (31).
μ i , t + 1 = ( 1 ρ ) μ i , t + ρ X t + 1
σ i , t + 1 2 = ( 1 ρ ) σ i , t 2 + ρ ( X t + 1 μ i , t + 1 ) 2
where
ρ = α N ( t + 1 | μ i , t , σ i , t 2 )
and α represents the learning rate.
Finally, the weights are updated for all the distributions according to:
ω i , t + 1 = ( 1 α ) ω i , t + α ( M i , t + 1 )
where M i , t + 1 = 1 only for the matching distribution, and zero in all other cases.
2.
If the pixel value does not match any of the distributions, the least likely Gaussian distribution is replaced with a new one with high variance, low weight, and mean μ t + 1 = X t + 1 .
Finally, all distributions are ordered by the ω / σ value. The first B distributions are chosen as the background models, while the rest are foreground models, where
B = argmin b ( i = 1 b ω i > T )
and T represents the threshold.

4.3. Tracking

Centroid tracking [30] is a prevalent object tracking algorithm that uses the center of an object’s bounding box as a representative feature for tracking its position over time. Given an initial set of bounding boxes, the algorithm modifies the position of each bounding box in subsequent frames based on the centroid position. The centroid of a bounding box is the average position of all pixels contained within the box. In other words, the centroid of a bounding box is the average of the x and y coordinates of all pixels within the bounding box.
Mathematically, the centroid of a bounding box can be expressed as:
( x c , y c ) = 1 N i = 1 N ( x i , y i )
where N is the number of pixels within the bounding box, ( x i , y i ) are the x and y coordinates of pixel i, and ( x c , y c ) is the centroid position. The position of the centroid in subsequent frames is updated by using the same formula, with the updated set of pixels within the bounding box. This information can be used to update the position of the bounding box and track the object over time.

4.4. Majority Vote

The majority vote method is a straightforward and effective method for combining multiple results into a single, more precise result. It is commonly employed in computer vision and image processing for semantic segmentation tasks. The basic idea behind this method is to use the result that occurs most frequently for each pixel as the updated result.
Mathematically, let S i , j be the segmentation results for each pixel ( i , j ) , and k be the number of segmentation results being combined. The majority vote method can be expressed as:
S ^ i , j = argmax c = 1 k N i , j ( c )
where S ^ i , j is the final segmentation result for pixel ( i , j ) , and N i , j ( c ) is the number of times class c was assigned to the pixel ( i , j ) across the k segmentation results.

4.5. Parameters Used in the Proposed Method

Several parameters were used to implement the proposed method. These parameters directly affected the final performance of the algorithm, both in terms of detection accuracy and the number of false alarms it generated. These parameters are described below.
The diagram from Figure 5 presents two parameters marked t h 1 and t h 2 , respectively. Parameter t h 1 is a preset number of frames after which the floor mask is updated; similarly, t h 2 is a preset time after which the same action is taken. One of the two parameters must have a set value for the method to work. Their purpose is to decide when the reference map of the floor is updated. Both parameters can take values in the range [ 0 , ) . If values are set for both parameters, the algorithm updates the map according to the smallest parameter. In the proposed method, we determined that triple the time to trigger an alarm was a good value for these thresholds. We used the following t h 2 parameter:
t h 2 = 3 · 60 s
Depending on the value of these parameters, false alarms can be prevented if a pallet is moved to a shelf and it changes the floor map. As the value of the parameters decreases toward 0, the map is continuously updated, and the algorithm does not generate any alarm. Otherwise, if the value of the parameters is too high, the map is no longer updated, and the system generates an increasing number of false alarms.
Another important parameter is the time to trigger an alarm. This parameter was set, in our case, to
Δ t = 60 s ;
this parameter represents the time interval from when a track is considered stationary until an alarm is generated. If movement is detected, the timer resets.
In order to eliminate small objects that can generate false alarms, the proposed method filters the detections according to their size. Therefore, the algorithm eliminates all the objects with a size smaller than
Δ a = 0.005 · w · h
where w represents the width of the input frame, while h is the height of the frame.
The last parameter used is the threshold from the background subtraction phase. This parameter can have values in the interval [ 0 , 255 ] . The choice of this threshold affects the performance of the background subtraction stage and, implicitly, the overall performance of the algorithm. As the threshold value decreases, the method generates more false alarms. Contrarily, as the value increases, the algorithm starts to miss moving objects, which may lead to a reduced performance of the method. As a compromise, we determined that the most optimal value for this threshold was
t h b g = 16

5. Evaluation and Results

In order to test the final performances of the proposed algorithm, we designed several testing stages. This section presents the metrics used in the testing phase and describes the scenarios and the results obtained. The first step was to test several neural models to identify the most suitable neural network for the presented scenario. In this sense, we compared the existing methods from the point of view of efficiency and cost in terms of the time and computing power required.
Later, after we chose the most optimal neural network, a series of tests were implemented to determine the performance of the proposed method.

5.1. Performance Evaluation Metrics

In order to correctly determine the performance of the proposed algorithm, we used several evaluation metrics in addition to the method’s accuracy [31]. Computed individually, the accuracy is vague for determining a method’s capabilities [32]. Different performance metrics are employed to quantify an algorithm’s precision and efficacy during its evaluation. We computed the evaluation metrics characteristic of classification methods, such as mAP [33], recall [34], or F-score [35]. The metrics specific to segmentation methods, such as mIoU, were also used in the testing stage.
In order to be able to calculate the presented evaluation metrics, it is necessary to define four elementary theoretical concepts used in any classification system. These are presented in Table 1.
  • Accuracy. Accuracy is the most frequently used metric in determining the performance of a detection and classification system. It provides a measure of the correctness of the classification, representing the ratio between valid detections and the total number of detections that the system generates. The accuracy is calculated according to
    a c c = T P + T N T P + T N + F P + F N
    This metric can take values in the range [ 0 , 1 ] . The purpose of a classification system is to maximize the value of accuracy. As false positive and false negative detections decrease, the accuracy value approaches one, and the system is considered more efficient.
  • Mean average precision (mAP). The mAP metric is considered a direct measure of the accuracy of a classifier. Its value is directly proportional to the accuracy value of the algorithm. It is a subunit value in the range [ 0 , 1 ] , computed according to
    m A P = T P T P + F P
    As can be seen, the mAP value is directly impacted by the number of true positives and false positives detections. The higher number of false positive detections the algorithm generates, the lower the mAP value is, which leads to a system with low accuracy.
  • Recall or true positive rate (TPR). Recall is the proportion of true positive detections to the total number of ground truth objects ( T P + F N ) . It measures the percentage of correctly detected objects relative to the total number of ground truth objects. Recall can be expressed mathematically as
    r e c a l l = T P T P + F N
    Also named the TPR metric, the recall quantifies the number of predictions the system makes correctly, representing a measure of the positive predictions it misses. The recall value decreases when the system generates more false negative detections.
  • F1-score. The F1-score is calculated according to Equation (44) and represents the weighted average between the previously presented evaluation metrics, mAP and recall. Like the other two metrics, it can take values in the range [ 0 , 1 ] . Its value increases as the system generates fewer false positive and false negative detections.
    F s c o r e = 2 · m A P · r e c a l l m A P + r e c a l l
    Using the F1 score metric for evaluating the model’s performance leads to a compromise between the system’s precision and recall. It is a suitable metric for systems where it is not expected to maximize only one of the metrics.
  • Mean intersection over union (mIoU). The global IoU score, namely, the mIoU, represents an average of the IoU score for the entire segmentation model, and it is computed in two steps. First, we calculate the IoU value associated with each class separately, according to (45). Afterward, we compute an average of the previously calculated scores for all the classes that can be classified using the model.
    I o U = A T A P A T A P
    where A T represents the area of ground truth, A P represents the area of predicted objects, while ∩ refers to the intersection operation, and ∪ refers to the union operation. The intersection between two areas is formed by all the pixels belonging to both the predicted and annotated objects. On the other hand, the union of the two areas represents the set of pixels that belong to the predicted object or the ground truth. The value of each IoU practically measures the number of common pixels between the two areas of interest, divided by the total number of pixels present in the two objects.
By calculating these performance metrics, we can gain a better understanding of the algorithm’s strengths and weaknesses and identify areas for future improvement.

5.2. Evaluating Semantic Segmentation Models

A semantic segmentation network is a crucial component of the proposed approach. In order to select the optimal one for our needs, we evaluated several of them to establish which had the optimal balance of accuracy, frames per second, and model size.
Due to the fact that anything could be present in a logistics warehouse, for validation, we chose a dataset that contained a large number of classes in a variety of scenarios: the ADE20K dataset [1].
In Table 2, we give the results obtained by each model. In the following subsection, we compare these methods and select the most appropriate model.
We represented the data from Table 2 in a scatter plot, indicating the method, the model’s size in gigabytes, the inference time, and the mIoU, for easy visualization. Figure 7 demonstrates that none of the models are clearly superior to the others; however, when real-world constraints are considered, one emerges.
In order for our proposed algorithm to be applicable in the real world, it must utilize as few computing resources as possible while maintaining a high FPS and a good mIoU. Currently, it is reasonable to expect a standard graphics card to have at least 10 GB of RAM, so this was our first limitation. For the FPS, we determined that a minimum of 20 was acceptable, and a minimum of 40 was also acceptable for the mIoU.
After applying these constraints to Table 2 and selecting the model with the highest mIoU, we concluded that the UPerNet model with the R-101 backbone was the optimal model, with an mIoU of 43.85.

5.3. Examples from Datasets

A dataset containing 120 h of video footage (at 24 fps, 10,368,000 images) from three industrial logistics warehouses was used to rigorously test the proposed algorithm. The dataset included a wide variety of scenarios, such as varying lighting conditions, different types of objects on the pallets, and various camera angles. This exhaustive testing allowed us to evaluate the algorithm’s performance and identify areas for enhancement. Training was done on 75%, testing on 20%, and the validation on 5%.
In order to evaluate the performance of the proposed method, the dataset included three kinds of events: “Pallet,” “Forklift,” and “Fallen Material”—referring to any substantial object that falls from a shelf or from a moving pallet. These events were marked as present if any of the specified objects remained stationary in the video sequence.
In Figure 8, two events are depicted. If we examine Figure 8b, we can see that when an object is removed from the scene, the algorithm does not generate an alarm, but it does when something new and improperly placed is removed. The image demonstrates the system’s ability to accurately identify and distinguish objects of interest from their surroundings. Combining the outputs of multiple algorithms, including the background subtraction, tracking, and semantic segmentation algorithms, enabled the detection. The outcome is a clear and accurate representation of the target object, demonstrating the efficacy of the proposed method in detecting unidentified or misplaced objects within an industrial logistics warehouse.
In the image depicting a system detection, the event is displayed as the last track position from the object tracking, as opposed to the actual detected region. Displaying the last track position is more helpful in a production environment, so this design decision was made for practical reasons. The image was chosen to illustrate the varied contents of a pallet and the potential for a forklift to be abandoned in an unclear location.
In addition to these events, in Figure 9, we illustrate the fact that the algorithm is robust and capable of running from different angles. In subimage b from Figure 9, the small size of the detected object is notable.
The delicate nature of the images in the dataset necessitates the strictest secrecy and discretion. In order to prevent these photographs from falling into the wrong hands, it is vital that we take the required safeguards. As a result, a tiny, separate room was made available for the presentation of events from the dataset. This area was outfitted with all the tools and resources necessary for the secure handling and exhibition of photographs. By showing the happenings from this room, we can reassure the participating logistics businesses that their data are being treated with the highest care. It is critical that we maintain the highest levels of security and confidentiality when dealing with sensitive material, and the availability of a separate space for the presentation of such information is a crucial step in attaining this goal.

5.4. Experimental Results

As stated in Section 2, the existing methods do not apply to our scenario, so it is hard to compare those approaches and our proposed method directly. In order to present the novelty brought by the proposed method and to outline its benefits, we designed a two-part testing scenario.
The first testing phase was implemented to compare the existing semantic segmentation model and was described in the previous section. Those tests demonstrated that the UPerNet model was the most suitable in terms of semantic segmentation (Table 2).
In the second part of the testing stage, our primary goal was to outline the benefits of each new component added according to the diagram presented in Figure 5. In order to evaluate the effectiveness of our suggested strategy and its components, we report the outcomes of each iteration. First, we tested the proposed method only using the semantic segmentation block, which consisted of the UPerNet model. Second, we added a tracker to see how it affected the overall performance of the proposed algorithm. Finally, we added the last processing block, the majority vote. Each partial architecture was evaluated using the same dataset to compare their performance in the same circumstances. The obtained experimental results are presented in this section.
The initial version of the system relied solely on semantic segmentation and triggered an event if an object obscured the floor. As seen in Table 3, the outcomes of this method were not optimal, as false alarms were produced by each moving object traversing the image.
The tracker was introduced to reduce the high number of false alarms. This prevented alerts from being activated by moving objects. As shown in Table 4, this significantly improved the outcomes, yet they were still unacceptable.
At this point, the fact that the reference floor map did not adapt over time was the cause of most of the issues. By adding a majority vote update system to the reference map, the results were greatly improved, as seen in Table 5.
Due to the minuscule size of fallen objects, the proposed algorithm exhibited limitations in detecting them. In some instances, dropped objects were overlooked because they were obscured by the shelves’ pallets. The missed pallets nearly completely overlapped with the pallets stored on the shelves, making it difficult to distinguish and detect them with the current method.
This algorithm is notable due to the fact that it operates in real time with a mean of 45 frames per second, although this is dependent on the hardware used (in our case, NVIDIA’s 1080 GPU). This indicates that it is capable of producing results quickly and without significant delay. This application requires the ability to process data in real time because it contains time-sensitive information.

6. Conclusions

The proposed algorithm for detecting misplaced or fallen pallets within a logistics warehouse demonstrated promising results. Utilizing a semantic segmentation and a majority vote approach, a map of the warehouse floor was created to accurately detect and track objects. On 120 h of video from an industrial logistics warehouse, the algorithm was evaluated using evaluation metrics such as true positive, false negative, and recall.
While the system was able to detect the majority of pallets within the warehouse, some smaller fallen objects and overlapping pallets were missed. However, these limitations were outweighed by the algorithm’s success in detecting the vast majority of pallets and improving the overall warehouse operations’ efficiency.
In conclusion, the proposed algorithm significantly enhances the capability of detecting and tracking pallets within a logistics warehouse. Its ability to accurately detect misplaced or fallen pallets provides logistics companies with valuable information, enhancing workplace safety and efficiency. Future success will be even greater as a result of the algorithm’s continued development and refinement, which will enhance its performance.

Author Contributions

Conceptualization, S.V.C.; Writing—original draft, S.V.C. and R.M.; Writing—review & editing, M.G.; Supervision, S.V.C.; Funding acquisition, M.G. All authors have read and agreed to the published version of the manuscript.

Funding

This work was partially supported by the Romanian UEFISCDI Agency under projects PN3-P2-1166 / 29Sol and PN3-P2-1167 / 28Sol.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Zhou, B.; Zhao, H.; Puig, X.; Fidler, S.; Barriuso, A.; Torralba, A. Scene parsing through ade20k dataset. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Honolulu, HI, USA, 21–26 July 2017; pp. 633–641. [Google Scholar]
  2. Zaccaria, M.; Monica, R.; Aleotti, J. A comparison of deep learning models for pallet detection in industrial warehouses. In Proceedings of the 2020 IEEE 16th International Conference on Intelligent Computer Communication and Processing (ICCP), Cluj-Napoca, Romania, 3–5 September 2020; IEEE: Piscataway, NJ, USA, 2020; pp. 417–422. [Google Scholar]
  3. Ren, S.; He, K.; Girshick, R.; Sun, J. Faster r-cnn: Towards real-time object detection with region proposal networks. Adv. Neural Inf. Process. Syst. 2015, 28. [Google Scholar] [CrossRef] [PubMed]
  4. Girshick, R.; Donahue, J.; Darrell, T.; Malik, J. Rich feature hierarchies for accurate object detection and semantic segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Washington, DC, USA, 23–28 June 2014; pp. 580–587. [Google Scholar]
  5. Liu, W.; Anguelov, D.; Erhan, D.; Szegedy, C.; Reed, S.; Fu, C.Y.; Berg, A.C. Ssd: Single shot multibox detector. In Proceedings of the Computer Vision–ECCV 2016: 14th European Conference, Amsterdam, The Netherlands, 11–14 October 2016; Proceedings, Part I 14. Springer: Berlin/Heidelberg, Germany, 2016; pp. 21–37. [Google Scholar]
  6. Redmon, J.; Divvala, S.; Girshick, R.; Farhadi, A. You only look once: Unified, real-time object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, NV, USA, 27–30 June 2016; pp. 779–788. [Google Scholar]
  7. Li, Y.Y.; Chen, X.H.; Ding, G.Y.; Wang, S.; Xu, W.C.; Sun, B.B.; Song, Q. Pallet detection and localization with RGB image and depth data using deep learning techniques. In Proceedings of the 2021 6th International Conference on Automation, Control and Robotics Engineering (CACRE), Dalian, China, 15–17 July 20212; IEEE: Piscataway, NJ, USA, 2021; pp. 306–310. [Google Scholar]
  8. Girshick, R.; Donahue, J.; Darrell, T.; Malik, J. Region-based convolutional networks for accurate object detection and segmentation. IEEE Trans. Pattern Anal. Mach. Intell. 2015, 38, 142–158. [Google Scholar] [CrossRef] [PubMed]
  9. Varga, R.; Nedevschi, S. Robust Pallet Detection for Automated Logistics Operations. In Proceedings of the VISIGRAPP (4: VISAPP), Rome, Italy, 27 February 2016; pp. 470–477. [Google Scholar]
  10. Jain, A.K.; Mao, J.; Mohiuddin, K.M. Artificial neural networks: A tutorial. Computer 1996, 29, 31–44. [Google Scholar] [CrossRef]
  11. Kanal, L.N. Perceptron. In Encyclopedia of Computer Science; Wiley: New York, NY, USA, 2003; pp. 1383–1385. [Google Scholar]
  12. Ramchoun, H.; Ghanou, Y.; Ettaouil, M.; Janati Idrissi, M.A. Multilayer perceptron: Architecture optimization and training. Int. J. Interact. Multimed. Artif. Intell. 2016, 4, 26–30. [Google Scholar] [CrossRef]
  13. Glorot, X.; Bengio, Y. Understanding the difficulty of training deep feedforward neural networks. In Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics. JMLR Workshop and Conference Proceedings, Sardinia, Italy, 13–15 May 2010; pp. 249–256. [Google Scholar]
  14. Goodfellow, I.; Bengio, Y.; Courville, A. Deep Learning; MIT Press: Cambridge, MA, USA, 2016. [Google Scholar]
  15. Ruder, S. An overview of gradient descent optimization algorithms. arXiv 2016, arXiv:1609.04747. [Google Scholar]
  16. Bottou, L. Stochastic gradient learning in neural networks. Proc. Neuro-Nımes 1991, 91, 12. [Google Scholar]
  17. Duchi, J.; Hazan, E.; Singer, Y. Adaptive subgradient methods for online learning and stochastic optimization. J. Mach. Learn. Res. 2011, 12, 2121–2159. [Google Scholar]
  18. Alom, M.Z.; Taha, T.M.; Yakopcic, C.; Westberg, S.; Sidike, P.; Nasrin, M.S.; Hasan, M.; Van Essen, B.C.; Awwal, A.A.; Asari, V.K. A state-of-the-art survey on deep learning theory and architectures. Electronics 2019, 8, 292. [Google Scholar] [CrossRef]
  19. Dumoulin, V.; Visin, F. A guide to convolution arithmetic for deep learning. arXiv 2016, arXiv:1603.07285. [Google Scholar]
  20. He, K.; Zhang, X.; Ren, S.; Sun, J. Deep residual learning for image recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, NV, USA, 27–30 June 2016; pp. 770–778. [Google Scholar]
  21. He, K.; Zhang, X.; Ren, S.; Sun, J. Identity mappings in deep residual networks. In Proceedings of the Computer Vision–ECCV 2016: 14th European Conference, Amsterdam, The Netherlands, 11–14 October 2016; Proceedings, Part IV 14. Springer: Berlin/Heidelberg, Germany, 2016; pp. 630–645. [Google Scholar]
  22. Xiao, T.; Liu, Y.; Zhou, B.; Jiang, Y.; Sun, J. Unified perceptual parsing for scene understanding. In Proceedings of the European conference on computer vision (ECCV), Munich, Germany, 8–14 September 2018; pp. 418–434. [Google Scholar]
  23. Long, J.; Shelhamer, E.; Darrell, T. Fully convolutional networks for semantic segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Boston, MA, USA, 7–12 June 2015; pp. 3431–3440. [Google Scholar]
  24. Everingham, M.; Eslami, S.M.A.; Van Gool, L.; Williams, C.K.I.; Winn, J.; Zisserman, A. The Pascal Visual Object Classes Challenge: A Retrospective. Int. J. Comput. Vis. 2015, 111, 98–136. [Google Scholar] [CrossRef]
  25. Cordts, M.; Omran, M.; Ramos, S.; Rehfeld, T.; Enzweiler, M.; Benenson, R.; Franke, U.; Roth, S.; Schiele, B. The cityscapes dataset for semantic urban scene understanding. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, NV, USA, 27–30 June 2016; pp. 3213–3223. [Google Scholar]
  26. Lin, T.Y.; Dollár, P.; Girshick, R.; He, K.; Hariharan, B.; Belongie, S. Feature pyramid networks for object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition, Honolulu, HI, USA, 21–26 July 2017; pp. 2117–2125. [Google Scholar]
  27. Zhao, H.; Shi, J.; Qi, X.; Wang, X.; Jia, J. Pyramid scene parsing network. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Honolulu, HI, USA, 21–26 July 2017; pp. 2881–2890. [Google Scholar]
  28. Piccardi, M. Background subtraction techniques: A review. In Proceedings of the 2004 IEEE International Conference on Systems, Man and Cybernetics (IEEE Cat. No. 04CH37583), Hague, The Netherlands, 10–13 October 2004; IEEE: Piscataway, NJ, USA, 2004; Volume 4, pp. 3099–3104. [Google Scholar]
  29. Plott, C.R. A notion of equilibrium and its possibility under majority rule. Am. Econ. Rev. 1967, 57, 787–806. [Google Scholar]
  30. Nascimento, J.C.; Abrantes, A.J.; Marques, J.S. An algorithm for centroid-based tracking of moving objects. In Proceedings of the 1999 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings. ICASSP99 (Cat. No. 99CH36258), Phoenix, AZ, USA, 15–19 March 1999; IEEE: Piscataway, NJ, USA, 1999; Volume 6, pp. 3305–3308. [Google Scholar]
  31. Zhou, J.; Gandomi, A.H.; Chen, F.; Holzinger, A. Evaluating the quality of machine learning explanations: A survey on methods and metrics. Electronics 2021, 10, 593. [Google Scholar] [CrossRef]
  32. Grandini, M.; Bagli, E.; Visani, G. Metrics for multi-class classification: An overview. arXiv 2020, arXiv:2008.05756. [Google Scholar]
  33. Li, K.; Huang, Z.; Cheng, Y.C.; Lee, C.H. A maximal figure-of-merit learning approach to maximizing mean average precision with deep neural network based classifiers. In Proceedings of the 2014 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Florence, Italy, 4–9 May 2014; IEEE: Piscataway, NJ, USA, 2014; pp. 4503–4507. [Google Scholar]
  34. Winkler, J.P.; Grönberg, J.; Vogelsang, A. Optimizing for recall in automatic requirements classification: An empirical study. In Proceedings of the 2019 IEEE 27th International Requirements Engineering Conference (RE), Jeju Island, Republic of Korea, 23–27 September 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 40–50. [Google Scholar]
  35. Sokolova, M.; Japkowicz, N.; Szpakowicz, S. Beyond accuracy, F-score and ROC: A family of discriminant measures for performance evaluation. In Proceedings of the AI 2006: Advances in Artificial Intelligence: 19th Australian Joint Conference on Artificial Intelligence, Hobart, Australia, 4–8 December 2006; Proceedings 19. Springer: Berlin/Heidelberg, Germany, 2006; pp. 1015–1021. [Google Scholar]
  36. Shelhamer, E.; Long, J.; Darrell, T. Fully convolutional networks for semantic segmentation. IEEE Trans. Pattern Anal. Mach. Intell. 2017, 39, 640–651. [Google Scholar] [CrossRef] [PubMed]
  37. Wightman, R.; Touvron, H.; Jégou, H. Resnet strikes back: An improved training procedure in timm. arXiv 2021, arXiv:2110.00476. [Google Scholar]
  38. Chen, L.C.; Papandreou, G.; Schroff, F.; Adam, H. Rethinking atrous convolution for semantic image segmentation. arXiv 2017, arXiv:1706.05587. [Google Scholar]
  39. Zhao, H.; Zhang, Y.; Liu, S.; Shi, J.; Change Loy, C.; Lin, D.; Jia, J. Psanet: Point-wise spatial attention network for scene parsing. In Proceedings of the European Conference on Computer Vision (ECCV), Munich, Germany, 8–14 September 2018; pp. 267–283. [Google Scholar]
  40. Chen, L.C.; Zhu, Y.; Papandreou, G.; Schroff, F.; Adam, H. Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation. In Proceedings of the ECCV, Munich, Germany, 8–14 September 2018. [Google Scholar]
  41. Wang, X.; Girshick, R.; Gupta, A.; He, K. Non-local neural networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Salt Lake City, UT, USA, 18–23 June 2018; pp. 7794–7803. [Google Scholar]
  42. Zhang, H.; Dana, K.; Shi, J.; Zhang, Z.; Wang, X.; Tyagi, A.; Agrawal, A. Context Encoding for Semantic Segmentation. In Proceedings of the The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Salt Lake City, UT, USA, 18–23 June 2018. [Google Scholar]
  43. Fu, J.; Liu, J.; Tian, H.; Li, Y.; Bao, Y.; Fang, Z.; Lu, H. Dual Attention Network for Scene Segmentation. In Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Long Beach, CA, USA, 15–20 June 2019. [Google Scholar]
  44. He, J.; Deng, Z.; Zhou, L.; Wang, Y.; Qiao, Y. Adaptive Pyramid Context Network for Semantic Segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Long Beach, CA, USA, 15–20 June 2019. [Google Scholar]
  45. Huang, Z.; Wang, X.; Huang, L.; Huang, C.; Wei, Y.; Liu, W. CCNet: Criss-Cross Attention for Semantic Segmentation. In Proceedings of the 2019 IEEE/CVF International Conference on Computer Vision (ICCV), Seoul, Republic of Korea, 27 October–2 November 2019. [Google Scholar]
  46. He, J.; Deng, Z.; Qiao, Y. Dynamic Multi-Scale Filters for Semantic Segmentation. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), Long Beach, CA, USA, 15–20 June 2019. [Google Scholar]
  47. Zhu, Z.; Xu, M.; Bai, S.; Huang, T.; Bai, X. Asymmetric non-local neural networks for semantic segmentation. In Proceedings of the IEEE/CVF International Conference on Computer Vision, Long Beach, CA, USA, 15–20 June 2019; pp. 593–602. [Google Scholar]
  48. Cao, Y.; Xu, J.; Lin, S.; Wei, F.; Hu, H. Gcnet: Non-local networks meet squeeze-excitation networks and beyond. In Proceedings of the IEEE International Conference on Computer Vision Workshops, Seoul, Republic of Korea, 27–28 October 2019. [Google Scholar]
  49. Wu, H.; Zhang, J.; Huang, K.; Liang, K.; Yu, Y. Fastfcn: Rethinking dilated convolution in the backbone for semantic segmentation. arXiv 2019, arXiv:1903.11816. [Google Scholar]
  50. Yuan, Y.; Huang, L.; Guo, J.; Zhang, C.; Chen, X.; Wang, J. OCNet: Object Context for Semantic Segmentation. Int. J. Comput. Vis. 2021, 129, 2375–2398. [Google Scholar] [CrossRef]
  51. Yuan, Y.; Wang, J. Ocnet: Object context network for scene parsing. arXiv 2018, arXiv:1809.00916. [Google Scholar]
  52. Yuan, Y.; Chen, X.; Wang, J. Object-Contextual Representations for Semantic Segmentation. In Proceedings of the Computer Vision–ECCV 2020: 16th European Conference, Glasgow, UK, 23–28 August 2020. [Google Scholar]
  53. Yin, M.; Yao, Z.; Cao, Y.; Li, X.; Zhang, Z.; Lin, S.; Hu, H. Disentangled Non-Local Neural Networks. In Proceedings of the Computer Vision–ECCV 2020: 16th European Conference, Glasgow, UK, 23–28 August 2020. [Google Scholar]
Figure 1. CNN detects the front sides of pallets (yellow boxes) and the pallet pockets (red boxes) [2].
Figure 1. CNN detects the front sides of pallets (yellow boxes) and the pallet pockets (red boxes) [2].
Mathematics 11 02445 g001
Figure 2. Pallets with different loads: (a) stacked bags; (b) large bag; (c) stacked boxes; (d) barrels; (e) stacked bottle cases; (f) stacked water bottles; (g) motorcycle bodies.
Figure 2. Pallets with different loads: (a) stacked bags; (b) large bag; (c) stacked boxes; (d) barrels; (e) stacked bottle cases; (f) stacked water bottles; (g) motorcycle bodies.
Mathematics 11 02445 g002
Figure 3. Architectures of residual blocks.
Figure 3. Architectures of residual blocks.
Mathematics 11 02445 g003
Figure 4. UPerNet framework for Unified Perceptual Parsing [22].
Figure 4. UPerNet framework for Unified Perceptual Parsing [22].
Mathematics 11 02445 g004
Figure 5. Proposed method.
Figure 5. Proposed method.
Mathematics 11 02445 g005
Figure 6. Background subtraction method.
Figure 6. Background subtraction method.
Mathematics 11 02445 g006
Figure 7. The method, the model’s size in gigabytes, the inference time, and the mIoU.
Figure 7. The method, the model’s size in gigabytes, the inference time, and the mIoU.
Mathematics 11 02445 g007
Figure 8. Events from the system: (a) image before the event in (b); (b) event; (c) image before the event in (d); (d) event.
Figure 8. Events from the system: (a) image before the event in (b); (b) event; (c) image before the event in (d); (d) event.
Mathematics 11 02445 g008
Figure 9. Alarms from different testing angles.
Figure 9. Alarms from different testing angles.
Mathematics 11 02445 g009
Table 1. Elementary concepts used in performance evaluation.
Table 1. Elementary concepts used in performance evaluation.
Elementary ConceptAbbreviationDescription
True positivesTPIt occurs when a detection annotated as belonging to class C is classified correctly by the system
True negativesTNIt occurs when a detection annotated as belonging to a class other than class C is also classified by the system as not belonging to class C
False positivesFPIt occurs when a detection annotated as belonging to a class other than class C is classified incorrectly by the system as belonging to class C
False negativesFNIt occurs when a detection annotated as belonging to class C is classified incorrectly by the system as belonging to a class other than class C
Table 2. Tested semantic segmentation methods done on the ADE20K dataset [1].
Table 2. Tested semantic segmentation methods done on the ADE20K dataset [1].
MethodBackboneCrop SizeLr schdMem (GB)Inf Time (fps)mIoUmIoU (ms + flip)
FCN [36]R-50-D8512 × 51280,0008.523.4935.9437.94
FCNR-101-D8512 × 51280,0001214.7839.6140.83
FCNR-50-D8512 × 512160,000--36.138.08
FCNR-101-D8512 × 512160,000--39.9141.4
PSPNet [37]R-50-D8512 × 51280,0008.523.5341.1341.94
PSPNetR-101-D8512 × 51280,0001215.343.5744.35
PSPNetR-50-D8512 × 512160,000--42.4843.44
PSPNetR-101-D8512 × 512160,000--44.3945.35
DeepLabV3 [38]R-50-D8512 × 51280,0008.914.7642.4243.28
DeepLabV3R-101-D8512 × 51280,00012.410.1444.0845.19
DeepLabV3R-50-D8512 × 512160,000--42.6644.09
DeepLabV3R-101-D8512 × 512160,000--4546.66
PSANet [39]R-50-D8512 × 51280,000918.9141.1441.91
PSANetR-101-D8512 × 51280,00012.513.1343.844.75
PSANetR-50-D8512 × 512160,000--41.6742.95
PSANetR-101-D8512 × 512160,000--43.7445.38
DeepLabV3+ [40]R-50-D8512 × 51280,00010.621.0142.7243.75
DeepLabV3+R-101-D8512 × 51280,00014.114.1644.646.06
DeepLabV3+R-50-D8512 × 512160,000--43.9544.93
DeepLabV3+R-101-D8512 × 512160,000--45.4746.35
UPerNet [22]R-18512 × 51280,0006.624.7638.7639.81
UPerNetR-50512 × 51280,0008.123.440.741.81
UPerNetR-101512 × 51280,0009.120.3442.9143.96
UPerNetR-18512 × 512160,000--39.2339.97
UPerNetR-50512 × 512160,000--42.0542.78
UPerNetR-101512 × 512160,000--43.8244.85
NonLocalNet [41]R-50-D8512 × 51280,0009.121.3740.7542.05
NonLocalNetR-101-D8512 × 51280,00012.613.9742.944.27
NonLocalNetR-50-D8512 × 512160,000--42.0343.04
NonLocalNetR-101-D8512 × 512160,000--44.6345.79
EncNet [42]R-50-D8512 × 51280,00010.122.8139.5341.17
EncNetR-101-D8512 × 51280,00013.614.8742.1143.61
EncNetR-50-D8512 × 512160,000--40.141.71
EncNetR-101-D8512 × 512160,000--42.6144.01
DANet [43]R-50-D8512 × 51280,00011.521.241.6642.9
DANetR-101-D8512 × 51280,0001514.1843.6445.19
DANetR-50-D8512 × 512160,000--42.4543.25
DANetR-101-D8512 × 512160,000--44.1745.02
APCNet [44]R-50-D8512 × 51280,00010.119.6142.243.3
APCNetR-101-D8512 × 51280,00013.613.145.5446.65
APCNetR-50-D8512 × 512160,000--43.443.94
APCNetR-101-D8512 × 512160,000--45.4146.63
CCNet [45]R-50-D8512 × 51280,0008.820.8941.7842.98
CCNetR-101-D8512 × 51280,00012.214.1143.9745.13
CCNetR-50-D8512 × 512160,000--42.0843.13
CCNetR-101-D8512 × 512160,000--43.7145.04
DMNet [46]R-50-D8512 × 51280,0009.420.9542.3743.62
DMNetR-101-D8512 × 51280,0001313.8845.3446.13
DMNetR-50-D8512 × 512160,000--43.1544.17
DMNetR-101-D8512 × 512160,000--45.4246.76
ANN [47]R-50-D8512 × 51280,0009.121.0141.0142.3
ANNR-101-D8512 × 51280,00012.514.1242.9444.18
ANNR-50-D8512 × 512160,000--41.7442.62
ANNR-101-D8512 × 512160,000--42.9444.06
GCNet [48]R-50-D8512 × 51280,0008.523.3841.4742.85
GCNetR-101-D8512 × 51280,0001215.242.8244.54
GCNetR-50-D8512 × 512160,000--42.3743.52
GCNetR-101-D8512 × 512160,000--43.6945.21
FastFCN [49] + DeepLabV3R-50-D32512 × 51280,0008.4612.0641.8842.91
FastFCN + DeepLabV3R-50-D32512 × 512160,000--43.5844.92
FastFCN + PSPNetR-50-D32512 × 51280,0008.0219.2141.442.12
FastFCN + PSPNetR-50-D32512 × 512160,000--42.6343.71
FastFCN + EncNetR-50-D32512 × 51280,0009.6717.2340.8842.36
FastFCN + EncNetR-50-D32512 × 512160,000--42.544.21
ISANet [50]R-50-D8512 × 51280,000922.5541.1242.35
ISANetR-50-D8512 × 512160,000922.5542.5943.07
ISANetR-101-D8512 × 51280,00012.56210.5643.5144.38
ISANetR-101-D8512 × 512160,00012.56210.5643.845.4
OCRNet [51,52]HRNetV2p-W18-Small512 × 51280,0006.728.9835.0635.8
OCRNetHRNetV2p-W18512 × 51280,0007.918.9337.7939.16
OCRNetHRNetV2p-W48512 × 51280,00011.216.994344.3
OCRNetHRNetV2p-W18-Small512 × 512160,000--37.1938.4
OCRNetHRNetV2p-W18512 × 512160,000--39.3240.8
OCRNetHRNetV2p-W48512 × 512160,000--43.2544.88
DNLNet [53]R-50-D8512 × 51280,0008.820.6641.7642.99
DNLNetR-101-D8512 × 51280,00012.812.5443.7644.91
DNLNetR-50-D8512 × 512160,000--41.8743.01
DNLNetR-101-D8512 × 512160,000--44.2545.78
Table 3. Results after testing the proposed method: semantic segmentation.
Table 3. Results after testing the proposed method: semantic segmentation.
SiteHuman LabelTPTNFPFNmAPRecallF-ScoreAccuracy
1Pallet5722825000.1810.310.53
1Forklift34237300.0310.070.85
1Fallen material6388800.0610.120.33
2Pallet3123315600.1610.280.62
2Forklift03686100--0.85
2Fallen material05112900--0.28
3Pallet303549100.2410.390.80
3Forklift02268800--0.71
3Fallen material17111000.1310.230.14
TotalPallet118111249700.1910.320.71
TotalForklift365222200.0110.020.74
TotalFallen material2358132700.0610.120.64
Overall-1442345104600.120.950.210.70
Table 4. Results after testing the proposed method: semantic segmentation + tracking.
Table 4. Results after testing the proposed method: semantic segmentation + tracking.
SiteHuman LabelTPTNFPFNmAPRecallF-ScoreAccuracy
1Pallet574047200.4410.610.86
1Forklift34375900.4810.090.88
1Fallen material6943200.1510.270.75
2Pallet313385100.3710.540.87
2Forklift03834600--0.89
2Fallen material01235700--0.68
3Pallet303766900.3010.460.85
3Forklift02813300--0.89
3Fallen material16209110.140.940.250.28
TotalPallet114111819200.3710.540.86
TotalForklift3110113800.0210.040.88
TotalFallen material2023717910.100.950.180.58
Overall-143245650910.210.990.350.83
Table 5. Results after testing the proposed method: semantic segmentation + tracking + majority vote.
Table 5. Results after testing the proposed method: semantic segmentation + tracking + majority vote.
SiteHuman LabelTPTNFPFNmAPRecallF-ScoreAccuracy
1Pallet55474420.930.960.940.98
1Forklift3496200.610.750.99
1Fallen material51250110.830.900.99
2Pallet31389300.9310.960.99
2Forklift042910---0.99
2Fallen material018000---1
3Pallet28443320.930.930.930.98
3Forklift031400---1
3Fallen material15109020.880.880.880.98
TotalPallet11413061040.930.960.940.99
TotalForklift31239301110.99
TotalFallen material204140310.860.920.99
Overall-13729591370.910.950.920.99
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Carata, S.V.; Ghenescu, M.; Mihaescu, R. Real-Time Detection of Unrecognized Objects in Logistics Warehouses Using Semantic Segmentation. Mathematics 2023, 11, 2445. https://doi.org/10.3390/math11112445

AMA Style

Carata SV, Ghenescu M, Mihaescu R. Real-Time Detection of Unrecognized Objects in Logistics Warehouses Using Semantic Segmentation. Mathematics. 2023; 11(11):2445. https://doi.org/10.3390/math11112445

Chicago/Turabian Style

Carata, Serban Vasile, Marian Ghenescu, and Roxana Mihaescu. 2023. "Real-Time Detection of Unrecognized Objects in Logistics Warehouses Using Semantic Segmentation" Mathematics 11, no. 11: 2445. https://doi.org/10.3390/math11112445

APA Style

Carata, S. V., Ghenescu, M., & Mihaescu, R. (2023). Real-Time Detection of Unrecognized Objects in Logistics Warehouses Using Semantic Segmentation. Mathematics, 11(11), 2445. https://doi.org/10.3390/math11112445

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop