Patch panels are commonly used in data centers to connect servers and remote clients. Due to the complexity of these data connections, there can be many wire connectors originating from a single patch panel. A data center can include tens or even hundreds of patch panels.
Labeling ports of a panel requires obtaining the number of ports, accurate sizes of the ports and inter-port distances. A traditional way to generate labels for a patch panel is to use a measuring tape to take measurements, and input the measurements into a label printer. However, this process can be tedious and inefficient. A camera-equipped electronic device, such as a smartphone, may be used to take an image of the to-be-labeled ports and estimate the dimensions of the ports. However, it may be difficult to estimate port dimensions from an image that is not captured from a fully-frontal or from a distorted perspective.
This disclosure is not limited to the particular systems, methodologies or protocols described, as these may vary. The terminology used in this description is for the purpose of describing the particular versions or embodiments only, and is not intended to limit the scope.
As used in this document, the singular forms “a,” “an,” and “the” include plural reference unless the context clearly dictates otherwise. Unless defined otherwise, all technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art. All publications mentioned in this document are incorporated by reference. All sizes recited in this document are by way of example only, and the invention is not limited to structures having the specific sizes or dimension recited below. As used herein, the term “comprising” means “including, but not limited to.”
In an embodiment, a method of estimating one or more dimensions of a patch panel may include receiving an image of a patch panel that comprises a plurality of ports and one or more gaps, extracting, by a computing device, a region of interest from the received image, detecting, by the computing device, one or more possible port edges from the region of interest, fitting the detected possible port edges to a cross-ratio constancy model to determine a port-to-gap-length ratio associated with the patch panel, using the port-length-to-gap-length ratio to determine a location of one or more final port edges, and determining a location of one or more final ports based on the location of the final port edges.
In an embodiment, a system for estimating one or more dimensions of a patch panel may include a computing device and a computer-readable storage medium in communication with the computing device. The computer-readable storage medium may include one or more programming instructions that, when executed, cause the computing device to receive an image of a patch panel that comprises a plurality of ports and one or more gaps, extract a region of interest from the received image, detect one or more possible port edges from the region of interest, fit the detected possible port edges to a cross-ratio constancy model to determine a port-to-gap-length ratio associated with the patch panel, use the port-length-to-gap-length ratio to determine a location of one or more final port edges, and determine a location of one or more final ports based on the location of the final port edges.
The following terms shall have, for purposes of this application, the respective meanings set forth below:
A “gap” refers to an area between the end of one port and the beginning of an adjacent port.
A “patch panel” refers to a box in or associated with an electronic device that includes one or more ports. A patch panel may be used to connect two or more electronic or other devices via one or more wires or other connectors. For example, in a data center, a patch panel may be used to facilitate the connection a client and a server. As another example, in a recording studio, a patch panel may facilitate the connection of electronic instruments, microphones, recording devices, amplifiers and/or the like.
A “perspective distortion” refers to transformation of an object or its surrounding area in an image that differs from how the object actually appears. Examples of perspective distortions include, without limitation, an image that is captured from a perspective other than a full-frontal perspective.
A “port” refers to an electric socket of a patch panel that is configured to receive a wire or other connection.
A “port edge” refers to a vertical edge of a port.
As illustrated by
As illustrated by
In an embodiment, one or more markers may be used during the image capture process. A marker may be an electronic object that may be used to assist with alignment, position, location and/or the like of an image. In an embodiment, one or more markers may be displayed in a user interface of an imaging device. One or more markers may be provided in a user interface to allow users to align at least a portion of the image, reduce distortion of the image or change the perspective or view of an image. In an embodiment, a marker may be overlaid on a frame or screen, such as a preview screen, of an imaging device.
In an embodiment, a region of interest may be extracted 202 from the captured image. A region of interest may be extracted 202 based on the location of one or more markers. For example, a width, a height or another dimension with respect to a marker may be extracted as a region of interest. For instance, an extracted region of interest may include a portion of an image that includes a quarter of an inch from a marker in all directions. Additional and/or alternate areas may be used within the scope of this disclosure.
Referring back to
A horizontal edge intensity profile may be calculated based on the edge map. In an embodiment, a column having a number of edge pixels greater than a certain threshold may be considered a vertical line. Consecutive lines may be combined to produce a final set of lines.
In an embodiment, one or more possible port edges may be fit 206 to a cross-ratio constancy model. Under a cross-ratio constancy model, for an image with perspective distortion, the cross ratio of certain points on an original line in three-dimensional space may be the same as the cross-ratio of certain points on a projected line. For example,
In an embodiment, a cross-ratio constancy model may be represented by the following equation:
In an embodiment, a candidate gap may be identified from a region of interest. A candidate gap may represent possible space between ports of a patch panel according to an embodiment. At least one trailing edge associated with the candidate gap may be identified, and at least one leading edge associated with the candidate gap may be identified. A trailing edge may refer to an edge located to one side of a candidate gap, while a leading edge may refer to an edge located on another, opposite side of a candidate gap.
In an embodiment, two trailing edges and two leading edges may be selected for a candidate gap.
In an embodiment, a port-to-gap-length ratio may be estimated using the selected edges. The port length in real dimension may be denoted by a, and the gap length in real dimension may be denoted as b. In an embodiment, the pixel distance or projected distance between one or more pairs of selected edges may be denoted. For example, using
In an embodiment, the real distance between one or more pairs of selected edges may be denoted. A real distance may be measured in terms of port lengths and/or gap lengths. For example, referring to
Applying the projected distances and real distances using edges 1002, 1004, 1006, 1010 to the cross-ratio constancy equation above may result in the following:
In an embodiment, the left side of the above equation may be denoted by an intermediate variable such as
The equation may be factored into:
The solution to the above equation is the port-to-gap length ratio, which may be expressed as follows:
In an embodiment, the computed port-to-gap length ratio may be used to estimate 208 edge locations for one or more edges of an area of interest. Potential vertical edge locations may be estimated by applying and solving the cross-ratio constancy equation repeatedly, given the port-to-gap-length ratio.
In an embodiment, one or more locations of the vertical lines that are detected 204 in the region of interest may be compared to one or more of the estimated edge locations. If the location of a detected vertical line is within a certain threshold distance from the location of an estimated edge location, the detected vertical line may be considered as a final port edge. If the location of a detected vertical line is outside of a certain threshold distance from the location of an estimated edge location, the detected vertical line may not be considered as a final port edge. Instead, the estimated edge location may be considered as a final port edge.
In an embodiment, one or more final port edges may be displayed 208. For example, one or more final port edges may be displayed as an overlay to the received image.
In an embodiment, the port-to-gap-length ratio and positions of the final port edges may be refined with a least squares fitting. The port edges that have been retained after rejection may be used in a least squares type cost function. The cost function may be optimized using an optimization method to obtain a best estimate of the port-to-gap length ratio as well as positions of the final port edges.
In an embodiment, referring back to
In an embodiment, a position, location and/or the like of one or more final ports may be estimated 210 based on one or more of the final port edges. For example, a location of a final port may be an area between two final port edges. Similarly, a position of a gap may be estimated based on one or more of the final port edges. For example, a location of a gap may be an area between a pair of final ports.
In an embodiment, information relating to the location of one or more final port edges and/or ports may be provided 212 to a print device. For example, information relating to an inter-port distance, a port-length-to-gap-length ratio and/or the like may be provided to a print device. The print device may use this information to generate an image, a print out, a document and/or like that corresponds to the patch panel illustrated in the received image. For example, a print device may generate one or more labels that correspond to the patch panel illustrated in the received image. In an embodiment, the position of one or more labels may align with the locations of one or more ports of the patch panel. For example, a print device may generate a sheet of labels where the position and dimensions of each label align with the position and dimensions of a port of a port panel.
A controller 1220 interfaces with one or more optional non-transitory computer-readable storage media 1225 to the system bus 1200. These storage media 1225 may include, for example, an external or internal DVD drive, a CD ROM drive, a hard drive, flash memory, a USB drive or the like. As indicated previously, these various drives and controllers are optional devices.
Program instructions, software or interactive modules for providing the interface and performing any querying or analysis associated with one or more data sets may be stored in the ROM 1210 and/or the RAM 1215. Optionally, the program instructions may be stored on a tangible non-transitory computer-readable medium such as a compact disk, a digital disk, flash memory, a memory card, a USB drive, an optical disc storage medium, such as a Blu-ray™ disc, and/or other recording medium.
An optional display interface 1230 may permit information from the bus 1200 to be displayed on the display 1235 in audio, visual, graphic or alphanumeric format. Communication with external devices, such as a printing device, may occur using various communication ports 1240. A communication port 1240 may be attached to a communications network, such as the Internet or an intranet.
The hardware may also include an interface 1245 which allows for receipt of data from input devices such as a keyboard 1250 or other input device 1255 such as a mouse, a joystick, a touch screen, a remote control, a pointing device, a video input device and/or an audio input device.
It will be appreciated that various of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications or combinations of systems and applications. Also that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.
This application is related to U.S. patent application Ser. No. ______, filed on ______ (Attorney Docket No. 106681.41101).