Cabinet equipment identification method, device and system
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA MOBILE GRP GUANGDONG CO LTD
- Filing Date
- 2023-08-28
- Publication Date
- 2026-08-07
AI Technical Summary
但是,对于人工识别和标签识别机柜设备方法,在识别效率、识别成本和识别准确率等方面无法同时做到最优
[0053] By utilizing photographs of server racks within the data center and employing deep learning and OCR technologies, this system intelligently identifies all device types and U-position locations within the images, automatically associating device and U-position locations. Furthermore, addressing issues such as U-positions being easily obscured or omitted in rack photos, a U-position calibration method is proposed, effectively improving the accuracy of rack device identification. This system achieves optimal solutions in terms of rack device identification efficiency, cost, and accuracy, enhancing the efficiency of rack space resource management and rack device inventory.
Smart Images

Figure CN117197793B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of target detection technology, and in particular to a method, device and system for identifying cabinet equipment. Background Technology
[0002] With the continuous development of IT technologies such as cloud-native, more and more electrical equipment is being hosted in data center server rooms for unified management and maintenance. Users need to periodically inventory the electrical equipment in the data center server room. Currently, inventory methods generally use manual identification or tag identification to determine the location and type of electrical equipment in the data center server room. However, manual identification and tag identification methods for rack equipment cannot simultaneously achieve optimal results in terms of identification efficiency, identification cost, and identification accuracy. Summary of the Invention
[0003] This application provides a method, apparatus, and system for identifying rack equipment, so as to at least improve the efficiency of rack equipment identification. The technical solution of this application is as follows:
[0004] In a first aspect, embodiments of this application provide a method for identifying cabinet equipment, including:
[0005] Acquire rack images, wherein the rack images include at least one front view of a rack;
[0006] Target detection is performed on the devices in the rack image to obtain the first pixel position and device type of each device in the rack image; and target recognition and character recognition are performed on the U-position identifiers in the rack image to obtain the second pixel position and character of each U-position identifier in the rack image.
[0007] Based on the second pixel position of each U-position identifier, the U-position identifiers are grouped according to the side of the rack to which they belong, to obtain at least one group of U-position identifiers; for each group of U-position identifiers, the numeric part of the character corresponding to each group of U-position identifiers is extracted to obtain a numeric sequence;
[0008] Determine whether the digital sequence meets the verification pass condition, wherein the verification pass condition is an arithmetic sequence with a common difference of 1, and the sequence length of the digital sequence is equal to the total number of rack U-positions; if the digital sequence does not meet the verification pass condition, then perform abnormal data processing on the second pixel position and character of the U-position identifier; until the digital sequence of the U-position identifier meets the verification pass condition;
[0009] Based on the first pixel position of each device and the second pixel position of each U-position identifier, the device type of each device is associated with the character of the U-position identifier to obtain the rack device identification result.
[0010] In some implementations, the abnormal data processing of the second pixel position and character of the U-bit identifier includes:
[0011] Determine whether the number of digits in the numerical sequence of the U-position identifiers is equal to the total number of U-position identifiers in the rack;
[0012] If the number of digits in the numerical sequence of the U-position identifier is equal to the total number of U-positions in the rack, then the numerical sequence is compared digit by digit with the natural number sequence to determine the target position where the numerical sequence and the natural number sequence have the same digit but different digits; and the digit in the numerical sequence corresponding to the target position is changed to the digit in the natural number sequence corresponding to the target position.
[0013] In some implementations, the abnormal data processing of the second pixel position and character of the U-bit identifier further includes:
[0014] If the number of digits in the numerical sequence of the U-position identifier is less than the total number of U-positions in the rack, then the numerical sequence is compared digit by digit with the natural number sequence to determine the positions where the numerical sequence and the natural number sequence have the same digits as common positions.
[0015] The positions in the natural number sequence other than the common positions are identified as missing number positions; and the first and second positions before and after the missing number positions are determined.
[0016] Based on the second pixel position and character corresponding to the first and second positions in the group of U-position identifiers, the second pixel position and character corresponding to the missing number position in the group of U-position identifiers are obtained.
[0017] In some implementations, the first pixel position of each device includes the top-left and bottom-right pixel positions of the device area in the rack image.
[0018] In some implementations, associating the device type of each device with the character of its corresponding U-position identifier based on the first pixel position of each device and the second pixel position of each U-position identifier includes:
[0019] For each device, the first pixel position of the device is compared one by one with the second pixel position of the current U-bit identifier in each group of U-bit identifiers to obtain the comparison result;
[0020] If the comparison result satisfies the position association condition, then the device type of the device is associated with the character of the current U-position identifier; wherein, the position association condition is that the Y-axis coordinate of the second pixel position is located between the Y-axis coordinates of the upper left and lower right pixel positions of the first pixel position, with the vertical direction of the cabinet as the Y-axis.
[0021] In some implementations, acquiring the rack image includes:
[0022] Acquire multiple photos or videos of the server rack captured by the acquisition device;
[0023] After determining that the plurality of photos or videos meet the format requirements, a photo to be processed that includes at least one front image of a server rack is obtained from the plurality of photos, or a video frame to be processed that includes at least one front image of a server rack is obtained from the video.
[0024] The photos or video frames to be processed are preprocessed and noise-reduced to obtain rack images of uniform specifications.
[0025] Secondly, embodiments of this application provide a cabinet equipment identification device, comprising:
[0026] An image acquisition module is used to acquire rack images, wherein the rack images include at least one front view of a rack;
[0027] The target detection module is used to perform target detection on the devices in the cabinet image to obtain the first pixel position and device type of each device in the cabinet image; and to perform target recognition and character recognition on the U-position identifiers in the cabinet image to obtain the second pixel position and character of each U-position identifier in the cabinet image.
[0028] The identification information processing module is used to group the U-position identifiers based on the second pixel position of each U-position identifier according to the side of the cabinet to which they belong, to obtain at least one group of U-position identifiers; and for each group of U-position identifiers in the at least one group of U-position identifiers, to extract the numeric part of the characters corresponding to each group of U-position identifiers to obtain a numeric sequence.
[0029] The identification information calibration module is used to determine whether the digital sequence meets the verification pass condition, wherein the verification pass condition is an arithmetic sequence with a common difference of 1, and the sequence length of the digital sequence is equal to the total number of rack U-positions; if the digital sequence does not meet the verification pass condition, the second pixel position and character of the U-position identifier are processed for abnormal data; until the digital sequence of the U-position identifier meets the verification pass condition.
[0030] The recognition result fusion module is used to associate the device type of each device with the character of the U-position identifier based on the first pixel position of each device and the second pixel position of each U-position identifier to obtain the cabinet device recognition result.
[0031] In some implementations, the identification information calibration module is used for:
[0032] Determine whether the number of digits in the numerical sequence of the U-position identifiers is equal to the total number of U-position identifiers in the rack;
[0033] If the number of digits in the numerical sequence of the U-position identifier is equal to the total number of U-positions in the rack, then the numerical sequence is compared digit by digit with the natural number sequence to determine the target position where the numerical sequence and the natural number sequence have the same digit but different digits; and the digit in the numerical sequence corresponding to the target position is changed to the digit in the natural number sequence corresponding to the target position.
[0034] In some implementations, the identification information calibration module is also used for:
[0035] If the number of digits in the numerical sequence of the U-position identifier is less than the total number of U-positions in the rack, then the numerical sequence is compared digit by digit with the natural number sequence to determine the positions where the numerical sequence and the natural number sequence have the same digits as common positions.
[0036] The positions in the natural number sequence other than the common positions are identified as missing number positions; and the first and second positions before and after the missing number positions are determined.
[0037] Based on the second pixel position and character corresponding to the first and second positions in the group of U-position identifiers, the second pixel position and character corresponding to the missing number position in the group of U-position identifiers are obtained.
[0038] In some implementations, the first pixel position of each device includes the top-left and bottom-right pixel positions of the device area in the rack image.
[0039] In some implementations, the recognition result fusion module is specifically used for:
[0040] For each device, the first pixel position of the device is compared one by one with the second pixel position of the current U-bit identifier in each group of U-bit identifiers to obtain the comparison result;
[0041] If the comparison result satisfies the position association condition, then the device type of the device is associated with the character of the current U-position identifier; wherein, the position association condition is that the Y-axis coordinate of the second pixel position is located between the Y-axis coordinates of the upper left and lower right pixel positions of the first pixel position, with the vertical direction of the cabinet as the Y-axis.
[0042] In some implementations, the image acquisition module is specifically used for:
[0043] Acquire multiple photos or videos of the server rack captured by the acquisition device;
[0044] After determining that the plurality of photos or videos meet the format requirements, a photo to be processed that includes at least one front image of a server rack is obtained from the plurality of photos, or a video frame to be processed that includes at least one front image of a server rack is obtained from the video.
[0045] The photos or video frames to be processed are preprocessed and noise-reduced to obtain rack images of uniform specifications.
[0046] Thirdly, embodiments of this application provide a cabinet equipment identification system, including:
[0047] AI capability open platform
[0048] A rack equipment identification application is used to implement the rack equipment identification method described in the first aspect; wherein, the rack equipment identification application obtains the first pixel position and equipment type of each device in the rack image, as well as the second pixel position and character of each U-position identifier in the rack image, by calling the AI capability open platform.
[0049] Fourthly, embodiments of this application provide an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the rack device identification method described in the first aspect of this application.
[0050] Fifthly, embodiments of this application provide a non-transitory computer-readable storage medium storing computer instructions, the computer instructions being used to cause the computer to execute the rack device identification method described in the first aspect of this application.
[0051] In a sixth aspect, embodiments of this application provide a computer program product, including computer instructions that, when executed by a processor, implement the steps of the cabinet equipment identification method described in the first aspect of this application.
[0052] The technical solution provided in this application has at least the following beneficial effects:
[0053] By utilizing photographs of server racks within the data center and employing deep learning and OCR technologies, this system intelligently identifies all device types and U-position locations within the images, automatically associating device and U-position locations. Furthermore, addressing issues such as U-positions being easily obscured or omitted in rack photos, a U-position calibration method is proposed, effectively improving the accuracy of rack device identification. This system achieves optimal solutions in terms of rack device identification efficiency, cost, and accuracy, enhancing the efficiency of rack space resource management and rack device inventory.
[0054] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description
[0055] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application, and do not constitute an undue limitation of this application.
[0056] Figure 1 This is a flowchart illustrating a cabinet equipment identification method according to an exemplary embodiment.
[0057] Figure 2 This is a schematic diagram of the front of a server rack, as shown in the example.
[0058] Figure 3 This is a schematic diagram of the pixel positions of a cabinet device as shown in an example.
[0059] Figure 4 This is a flowchart illustrating a cabinet equipment identification method according to another exemplary embodiment.
[0060] Figure 5 This is a logical architecture diagram of a cabinet equipment identification system illustrated by a specific example.
[0061] Figure 6 This is a flowchart illustrating the processing of a U-position calibration module, based on a specific example.
[0062] Figure 7 It is a diagram showing the fusion arrangement of device type and U-position based on a specific example.
[0063] Figure 8 It is a flowchart of the logic for fusion and arrangement of recognition results, as shown in a specific example.
[0064] Figure 9 This is a block diagram illustrating a cabinet equipment identification device according to an exemplary embodiment.
[0065] Figure 10 This is a block diagram illustrating an electronic device according to an exemplary embodiment. Detailed Implementation
[0066] To enable those skilled in the art to better understand the technical solutions of this application, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.
[0067] It should be noted that the terms "first," "second," etc., used in this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. The implementations described in the following exemplary embodiments do not represent all implementations consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0068] OCR (Optical Character Recognition) refers to the process of photographing characters on paper using an electronic device and then converting the text image into a machine-readable text format. The basic principle is to use optical methods to convert the text in a paper document into a black-and-white dot matrix image file, and then use recognition software to convert the text in the image into a text format for further editing and processing by word processing software.
[0069] With the continuous development of IT technologies such as cloud-native computing, data centers have become the infrastructure of information technology. More and more IT companies are hosting electrical equipment, such as servers, storage devices, switches, and routers, in server racks in data center computer rooms. This facilitates centralized maintenance and unified management, ensures continuous and stable power supply to the equipment, guarantees a constant temperature and dry environment for the equipment and prevents static electricity, and allows them to purchase server racks and other space resources as needed and expand or shrink the capacity independently.
[0070] For data center management departments, rack equipment identification is one of the most fundamental and crucial tasks in data center management. Data center management departments need to conduct regular comprehensive inventory checks of data center equipment assets, verifying rack dimensions and the installation location and quantity of equipment within each rack. This involves comparing the data center equipment against the resource ledger to check for missing, duplicate, or incorrectly installed equipment, updating the resource ledger promptly, and identifying which rack slots are vacant and can be leased out. However, due to data center construction, equipment upgrades and expansions, and power balancing, rack equipment frequently changes, such as equipment replacement, addition, and relocation. This makes rack equipment asset management extremely difficult, resulting in a heavy workload and making it challenging to guarantee the accuracy and timeliness of information updates.
[0071] Currently, there are two common methods for identifying data center rack equipment: manual identification and tag identification. Details are as follows.
[0072] Method 1: Manual Identification. Open the server rack and manually identify and record the specific type and installation location of each piece of equipment inside. For example... Figure 1Server 1 and Server 2 are Inspur servers, installed in 22U-23U and 19U-20U respectively. Manual identification of rack equipment is the most traditional method of rack equipment asset inventory. It can be done without the help of other external equipment, but checking the rack unit and specific type of each device is very labor-intensive and the identification efficiency is very low. Moreover, the identification personnel need to have certain experience in identifying equipment types.
[0073] Method 2: Tag Recognition. Each rack device carries a tag, such as a unique identifier, location tag, or QR code, for rack device identification. Tag recognition can be further divided into passive and active identification. Passive tag recognition involves a person manually scanning each device tag with a handheld scanner connected to the network to obtain the device's unique identifier and associated location information. This information can be entered online or compared with resource ledgers to confirm the accuracy of device information and location. A QR code affixed to the left side of the rack device carries specific device information. Passive tag recognition directly obtains information for each device through scanning, improving rack device identification efficiency to some extent. However, device tags are static information, which may be subject to delays in maintenance and updates, incorrect labeling, or omissions, leading to information loss or entry errors. Tag recognition rack devices require a network connection; in areas with poor mobile internet or Wi-Fi signal coverage, the devices may not function properly. Tag recognition rack devices require scanning each device's identifier code individually, resulting in a significant workload. Active tag recognition uses technologies such as radio frequency identification (RFID tags) or the Internet of Things (IoT) to identify rack devices. These technologies essentially digitize tag information, transmit device information via wireless networks, and manage it centrally, significantly improving the efficiency of equipment asset inventory. However, these technologies require the introduction of more equipment, which will correspondingly increase construction and operation costs. At the same time, due to the characteristics of wireless transmission, it is difficult to accurately locate the device.
[0074] In summary, neither manual identification nor label identification methods for cabinet equipment can simultaneously achieve optimal results in terms of identification efficiency, identification cost, and identification accuracy.
[0075] In terms of identification efficiency, manual identification requires identifying, counting, and recording the location and specific type of each device, and comparing it with the resource ledger to determine the accuracy of the equipment resources. This is extremely inefficient and only suitable for the acceptance inspection of a small number of newly built devices. It is almost impossible to carry out a comprehensive inventory of a large number of devices regularly. Tag identification improves the identification efficiency of rack equipment. Passive tag identification reads the specific information of each device by scanning directly at the terminal. Active tag identification allows devices to proactively report specific information, completely simplifying the equipment resource inventory process and greatly improving identification efficiency.
[0076] In terms of identification costs, manual identification, apart from requiring necessary training for data center managers, does not involve additional cost investment; tag identification, on the other hand, requires adding tag information to each device, resulting in a significant cost investment that increases proportionally with the number of devices. Active tag identification, in particular, requires not only adding tags to devices but also additional costs for deploying a device management system and information transmission network.
[0077] Regarding recognition accuracy, manual recognition relies entirely on the experience of data center management personnel; label recognition typically involves scanning one label at a time, resulting in low efficiency and dependence on the accuracy of the label itself (such as barcodes or QR codes). If the label is incorrectly printed, posted, or not posted at all, accurate recognition is impossible; active label recognition struggles to pinpoint the device's location, leading to low positioning accuracy. Furthermore, the accuracy of the recognized content still depends on the accuracy of the label and the module itself.
[0078] To address the aforementioned issues, embodiments of this application provide a method, apparatus, and system for identifying rack equipment. By combining deep learning and OCR technologies, the method identifies the type and location of equipment installed in the rack, as well as the location and text content of U-position markings, based on a front image of a single rack captured by an image acquisition device.
[0079] Figure 1 This is a flowchart of a rack equipment identification method according to an embodiment of this application. It should be noted that the rack equipment identification method of this application embodiment can be applied to the rack equipment identification device of this application embodiment. This rack equipment identification device can be configured on an electronic device. For example... Figure 1 As shown, the cabinet equipment identification method may include the following steps.
[0080] In step S101, a cabinet image is acquired, which includes at least one front view of a cabinet.
[0081] First, it should be noted that the term "server rack" in this application refers to an independent, self-supporting metal enclosure in a data center that houses electrical or electronic equipment, possessing characteristics such as dustproof, anti-static, moisture-proof, ventilation, and unified power supply. The server racks identified in this application conform to the dimensional design requirements of the Electronic Industries Association (EIA), and all server rack manufacturers adhere to this standard specification in their production. Server rack equipment has the following characteristics in terms of installation and appearance, detailed in [link to relevant documentation]. Figure 2 .
[0082] 1. The front edge of the server rack features paired U-position numbers (i.e., U-position identifiers). These numbers are typically in white lettering and are located on both sides of the front edge of the rack. The U-position numbers are sequentially numbered from the bottom to the top of the rack, generally starting with 1U and proceeding in order from 2U, 3U, and so on. The U-position numbers appear in pairs. Each device within the same rack has a U-position number at the same height on both sides, and these two U-position numbers contain identical information.
[0083] 2. Each device in the rack occupies the entire rack in both length and width directions, and is stacked in the height direction, and is fixed at different height positions in the rack using brackets.
[0084] 3. The equipment in the rack, such as servers, storage devices, and switches, occupies an integer number of U-slots in the rack, such as 1U, 2U, 4U, etc., and different brands and models have different appearances. The type and manufacturer of the equipment can be distinguished by its appearance.
[0085] 4. According to EIA regulations, the height interval between any two adjacent U-position numbers is the same, 4.445 cm. Typically, telecommunications operators' racks are 42U standard, meaning they have 42 U-position identifiers and can accommodate 42 devices with a height of 1U. In data center management, the U-position number can be used to record the rack location of the equipment.
[0086] As one implementation method, multiple photos or videos of the cabinet are acquired through the acquisition device; after determining that the multiple photos or videos meet the format requirements, a photo to be processed that includes at least one front image of the cabinet is acquired from the multiple photos, or a video frame to be processed that includes at least one front image of the cabinet is acquired from the video; the photo to be processed or the video frame to be processed is preprocessed and noise reduction is performed to obtain a cabinet image of uniform specifications.
[0087] In step S102, target detection is performed on the devices in the cabinet image to obtain the first pixel position and device type of each device in the cabinet image; and target recognition and character recognition are performed on the U-position identifiers in the cabinet image to obtain the second pixel position and character of each U-position identifier in the cabinet image.
[0088] As one implementation method, different pre-trained target detection models are used to perform target detection on devices in the cabinet image and target recognition on the U-position markings in the cabinet image. An OCR recognition network is used to perform character recognition on the U-position markings in the cabinet image.
[0089] The object detection model is obtained by training a deep learning network using training samples.
[0090] By using deep learning and OCR technology, the system can intelligently identify device types and pixel locations by taking pictures of server racks in the data center, achieving optimal solutions in terms of equipment recognition efficiency, cost, and accuracy.
[0091] The text format of each U-position identifier area is number + "U". After the pixel position of each U-position identifier is obtained by the object detection model, the pixel content of the corresponding area, such as "1U", "22U", etc., is obtained by the OCR recognition network to obtain the text content of the U-position identifier area, such as 1U, 22U, etc.
[0092] Optionally, the first pixel position of each device includes the top-left and bottom-right pixel positions of the device area in the rack image.
[0093] Optionally, the second pixel position of each U-position identifier includes the top-left and bottom-right pixel positions of the U-position identifier area in the rack image.
[0094] As an example, such as Figure 3 As shown, the coordinate system of each pixel in the photo is based on the top-left corner of the image as the origin (0, 0), with the x-axis extending to the right and the y-axis extending downwards, respectively. Server rack equipment is typically rectangular. The pixel positions of the top-left and bottom-right corners of the equipment area are taken as the first pixel positions of that equipment. For example... Figure 3 As shown, the pixel position of device 1 is composed of point A (x_A, y_A) and point B (x_B, y_B), and the pixel position of device 2 is composed of point C (x_C, y_C) and point D (x_D, y_D).
[0095] Theoretically, since all devices in the rack are the same size, the pixel positions of the devices should be related as follows: x_A equals x_C, x_B equals x_D. However, due to the shooting angle and position, and according to the imaging principle of a convex lens, the actual projected positions of the devices in the rack on the photograph are disproportionately scaled. This results in errors between x_A and x_C, and between x_B and x_D. The magnitude of these errors is directly related to the angle and distance between the photographer and the rack, as well as the focal length of the photographing device. Furthermore, although the positions of the devices in the rack may shift after the photograph, the top-to-bottom order of the devices remains unchanged; that is, device 1 is on top of device 2, and the photograph will show the relationship y_A < y_B < y_C < y_D.
[0096] Similarly, since the U-position identifier area is usually rectangular, the pixel positions of the top-left and bottom-right corners of the U-position identifier area are used as the second pixel positions of the U-position identifier. For example... Figure 3The U-position identifiers are: a - top left (x_a_left_up, y_a_left_up), bottom right (x_a_right_down, y_a_right_down); g - top left (x_g_left_up, y_g_left_up), bottom right (x_g_right_down, y_g_right_down); f - top left (x_f_left_up, y_f_left_up), bottom right (x_f_right_down, y_f_right_down). In other words, similar to device pixel position recognition, theoretically y_g_left_up equals y_a_left_up, y_g_right_down equals y_a_right_down, x_f_left_up equals x_a_left_up, x_f_right_down equals x_f_right_down. However, due to convex lens imaging errors, there are differences in the pixel positions of the U-position identifiers. Meanwhile, the top-to-bottom order of the U-position identifiers remains unchanged.
[0097] This method employs a deep learning approach based on convolutional neural networks and utilizes object detection technology from image recognition to directly identify the U-position markings and the devices themselves (device type and model) on the rack. It also leverages traditional OCR technology to obtain the U-position serial number on the rack, thereby pinpointing the location of the device. The system can complete the recognition process using only photos taken with handheld mobile devices or other photographic equipment, identifying all device information in a single photo with high speed. Furthermore, it does not rely on separately affixed markings such as QR codes, nor does it require additional recognition modules to be installed on the rack or the device, resulting in high accuracy.
[0098] In step S103, based on the second pixel position of each U-bit identifier, each U-bit identifier is grouped according to the side of the cabinet to which it belongs, to obtain at least one group of U-bit identifiers; for each group of U-bit identifiers in the at least one group of U-bit identifiers, the numeric part of the character corresponding to each group of U-bit identifiers is extracted to obtain a numeric sequence.
[0099] Because the shooting angle may cause the U-position markings of the rack to be not fully captured, or to be obscured, or the text to be too blurry, or the content to be missing, it is impossible to accurately identify the characters and pixel positions of the U-position markings. Therefore, it is necessary to perform a second check on the second pixel positions and characters of each U-position marking obtained. That is, after obtaining the second pixel positions and characters of each U-position marking in the rack image, calibration is also required.
[0100] Since the U-position markers are symmetrically distributed on both sides of the front edge of the rack, the U-position markers identified in the rack image must first be grouped. As an example, they are grouped according to their x-position within the same rack, and within each group, they are sorted from largest to smallest by their y-position. If the U-position markers on both sides of the rack are photographed in their entirety, they are divided into two groups, one for the left side and one for the right side; if only one side's U-position markers are photographed, they are divided into one group; if multiple racks are photographed, they may be divided into multiple groups.
[0101] Input the characters of each U-bit identifier in sequence, i.e., the text content. Use regular expressions to extract the numeric part of each U-bit identifier to form the numeric sequence {Si, i = 1, 2, ..., n} of that U-bit identifier.
[0102] In step S104, it is determined whether the digital sequence meets the verification pass condition, wherein the verification pass condition is an arithmetic sequence with a common difference of 1, and the sequence length of the digital sequence is equal to the total number of U-positions in the cabinet; if the digital sequence does not meet the verification pass condition, the second pixel position and character of the U-position identifier are processed for abnormal data; until the digital sequence of the U-position identifier meets the verification pass condition.
[0103] Verify that the sequence of numbers is an arithmetic progression with a common difference of 1, and that all sequences have the same length, representing the total number of rack unit (U) slots (T). If so, return that the U-slot identifiers for that group are correctly identified and end the verification. Otherwise, the identification of the U-slot identifiers for that group is incorrect, and perform abnormal data processing on the second pixel position and character of the U-slot identifiers for that group.
[0104] There are two types of abnormal data processing situations. One is that there is a problem with character recognition error, which needs to be corrected. The other is that there is a problem with missing U-position identifier, which needs to be filled in.
[0105] In step S105, based on the first pixel position of each device and the second pixel position of each U-position identifier, the device type of each device is associated with the character of the U-position identifier to obtain the cabinet device identification result.
[0106] As one implementation method, the association between the device type of each device and the character of the U-position identifier is realized through the recognition result fusion and arrangement algorithm. This includes: for each device, comparing the first pixel position of the device with the second pixel position of the current U-position identifier in each group of U-position identifiers to obtain the comparison result; if the comparison result satisfies the position association condition, then the device type of the device is associated with the character of the current U-position identifier; wherein, the position association condition is that the Y-axis coordinate of the second pixel position is located between the Y-axis coordinates of the upper left and lower right pixel positions of the first pixel position, with the vertical direction of the cabinet as the Y-axis.
[0107] This embodiment utilizes photographs of server racks within a data center. By employing deep learning and OCR technologies, it intelligently identifies all device types and U-position locations within the images, automatically associating device and U-position locations. Furthermore, addressing issues such as U-positions being easily obscured or omitted in rack photos, leading to inaccurate identification, a U-position calibration method is proposed, effectively improving the accuracy of rack device identification. This embodiment achieves optimal solutions in terms of rack device identification efficiency, cost, and accuracy, enhancing the efficiency of rack space resource management and rack device inventory. It can be applied to intelligent inspection of data center rack equipment, utilizing both handheld mobile devices and inspection robots, significantly improving equipment inspection and inventory efficiency. It has a very broad market prospect and high commercial value.
[0108] The following provides a detailed explanation of the abnormal data processing for the second pixel position and character of the U-bit identifier in step S104 of the above embodiment if the digital sequence does not meet the verification pass condition.
[0109] Figure 4 This is a flowchart of a rack equipment identification method according to an embodiment of this application. Figure 4 As shown, the cabinet equipment identification method may include the following steps.
[0110] In step S201, it is determined whether the number of digits in the numerical sequence of the U-position identifiers is equal to the total number of U-position identifiers in the cabinet.
[0111] That is, first determine whether the number of U-bit identifiers in each group is correct.
[0112] In step S202, if the number of digits in the numerical sequence of the U-position identifier is equal to the total number of U-positions in the rack, then the numerical sequence is compared with the natural number sequence digit by digit to determine the target position where the digits in the numerical sequence and the natural number sequence are different; and the digits in the numerical sequence corresponding to the target position are changed to the digits in the natural number sequence corresponding to the target position.
[0113] If the number of U-position identifiers is correct, check the text content of each U-position identifier in each group of U-position identifiers one by one. When an error is found, correct the number in the number sequence according to the corresponding number in the natural number sequence, that is, correct the text content of the U-position identifier that was identified incorrectly.
[0114] In step S203, if the number of digits in the numerical sequence of the U-position identifier is less than the total number of U-positions in the cabinet, the numerical sequence is compared with the natural number sequence digit by digit, and the position where the numerical sequence and the natural number sequence have the same digit is determined as the common position.
[0115] If the number of U-position identifiers is incorrect, it indicates that a U-position identifier is missing.
[0116] In step S204, the positions in the natural number sequence other than the common positions are determined as missing number positions; and the first and second positions before and after the missing number positions are determined.
[0117] First, determine the position of the missing marker. Then, obtain the pixel positions of the markers before and after the position of the missing marker in order to determine the pixel position of the U-position marker corresponding to the position of the missing marker and the corresponding character.
[0118] In step S205, based on the second pixel position and character corresponding to the first and second positions in the group of U-position identifiers, the second pixel position and character corresponding to the missing number position in the group of U-position identifiers are obtained.
[0119] The pixel positions of the markers corresponding to the positions before and after the missing marker are obtained in order to determine the pixel position of the U-position marker corresponding to the position of the missing marker, and to determine the text content of the U-position marker corresponding to the position of the missing marker.
[0120] By implementing this embodiment, the U-position in rack photos is easily obscured or omitted, making accurate identification impossible. By utilizing the natural number sequence pattern of the numbers in the U-position identifier and the characteristic of the U-position positions being spaced at the same intervals, error location, data correction, and U-position completion are achieved to calibrate the position of the U-position identifier, effectively improving the accuracy of rack equipment identification.
[0121] Figure 5 This is a specific example of a rack equipment identification system according to this application, which can implement the rack equipment identification method in the above embodiments. The following is in conjunction with... Figure 5 The logical architecture of this specific example is described in detail below. The rack equipment identification system includes a rack equipment identification application and an AI capability open platform. The rack equipment identification application includes a main program module, an equipment identification module, a U-position identification module, a U-position calibration module, and a result return module. The main functions of each module are as follows.
[0122] The AI Capability Open Platform is responsible for centrally deploying trained AI models as runtime inference applications via Docker images or software packages. It exposes its CPU / GPU computing power, data storage, and RESTful services to provide internal and external users with continuous, stable, secure, reliable, pay-as-you-go, and ready-to-use cloud-based AI capabilities. This application utilizes the AI Capability Open Platform's device recognition, USB location recognition, and text OCR capabilities.
[0123] Both device identification and U-position identification capabilities utilize the Yolov5 algorithm detection network for object detection. The AI model is trained using 3000 images at a resolution of 2160*3840 pixels. The images should include labeled racks from various manufacturers, U-position identifiers, device types from different manufacturers, and device type names. The training run consists of 100,000 epochs. The resulting object detection model can be used to identify device types, device pixel locations, and U-position identifier pixel locations. The text OCR capability uses a Tesseract-based OCR engine to recognize text information in the U-position identifier area of the image.
[0124] The Device Detection Module is responsible for utilizing the device recognition capabilities of the AI capability open platform to identify the specific type of device in a rack photo and the corresponding pixel location information of the device in the photo. The input to the Device Detection Module is one or more rack images with a resolution of 2160*3840, and the output is the pixel location and device type of each device in each image.
[0125] The Unit Area Detection Module (U-Area Detection Module) utilizes the U-area identification and text OCR capabilities of the AI capability open platform to recognize the pixel location information of the corresponding U-area identification area and the text within that area in a rack photo. The module takes one or more rack photos with a resolution of 2160*3840 as input and outputs the text content and pixel location of each U-area identification in the photo.
[0126] Send the text OCR capability API to the AI capability open platform to obtain the text content of the U-position identifier area, such as 1U, 22U, etc.
[0127] After recognizing the U-position marking area in the image, the U-position recognition module outputs the pixel positions of the upper left and lower right corners of the U-position marking area as the second pixel position of the U-position marking.
[0128] By taking photos of server racks within the data center, the system intelligently identifies all device types and their corresponding storage locations within the images, significantly improving rack equipment identification efficiency. The system requires only the purchase of photographic equipment and the development of an application software system, leveraging cloud-based AI capabilities, resulting in relatively low costs. Furthermore, the system utilizes mature AI capabilities with extensive industrial application experience, such as YOLOv5 and text OCR, ensuring high accuracy. This system achieves optimal results in terms of rack equipment identification efficiency, cost, and accuracy, effectively improving the efficiency of rack space resource management and rack equipment inventory.
[0129] The Unit Calibration Module (U-position calibration module) is responsible for calibrating the pixel positions and text content returned by the U-position recognition module, ensuring that each U-position identifier is accurately recognized, and that the numbers increase from bottom to top. For example... Figure 6 As shown, the main processing logic of the U-position calibration module is as follows:
[0130] Calibration Step 1: U-position identification grouping. Input the identification results returned by the U-position identification module, group them according to the x-position in the same rack, and sort them in descending order of y-position within each group.
[0131] If the U-position markings on both sides of the rack are captured in a complete photograph, they will be divided into two groups, one for the left side and one for the right side. If only one U-position marking is captured, they will be divided into one group. If multiple racks are captured, they may be divided into multiple groups. Proceed to calibration step 2.
[0132] Calibration Step 2: U-bit Identifier Verification. Input the text content of each group of U-bit identifiers sequentially. Use regular expressions to extract the numerical part of each U-bit identifier, forming a numerical sequence {Si, i = 1, 2, ..., n} for that group of U-bit identifiers. Verify that the numerical sequence is an arithmetic progression with a common difference of 1, and that the sequence length is always T. If yes, return that the U-bit identifiers for that group are correctly identified and end the verification. Otherwise, the U-bit identifiers for that group are incorrectly identified, and proceed to Calibration Step 3.
[0133] Calibration Step 3: Error Location. Compare the digit sequence {Si, i = 1, 2, ..., n} with the natural number sequence {1, 2, ..., T} digit by digit. If n = T, the positions where the two sequences do not match are the positions where the digit sequence {Si} is incorrect, and proceed to Calibration Step 4; if n < T, the positions where the two sequences have the same digits are common positions, mark the other positions as missing digits, and proceed to Calibration Step 5.
[0134] Calibration Step 4: Data Correction. If Sk in the number sequence {Si} is different from the corresponding number k in the natural number sequence, then reset the value of Sk to k. Then return to Calibration Step 2.
[0135] Calibration Step 5: U-bit Padding. If there are missing digits at positions {Sa, ..., Sb} in the digital sequence {Si}, U-bit padding is performed using the digits before and after Sa and Sb. Padding is done by interpolating the pixel position information of the two preceding and following U-bit identifiers to obtain the pixel position information of the missing U-bit identifier. Then return to Calibration Step 2.
[0136] To address the issues of U-positions being easily obscured or omitted in rack photos, leading to inaccurate identification, a U-position calibration module was proposed. This module utilizes the natural number sequence pattern of U-position numbers and the industrial design standard of identical U-position intervals. The module calibrates the U-position position through five steps: U-position grouping, U-position verification, error location, data correction, and U-position completion, effectively improving the accuracy of rack equipment identification.
[0137] The main program module is the core module of the cabinet equipment identification application. It is responsible for preprocessing the input images and videos, calling other modules to identify the equipment and U-position identifiers respectively, arranging the identification results, and outputting the results to the result return module.
[0138] The main program module's preprocessing function receives videos or photos of the front of the server rack taken by a handheld device and determines whether the image content, resolution, and file format of the video or photo meet the requirements. The video or photo must contain at least one image of the front of the server rack, with a resolution of at least 2160*3840. Image files must be in JPG or PNG format, and video files must be in AVI or MP4 format, etc. If the input video or photo does not meet the requirements, it is discarded. If it does meet the requirements, the image is cropped, rotated, or stretched to a uniform resolution of 2160*3840 and noise is reduced. The video file is divided into equal frames according to time and preprocessed to a uniform resolution of 2160*3840 and noise is reduced.
[0139] The main program module's functions for calling other modules and merging and arranging recognition results include: calling the device recognition module to obtain the pixel position and specific type / model of each device in the rack; calling the U-position recognition module to obtain the pixel position and text information of each U-position identifier in the rack; and merging and arranging the position of each device, each device type, and the position of the U-position identifier in the same rack to obtain the device type and its corresponding U-position identifier position. See the detailed result diagram. Figure 7 Among them, such as Figure 8 As shown, the logic for fusion and arrangement of the recognition results in the main program module is as follows:
[0140] Arrangement Step 1: Read the device pixel positions. For example, the pixel positions in the device information are point A (x1, y1) and point B (x2, y2). Proceed to Arrangement Step 2.
[0141] Arrangement Step 2: Read the U-bit identifier information list sequentially. Extract the pixel position information of the U-bit identifier, for example, point M(x3, y3) and point N(x4, y4). If all U-bit identifiers have been read, the process ends. Otherwise, proceed to Arrangement Step 3.
[0142] Arrangement step 3: If y3 > y1 and y3 < y2 and y4 > y1 and y4 < y2, then append the text information in the U-bit identifier information to the device information. Then proceed to arrangement step 2.
[0143] The output module is responsible for combining the identification results from the device identification module and the calibration results from the U-position identifier calibration module to output the type information of the device in the cabinet and the location information of the U-position identifier.
[0144] To address the correspondence between equipment type, equipment location, and U-position location, an algorithm for fusion and arrangement of recognition results is proposed. This algorithm automatically associates equipment type and U-position location through three steps: reading U-position and equipment location, judging U-position location, and adding U-position to the equipment location list. This effectively improves the identification of rack space resources and the management of equipment resources.
[0145] This system utilizes photographs of server racks within the data center to intelligently identify all device types and their corresponding storage locations within the images, significantly improving rack equipment identification efficiency. The system requires only the purchase of photographing equipment and the development of an application software system, leveraging cloud-based AI capabilities, resulting in relatively low costs. Furthermore, it employs mature AI capabilities with extensive industrial application experience, such as YOLOv5 and text OCR, ensuring high accuracy. This system achieves optimal solutions in terms of rack equipment identification efficiency, cost, and accuracy, effectively improving the efficiency of rack space resource management and rack equipment inventory.
[0146] The processing steps of the rack equipment identification method in the above specific example include:
[0147] Step 1: Take photos or videos of the server rack equipment. The main program checks if the resolution and file format meet the requirements. The video or photo must contain at least one image of the front of the server rack, with a resolution of at least 2160*3840. Image files should be in JPG or PNG format, and video files should be in AVI or MP4 format, etc. If the input video or photo does not meet the requirements, it is discarded. If it does meet the requirements, the images are cropped, rotated, or stretched to a uniform resolution of 2160*3840 and noise is reduced. The video file is divided into equal frames according to time and pre-processed to a uniform resolution of 2160*3840 and noise is reduced. Proceed to Step 2.
[0148] Step 2: The main program sends the processed photo to the device recognition module. The device recognition module caches the image, records the image filename, and then invokes the AI capabilities of the AI capability open platform. Proceed to Step 3.
[0149] Step 3: The device recognition module sends the processed image to the AI capability open platform via the RESTful interface, invoking the device recognition AI capability and the pixel position recognition AI capability. When calling the AI capability open platform interface, the device recognition module checks if the device recognition AI capability exists. If the corresponding capability does not exist, the device recognition module returns an exception error and proceeds to Step 5. If the capability exists, it continues to initiate the capability call and starts the API interface call timer. If the API interface times out without a response, the device recognition module returns an API interface no response error and proceeds to Step 5.
[0150] Step 4: The AI capability open platform uses device type recognition AI capabilities and pixel position recognition AI capabilities to return the image file name, a list of device types, and a list of pixel positions for the corresponding devices to the device recognition module. Device type detection uses the YOLOv5 detection network for target detection. Device pixel positions are returned using planar coordinates, with the top-left corner of the image set to (0, 0). For each device, the coordinates of the top-left and bottom-right corners are returned, which can be represented as point A (x_A, y_A) and point B (x_B, y_B). The rectangle formed by the line connecting points A and B, with its diagonal, represents the pixel position of the corresponding device. A device information list is output, including the device pixel position information.
[0151] Step 5: The device identification module returns the device identification result to the main program. If the result is an error or the API interface is unresponsive, the main program discards the task and proceeds to Step 6.
[0152] Step 6: The main program sends the processed photo to the U-position recognition module. The U-position recognition module caches the image, records the image filename, and then calls the AI capabilities of the AI capability open platform. Proceed to Step 7.
[0153] Step 7: The U-position recognition module sends the processed image to the AI capability open platform via the RESTful interface, invoking the U-position identifier pixel location recognition AI capability. When calling the AI capability open platform interface, the U-position recognition module checks if the U-position recognition AI capability exists. If the corresponding capability does not exist, the U-position recognition module returns an exception error and proceeds to step 8. If the capability exists, it continues to initiate the capability call and starts the API interface call timer. If the API interface times out without response, the U-position recognition module returns an API interface no response error and proceeds to step 9. Proceed to step 8.
[0154] Step 8: The AI capability open platform identifies AI capabilities through U-bit pixel position recognition and returns the image file name and a list of U-bit identifier pixel positions to the U-bit recognition module. The U-bit identifier uses the YOLOv5 detection network for object detection. The U-bit identifier pixel positions are returned using planar coordinates, with the top-left corner of the image set to (0, 0).
[0155] For each U-bit identifier, return the coordinates of its top-left and bottom-right corners, represented as point A (x_A, y_A) and point B (x_B, y_B). The rectangle formed by the line connecting points A and B represents the pixel position of the corresponding U-bit identifier. Output a list of U-bit identifier information, including device pixel position information.
[0156] For each U-shaped identifier, a Tesseract-based OCR engine is used to recognize text information in the output list of U-shaped identifier regions. Text information such as "1U" and "2U" is recognized, and a complete list of U-shaped identifier information is output, adding the text information of the U-shaped identifier region to the list.
[0157] Step 9: The U-position recognition module sends a U-position calibration request to the U-position calibration module to perform U-position calibration.
[0158] Step 10: The U-position calibration module returns the U-position identifier calibration result to the U-position recognition module. The calibration logic includes five steps: U-position identifier grouping, U-position identifier verification, error location, data correction, and U-position identifier completion, to calibrate the U-position identifier position. For details, please refer to Chapter 5 of this solution.
[0159] Step 11: The U-position calibration module returns the recognition result to the main program.
[0160] Step 12: The main program integrates and orchestrates the device identification type and the corresponding U-bit identifier of the device, and sends it to the result return module. The result fusion and orchestration logic refers to three steps: reading the U-bit identifier and device location, judging the U-bit identifier location, and adding the U-bit identifier to the device location list. For details, please refer to Chapter 5 of this solution.
[0161] Step 13: The result return module sends the results to the external application. It organizes the device information list, checks for duplicate U-position identifier text information in the device information, and removes any duplicates. After processing, the recognition results are output.
[0162] Corresponding to the above method embodiments, Figure 9 This is a block diagram illustrating a rack equipment identification device according to an exemplary embodiment. (Refer to...) Figure 9 The cabinet equipment identification device may include: an image acquisition module 301, a target detection module 302, an identification information processing module 303, an identification information calibration module 304, and an identification result fusion module 305.
[0163] Specifically, the image acquisition module 301 is used to acquire a cabinet image, which includes at least one front view of the cabinet;
[0164] The target detection module 302 is used to perform target detection on the devices in the cabinet image to obtain the first pixel position and device type of each device in the cabinet image; and to perform target recognition and character recognition on the U-position identifiers in the cabinet image to obtain the second pixel position and character of each U-position identifier in the cabinet image.
[0165] The identification information processing module 303 is used to group each U-position identifier based on the second pixel position of each U-position identifier according to the side of the cabinet to which it belongs, to obtain at least one group of U-position identifiers; for each group of U-position identifiers in the at least one group of U-position identifiers, the numerical part of the characters corresponding to each group of U-position identifiers is extracted to obtain a numerical sequence.
[0166] The identification information calibration module 304 is used to determine whether the digital sequence meets the verification pass conditions. The verification pass conditions are an arithmetic sequence with a common difference of 1, and the sequence length of the digital sequence is equal to the total number of U-positions in the cabinet. If the digital sequence does not meet the verification pass conditions, abnormal data processing is performed on the second pixel position and character of the U-position identifier. This continues until the digital sequence of the U-position identifier meets the verification pass conditions.
[0167] The recognition result fusion module 305 is used to associate the device type of each device with the character of the U-position identifier based on the first pixel position of each device and the second pixel position of each U-position identifier to obtain the cabinet device recognition result.
[0168] In some implementations, the identification information calibration module 304 is used for:
[0169] Determine whether the number of digits in the sequence of U-position identifiers in this group is equal to the total number of U-position identifiers in the rack;
[0170] If the number of digits in the numerical sequence of the U-position identifier is equal to the total number of U-positions in the rack, then the numerical sequence is compared digit by digit with the natural number sequence to determine the target position where the digits in the numerical sequence and the natural number sequence are different; and the digits in the numerical sequence corresponding to the target position are changed to the digits in the natural number sequence corresponding to the target position.
[0171] In some implementations, the identification information calibration module 304 is also used for:
[0172] If the number of digits in the numerical sequence of the U-position identifier is less than the total number of U-positions in the rack, then the numerical sequence is compared digit by digit with the natural number sequence to determine the common position where the numerical sequence and the natural number sequence have the same digits.
[0173] The positions in the natural number sequence other than the common positions are identified as the missing number positions; and the first and second positions before and after the missing number positions are determined.
[0174] Based on the second pixel position and character corresponding to the first and second positions in the group of U-position identifiers, the second pixel position and character corresponding to the missing number position in the group of U-position identifiers are obtained.
[0175] In some implementations, the first pixel position of each device includes the top-left and bottom-right pixel positions of the device area in the rack image.
[0176] In some implementations, the recognition result fusion module 305 is specifically used for:
[0177] For each device, the first pixel position of the device is compared one by one with the second pixel position of the current U-bit identifier in each group of U-bit identifiers to obtain the comparison result;
[0178] If the comparison result satisfies the location association condition, then the device type of the device is associated with the character of the current U-position identifier; wherein, the location association condition is that the Y-axis coordinate of the second pixel position is located between the Y-axis coordinates of the upper left and lower right pixel positions of the first pixel position, with the vertical direction of the cabinet as the Y-axis.
[0179] In some implementations, the image acquisition module 301 is specifically used for:
[0180] Acquire multiple photos or videos of the server rack captured by the acquisition device;
[0181] After determining that multiple photos or videos meet the format requirements, obtain a photo to be processed that includes at least one front image of a server rack from the multiple photos, or obtain a video frame to be processed that includes at least one front image of a server rack from the video.
[0182] The photos or video frames to be processed are preprocessed and noise-reduced to obtain rack images of uniform specifications.
[0183] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0184] This embodiment utilizes photographs of server racks within a data center. By employing deep learning and OCR technologies, it intelligently identifies all device types and U-position locations within the images, automatically associating device locations with U-position locations. Furthermore, addressing issues such as U-positions being easily obscured or omitted in rack photos, leading to inaccurate identification, a U-position calibration method is proposed, effectively improving the accuracy of rack device identification. This embodiment achieves an optimal solution in terms of rack device identification efficiency, cost, and accuracy, enhancing the efficiency of rack space resource management and rack device inventory.
[0185] According to embodiments of this application, this application also provides an electronic device and a readable storage medium.
[0186] like Figure 10 The diagram shown is a block diagram of an electronic device for implementing a method for identifying rack-mounted equipment according to an embodiment of this application. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present application described and / or claimed herein.
[0187] like Figure 10 As shown, the electronic device includes one or more processors 1001, a memory 1002, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components are interconnected via different buses and can be mounted on a common motherboard or otherwise as required. The processors can process instructions executed within the electronic device, including instructions stored in or on memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In other embodiments, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple electronic devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). Figure 10 Take processor 1001 as an example.
[0188] The memory 1002 is the non-transitory computer-readable storage medium provided in this application. The memory stores instructions executable by at least one processor to cause the at least one processor to perform the rack device identification method provided in this application. The non-transitory computer-readable storage medium of this application stores computer instructions for causing a computer to perform the rack device identification method provided in this application.
[0189] Memory 1002, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as the program instructions / modules corresponding to the rack equipment identification method in the embodiments of this application (e.g., attached...). Figure 9The image acquisition module 301, target detection module 302, identification information processing module 303, identification information calibration module 304, and recognition result fusion module 305 are shown. The processor 1001 executes various server functions and data processing by running non-transient software programs, instructions, and modules stored in the memory 1002, thereby realizing the method for identifying rack equipment in the above method embodiment.
[0190] The memory 1002 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of electronic devices identified by the rack equipment. Furthermore, the memory 1002 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 1002 may optionally include memory remotely located relative to the processor 1001, and these remote memories can be connected to electronic devices identified by the rack equipment via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0191] The electronic equipment for the rack device identification method may further include: an input device 1003 and an output device 1004. The processor 1001, memory 1002, input device 1003, and output device 1004 can be connected via a bus or other means. Figure 10 Taking the example of a connection between China and Israel via a bus.
[0192] Input device 1003 can receive input numerical or character information, and generate key signal inputs related to user settings and function control of electronic devices identified by the cabinet equipment, such as touch screens, keypads, mice, trackpads, touchpads, joysticks, one or more mouse buttons, trackballs, joysticks, etc. Output device 1004 may include display devices, auxiliary lighting devices (e.g., LEDs), and haptic feedback devices (e.g., vibration motors). The display device may include, but is not limited to, liquid crystal displays (LCDs), light-emitting diode (LED) displays, and plasma displays. In some embodiments, the display device may be a touch screen.
[0193] Various implementations of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, application-specific integrated circuits (ASICs), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include: implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transferring data and instructions to the storage system, the at least one input device, and the at least one output device.
[0194] These computational programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. As used herein, the terms “machine-readable medium” and “computer-readable medium” refer to any computer program product, device, and / or apparatus (e.g., disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term “machine-readable signal” refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0195] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0196] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0197] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other.
[0198] In an exemplary embodiment, a computer program product is also provided, which, when executed by a processor of an electronic device, enables the electronic device to perform the above-described method.
[0199] It should also be noted that the exemplary embodiments mentioned in this invention describe methods or systems based on a series of steps or apparatus. However, this invention is not limited to the order of the steps described above; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.
[0200] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only.
[0201] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A method for identifying rack-mounted equipment, characterized in that, include: Acquire rack images, wherein the rack images include at least one front view of a rack; Target detection is performed on the devices in the rack image to obtain the first pixel position and device type of each device in the rack image; and target recognition and character recognition are performed on the U-position identifiers in the rack image to obtain the second pixel position and character of each U-position identifier in the rack image. Based on the second pixel position of each U-position identifier, the U-position identifiers are grouped according to the side of their respective racks to obtain at least one group of U-position identifiers. The grouping is based on the X-axis position of the same rack, and each group is sorted from largest to smallest according to the Y-axis position. For each U-position identifier in the at least one group of U-position identifiers, the numeric part of the character corresponding to each U-position identifier is extracted to obtain a numeric sequence. Determine whether the digital sequence meets the verification pass condition, wherein the verification pass condition is an arithmetic sequence with a common difference of 1, and the sequence length of the digital sequence is equal to the total number of rack U-positions; if the digital sequence does not meet the verification pass condition, then perform abnormal data processing on the second pixel position and character of the U-position identifier; until the digital sequence of the U-position identifier meets the verification pass condition; Based on the first pixel position of each device and the second pixel position of each U-position identifier, the device type of each device is associated with the character of the U-position identifier to obtain the rack device identification result; The abnormal data processing of the second pixel position and character of the U-bit identifier includes: Determine whether the number of digits in the numerical sequence of the U-position identifiers is equal to the total number of U-position identifiers in the rack; If the number of digits in the numerical sequence of the U-position identifier is equal to the total number of U-positions in the rack, then the numerical sequence is compared digit by digit with the natural number sequence to determine the target position where the numerical sequence and the natural number sequence have the same digit but different digits; and the digit in the numerical sequence corresponding to the target position is changed to the digit in the natural number sequence corresponding to the target position. If the number of digits in the numerical sequence of the U-position identifier is less than the total number of U-positions in the rack, then the numerical sequence is compared digit by digit with the natural number sequence to determine the positions where the numerical sequence and the natural number sequence have the same digits as common positions. The positions in the natural number sequence other than the common positions are identified as missing number positions; and the first and second positions before and after the missing number positions are determined. Based on the second pixel position and character corresponding to the first and second positions in the group of U-position identifiers, the second pixel position and character corresponding to the missing number position in the group of U-position identifiers are obtained.
2. The method according to claim 1, characterized in that, The first pixel position of each device includes the top left and bottom right pixel positions of the device area in the rack image.
3. The method according to claim 2, characterized in that, The association of the device type and the character of the U-position identifier of each device based on the first pixel position of each device and the second pixel position of each U-position identifier includes: For each device, the first pixel position of the device is compared one by one with the second pixel position of the current U-bit identifier in each group of U-bit identifiers to obtain the comparison result; If the comparison result satisfies the position association condition, then the device type of the device is associated with the character of the current U-position identifier; wherein, the position association condition is that the Y-axis coordinate of the second pixel position is located between the Y-axis coordinates of the upper left and lower right pixel positions of the first pixel position, with the vertical direction of the cabinet as the Y-axis.
4. The method according to claim 1, characterized in that, The acquisition of the rack image includes: Acquire multiple photos or videos of the server rack captured by the acquisition device; After determining that the plurality of photos or videos meet the format requirements, a photo to be processed that includes at least one front image of a server rack is obtained from the plurality of photos, or a video frame to be processed that includes at least one front image of a server rack is obtained from the video; The photos or video frames to be processed are preprocessed and noise-reduced to obtain rack images of uniform specifications.
5. A cabinet equipment identification device, characterized in that, include: An image acquisition module is used to acquire rack images, wherein the rack images include at least one front view of a rack; The target detection module is used to perform target detection on the devices in the cabinet image to obtain the first pixel position and device type of each device in the cabinet image; and to perform target recognition and character recognition on the U-position identifiers in the cabinet image to obtain the second pixel position and character of each U-position identifier in the cabinet image. The identification information processing module is used to group the U-position identifiers based on the second pixel position of each U-position identifier according to the side of the rack to obtain at least one group of U-position identifiers, wherein the grouping is based on the X-axis position of the same rack, and the grouping is sorted in descending order of Y-axis position within each group; for each U-position identifier in the at least one group of U-position identifiers, the numerical part of the character corresponding to each U-position identifier is extracted to obtain a numerical sequence. The identification information calibration module is used to determine whether the digital sequence meets the verification pass condition, wherein the verification pass condition is an arithmetic sequence with a common difference of 1, and the sequence length of the digital sequence is equal to the total number of rack U-positions; if the digital sequence does not meet the verification pass condition, the second pixel position and character of the U-position identifier are processed for abnormal data; until the digital sequence of the U-position identifier meets the verification pass condition. The recognition result fusion module is used to associate the device type of each device with the character of the U-position identifier based on the first pixel position of each device and the second pixel position of each U-position identifier to obtain the cabinet device recognition result; The identification information calibration module is specifically used for: Determine whether the number of digits in the numerical sequence of the U-position identifiers is equal to the total number of U-position identifiers in the rack; If the number of digits in the numerical sequence of the U-position identifier is equal to the total number of U-positions in the rack, then the numerical sequence is compared digit by digit with the natural number sequence to determine the target position where the numerical sequence and the natural number sequence have the same digit but different digits; and the digit in the numerical sequence corresponding to the target position is changed to the digit in the natural number sequence corresponding to the target position. If the number of digits in the numerical sequence of the U-position identifier is less than the total number of U-positions in the rack, then the numerical sequence is compared digit by digit with the natural number sequence to determine the positions where the numerical sequence and the natural number sequence have the same digits as common positions. The positions in the natural number sequence other than the common positions are identified as missing number positions; and the first and second positions before and after the missing number positions are determined. Based on the second pixel position and character corresponding to the first and second positions in the group of U-position identifiers, the second pixel position and character corresponding to the missing number position in the group of U-position identifiers are obtained.
6. A cabinet equipment identification system, characterized in that, include: AI capability open platform A rack equipment identification application is used to implement the rack equipment identification method as described in any one of claims 1 to 4; wherein, the rack equipment identification application obtains the first pixel position and equipment type of each device in the rack image, as well as the second pixel position and character of each U-position identifier in the rack image, by calling the AI capability open platform.
7. An electronic device, characterized in that, include: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the cabinet equipment identification method according to any one of claims 1 to 4.
8. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to execute the cabinet equipment identification method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Cabinet U bit detection method, device and storage medium
CN113554650A
Server position information configuration method and device, equipment and medium
CN114826897A