Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, some embodiments of the present application will be described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application. However, it will be appreciated by those of ordinary skill in the art that in the various embodiments of the present application, numerous technical details are set forth in order to provide a better understanding of the present application. However, the technical solution claimed in the present application can be implemented without these technical details and various changes and modifications based on the following embodiments.
The environmental information determining method provided by the following embodiments of the application utilizes the strong processing capability of the robot, for example, multiple groups of image information can be processed in parallel, and combines the strong interconnection capability of the robot, so that the robot can obtain a visual angle beyond the limit of the self shooting capability, the self visual capability of the robot is greatly extended, the robot is more likely to be in the corresponding places under the support of more data, the advantages of the robot relative to human are exerted to the greatest extent, the deficiency of human is made up, and better user experience is obtained.
The video device referred to in the following embodiments of the present application may be any device with specific image capturing capabilities, such as a robot with vision capabilities, a monitor, etc.
A first embodiment of the present application relates to an environment information determination method, and an execution subject of the environment information determination method may be a robot or another device that establishes a communication connection with the robot. Wherein, the robot possesses the smart machine of autonomic action ability. In this embodiment, an example in which the execution body is the robot itself will be described. The specific flow of the environment information determining method is shown in fig. 1, and includes the following steps:
step 101: an image of a surrounding environment captured by at least one video device is acquired.
In a specific implementation, the distance between the video equipment and the robot does not exceed a preset value. The preset value may be determined according to the image processing capability of the robot, or may be determined according to other information such as the communication capability of the robot.
It should be noted that the robot may directly establish a communication connection with at least one video device to obtain an image of the surrounding environment captured by the robot, or may establish a connection with at least one video device through a cloud or other video devices. The present embodiment does not limit the way in which the robot acquires the image of the surrounding environment taken by the at least one video device.
Step 102: and expanding the peripheral environment information of the robot according to the images of the peripheral environment shot by each video device.
In specific implementation, the peripheral environment information obtained by the robot through shooting is expanded, and a specific processing process is shown in fig. 2.
Step 201: processing images of the surrounding environment captured by each video device respectively: the method comprises the steps of determining the position of the robot in an image of the surrounding environment shot by video equipment, taking the determined position as image positioning information of the robot, and acquiring the surrounding environment information of the robot monitored by the video equipment according to the image positioning information.
In specific implementations, there are various ways to determine the positioning information of the robot, including but not limited to the following two specific implementations:
firstly, according to the physical position of the robot, the physical position of the video equipment and the parameters of the camera with the video equipment opening authority, the position of the robot in the image of the surrounding environment shot by the camera with the video equipment opening authority is determined, and the determined position is used as the image positioning information of the robot.
It should be noted that, in the case that there are multiple cameras, the video device may open the rights of some or all of the cameras.
Specifically, when the video device has no height difference with the robot and the video device is in a head-up state, the robot acquires the parameters of the camera for opening the authority of the video device, including: a direction of a horizontal plane of an optical axis of the camera and lateral perspective information of the camera. After the parameters of the camera with the video equipment opening authority are acquired, the robot determines the value of the deviation angle of the robot relative to the optical axis in the horizontal plane in the visual angle of the camera with the video equipment opening authority according to the physical position of the robot, the physical position of the video equipment and the horizontal plane direction of the optical axis of the camera with the video equipment opening authority.
For example, the robot may be formulated
Determining the value of the deviation angle of the camera with the opening authority of the video equipment relative to the optical axis in the horizontal plane; wherein alpha represents the included angle between the horizontal plane direction of the optical axis of the camera with the video equipment opening authority and the abscissa axis, x represents the difference value between the abscissa of the physical position of the video equipment and the abscissa of the physical position of the robot, and y represents the difference value between the physical position of the video equipmentThe difference between the ordinate and the ordinate of the physical position of the robot, β represents the value of the deviation angle in the horizontal plane.
Then, the robot determines first position reference information in the image of the surrounding environment shot by the camera with the open authority according to the value of the deviation angle on the horizontal plane and the transverse visual angle information of the camera with the open authority of the video equipment. Wherein the first position reference information is: the proportion of the amount laterally shifted from the center of the image to the left or right in the lateral direction of the image.
For example, the robot determines the first position reference information of the robot in the image of the surrounding environment captured by the camera of which the video device has the right to open, according to the formula M ═ tan β/(2 × tan (γ/2)). Where β denotes a value of the off-angle in the horizontal plane, γ denotes a lateral angle of view of a camera of which the video device has an opening right, and M denotes first position reference information.
And finally, the robot determines the position of the robot in the image of the surrounding environment shot by the camera with the open authority of the video equipment according to the first position reference information. For example, if the first location reference information is: if the ratio of the amount of the left lateral deviation from the center of the image to the lateral deviation in the image is larger than the ratio of the amount of the left lateral deviation from the center of the image to the lateral deviation in the image, the robot starts to obtain a first reference line by the left lateral deviation from the center line of the image according to first position reference information, and if the first position reference information is: the proportion of the amount of the right lateral deviation from the center of the image in the lateral direction of the image is that the robot starts to perform the right lateral deviation from the center line of the image according to the first position reference information to obtain a first reference line; the first reference line is used as a center, a preset value is horizontally shifted leftwards to obtain a second reference line, and the preset value is horizontally shifted rightwards to obtain a third reference line; detecting features of the robot in an image area defined by the second reference line and the third reference line; and determining the position of the robot in the image according to the detected characteristics of the robot.
For example, in the process of positioning the robot a, in order to avoid a recognition error due to the existence of many other robots similar to the robot a in the vicinity of the robot a, the robot a can be quickly and accurately recognized in combination with the following ways:
in the method a, the robot a intentionally performs a specific motion, and a robot corresponding to the specific motion in the image area defined by the second reference line and the third reference line is recognized as the robot a.
In the mode b, the robot A flashes or sequentially lights up signal lamps on the head or the body according to a random light and dark sequence and/or a color sequence, and the robot in the same lighting mode as the robot A in the image area defined by the second reference line and the third reference line is identified as the robot A. For example, robot a lights up according to 0.2S red light, lights out 0.1S, 0.1S red light, lights out 0.5S, and so on; or, the lamp is lighted in the modes of 0.1s red light, 0.15s green light, 0.1s orange light and the like; there are infinite possibilities for setting the specific lighting manner as long as the robot a can be distinguished.
Mode c, a combination of mode a and mode b.
It should be noted that the physical position of the robot or the physical position of the video device can be determined by a Global Positioning System (GPS) or a beidou of the robot or the video device itself. In the process of determining the physical position of the robot or the physical position of the video device, the robot or the video device may further combine base station positioning information or Wireless-Fidelity (WIFI) positioning information. The present embodiment does not limit the way in which the robot or video device acquires the physical location.
The following describes an example of a process for determining positioning information of a robot by using the first implementation manner, with reference to an actual scenario.
The positional relationship between the robot and the video device is shown in fig. 3, the top view of the imaging angle of view of the camera with the video device open authority is shown in fig. 4, and the front view of each frame of picture shot by the camera with the video device open authority is shown in fig. 5. In fig. 3, 4 and 5, the robot is indicated by the letter a and the video device by the letter B. In fig. 3, the robot a uses its own physical position as the origin O, the east-right direction of the robot a is the positive direction of the abscissa axis (X), the north-right direction is the positive direction of the ordinate axis (Y), the physical position of the robot a at which the video device B is obtained is (X, Y), and the distance between the robot a and the video device B is d. And isThe included angle between the horizontal plane direction of the optical axis of the camera with the current video equipment B opening authority and the abscissa axis is alpha, and the value of the deviation angle of the robot A relative to the optical axis in the horizontal plane in the visual angle of the camera with the current video equipment B opening authority is beta. As can be seen from fig. 3, the relationship among α, β, y, and d is: sin (alpha + beta) y/d, x, y
From the above two relations, we can get:
the value of the off-angle of the robot a in the horizontal plane with respect to the optical axis in the angle of view of the camera in which the video device B opens the right is determined.
In fig. 4, in the imaged picture of the video apparatus B, a straight line l passing through the robot a in the lateral direction of the imaged picture1Intersecting the optical axis at a point P in the horizontal plane, Q being a straight line l1The intersection point of the imaging frame longitudinal boundary, beta, PA and PB satisfies the following relation: tan beta is PA/PB, and the following relational expression is satisfied among gamma, PB and PQ: tan (γ/2 ═ PQ/PB), which can be obtained according to the above two relations: pZ/(2 × PQ) ═ tan β/[2 × tan (γ/2)]. And PZ/(2 × PQ) is actually the first position reference information M, i.e., the ratio of the amount of lateral shift from the center of the image to the left (or right) in the lateral direction of the image, so M is tan β/(2 × tan (γ/2)). After obtaining the first position reference information, the robot a follows the first position reference information from the center line l of the image2Starting to shift laterally leftwards (or rightwards) to obtain a first reference line l3Then with the first reference line l3A second reference line l is obtained by laterally shifting the center by a preset value to the left4And shifting the preset value to the right to obtain a third reference line l5As shown in fig. 5. Wherein l6To l9The boundary of a frame of picture front view shot by a camera with an open authority of the video equipment. At a second reference line l3And a third reference line l4In the defined image area, the characteristics of the robot a are detected, and based on the detected characteristics of the robot a,the position of robot a in the image is determined.
It should be noted that, when there is a height difference between the robot and the video device, and/or the video device is not in a head-up state (e.g., a top-down state or a top-up state), the robot may determine a longitudinal offset of the robot in an image of the surrounding environment captured by the video device by using a similar method according to one or more of information such as depression angle information, elevation angle information, longitudinal viewing angle information, and height information of a camera in which the video device has an open right, or determine a longitudinal offset of the robot in an image of the surrounding environment captured by the video device by combining a distance measurement and the like, and determine a position of the image of the robot in the image by combining the lateral offset and the longitudinal offset, which is not described herein again.
Secondly, the robot detects the characteristics of the robot in the image of the surrounding environment shot by the video equipment, and the position where the characteristics of the robot are located is determined as the image positioning information of the robot. Specifically, the robot locks the position of the feature of the robot in the image of the surrounding environment shot by the camera of the video device opening authority through an image tracking technology, and uses the position as the image positioning information of the robot.
The feature of the robot may be any one or any combination of a contour feature of the robot, an action feature of the robot (e.g., a current action or a deliberate action of the robot such as a head-up action), a bright-dark feature of a signal light of the robot (e.g., a signal light of the robot flashes according to a random bright-dark sequence and/or a color sequence of the signal light of the robot, and/or a signal light of the robot lights up in sequence), and other features.
It should be noted that, in practical applications, if the processing capability of the robot is not strong, the robot may be set to only acquire an image including the robot captured by the video device; if the robot has strong processing capability and wants to obtain more surrounding environment information, the robot may be set to obtain all images captured by the video device, and the embodiment does not limit the type of the images captured by the video device.
Step 202: and expanding the peripheral environment information of the robot according to the peripheral environment information of the robot monitored by each video device.
The peripheral environment information of the robot may be obtained by photographing the image of the peripheral environment by the robot itself and then directly using the image of the peripheral environment as the peripheral environment information, or may be obtained by extracting a specific environment parameter from the image of the peripheral environment and using the extracted environment parameter as the peripheral environment information. Of course, the peripheral environment information of the robot may be acquired by other means than shooting the robot, for example, information described in an electronic map.
Specifically, after the position of the robot in the image of the surrounding environment captured by the video device is determined, the image of the surrounding environment at the corresponding position can be selectively retrieved, and the surrounding environment information of the robot can be obtained.
For example, when the line of sight of the robot is blocked by an obstacle, environment information that the robot is blocked by the obstacle is acquired from the position of the robot in the image of the surrounding environment captured by the video device.
Compared with the prior art, the method and the device have the advantages that the images shot by at least one video device around the robot are obtained, and the surrounding environment information of the robot is expanded based on the images shot by the video device, so that the effective visual angle of the robot is enlarged, the visual ability of the robot is enhanced, and the robot can obtain more comprehensive surrounding environment information.
The second embodiment of the present application relates to an environment information determining method, and the present embodiment is a further improvement of the first embodiment, and the specific improvement is as follows: other relevant steps are added before step 101 and step 102, respectively.
As shown in fig. 6, the present embodiment includes steps 301 to 307, wherein steps 304 and 306 are substantially the same as steps 101 and 102, respectively, in the first embodiment, and are not described in detail herein, and the following differences are mainly described:
step 301: it is determined that the line of sight of the robot is obstructed by an obstacle.
It is worth mentioning that the environment information determining method is executed under the condition that the robot determines that the surrounding environment information is blocked, so that the resource waste caused by the fact that the robot still executes the method under the condition that the robot can obtain enough surrounding environment information by self capacity is avoided.
It should be noted that the blocking of the line of sight of the robot by the obstacle is only a specific triggering manner, and in application, other triggering manners may also be adopted, for example, a subsequent process is triggered according to a user operation.
Step 302: and respectively establishing connection with each video device, and acquiring the physical position of each video device.
It should be noted that, in the case that the triggering condition of step 301 is not needed, it may be set that, in the process of the robot traveling, if it is detected that the distance from the robot to the video device is smaller than or equal to the preset value, the robot directly establishes a point-to-point connection with the video device, or establishes a connection with the video device through a cloud, and reads the physical location of the video device that establishes the connection (determined in a GPS or beidou manner, etc.), parameters of the camera that opens the right, and the like. Currently, the physical location of the video device may also be determined by the robot, for example, by using a base station positioning method, a WIFI positioning method, or the like.
The robots or video devices with video capturing capability all have a uniform interface, and under the condition that the self condition and the permission permit, other robots or video devices can read partial or all visual information.
Step 303: and determining that the robot is in the sight line range of the video equipment.
Specifically, whether the robot is in the sight line range of the camera with the open authority of the video equipment is determined according to the physical position of the video equipment and the parameters of the camera with the open authority of the video equipment.
For example, according to the optical axis direction and the view angle (FOV) information of the camera with open authority, the robot is determined to be within the field of view of the video equipment. Here, it is only necessary to determine that the robot is within the field of view of the video device, and the influence of the problems such as the occlusion of obstacles and the height difference on the actual line of sight is not considered.
It is worth mentioning that before the image of the surrounding environment shot by at least one video device is obtained, the robot is determined to be in the sight line range of the video device, the image information provided by the video device which is not in the sight line range of the robot is discarded, and the robot is prevented from receiving too much useless information and occupying storage space.
Step 304: an image of a surrounding environment captured by at least one video device is acquired.
It should be noted that, in order to ensure real-time control of the robot over the surrounding environment, it is necessary to acquire an image of the surrounding environment captured by at least one video device in real time.
Step 305: and determining that the image of the surrounding environment shot by the video equipment contains the image of the robot.
Specifically, the view of the video device may also be blocked, resulting in no image of the robot in the image of the surrounding environment captured by the video device, so that the robot cannot expand the surrounding environment information based on the image of the surrounding environment.
In a specific implementation, the robot may detect features of the robot in an image of the surrounding environment captured by the video device, and determine whether the robot is in the image of the surrounding environment captured by the video device.
In practical applications, the robot may also determine whether the image of the surrounding environment captured by the video device includes its own video in other manners, and the embodiment is not limited to a specific determination manner.
In application, if it is determined in step 303 that the image taken by the video device includes the image of the robot, but the image of the robot is not found in the image, it can be determined that the line of sight of the video device is blocked, in this case, the following processing methods may be adopted: continuously acquiring an image of the surrounding environment shot by the video equipment within a period of time, and judging whether the image contains the image of the robot or not until the image contains the image of the robot; or after the preset time length is exceeded, the image of the robot is not recognized from the image of the surrounding environment shot by the video equipment, the image acquisition from the video equipment is stopped, and the image acquired from the video equipment is discarded.
It is worth mentioning that the robot processes only the image of the surrounding environment including the image of the robot itself, reducing the amount of calculation.
Step 306: and expanding the peripheral environment information of the robot according to the images of the peripheral environment shot by each video device.
Step 307: and adopting matched processing measures according to the expanded surrounding environment information.
For example, the robot follows a natural person and executes an instruction to detect surrounding risk factors. Fig. 7 is a schematic position diagram of a robot, a natural person, and other objects, and a vehicle D travels right in front of the robot a and the natural person C. However, the other objects F in front of the robot a block the view of the robot a, and the surrounding environment information obtained from the image of the surrounding environment taken by the robot a itself cannot display dangerous information that the vehicle D is coming in front. However, since the robot a can obtain the image of the surrounding environment captured by the other video device (as shown in E) through the above steps, and the other video device captures the vehicle D, the robot a can determine the risk factor in front (the vehicle D coming) based on the expanded surrounding environment information and transmit the determination result to the natural person through an alarm or other behavioral actions.
It should be noted that the robot may also execute different processing measures according to other instructions (e.g., determining whether there is a risk factor, searching for a suspect, etc.), which is not described in detail herein.
It should be noted that step 301, step 302, step 303, step 305, and step 307 are not necessarily steps to be performed, and may be selectively performed, or any one or any combination of the above steps.
Compared with the prior art, the method for determining the environmental information is executed only when the robot determines that the surrounding environmental information is blocked, so that resource waste caused by the fact that the robot still executes the method under the condition that the robot can obtain enough surrounding environmental information by means of self capacity is avoided. Before the image of the surrounding environment shot by at least one video device is obtained, the robot is determined to be in the sight line range of the video device, and the robot is prevented from receiving too much useless information and wasting storage and computing resources. Moreover, only the image including the robot is processed, and the processing load is reduced.
In a specific implementation, in the above two embodiments, the robot and the video device may be configured to cooperate in a manner of sharing a shot image, and specifically, when the robot obtains the shot image from the video device, the robot may also send the image obtained by shooting by the robot itself to the video device to expand the view angle of the video device, where a process of expanding the view angle of the video device by the video device is the same as the process of expanding the view angle of the robot described above, and is not described here again.
The third embodiment of the present application relates to an environment information determination apparatus, as shown in fig. 8, including an acquisition module 401 and a processing module 402.
The acquiring module 401 is configured to acquire an image of a surrounding environment captured by at least one video device, where a distance between the video device and the robot does not exceed a preset value.
The processing module 402 is configured to expand the peripheral environment information of the robot according to the images of the peripheral environment captured by each video device.
It should be understood that this embodiment is a device embodiment corresponding to the first embodiment, and the embodiment can be implemented in cooperation with the first embodiment. The related technical details mentioned in the first embodiment are still valid in this embodiment, and are not described herein again in order to reduce repetition. Accordingly, the related-art details mentioned in the present embodiment can also be applied to the first embodiment.
A fourth embodiment of the present application relates to an environment information determining apparatus, and as shown in fig. 9, the present embodiment is further improved based on the third embodiment, and the specific improvements are as follows: a determination module, a communication module and an operation module are added.
The determining module 403 is configured to determine that the line of sight of the robot is blocked by an obstacle and that the robot is within the range of the line of sight of the video device before the acquiring module 401 acquires the image of the surrounding environment captured by the at least one video device;
the processing module 402 is further configured to determine, according to the image of the surrounding environment captured by each of the video devices, that the image of the surrounding environment captured by the video device includes the image of the robot before expanding the information of the surrounding environment of the robot;
the communication module 404 is configured to establish connection with each video device and acquire a physical location of each video device before the acquisition module 401 acquires an image of the surrounding environment captured by at least one video device;
the operation module 405 is configured to take a matching processing measure according to the expanded ambient environment information.
It should be understood that the present embodiment is a device embodiment corresponding to the second embodiment, and the present embodiment and the second embodiment can be implemented in cooperation. The related technical details mentioned in the second embodiment are still valid in this embodiment, and are not described herein again in order to reduce repetition. Accordingly, the related-art details mentioned in the present embodiment can also be applied to the second embodiment.
It should be noted that each module involved in the third embodiment and the fourth embodiment is a logic module, and in practical application, one logic unit may be one physical unit, may be a part of one physical unit, and may also be implemented by a combination of multiple physical units. In addition, in order to highlight the innovative part of the present invention, the third embodiment and the fourth embodiment do not introduce elements that are not so closely related to solve the technical problems proposed by the present invention, but this does not indicate that there are no other elements in the third embodiment and the fourth embodiment.
A fifth embodiment of the present application relates to a robot, as shown in fig. 10, comprising at least one processor 501; and a memory 502 communicatively coupled to the at least one processor 501; the memory 502 stores instructions executable by the at least one processor 501, and the instructions are executed by the at least one processor 501, so that the at least one processor 501 can execute the environment information determination method in the above embodiments.
It should be noted that in a specific implementation, the robot may further include a communication component. The communication component receives and/or transmits data, such as images of the surrounding environment captured by the video device, under the control of the processor 501.
In this embodiment, the processor 501 is a Central Processing Unit (CPU), and the Memory 502 is a Random Access Memory (RAM). The processor 501 and the memory 502 may be connected by a bus or other means, and fig. 10 illustrates the connection by the bus as an example. The memory 502 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules, such as the programs that implement the environment information determination method in the embodiments of the present application, in the memory 502. The processor 501 executes various functional applications and data processing of the device by executing nonvolatile software programs, instructions, and modules stored in the memory 502, that is, implements the above-described environment information determination method.
The memory 502 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store a list of options, etc. Further, the memory may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some embodiments, memory 502 may optionally include memory located remotely from processor 501, which may be connected to an external device via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
One or more modules are stored in the memory 502, and when executed by the one or more processors 501, perform the method of determining environmental information in any of the method embodiments described above.
The product can execute the method provided by the embodiment of the application, has corresponding functional modules and beneficial effects of the execution method, and can refer to the method provided by the embodiment of the application without detailed technical details in the embodiment.
A sixth embodiment of the present application relates to a computer-readable storage medium storing a computer program. The computer program, when executed by a processor, implements the environment information determination method described in any of the above embodiments.
That is, as can be understood by those skilled in the art, all or part of the steps in the method for implementing the embodiments described above may be implemented by a program instructing related hardware, where the program is stored in a storage medium and includes several instructions to enable a device (which may be a single chip, a chip, or the like) or a processor (processor) to execute all or part of the steps of the method described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
It will be understood by those of ordinary skill in the art that the foregoing embodiments are specific examples for carrying out the present application, and that various changes in form and details may be made therein without departing from the spirit and scope of the present application in practice.