A method for collecting fire protection elements of high-rise buildings based on convolutional networks

By constructing a high-rise building fire protection element acquisition system based on convolutional networks, the problems of low information structuring and complex operation in traditional methods are solved, and the system achieves rapid and accurate fire protection element data acquisition, thereby improving the efficiency of fire fighting and rescue.

CN117668996BActive Publication Date: 2026-07-03NANJING LES INFORMATION TECH

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
NANJING LES INFORMATION TECH
Filing Date
2023-12-14
Publication Date
2026-07-03

Smart Images

  • Figure CN117668996B_ABST
    Figure CN117668996B_ABST
Patent Text Reader

Abstract

This invention discloses a method for collecting fire protection elements of high-rise buildings based on convolutional networks. The steps are as follows: First, the scale of imported hand-drawn drawings and CAD drawings is confirmed. Then, a building structure is generated using a convolutional network. Next, floor slabs are fine-tuned and floor attributes are assigned according to the actual building conditions to construct the building model. Based on the location of fire protection elements in the CAD drawings, corresponding elements are found in the element library, placed, and their status information is input. The constructed building model is loaded onto an image map, ensuring overlap between the model and the same building in the image. Finally, the calibrated model's latitude and longitude, and the fire protection element information within the building are entered into the database according to data standards to collect the fire protection elements. This invention can provide data support services for fire rescue operations in high-rise buildings (complexes), assist commanders in making accurate decisions, and improve the efficiency of fire fighting and rescue teams.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of high-rise building data acquisition technology, specifically relating to a method for acquiring fire protection elements of high-rise buildings based on convolutional networks. Background Technology

[0002] Currently, traditional methods for collecting firefighting information include operational information cards and firefighting and rescue plans. However, both operational information cards and firefighting and rescue plans are in text format and are of low quality with low value density. They fail to achieve structured operational information and cannot effectively support actual combat command and rescue and auxiliary decision-making.

[0003] To address the problems encountered in traditional manual data collection of fire safety elements, current information-based data collection methods typically employ the creation of BIM models. The BIM model fire safety element collection process involves the following steps: collecting high-rise building drawings, commissioning a third-party manufacturer to build the model using specialized software, continuously adjusting latitude and longitude after model completion, processing floor-by-floor element information after model calibration, importing the data into a database, and finally displaying it on an application platform. However, BIM models contain a large amount of data, requiring personnel with specialized knowledge and skills to operate using specialized software. Building the model, calibrating latitude and longitude, and processing the location information of model elements are all time-consuming. Third-party manufacturers charge per floor for high-rise building model production, with single-floor production costs reaching thousands and single-building production costs reaching tens of thousands, resulting in high production costs. Summary of the Invention

[0004] In view of the shortcomings of the prior art, the purpose of this invention is to provide a method for collecting fire protection elements of high-rise buildings based on convolutional networks. This invention can provide data support services for fire rescue operations in high-rise buildings (complexes), help commanders make accurate decisions, and improve the efficiency of fire fighting and rescue teams.

[0005] To achieve the above objectives, the technical solution adopted by the present invention is as follows:

[0006] The present invention provides a method for collecting fire protection elements of high-rise buildings based on convolutional networks, comprising the following steps:

[0007] (1) Confirm the scale of the imported hand-drawn drawings and CAD drawings, generate the building structure using convolutional networks, and then make fine adjustments to the floor slabs and assign floor attributes according to the actual building situation to realize the construction of the building model.

[0008] (2) Based on the location of fire protection elements in the CAD drawing, find the corresponding elements in the element library, place the elements, and input the element status information;

[0009] (3) Load the building model constructed in step (1) above onto the image map, and after calibration with five degrees of freedom (longitude, latitude, rotation, height, and scaling), complete the overlap between the model and the same building on the image.

[0010] (4) The latitude and longitude of the calibrated model and the fire protection element information in the building are entered into the database according to the data standard to realize the collection of fire protection elements.

[0011] Furthermore, the specific steps for constructing the building model in step (1) include:

[0012] (11) Use an autoencoder model with a multi-view decoder to generate multiple 2.5D views from a 2D drawing. The autoencoder model generates missing depth information, which is then used by the subsequently generated 3D model.

[0013] (12) Use residual networks to generate 3D models from 2.5D views.

[0014] Furthermore, the specific steps for generating multiple 2.5D views from the 2D drawing in step (11) are as follows:

[0015] The encoder network consists of a series of convolutional layers, which undergo batch normalization and use Leaky ReLUs (slope = 0.2) as the activation function. Leaky ReLUs are expressed as:

[0016] (1);

[0017] (2);

[0018] In the formula, Indicates the slope. Indicates input, Indicates the output;

[0019] The filter kernel size is set to 4, the stride to 2, and the output is 512 feature maps of size 2*2. The decoder network consists of a series of upsampling and convolutional layers, each of which undergoes batch normalization and Leaky filtering. ReLU processing is used, and the first three layers undergo Dropout processing (to prevent overfitting). The decoder takes the encoder's representation as input and outputs a 256*256*5 image for the corresponding output viewpoint. The five-channel image includes the viewpoint's depth map (1 channel), normal map (3 channels), and foreground probability map. The model adopts a U-shaped network architecture, where the input of each convolutional layer in the decoder is a combination of the output of the previous layer in the decoder and the output of the corresponding layer in the encoder, predicting multiple 2.5D outputs for each vertex of a regular icosahedron, with the camera facing the center of the object. The network parameters are updated by penalizing four terms to minimize the loss function: the difference between the training depth map and the predicted depth map, the angular difference between the training normal map and the predicted normal map, the difference between the ground truth and the predicted foreground mask, and the large-scale structural difference between the predicted map and the training map. Let T represent the training data consisting of the ground truth foreground, depth, and normal maps for V viewpoints of the 2D image, and the loss function... Represented as:

[0020] (3);

[0021] in, , , , ; and :for Using Manhattan distance Calculate the loss between the predicted value and the actual value; for The loss between the predicted and actual values ​​is calculated using the cosine angle difference. This represents the loss between the trained depth map and the predicted depth map, calculated using the Manhattan distance; The loss between the predicted camera orientation and the actual camera orientation is represented by the cosine angle difference, which is calculated using the cosine angle difference.

[0022] set up For the 2D images used for training, and The true depth and normal of pixel p in viewpoint v; 2D image. The depth and normal prediction values ​​are expressed as follows: and All depths (i.e., training depth and prediction depth) are normalized in the range [-1, 1]. Within the range [-1, 1], it is represented as:

[0023] (4);

[0024] (5);

[0025] in, For training depth, To predict depth, This is an estimate used to calculate the depth;

[0026] Masking loss The cross-entropy function used in classification is used to penalize the difference between the predicted foreground label and the true foreground label.

[0027] Adversarial loss The adversarial network penalizes structural differences in the output image using corresponding ground truth values. The adversarial loss term takes a 5-channel image as input (depth channel, 3 normal channels, and foreground texture channel) and outputs the true probability. The adversarial network uses the real image generated from the fake image to predict the probability, expressed by the formula:

[0028] (6);

[0029] In the formula, v is the viewpoint. The probability function for generating realistic images. The number of images input to the model. Output the number of predictions that are true for the model.

[0030] Furthermore, the specific steps for generating the 3D model from the 2.5D view in step (12) are as follows:

[0031] The 3D shape estimator is defined as a continuous implicit function F(p) in 3D space:

[0032] (7);

[0033] If the point is outside the shape, then Otherwise, it is 0;

[0034] For each point p Using an implicit field to predict the internal / external state of a point. It uses a Cartesian three-dimensional coordinate system; and employs a smooth surface extraction algorithm to process the implicit field, generating a smooth three-dimensional surface; this smooth surface extraction algorithm operates based on point cloud data or voxel data, extracting surfaces with continuity and smoothness (by applying the smooth surface extraction algorithm, high-quality 3D models can be obtained from the implicit field, better representing the shape of the original data, and performing well in various use cases).

[0035] Further, in step (12), a residual network is used to generate a 3D model from a 2.5D view. The residual blocks in the residual network act as encoders. The residual network encodes an image with a shape of 256*256 and outputs a 128-dimensional feature vector by minimizing the mean square loss between the predicted feature vector and the true value. The decoder architecture is designed as an implicit decoder. The implicit decoder takes the feature vector extracted from the encoder and the corresponding 2D / 3D point coordinates as input and predicts the internal and external fields of each point. For the 3D shape reconstruction task, it is necessary to determine the position of each point relative to the object surface. The internal and external fields are determined by calculating the shortest distance from each point to the reconstructed shape. If the point is inside the shape, the field value of the point is positive; if the point is outside the shape, the field value of the point is negative. Positive and negative values ​​are used as identifiers, which are helpful for classifying and locating points during the reconstruction process.

[0036] Point coordinates are generated using a sampling method, with the center of each voxel as the reference, and n is generated at different resolutions. 3 There are several points; in the 3D shape estimator, the loss function is defined as the weighted mean square error between the predicted label and the true label for each point, where S is the set of points sampled from the target shape, and has an implicit field F; let... To assign weights to each point q, constrain the implicit field in unit 3D space, and find a parameter... function Map point q to the implicit function The loss function L is defined as follows:

[0037] (8).

[0038] This invention applies the Marching Cubes algorithm to the generated 3D point values ​​to produce a smooth, high-quality polygonal mesh. The Marching Cubes algorithm is a commonly used algorithm for generating 3D surface meshes from discrete volume data. It analyzes each voxel to determine its internal and external states and creates corresponding triangular facets based on these states. These facets connect to form a continuous surface that approximates the shape of the original data. By applying the Marching Cubes algorithm, the generated 3D point values ​​can be converted into a smooth and high-quality polygonal mesh for better representation and processing of 3D shapes.

[0039] Furthermore, the fire protection element model created using 3DMAX in step (2) is added to the element library created based on the Unity3D engine.

[0040] Furthermore, the corresponding elements in step (2) include: fire hydrants, safety exits, and evacuation staircases.

[0041] Furthermore, in step (3), the FBX format building model is converted into 3Dtiles format and loaded onto the image map. After calibration of the five degrees of freedom (longitude, latitude, rotation, height, and scaling) based on the GIS engine, the model is overlapped with the same building on the image.

[0042] The beneficial effects of this invention are:

[0043] 1. The method of the present invention can quickly and accurately collect data on various fire protection elements inside a building;

[0044] 2. The method of this invention adjusts the five degrees of freedom of the model—longitude, latitude, rotation angle, height, and scaling—to match the building model with the geographic imagery and give the building real location information.

[0045] 3. The method of this invention constructs and collects visualized and structured data that meet the core elements of firefighting operations, which strongly supports the application of actual combat command, helps firefighters quickly grasp the structural information of the burning building, and improves the efficiency of firefighting and rescue. Attached Figure Description

[0046] Figure 1 This is a schematic diagram of the method of the present invention.

[0047] Figure 2 This is a diagram of the convolutional neural network architecture in this invention. Detailed Implementation

[0048] To facilitate understanding by those skilled in the art, the present invention will be further described below with reference to embodiments and accompanying drawings. The content mentioned in the embodiments is not intended to limit the present invention.

[0049] Reference Figure 1 As shown, the present invention provides a method for collecting fire protection elements of high-rise buildings based on convolutional networks, comprising the following steps:

[0050] (1) Confirm the scale of the imported hand-drawn drawings and CAD drawings, generate the building structure using convolutional networks, and then make fine adjustments to the floor slabs and assign floor attributes according to the actual building situation to realize the construction of the building model.

[0051] The specific steps for constructing an architectural model include:

[0052] (11) Use an autoencoder model with a multi-view decoder to generate multiple 2.5D views from a 2D drawing. The autoencoder model generates missing depth information and is used by the subsequently generated 3D model.

[0053] (12) Use residual networks to generate 3D models from 2.5D views.

[0054] The specific steps for generating multiple 2.5D views from the 2D drawing in step (11) are as follows:

[0055] The encoder network consists of a series of convolutional layers, which undergo batch normalization and use Leaky ReLUs (slope = 0.2) as the activation function. Leaky ReLUs are expressed as:

[0056] (1);

[0057] (2);

[0058] In the formula, Indicates the slope. Indicates input, Indicates the output;

[0059] The filter kernel size is set to 4, the stride to 2, and the output is 512 feature maps of size 2*2. The decoder network consists of a series of upsampling and convolutional layers, each of which undergoes batch normalization and Leaky filtering. ReLU processing is used, and the first three layers undergo Dropout processing (to prevent overfitting). The decoder takes the encoder's representation as input and outputs a 256*256*5 image for the corresponding output viewpoint. The five-channel image includes the viewpoint's depth map (1 channel), normal map (3 channels), and foreground probability map. The model adopts a U-shaped network architecture, where the input of each convolutional layer in the decoder is a combination of the output of the previous layer in the decoder and the output of the corresponding layer in the encoder, predicting multiple 2.5D outputs for each vertex of a regular icosahedron, with the camera facing the center of the object. The network parameters are updated by penalizing four terms to minimize the loss function: the difference between the training depth map and the predicted depth map, the angular difference between the training normal map and the predicted normal map, the difference between the ground truth and the predicted foreground mask, and the large-scale structural difference between the predicted map and the training map. Let T represent the training data consisting of the ground truth foreground, depth, and normal maps for V viewpoints of the 2D image, and the loss function... Represented as:

[0060] (3);

[0061] in, , , , ; and :for Using Manhattan distance Calculate the loss between the predicted value and the actual value; for The loss between the predicted and actual values ​​is calculated using the cosine angle difference. This represents the loss between the trained depth map and the predicted depth map, calculated using the Manhattan distance; The loss between the predicted camera orientation and the actual camera orientation is represented by the cosine angle difference, which is calculated using the cosine angle difference.

[0062] set up For the 2D images used for training, and The true depth and normal of pixel p in viewpoint v; 2D image. The depth and normal prediction values ​​are expressed as follows: and All depths (i.e., training depth and prediction depth) are normalized in the range [-1, -1]. Within the range [-1, 1], it is represented as:

[0063] (4);

[0064] (5);

[0065] in, For training depth, To predict depth, This is an estimate used to calculate the depth;

[0066] Masking loss The cross-entropy function used in classification is used to penalize the difference between the predicted foreground label and the true foreground label.

[0067] Adversarial loss The adversarial network penalizes structural differences in the output image using corresponding ground truth values. The adversarial loss term takes a 5-channel image as input (depth channel, 3 normal channels, and foreground texture channel) and outputs the true probability. The adversarial network uses the real image generated from the fake image to predict the probability, expressed by the formula:

[0068] (6);

[0069] In the formula, v is the viewpoint. The probability function for generating realistic images. The number of images input to the model. Output the number of predictions that are true for the model.

[0070] The specific steps for generating the 3D model from the 2.5D view in step (12) are as follows:

[0071] The 3D shape estimator is defined as a continuous implicit function F(p) in 3D space:

[0072] (7);

[0073] If the point is outside the shape, then Otherwise, it is 0;

[0074] For each point p Using an implicit field to predict the internal / external state of a point. It uses a Cartesian three-dimensional coordinate system and employs a smooth surface extraction algorithm to process the implicit field, generating a smooth three-dimensional surface. This smooth surface extraction algorithm operates based on point cloud data or voxel data, extracting surfaces with continuity and smoothness. By applying the smooth surface extraction algorithm, high-quality 3D models can be obtained from the implicit field, better representing the shape of the original data, and performing well in various application scenarios.

[0075] In step (12), a residual network is used to generate a 3D model from a 2.5D view. The residual blocks in the residual network act as encoders. The residual network encodes an image with a shape of 256*256 and outputs a 128-dimensional feature vector by minimizing the mean square loss between the predicted feature vector and the true value. The decoder architecture is designed as an implicit decoder. The implicit decoder takes the feature vector extracted from the encoder and the corresponding 2D / 3D point coordinates as input and predicts the internal and external fields of each point. For the 3D shape reconstruction task, it is necessary to determine the position of each point relative to the object surface. The internal and external fields are determined by calculating the shortest distance from each point to the reconstructed shape. If the point is inside the shape, the field value of the point is positive; if the point is outside the shape, the field value of the point is negative. Positive and negative values ​​are used as identifiers, which are helpful for classifying and locating points during the reconstruction process. Figure 2 As shown, these point coordinates include coordinates from different resolutions (16). 3 32 3 64 3 128 3 The point value pairs extracted from the voxelization of the 3D shape;

[0076] Point coordinates are generated using a sampling method, with the center of each voxel as the reference, and n is generated at different resolutions. 3 There are several points; in the 3D shape estimator, the loss function is defined as the weighted mean square error between the predicted label and the true label for each point, where S is the set of points sampled from the target shape, and has an implicit field F; let... To assign weights to each point q, constrain the implicit field in unit 3D space, and find a parameter... function Map point q to the implicit function The loss function L is defined as follows:

[0077] (8);

[0078] This invention applies the Marching Cubes algorithm to the generated 3D point values ​​to produce a smooth, high-quality polygonal mesh. The Marching Cubes algorithm is a commonly used algorithm for generating 3D surface meshes from discrete volume data. It analyzes each voxel to determine its internal and external states and creates corresponding triangular facets based on these states. These facets connect to form a continuous surface that approximates the shape of the original data. By applying the Marching Cubes algorithm, the generated 3D point values ​​can be converted into a smooth and high-quality polygonal mesh for better representation and processing of 3D shapes.

[0079] (2) Based on the location of fire protection elements in the CAD drawing, find the corresponding elements in the element library, place the elements, and input the element status information;

[0080] Firefighting element models created using 3DMAX are added to the element library created using the Unity3D engine.

[0081] The corresponding elements include: fire hydrants, safety exits, and evacuation staircases.

[0082] Place fire safety elements on the floor according to the drawings, and fill in the element status information. The element status information is shown in Table 1:

[0083] Table 1

[0084]

[0085] (3) Load the building model constructed in step (1) above onto the image map, and after calibration with five degrees of freedom (longitude, latitude, rotation, height, and scaling), complete the overlap between the model and the same building on the image.

[0086] After converting the FBX format building model to 3Dtiles format and loading it onto the image map, the model is then calibrated using a GIS engine to achieve five degrees of freedom: longitude, latitude, rotation, height, and zoom, thus completing the overlap between the model and the same building on the image.

[0087] (4) The latitude and longitude of the calibrated model and the fire protection element information in the building are entered into the database according to the data standard to realize the collection of fire protection elements. The fire protection elements have individual rules to facilitate the application of data after subsequent data collection. The individual rules of fire protection elements are shown in Table 2:

[0088] Table 2

[0089]

[0090] This invention has many specific applications. The above description is only a preferred embodiment of this invention. It should be noted that for those skilled in the art, several improvements can be made without departing from the principle of this invention, and these improvements should also be considered within the scope of protection of this invention.

Claims

1. A method for collecting fire protection elements of high-rise buildings based on convolutional networks, characterized in that, The steps are as follows: (1) Confirm the scale of the imported hand-drawn drawings and CAD drawings, generate the building structure using convolutional networks, and then make fine adjustments to the floor slabs and assign floor attributes according to the actual building situation to realize the construction of the building model. (2) Based on the location of fire protection elements in the CAD drawing, find the corresponding elements in the element library, place the elements, and input the element status information; (3) Load the building model constructed in step (1) above onto the image map, and after calibration with five degrees of freedom (longitude, latitude, rotation, height, and scaling), complete the overlap between the model and the same building on the image. (4) The latitude and longitude of the calibrated model and the fire protection element information in the building are entered into the database according to the data standard to realize the collection of fire protection elements; The specific steps for constructing the building model in step (1) include: (11) Use an autoencoder model with a multi-view decoder to generate multiple 2.5D views from a 2D drawing. The autoencoder model generates missing depth information, which is then used by the subsequently generated 3D model. (12) Generate a 3D model from a 2.5D view using a residual network; The specific steps for generating the 3D model from the 2.5D view in step (12) are as follows: The 3D shape estimator is defined as a continuous implicit function F(p) in 3D space: (7); If the point is outside the shape, then Otherwise, it is 0; For each point p Apply implicit fields to predict the internal / external state of a point. It uses a Cartesian three-dimensional coordinate system; and employs a smooth surface extraction algorithm to process the implicit field, generating a smooth three-dimensional surface; this smooth surface extraction algorithm operates based on point cloud data or voxel data to extract surfaces with continuity and smoothness; In step (12), a residual network is used to generate a 3D model from a 2.5D view. The residual blocks in the residual network act as encoders. The residual network encodes an image with a shape of 256*256 and outputs a 128-dimensional feature vector by minimizing the mean square loss between the predicted feature vector and the true value. The decoder architecture is designed as an implicit decoder. The implicit decoder takes the feature vector extracted from the encoder and the corresponding 2D / 3D point coordinates as input and predicts the internal and external fields of each point. For the 3D shape reconstruction task, it is necessary to determine the position of each point relative to the object surface. The internal and external fields are determined by calculating the shortest distance from each point to the reconstructed shape. If the point is inside the shape, the field value of the point is positive; if the point is outside the shape, the field value of the point is negative. Positive and negative values ​​are used as identifiers, which are helpful for classifying and locating points during the reconstruction process. Point coordinates are generated using a sampling method, with the center of each voxel as the reference, and n is generated at different resolutions. 3 There are several points; in the 3D shape estimator, the loss function is defined as the weighted mean square error between the predicted label and the true label for each point, where S is the set of points sampled from the target shape, and has an implicit field F; let... To assign weights to each point q, constrain the implicit field in unit 3D space, and find a parameter... function Map point q to the implicit function The loss function L is defined as follows: (8)。 2. The method for collecting fire protection elements of high-rise buildings based on convolutional networks according to claim 1, characterized in that, The specific steps for generating multiple 2.5D views from the 2D drawing in step (11) are as follows: The encoder network consists of a series of convolutional layers, which undergo batch normalization and use Leaky ReLUs as the activation function. Leaky ReLUs are expressed as: (1); (2); In the formula, Indicates the slope. Indicates input, Indicates the output; The filter kernel size is selected as 4, the stride is 2, and the output is 512 feature maps of size 2*2; the decoder network consists of a series of upsampling and convolutional layers, each of which is processed by batch normalization and Leaky ReLUs, and the first three layers are processed by Dropout. The decoder takes the encoder's representation as input and outputs a 256*256*5 image for the corresponding output viewpoint; The five-channel image includes the depth map, normal map, and foreground probability map of the viewpoint. The model employs a U-shaped network architecture, where the input to each convolutional layer in the decoder is a combination of the output of the layer above in the decoder and the output of the corresponding layer in the encoder, predicting multiple 2.5D outputs for each vertex of an icosahedron with the camera facing the center of the object. The network parameters are updated by penalizing four terms to minimize the loss function: the difference between the training depth map and the predicted depth map, the angular difference between the training normal map and the predicted normal map, the difference between the ground truth and the predicted foreground mask, and the large-scale structural difference between the predicted map and the training map. Let T represent the training data consisting of the true foreground, depth, and normal maps of V viewpoints in a 2D image, and let the loss function be... Represented as: (3); in, , , , ; and :for Using Manhattan distance Calculate the loss between the predicted value and the actual value; for The loss between the predicted and actual values ​​is calculated using the cosine angle difference. This represents the loss between the trained depth map and the predicted depth map, calculated using the Manhattan distance; The loss between the predicted camera orientation and the actual camera orientation is represented by the cosine angle difference, which is calculated using the cosine angle difference. set up For the 2D images used for training, and The true depth and normal of pixel p in viewpoint v; 2D image. The depth and normal prediction values ​​are expressed as follows: and All depths are normalized within the range [-1, 1]. Within the range [-1, 1], it is represented as: (4); (5); in, For training depth, To predict depth, This is an estimate used to calculate the depth; Masking loss The cross-entropy function used in classification is used to penalize the difference between the predicted foreground label and the true foreground label. Adversarial loss The adversarial network penalizes structural differences in the output image using corresponding ground truth values. The adversarial loss term takes a 5-channel image as input (depth channel, 3 normal channels, and foreground texture channel) and outputs the true probability. The adversarial network uses the real image generated from the fake image to predict the probability, expressed by the formula: (6); Where v is the viewpoint, The probability function for generating realistic images. The number of images input to the model. Output the number of predictions that are true for the model.

3. The method for collecting fire protection elements of high-rise buildings based on convolutional networks according to claim 1, characterized in that, The fire protection element model created using 3DMAX in step (2) is added to the element library created based on the Unity3D engine.

4. The method for collecting fire protection elements of high-rise buildings based on convolutional networks according to claim 1, characterized in that, In step (3), the FBX format building model is converted into 3Dtiles format and loaded onto the image map. After calibration of the five degrees of freedom (longitude, latitude, rotation, height, and scaling) based on the GIS engine, the model is overlapped with the same building on the image.