Code complementing method, autonomous mobile body, program and mark
Symmetrical signs with code completion methods address position estimation inaccuracies in autonomous vehicles by filling in missing sign parts, enhancing recognition and path following accuracy.
Patent Information
- Application Number
- JP2023113013
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-10
- Publication Date
- 2025-01-23
AI Technical Summary
Autonomous vehicles face inaccuracies in position estimation due to wheel slippage and measurement errors, leading to incorrect path following, especially when using ceiling-mounted signs for correction, which can be obscured by lens framing or improper zooming, causing partial sign recognition failures.
Implementing symmetrical rectangular signs with fixed aspect ratios and distinguishable colors, allowing for code completion methods to fill in missing parts of the sign image, ensuring accurate position estimation through image processing.
Ensures correct information processing despite partial sign recognition failures by completing the code using symmetrical markers, even if parts are missing, thereby improving position estimation accuracy.
Smart Images

Figure 2025010797000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a code completion method, an autonomous moving object, a program, and a sign. [Background technology]
[0002] Conventionally, an autonomous mobile body is known that stores data of a preset patrol course and moves along the patrol course while estimating its current position using the distance and direction of travel. When the autonomous mobile body is configured to travel using drive wheels provided on the left and right sides of the body, for example, the autonomous mobile body detects the travel distance based on the number of rotations of the drive wheels. In addition, the autonomous mobile body uses, for example, a gyrocompass to detect the direction of travel.
[0003] The distance traveled and direction traveled detected by an autonomous mobile unit contain some errors due to slippage of the drive wheels and measurement errors. This makes the current position (estimated position) estimated based on the detection results inaccurate, and the autonomous mobile unit may not be able to travel the set route because it cannot accurately grasp its own current position (estimated position). For this reason, various technologies have been proposed to correct the estimated position of an autonomous mobile unit.
[0004] For example, a conventional technique for correcting the estimated position of an autonomous moving body is disclosed in which the autonomous moving body uses a camera to read signs attached to the ceiling or the like along the autonomous moving body's patrol course, corrects the direction of travel based on the direction (up and down) of the read signs, and checks the correctness of the travel route based on the sign code. For example, Patent Document 1 is a technique for estimating the current position from the position of the autonomous moving body in an image. Patent Document 2 is a technique for estimating the position using a light-emitting body installed on the floor. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2003-295951 A [Patent Document 2] JP 2003-323215 A Summary of the Invention [Problem to be solved by the invention]
[0006] Incidentally, when a sign attached to a ceiling or the like is read by a camera to correct the estimated position of an autonomous mobile body, the autonomous mobile body may not be able to pass directly under the sign due to an angle shift caused by the difference in size between the left and right drive wheels of the autonomous mobile body, an angle shift during driving, etc. If the position of the ceiling and the autonomous mobile body shifts while driving in this way, a part of the sign on the ceiling does not fit within the angle of view of the camera and is cut off by the lens frame, and even if an end of the sign is cut off, the read length is divided at a certain ratio and read, so there is a problem that the sign cannot be correctly recognized.
[0007] Furthermore, if there is a difference in the height of the ceiling on which the sign is attached, the camera's zoom may not work properly, and part of the sign may not fit within the camera's field of view and may be clipped by the lens frame. If the edge of the sign is clipped, the sign cannot be recognized correctly because the readable length is divided at a certain ratio and then read.
[0008] The present invention has been made in consideration of the above, and aims to correctly process the code information of a sign shown in an image even if part of the code of the sign shown in the image (either end in the longitudinal direction) is missing. [Means for solving the problem]
[0009] In order to solve the above-mentioned problems and achieve the object, the present invention provides a code completion method for when an image of a rectangular sign with a fixed aspect ratio is captured, the code including a code with fixed values at both ends, the code being represented by arranging a specific number of identically shaped rectangles that are painted in a number of distinguishable colors and that are symmetrical in the vertical direction in a row, and the code includes a completion step in which, if there is a gap in the code of the imaged sign, the code of the sign with the gap is used to complete the gap in the code of the sign. Effect of the Invention
[0010] According to the present invention, even if a part of the code of a sign reflected in an image (either end in the longitudinal direction) is missing, the code of the missing sign can be used to correctly process the information of the code of the sign reflected in the image. [Brief description of the drawings]
[0011] [Figure 1] FIG. 1 is a diagram for explaining a security patrol system according to a first embodiment. [Diagram 2] FIG. 2 is a diagram showing the state of FIG. 1 as viewed from the ceiling. [Diagram 3] FIG. 3 is a perspective view that illustrates a schematic appearance of the security robot. [Figure 4] FIG. 4 is a diagram showing an example of the configuration of a sign. [Diagram 5] FIG. 5 is a block diagram showing the functional configuration of the control system of the security robot. [Figure 6] FIG. 6 is a flowchart illustrating the flow of the sign recognition process. [Figure 7] FIG. 7 is a diagram showing an outline of the complementation process. [Figure 8] FIG. 8 is a diagram illustrating an outline of a complementation process when the left part of a chord is missing according to the second embodiment. [Figure 9] FIG. 9 is a diagram illustrating an outline of a complementation process according to the second embodiment when the right part of a chord is missing. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Hereinafter, embodiments of the code completion method, the autonomous moving object, the program, and the sign will be described in detail with reference to the accompanying drawings.
[0013] (First embodiment) Fig. 1 is a diagram for explaining a security patrol system according to a first embodiment, and Fig. 2 is a diagram showing Fig. 1 as viewed from the ceiling. The security patrol system is configured as a patrol system in which an autonomous mobile body (hereinafter referred to as a "security robot") configured as a security robot patrols a predetermined passageway (hereinafter referred to as a "patrol course") within a facility.
[0014] As shown in FIG. 1, the security patrol system includes a security robot 101 that patrols while estimating its current location, and a sign 103 that is provided in an area that includes the patrol course of the security robot 101 and is located at a position where it can be photographed by the security robot 101.
[0015] 2, the security robot 101 is an autonomous mobile object that travels on a floor while estimating its current position, and moves along a passage 102 in the direction indicated by arrow A. A plurality of signs 103 are provided approximately in the center of the ceiling of the passage 102. The security robot 101 detects the signs 103 using a camera 210, which is an imaging means, and estimates its own current position along the passage 102.
[0016] Here, Fig. 3 is a perspective view showing a schematic appearance of the security robot 101. As shown in Fig. 3, the security robot 101 is equipped with two drive wheels 202 on the side of the main body 201 and four auxiliary wheels 203 on the bottom surface. Furthermore, the security robot 101 is equipped with a camera 210 capable of capturing an image of a sign 103 provided on the ceiling. The camera 210 is provided on a surface (top surface) facing the ceiling in the passage 102. Note that the imaging range for the camera 210 of the security robot 101 to detect the sign 103 is shown as a circular imaging range 210a in Fig. 2.
[0017] As shown in Fig. 5, which will be described later, the security robot 101 is equipped with a human body detection sensor 313 that detects a human body, a fire detection sensor 314 that detects a fire, a water leakage detection sensor 315 that detects water leakage, and a camera and microphone 316 that records the state of an abnormal situation. The human body detection sensor 313 is a sensor for detecting an intruder and the like, and an infrared detection sensor or the like is used. The fire detection sensor 314 is a sensor for detecting a fire, and is a sensor that detects flames and smoke. The water leakage detection sensor 315 is provided on the bottom surface of the security robot 101, and detects whether there is water on the floor surface on which the security robot 101 travels.
[0018] Furthermore, the security robot 101 includes a gyro sensor 310a used to detect the orientation of the security robot 101, and an ultrasonic sensor 311a used to grasp the surrounding situation of the security robot 101, as shown in FIG.
[0019] The sign 103 is provided at a position where it can be photographed by the camera 210 of the security robot 101. Since the estimated position of the security robot 101 is corrected based on the sign 103 photographed by the camera 210 of the security robot 101, in this embodiment, the point where the camera 210 photographs the sign 103 is set as the correction point. The position of the correction point is registered in advance in the security robot 101. Since the orientation of the security robot 101 is corrected based on the orientation of the sign 103, for example, it is necessary to attach the sign 103 so that the up-down direction of the sign 103 is strictly aligned with the theoretical traveling direction of the security robot 101. By thus aligning the theoretical traveling direction of the security robot 101 with the up-down direction of the sign 103, the probability that the sign 103 will be included in the angle of view of the camera 210 of the security robot 101 can be improved.
[0020] Here, the marker 103 will be described.
[0021] FIG. 4 is a diagram showing a configuration example of the sign 103. As shown in FIG. 4, the sign 103 is a rectangular sign with a fixed aspect ratio. The sign 103 is configured by forming a code 103b together with a white outer frame 103a. The code 103b is a one-dimensional code that represents a 12-digit number (binary in this embodiment) whose values at both ends are determined by an arrangement of 12 rectangles that are symmetrical in the height direction (up and down direction) and have the same shape and are painted with white (1) and black (0). FIGS. 4(a) to 4(j) show code numbers 1 to 10, each of which has a different code 103b. For example, the code 103b value of the code number 1 shown in FIG. 4(a) is "110000000101", and the code 103b value of the code number 2 shown in FIG. 4(b) is "110000001001".
[0022] The center of gravity (center coordinates) of sign 103 is between the sixth and seventh digits of code 103b.
[0023] As shown in Fig. 4(a) to Fig. 4(j), the three-digit code value at one end in the longitudinal direction of the sign 103 (the left end in Fig. 4) is "110" and is common regardless of the code number, and the two-digit code value at the other end in the longitudinal direction of the sign 103 (the right end in Fig. 4) is "01" and is common regardless of the code number. As a result, the sign 103 forms a part of the white outer frame 103a with the white (1) constituting both ends in the longitudinal direction of the code 103b of the sign 103. That is, the code 103b of the sign 103 is represented by arranging a specific number (12 in this embodiment) of rectangles of the same shape painted in multiple distinguishable colors in a row in the longitudinal direction, and the values of both ends are fixed.
[0024] In this embodiment, the code 103b is formed by an arrangement of 12 rectangles of the same shape, each of which is painted white (1) and black (0), but this is not limited to this, and any color that is clearly distinguishable from white may be used instead of black. Also, the combination is not limited to white and black, as long as the two colors are distinguishable.
[0025] In addition, in this embodiment, the code 103b is configured by an arrangement of white (1) and black (0), but this is not limited to this, and the code 103b may be configured by an arrangement of white (0) and black (1).
[0026] In addition, in this embodiment, code 103b is formed by an arrangement of two colors, white (1) and black (0), but this is not limited to this, and code 103b may be formed by an arrangement of rectangles expressed using three or more colors, so long as it is represented by 12 rectangles of the same shape painted in multiple distinguishable colors and lined up in a row in the longitudinal direction.
[0027] In addition, when the white outer frame 103a and the ceiling cannot be distinguished in the binarization process, such as when the ceiling is white, the sign 103 is affixed on a black sticker that is slightly larger than the sign.
[0028] Also, as shown in FIG. 4, the length of one digit of the code at one end of the longitudinal direction of the code 103b of the sign 103 (e.g., 2.5 cm) (the left end in FIG. 4), the height of the sign 103 (e.g., 8 cm), the height of the code 103b (e.g., 3 cm), and the longitudinal length of the code 103b of the sign 103 (e.g., 30 cm) are known.
[0029] Next, the functional configuration of the control system of the security robot 101 will be described.
[0030] Fig. 5 is a block diagram showing the functional configuration of the control system of the security robot 101. As shown in Fig. 5, the security robot 101 is monitored by a monitoring computer 300. The monitoring computer 300 is wirelessly connected to the security robots 101 arranged on the patrol course. The monitoring computer 300 is a computer that reports the detection of an abnormality in the security robot 101 to an administrator of the security patrol system, such as a security company.
[0031] The control system 101a of the security robot 101 includes a current position estimation unit 306 functioning as a current position estimation means, an estimated position correction unit 307 functioning as an estimated position correction means and an actual position determination means, and an abnormality detection unit 308.
[0032] The current position estimation unit 306 estimates the current position of the security robot 101 on the patrol course while the security robot 101 is traveling. The current position of the security robot 101 estimated by the current position estimation unit 306 is referred to as the estimated position.
[0033] More specifically, the current position estimation unit 306 is connected to a movement distance detection unit 309 and a movement direction detection unit 310 .
[0034] The movement distance detection unit 309 is configured to detect the number of rotations of the drive wheels 202 of the security robot 101, and detect the distance traveled based on the detected number of rotations. The movement direction detection unit 310 detects the orientation of the security robot 101 using, for example, a gyro sensor 310a, and estimates the movement direction. In other words, the current position estimation unit 306 estimates the current position (estimated position) of the security robot 101 based on the movement distance of the security robot 101 detected by the movement distance detection unit 309 and the movement direction of the security robot 101 detected by the movement direction detection unit 310.
[0035] The estimated position correction unit 307 refers to a map of the positions of the signs 103 provided on a predetermined route course, and determines the current position. The current position determined by the estimated position correction unit 307 is referred to as the actual position. The estimated position correction unit 307 corrects the difference between the determined actual position and the estimated position estimated by the current position estimation unit 306. In other words, the estimated position correction unit 307 corrects the current position (estimated position) estimated by the current position estimation unit 306.
[0036] More specifically, the estimated position correction unit 307 connects an environment recognition unit 311 and an image processing unit 312 that functions as a complementation unit.
[0037] The environment recognition unit 311 is a component provided for grasping the situation of the security robot 101, and for example, uses an ultrasonic sensor 311a or the like to detect the distance between the wall surface of the patrol course and the security robot 101. The image processing unit 312 calculates, based on the sign 103 in the image captured by the camera 210, the actual position where the security robot 101 is actually located, as coordinates.
[0038] The abnormality detection unit 308 detects the occurrence of an abnormal situation. More specifically, the abnormality detection unit 308 detects the occurrence of an abnormal situation by using any one of a human body detection sensor 313, a fire detection sensor 314, a water leakage detection sensor 315, and a camera / microphone 316 that records the state of the abnormal situation.
[0039] 5, the control system 101a of the security robot 101 includes a main control unit 301 that controls the entire security robot 101. The control system 101a of the security robot 101 also includes a memory unit 302 that stores programs and data necessary for the control of the main control unit 301, a drive unit 304 that drives the drive wheels 202 and the like according to the control of the main control unit 301, a communication unit 303 that sends and receives signals to and from the monitoring computer 300, and an input / output unit (I / O) 305 that controls the input and output of data in the above configuration. The communication unit 303 can also send images captured by a camera / microphone 316 and collected audio to the monitoring computer 300.
[0040] The current position estimation unit 306, estimated position correction unit 307, abnormality detection unit 308, movement distance detection unit 309, movement direction detection unit 310, environment recognition unit 311, image processing unit 312, main control unit 301, memory unit 302, communication unit 303, drive unit 304, and input / output unit (I / O) 305, which constitute the control system of the security robot 101, can be realized by one or more processing circuits. Here, the "processing circuit" includes a processor programmed to execute each function by a program, such as a processor implemented by an electronic circuit, and a device such as a semiconductor integrated circuit designed to execute each function described above.
[0041] The program executed by the security robot 101 of this embodiment may be configured to be provided by recording it on a computer-readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, or a DVD (Digital Versatile Disc) in an installable or executable format file.
[0042] Furthermore, the program executed by the security robot 101 of this embodiment may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Also, the program executed by the security robot 101 of this embodiment may be provided or distributed via a network such as the Internet.
[0043] Here, the operation of the security robot 101 will be briefly described.
[0044] The security robot 101 travels along a patrol course based on the estimated position. At this time, the security robot 101 refers to a map of correction points set along the patrol course and recognizes the correction points recorded on the map. Then, when it is determined that the security robot 101 is approaching a correction point, the image processing unit 312 of the security robot 101 captures images taken by the camera 210 at predetermined time intervals and acquires the sign 103 in the images taken by the camera 210. The image processing unit 312 reads the code of the sign 103 in the image, and based on the read code, the estimated position correction unit 307 calculates the actual position, which is the actual position where the security robot 101 is located, as coordinates.
[0045] Next, the sign recognition process in the image processing unit 312 will be described.
[0046] Here, Fig. 6 is a flow chart showing an outline of the flow of the sign recognition process. Actually, before the process shown in Fig. 6, the camera 210 is zoomed so that the focus is set on the ceiling height of the sign 103 to be read next, and multiple images are captured from just before the position where the sign 103 is located. Such capture timing varies depending on the moving speed of the security robot 101. As shown in Fig. 6, the image processing unit 312 performs a binarization process on the image captured by the camera 210 (step S1), and performs a labeling process in which the same number (label) is sequentially assigned to each of pixels (connected regions) with consecutive white portions (or black portions) in the binarized image (step S2).
[0047] Next, if the labeling process results in no specified label (No in step S3), the image processing unit 312 transmits a result of “no ceiling sign” indicating that no sign 103 exists to the estimated position correction unit 307 (step S4).
[0048] On the other hand, if there is a predetermined label as a result of the labeling process (Yes in step S3), the image processing unit 312 determines that the image contains a sign 103, and determines whether the position or aspect ratio of the sign 103 reflected in the image is out of range (step S5). In the process of determining whether the position or aspect ratio of the sign 103 is out of range, the image processing unit 312 calculates the center of gravity of the sign 103 reflected in the image and the length of each side of the sign 103 reflected in the image, and checks the aspect ratio of the sign 103 reflected in the image from the height (short side of the sign 103) and the width (long side of the sign 103) of the sign 103 reflected in the image. Note that, in determining the position of the sign 103 reflected in the image, the image processing unit 312 also determines that the position or aspect ratio is out of range if the sign 103 reflected in the image touches the outer periphery of the image.
[0049] When the image processor 312 determines that the position or aspect ratio of the sign 103 in the image is out of range (Yes in step S5), it executes a complementation process (step S6). In summary, the complementation process is a process in which either the start position or the end position of the code 103b of the sign 103 in the image is recognized to calculate the center coordinates, and the code 103b of the sign 103 in the image is read from the center coordinates. Details of the complementation process in step S6 will be described later.
[0050] On the other hand, if the image processing unit 312 determines that the position or aspect ratio of the sign 103 shown in the image is not out of range (No in step S5), or if it has executed complementation processing (step S6), it executes decoding processing (step S7) and determines whether the code 103b is invalid (step S8). In the process of determining whether the code 103b is invalid in step S8, the image processing unit 312 checks whether the bit string has the leftmost three digits of the code "110" and the rightmost two digits of the code "01", similar to the value of the code 103b of the sign 103.
[0051] If the image processing unit 312 determines that the code 103b is invalid (Yes in step S8), it transmits a result of "no ceiling sign" indicating that the sign 103 does not exist to the estimated position correction unit 307 (step S4).
[0052] On the other hand, if the image processing unit 312 determines that the code 103b is not fraudulent (No in step S8), it executes an angle calculation process (step S9) to calculate the angle of the sign 103 relative to the direction of travel of the security robot 101, and a coordinate system conversion calculation process (step S10) to calculate the actual position, which is the actual location where the security robot 101 is located, as coordinates based on the code 103b of the sign 103.
[0053] After that, the image processing unit 312 transmits the result of "ceiling sign present" indicating that the sign 103 exists, and the coordinates of the angle and the actual position to the estimated position correction unit 307 (step S11).
[0054] Next, the complementation process in step S6 will be described in detail. As described above, the complementation process is roughly performed by recognizing either the start position or the end position of the code 103b of the sign 103 shown in the image, calculating the center coordinates, and reading the code 103b of the sign 103 shown in the image from the center coordinates.
[0055] Here, Fig. 7 is a diagram showing an outline of the complementation process. As shown in Fig. 7(a), the image processing unit 312 calculates, from an image of the sign 103, a length apix (pixels) of two digits of the code 103b of the sign 103 at one end in the longitudinal direction (the left end in Fig. 4), a height bpix (pixels) of the sign 103, a height cpix (pixels) of the code 103b, and a length xpix (pixels) from one end in the longitudinal direction of the sign 103 (the left end in Fig. 4) to the center of gravity (center coordinates) of the code 103b of the sign 103.
[0056] The length apix (pixels) of the two-digit code at one end of the longitudinal direction of the sign 103 (the left end in FIG. 4) is a value required to recognize one end of the longitudinal direction of the sign 103 (the left end in FIG. 4).
[0057] As described above, the ratios of the lengths a, b, c, and x of the sign 103 are known. Therefore, after recognizing one end in the longitudinal direction of the sign 103 shown in the image (the left end in FIG. 4), the image processing unit 312 calculates the length apix (pixels) of two digits of the code at one end in the longitudinal direction of the sign 103 shown in the image (the left end in FIG. 4) from the ratio to the height bpix (pixels) of the sign 103. Next, the image processing unit 312 can calculate the total pixels of the sign 103 shown in the image from the ratio to the height bpix (pixels) of the sign 103.
[0058] Based on the entire pixels of the sign 103, the image processing unit 312 calculates the length xpix (pixels) from one end of the longitudinal direction of the sign 103 shown in the image (the left end in Figure 4) to the center of gravity (center coordinates) of the sign 103 shown in the image, and determines the center of gravity (center coordinates) of the sign 103 shown in the image.
[0059] Next, as shown in FIG. 7(b) or 7(c), the image processing unit 312 sets the center of gravity (central coordinates) of the sign 103 shown in the determined image as the starting point for sign determination, and checks the value of the code 103b (a six-digit value in this embodiment) in both directions to the left and right from the starting point.
[0060] In the example shown in FIG. 7(b) where the right side of the sign 103 shown in the image is missing, the image processor 312 reads the value of the code 103b in the right direction from the starting point of the value of the code 103b as "00010" and is unable to read one digit of the code. On the other hand, the image processor 312 can read all of the values of the code 103b in the left direction from the starting point of the value of the code 103b as "110000". Therefore, since the value of the three-digit code at one end in the longitudinal direction of the sign 103 shown in the image (the left end in FIG. 4) is "110" and is common regardless of the code number, the image processor 312 determines that the missing part is the other end in the longitudinal direction of the sign 103 shown in the image (the right end in FIG. 4) and knows five digits out of six, so sets the value of the missing code 103b to "1".
[0061] Therefore, as a complementation process, the image processing unit 312 complements the missing 12th digit of the value of the code 103b with "1" to obtain the value of the code 103b of the sign 103 shown in the image.
[0062] On the other hand, in the example shown in Fig. 7(c) where the left side of the sign 103 shown in the image is missing, the image processing unit 312 reads the value of the code 103b in the left direction from the starting point of the value of the code 103b as "10000". On the other hand, the image processing unit 312 can read all the values of the code 103b in the right direction from the starting point of the value of the code 103b as "000101". Therefore, since the value of the two-digit code at one end in the longitudinal direction of the sign 103 shown in the image (the right end in Fig. 4) is "01" and is common regardless of the code number, the image processing unit 312 determines that the missing part is the other end in the longitudinal direction of the sign 103 shown in the image (the left end in Fig. 4) and knows five digits out of six, so sets the value of the missing code 103b to "1".
[0063] Therefore, as a complementation process, the image processing unit 312 complements the first digit of the missing code 103b value with "1" to obtain the value of the code 103b of the sign 103 shown in the image.
[0064] In other words, if the image processing unit 312 can read "110" as the three-digit code value at one end of the longitudinal direction of the sign 103 shown in the image (the left end in Figure 4) and the value of the missing code 103b is the two-digit code at the right end, then it can obtain the value of code 103b of the sign 103 shown in the image.
[0065] Furthermore, if the image processing unit 312 can read "01" as the two-digit code value at the other end of the longitudinal direction of the sign 103 shown in the image (the right end in FIG. 4) and the value of the missing code 103b is the three-digit code at the left end, then the image processing unit 312 can obtain the value of code 103b of the sign 103 shown in the image.
[0066] In other words, if the vertical size of the sign 103, which has a standardized format, is known, the size of the sign 103 can be calculated. Therefore, the image processing unit 312 reads the code 103b from the center calculated from the aspect ratio of the sign 103 captured in the image, and does not recognize that one of the longitudinal ends of the sign 103 is missing.
[0067] As described above, in the complementation process, the image processor 312 complements one of the values at both ends, the values of which are determined by the code 103b of the imaged sign 103, as the value of the unread portion.
[0068] Thus, according to this embodiment, even if part of the code 103b of the sign 103 does not fit into the camera image and part (either end in the longitudinal direction) of the code 103b of the sign 103 captured in the image is missing, the information of the code 103b of the sign 103 captured in the image can be correctly processed using the code 103b of the missing sign 103.
[0069] (Second embodiment) Next, a second embodiment will be described.
[0070] The second embodiment differs from the first embodiment in that in the complementation process in step S6, either the start position or the end position of the sign 103 shown in the image is recognized, and half of the sign 103 shown in the image, either the upward or downward direction, which has the larger area, is folded back and copied to the other half of the sign 103 shown in the image, either the downward or upward direction, which has the smaller area, thereby restoring the sign 103 shown in the image and reading the code 103b. In the following explanation of the second embodiment, explanations of the same parts as in the first embodiment will be omitted, and only differences from the first embodiment will be explained.
[0071] FIG. 8 is a diagram showing an overview of the completion process when the left part of a chord in the second embodiment is missing, and FIG. 9 is a diagram showing an overview of the completion process when the right part of a chord in the second embodiment is missing.
[0072] The image processing unit 312 of the security robot 101 in this embodiment roughly recognizes either the start position or the end position of the sign 103 shown in the image, and restores the sign 103 shown in the image and reads the code 103b by folding back and copying half of the sign 103 shown in the image, either upward or downward, whichever has the larger area, at the center of the top and bottom of the sign 103 shown in the image, to the half of the sign 103 shown in the image, either downward or upward, which has the smaller area.
[0073] More specifically, as shown in FIG. 8(a) or FIG. 9(a), if the position or aspect ratio of the sign 103 shown in the image is out of range, but either the start position or end position of the sign 103 shown in the image can be read, the image processing unit 312 calculates the horizontal length of the sign 103 shown in the image from the vertical length of the sign 103 shown in the image, and cuts out the size of the sign 103 shown in the image.
[0074] The image processor 312 determines whether the start position or the end position of the sign 103 shown in the image is readable by, for example, pattern matching.
[0075] Next, as shown in Fig. 8(b) or Fig. 9(b), the image processing unit 312 folds back and copies the upper or lower half of the sign 103 shown in the cut-out image, whichever has the larger area, to the lower or upper half, which has the smaller area, at the center of the top and bottom of the sign 103, to make up for the missing part of the sign 103. In this embodiment, as shown in Fig. 8(b) or Fig. 9(b), the lower half of the sign 103 shown in the cut-out image, which has the larger area, to the upper half, which has the smaller area, at the center of the top and bottom of the sign 103, to make up for the missing part of the code 103b of the sign 103.
[0076] The reason for folding back the sign 103 top and bottom in this manner is that the sign 103 is symmetrical from top to bottom, the direction of movement of the security robot 101 is the up and down direction of the sign 103, and the imaging range 210a of the camera 210 is circular, so the sign 103 captured in the image comes into contact with the upper or lower half of the outer periphery of the camera 210 and is missing.
[0077] Next, as shown in FIG. 8(c) or FIG. 9(c), the image processor 312 complements the part that cannot be read at the start position or end position of the code 103b of the sign 103 shown in the image.
[0078] The following methods can be used to complement the unreadable portion. If any black portion remains after folding the code 103b of the sign 103 shown in the image vertically, the image processing unit 312 complements the code value with black (0). If a color that is clearly distinguishable from white is used instead of black, if any color that is clearly distinguishable from white remains after folding the code 103b of the sign 103 shown in the image vertically, the color that is clearly distinguishable from white is complemented as the code value.
[0079] Another method for complementing an unread portion is as follows. As described above, the three-digit code value at one end in the longitudinal direction of the code 103b of the sign 103 (the left end in FIG. 4) is "110", which is the same regardless of the code number, and the two-digit code value at the other end in the longitudinal direction of the code 103b of the sign 103 (the right end in FIG. 4) is "01", which is the same regardless of the code number. Therefore, the image processing unit 312 complements the unread portion assuming that the three-digit code value at the start position of the code 103b of the sign 103 is always "110" and the two-digit code value at the end position is always "01".
[0080] Thus, according to this embodiment, even if part of the code 103b of the sign 103 does not fit into the camera image and part (either end in the longitudinal direction) of the code 103b of the sign 103 captured in the image is missing, the information of the code 103b of the sign 103 captured in the image can be correctly processed using the code 103b of the missing sign 103.
[0081] (Modification) In each embodiment, the signs 103 are provided on the ceiling of the passage 102, but this is not limiting, and the signs 103 may be provided on a wall or floor.
[0082] Although the embodiments and modifications of the present invention have been described above, the embodiments and modifications are presented as examples and are not intended to limit the scope of the invention. These novel embodiments and modifications can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the gist of the invention. These embodiments and modifications are included in the scope and gist of the invention, and are included in the scope of the invention and its equivalents described in the claims. [Explanation of symbols]
[0083] 101 Autonomous Mobile Unit 103 Signs 103b Code 210 Camera 306 Current position estimation section 307 Estimated position correction section 312 Image Processing Unit
Claims
1. A code completion method for when an image of a rectangular sign with a fixed aspect ratio is captured, the sign being represented by arranging a specific number of rectangles, which are the same shape, are painted in a plurality of colors that are symmetrical in the height direction and can be distinguished, in a line in the longitudinal direction, and includes a code with fixed values on both ends, the method comprising: a complementing step of complementing the missing part of the code of the marker using the missing part of the code of the marker when the image of the code of the marker is missing, The code completion method according to the present invention is characterized in that
2. The complementing step complements one of the two end values determined by the code of the imaged sign as the value of the unread portion. The method of claim 1 .
3. the complementing step complements the missing part of the code by starting reading of the code from a center of the code calculated from an aspect ratio of the image of the sign; The code completion method according to claim 2 .
4. the complementing step complements the missing code of the sign by folding back and copying half of the code of the sign captured in the height direction, either upward or downward, which has a larger area, to the half of the code of the sign captured in the height direction, either downward or upward, which has a smaller area; The code completion method according to claim 2 .
5. the complementing step complements the one color as a code value if any one color portion remains among a plurality of distinguishable colors as a result of folding back the imaged code of the sign in the height direction; 5. The method of claim 4, wherein the code is completed in a step S11.
6. An autonomous moving body that travels on a floor surface along a preset route, an imaging means for imaging a rectangular sign having a fixed aspect ratio, the sign being fixed at a position for imaging an area including the travel route, the sign including a code having symmetrical height and fixed values at both ends in the longitudinal direction; a completion unit that, when there is a gap in the code of the sign imaged by the imaging unit, completes the gap in the code of the sign by using the code completion method according to any one of claims 1 to 5; an actual position determination means for determining an actual position, which is an actual position where the autonomous moving body is located, based on the image of the sign code or the sign code with a missing part repaired; An autonomous moving body comprising:
7. Computer, When an image is captured of a rectangular sign with a fixed aspect ratio, which is represented by lining up a specific number of rectangles that are symmetrical in the height direction and painted in multiple colors that can be distinguished, and which includes a code with fixed values on both ends, a complementing means for complementing a missing part of the code of the marker using the missing part of the code of the marker when the image of the code of the marker is missing; A program to function as a
8. A sign having a rectangular shape with a fixed aspect ratio, containing a code to be read, The cord is symmetrical in the height direction, The code value is represented by arranging a certain number of identical rectangles, each of which is painted in a number of distinct colors, in a row in the longitudinal direction; The values of both ends in the longitudinal direction of the cord are determined. A sign characterized by
Citation Information
Patent Citations
Autonomous mobile-body patrolling system and method for compensating for position of autonomous mobile-body
JP2003295951A
Autonomous moving body
JP2003323215A