WO2018216710A1 - 天球画像の歪みを補正する画像処理装置とそれを備える自律行動型ロボット - Google Patents

天球画像の歪みを補正する画像処理装置とそれを備える自律行動型ロボット Download PDF

Info

Publication number
WO2018216710A1
WO2018216710A1 PCT/JP2018/019751 JP2018019751W WO2018216710A1 WO 2018216710 A1 WO2018216710 A1 WO 2018216710A1 JP 2018019751 W JP2018019751 W JP 2018019751W WO 2018216710 A1 WO2018216710 A1 WO 2018216710A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
robot
celestial sphere
camera
projection
Prior art date
Application number
PCT/JP2018/019751
Other languages
English (en)
French (fr)
Inventor
淳哉 林
要 林
克則 藁谷
Original Assignee
Groove X株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Groove X株式会社 filed Critical Groove X株式会社
Priority to JP2019520273A priority Critical patent/JP7189620B2/ja
Publication of WO2018216710A1 publication Critical patent/WO2018216710A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/04Viewing devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image

Definitions

  • the present invention relates to a technology for supporting image recognition based on an astronomical image.
  • the premise of biological behavior is external cognition.
  • human-biological behavior also in a robot, it is necessary to make the robot recognize the outside world correctly.
  • the inventors of the present invention thought that if the robot is equipped with an omnidirectional camera (see Patent Document 2) capable of imaging a celestial sphere centered on the user at one time, the recognition ability of the robot can be dramatically expanded.
  • the celestial sphere image by the omnidirectional camera has a large distortion, image recognition processing for the celestial sphere image is difficult.
  • the present invention is an invention completed on the basis of the above-described idea of the present inventors and the problem recognition associated therewith, and the main object thereof is a technology for correcting distortion of a celestial sphere image, in particular, correcting distortion of a celestial sphere image To provide a technique for supporting external world recognition based on a celestial sphere image of a robot.
  • An image processing apparatus includes an image acquisition unit that acquires a celestial sphere image as a captured image of a celestial sphere centered on the camera, and the celestial sphere with respect to a plurality of planes facing the camera at different angles And an image conversion unit configured to obtain a plurality of projection images by projecting pixels of the image.
  • An image processing apparatus includes an image acquisition unit that acquires a celestial sphere image as a captured image of a celestial sphere centered on the camera, and a plurality of cylindrical images that surround the camera at different angles with respect to the camera. And an image conversion unit configured to acquire a plurality of projection images by projecting pixels of the celestial sphere image.
  • the autonomous action type robot acquires from the camera a camera capable of simultaneously imaging substantially the entire area above the robot and a celestial sphere image which is a captured image of a celestial sphere covering the robot upper portion, and converts the celestial sphere image into a polyhedron image.
  • An image conversion unit for converting, a recognition unit for recognizing an external object from a polyhedral image, an operation control unit for selecting a motion of the robot corresponding to the external object, and a drive for executing the motion selected by the operation control unit And a mechanism.
  • the image conversion unit sets an image having a polyhedron covering the upper side of the robot as an imaging surface as a polyhedron image, and projects the pixels of the celestial sphere image on any surface of the polyhedron to convert the celestial sphere image into a polyhedron image.
  • the autonomous action type robot acquires from the camera a camera capable of simultaneously imaging substantially the entire area above the robot and a celestial sphere image which is a captured image of a celestial sphere covering the robot upper portion from the camera.
  • An image conversion unit for converting into an image, a recognition unit for recognizing an external object from the multiple cylindrical image, an operation control unit for selecting a motion of the robot corresponding to the external object, and a motion selected by the operation control unit And a driving mechanism to be executed.
  • the image conversion unit forms a cylindrical image by projecting the pixels of the celestial sphere image on the side surface of the cylinder surrounding the robot, and sets of a plurality of cylindrical images corresponding to a plurality of relative angles of the cylinder and the celestial sphere to the multiple cylindrical image
  • the celestial sphere image is converted into a multiple cylindrical image by setting as.
  • the measuring apparatus obtains first and second cameras capable of capturing a celestial sphere image centered on the camera, and obtains the celestial sphere image from each of the first and second cameras, and is different with respect to the cameras
  • An image conversion unit that acquires a plurality of projected images by projecting pixels of a celestial sphere image onto a plurality of planes facing at an angle, a recognition unit that recognizes an external object from the plurality of projected images, and an external In a first projection image generated based on a celestial sphere image by a first camera including an object, and a second projection image generated based on a celestial sphere image by a second camera including the same external object
  • a distance measuring unit that measures a distance to an external object by triangulation based on the distance.
  • FIG. 2 is a cross-sectional view schematically illustrating the structure of a robot. It is a block diagram of a robot system. It is a conceptual diagram of an emotion map. It is a hardware block diagram of a robot. It is a functional block diagram of a robot system. It is a schematic diagram for demonstrating the production
  • FIG. 2 is a perspective view of a rhombohedral octahedron. It is a developed view of a orthorhombic octahedron. It is a side sectional view of an orthorhombic octahedron and a sky spherical surface. It is a schematic diagram for demonstrating the partial cutting of an expansion square surface. It is a schematic diagram for demonstrating a polyhedron projection method. It is a flowchart which shows the image processing process in 1st Embodiment.
  • FIG. 1A is a front external view of the robot 100.
  • FIG. FIG. 1 (b) is a side external view of the robot 100.
  • the robot 100 in the present embodiment is an autonomous action robot that determines an action or gesture (gesture) based on an external environment and an internal state.
  • the external environment is recognized by various sensors such as a camera and a thermo sensor.
  • the internal state is quantified as various parameters representing the emotion of the robot 100. These will be described later.
  • the robot 100 takes an indoor range of an owner's home as an action range.
  • a human being associated with the robot 100 is referred to as a "user”, and in particular, a user who is a member of a home to which the robot 100 belongs is referred to as an "owner".
  • the body 104 of the robot 100 has an overall rounded shape, and includes an outer shell formed of a soft and elastic material such as urethane, rubber, resin, or fiber.
  • the robot 100 may be dressed. By making the body 104 round and soft and have a good touch, the robot 100 provides the user with a sense of security and a pleasant touch.
  • the robot 100 has a total weight of 15 kilograms or less, preferably 10 kilograms or less, and more preferably 5 kilograms or less.
  • the average weight of a 13-month-old baby is just over 9 kilograms for boys and less than 9 kilograms for girls. Therefore, if the total weight of the robot 100 is 10 kilograms or less, the user can hold the robot 100 with almost the same effort as holding a baby that can not walk alone.
  • the average weight of babies less than 2 months old is less than 5 kilograms for both men and women. Therefore, if the total weight of the robot 100 is 5 kg or less, the user can hold the robot 100 with the same effort as holding an infant.
  • the various attributes such as appropriate weight, roundness, softness, and good touch realize an effect that the user can easily hold the robot 100 and can not hold it.
  • it is desirable that the height of the robot 100 is 1.2 meters or less, preferably 0.7 meters or less.
  • being able to hold it is an important concept.
  • the robot 100 includes three wheels for traveling three wheels. As shown, a pair of front wheels 102 (left wheel 102a, right wheel 102b) and one rear wheel 103 are included.
  • the front wheel 102 is a driving wheel
  • the rear wheel 103 is a driven wheel.
  • the front wheel 102 does not have a steering mechanism, but its rotational speed and rotational direction can be individually controlled.
  • the rear wheel 103 is a so-called omni wheel, and is rotatable in order to move the robot 100 back and forth and right and left.
  • the robot 100 can turn left or rotate counterclockwise.
  • the rotational speed of the left wheel 102a larger than that of the right wheel 102b, the robot 100 can turn right or rotate clockwise.
  • the front wheel 102 and the rear wheel 103 can be completely housed in the body 104 by a drive mechanism (a rotation mechanism, a link mechanism). Even when traveling, most of the wheels are hidden by the body 104, but when the wheels are completely housed in the body 104, the robot 100 can not move. That is, the body 104 descends and is seated on the floor surface F along with the storing operation of the wheels. In this sitting state, the flat seating surface 108 (grounding bottom surface) formed on the bottom of the body 104 abuts on the floor surface F.
  • a drive mechanism a rotation mechanism, a link mechanism
  • the robot 100 has two hands 106.
  • the hand 106 does not have the function of gripping an object.
  • the hand 106 can perform simple operations such as raising, shaking and vibrating.
  • the two hands 106 are also individually controllable.
  • the eye 110 can display an image with a liquid crystal element or an organic EL element.
  • the robot 100 mounts various sensors such as a microphone array and an ultrasonic sensor that can identify the sound source direction. In addition, it has a built-in speaker and can emit a simple voice.
  • a horn 112 is attached to the head of the robot 100. As described above, since the robot 100 is lightweight, the user can lift the robot 100 by grasping the tongue 112. An omnidirectional camera is attached to the horn 112 so that the entire upper portion of the robot 100 can be imaged at one time.
  • FIG. 2 is a cross-sectional view schematically showing the structure of the robot 100.
  • the body 104 of the robot 100 includes a base frame 308, a body frame 310, a pair of resin wheel covers 312 and a shell 314.
  • the base frame 308 is made of metal and constitutes an axial center of the body 104 and supports an internal mechanism.
  • the base frame 308 is configured by connecting an upper plate 332 and a lower plate 334 by a plurality of side plates 336 up and down.
  • the plurality of side plates 336 is sufficiently spaced to allow air flow.
  • a battery 118, a control circuit 342 and various actuators are accommodated.
  • the body frame 310 is made of a resin material and includes a head frame 316 and a body frame 318.
  • the head frame 316 has a hollow hemispherical shape and forms a head skeleton of the robot 100.
  • the body frame 318 has a stepped cylindrical shape and forms the body frame of the robot 100.
  • the body frame 318 is integrally fixed to the base frame 308.
  • the head frame 316 is assembled to the upper end of the body frame 318 so as to be relatively displaceable.
  • the head frame 316 is provided with three axes of a yaw axis 320, a pitch axis 322 and a roll axis 324, and an actuator 326 for rotationally driving each axis.
  • the actuator 326 includes a plurality of servomotors for individually driving each axis.
  • the yaw shaft 320 is driven for swinging motion
  • the pitch shaft 322 is driven for loosening motion
  • the roll shaft 324 is driven for tilting motion.
  • a plate 325 supporting the yaw axis 320 is fixed to the top of the head frame 316.
  • the plate 325 is formed with a plurality of vents 327 for ensuring ventilation between the top and bottom.
  • a metallic base plate 328 is provided to support the head frame 316 and its internal features from below.
  • the base plate 328 is connected to the plate 325 via the cross link mechanism 329 (pantograph mechanism), and is connected to the upper plate 332 (base frame 308) via the joint 330.
  • Torso frame 318 houses base frame 308 and wheel drive mechanism 370.
  • the wheel drive mechanism 370 includes a pivot shaft 378 and an actuator 379.
  • the lower half of the body frame 318 is narrow to form a storage space S of the front wheel 102 with the wheel cover 312.
  • the outer cover 314 is made of urethane rubber and covers the body frame 310 and the wheel cover 312 from the outside.
  • the hand 106 is integrally molded with the skin 314.
  • an opening 390 for introducing external air is provided at the upper end of the shell 314.
  • FIG. 3 is a block diagram of the robot system 300.
  • the robot system 300 includes a robot 100, a server 200 and a plurality of external sensors 114.
  • a plurality of external sensors 114 (external sensors 114a, 114b, ..., 114n) are installed in advance in the house.
  • the external sensor 114 may be fixed to the wall of the house or may be mounted on the floor.
  • position coordinates of the external sensor 114 are registered. The position coordinates are defined as x, y coordinates in a house assumed as the action range of the robot 100.
  • the server 200 is installed in a house.
  • the server 200 and the robot 100 in the present embodiment usually correspond one to one.
  • the server 200 determines the basic behavior of the robot 100 based on the information obtained from the sensors contained in the robot 100 and the plurality of external sensors 114.
  • the external sensor 114 is for reinforcing the senses of the robot 100, and the server 200 is for reinforcing the brain of the robot 100.
  • the external sensor 114 periodically transmits a wireless signal (hereinafter referred to as a “robot search signal”) including the ID of the external sensor 114 (hereinafter referred to as “beacon ID”).
  • a wireless signal hereinafter referred to as a “robot search signal”
  • the robot 100 sends back a radio signal (hereinafter referred to as a “robot reply signal”) including a beacon ID.
  • the server 200 measures the time from when the external sensor 114 transmits the robot search signal to when the robot reply signal is received, and measures the distance from the external sensor 114 to the robot 100. By measuring the distances between the plurality of external sensors 114 and the robot 100, the position coordinates of the robot 100 are specified. Of course, the robot 100 may periodically transmit its position coordinates to the server 200.
  • FIG. 4 is a conceptual view of the emotion map 116.
  • the emotion map 116 is a data table stored in the server 200.
  • the robot 100 selects an action according to the emotion map 116.
  • An emotion map 116 shown in FIG. 4 indicates the size of a bad feeling for the location of the robot 100.
  • the x-axis and y-axis of emotion map 116 indicate two-dimensional space coordinates.
  • the z-axis indicates the size of the bad feeling. When the z value is positive, the preference for the location is high, and when the z value is negative, it indicates that the location is disliked.
  • the coordinate P1 is a point (hereinafter, referred to as a “favory point”) in the indoor space managed by the server 200 as the action range of the robot 100, in which the favorable feeling is high.
  • the favor point may be a "safe place” such as a shade of a sofa or under a table, a place where people easily gather like a living, or a lively place. In addition, it may be a place which has been gently boiled or touched in the past.
  • the definition of what kind of place the robot 100 prefers is arbitrary, generally, it is desirable to set a place favored by small children such as small children and dogs and cats.
  • a coordinate P2 is a point at which a bad feeling is high (hereinafter, referred to as a “disgust point”).
  • Aversion points are places with loud noise such as near a television, places that are easy to get wet like baths and washrooms, closed spaces or dark places, places that lead to unpleasant memories that have been roughly treated by users, etc. It may be.
  • the definition of what place the robot 100 hates is also arbitrary, it is generally desirable to set a place where small animals such as small children, dogs and cats are scared as a disappointment point.
  • the coordinate Q indicates the current position of the robot 100.
  • the robot 100 moves in the direction in which it is drawn to the favor point (coordinate P1) and in the direction away from the aversion point (coordinate P2).
  • the emotion map 116 changes dynamically.
  • the z-value (favorable feeling) at the coordinate P1 decreases with time.
  • the robot 100 can reach the favor point (coordinate P1), and emulate the biological behavior of "feeling of emotion” being satisfied and eventually "being bored” at the place.
  • bad feelings at coordinate P2 are also alleviated with time.
  • new favor points and aversion points are created, whereby the robot 100 makes a new action selection.
  • the robot 100 has an "interest" at a new favor point and continuously selects an action.
  • the emotion map 116 expresses the ups and downs of emotion as the internal state of the robot 100.
  • the robot 100 aims at the favor point, avoids the disgust point, stays at the favor point for a while, and then takes the next action again.
  • Such control can make the behavior selection of the robot 100 human and biological.
  • the map that affects the behavior of the robot 100 (hereinafter collectively referred to as “action map”) is not limited to the emotion map 116 of the type shown in FIG. 4.
  • action map is not limited to the emotion map 116 of the type shown in FIG. 4.
  • various action maps such as curiosity, fear of fear, feeling of relief, feeling of calmness and dimness, feeling of physical comfort such as coolness and warmth, and so on.
  • the destination point of the robot 100 may be determined by weighted averaging the z values of each of the plurality of action maps.
  • the robot 100 has parameters indicating the magnitudes of various emotions and senses separately from the action map. For example, when the value of the emotion parameter of loneliness is increasing, the weighting coefficient of the behavior map for evaluating a safe place is set large, and the value of the emotion parameter is lowered by reaching the target point. Similarly, when the value of the parameter indicating a feeling of being boring is increasing, the weighting coefficient of the behavior map for evaluating a place satisfying the curiosity may be set large.
  • FIG. 5 is a hardware configuration diagram of the robot 100.
  • the robot 100 includes an internal sensor 128, a communicator 126, a storage device 124, a processor 122, a drive mechanism 120 and a battery 118.
  • the drive mechanism 120 includes the wheel drive mechanism 370 described above.
  • Processor 122 and storage 124 are included in control circuit 342.
  • the units are connected to each other by a power supply line 130 and a signal line 132.
  • the battery 118 supplies power to each unit via the power supply line 130. Each unit transmits and receives control signals through a signal line 132.
  • the battery 118 is a lithium ion secondary battery and is a power source of the robot 100.
  • the internal sensor 128 is an assembly of various sensors incorporated in the robot 100. Specifically, it is a camera (all-sky camera), a microphone array, a distance measurement sensor (infrared sensor), a thermo sensor, a touch sensor, an acceleration sensor, an odor sensor, and the like.
  • the touch sensor is disposed between the outer skin 314 and the body frame 310 to detect a touch of the user.
  • the odor sensor is a known sensor to which the principle that the electric resistance is changed by the adsorption of the molecule that is the source of the odor is applied.
  • the communication device 126 is a communication module that performs wireless communication for various external devices such as the server 200, the external sensor 114, and a portable device owned by a user.
  • the storage device 124 is configured by a non-volatile memory and a volatile memory, and stores a computer program and various setting information.
  • the processor 122 is an execution means of a computer program.
  • the drive mechanism 120 is an actuator that controls an internal mechanism. In addition to this, indicators and speakers will also be installed.
  • the processor 122 performs action selection of the robot 100 while communicating with the server 200 and the external sensor 114 via the communication device 126.
  • Various external information obtained by the internal sensor 128 also affects behavior selection.
  • the drive mechanism 120 mainly controls the wheel (front wheel 102) and the head (head frame 316).
  • the drive mechanism 120 changes the rotational direction and the rotational direction of the two front wheels 102 to change the moving direction and the moving speed of the robot 100.
  • the drive mechanism 120 can also raise and lower the wheels (the front wheel 102 and the rear wheel 103). When the wheel ascends, the wheel is completely housed in the body 104, and the robot 100 abuts on the floor surface F at the seating surface 108 to be in the seating state. Also, the drive mechanism 120 controls the hand 106 via the wire 135.
  • FIG. 6 is a functional block diagram of the robot system 300.
  • robot system 300 includes robot 100, server 200, and a plurality of external sensors 114.
  • Each component of the robot 100 and the server 200 includes computing devices such as a CPU (Central Processing Unit) and various co-processors, storage devices such as memory and storage, hardware including wired or wireless communication lines connecting them, and storage It is stored in the device and implemented by software that supplies processing instructions to the computing unit.
  • the computer program may be configured by a device driver, an operating system, various application programs located in the upper layer of them, and a library that provides common functions to these programs.
  • Each block described below indicates not a hardware unit configuration but a function unit block.
  • Some of the functions of the robot 100 may be realized by the server 200, and some or all of the functions of the server 200 may be realized by the robot 100.
  • the server 200 includes a communication unit 204, a data processing unit 202, and a data storage unit 206.
  • the communication unit 204 takes charge of communication processing with the external sensor 114 and the robot 100.
  • the data storage unit 206 stores various data.
  • the data processing unit 202 executes various processes based on the data acquired by the communication unit 204 and the data stored in the data storage unit 206.
  • the data processing unit 202 also functions as an interface of the communication unit 204 and the data storage unit 206.
  • the data storage unit 206 includes a motion storage unit 232, a map storage unit 216, and a personal data storage unit 218.
  • the robot 100 has a plurality of motion patterns (motions). Various motions are defined, such as shaking the hand 106, approaching the owner while meandering, staring at the owner with a sharp neck, and the like.
  • the motion storage unit 232 stores a "motion file" that defines control content of motion. Each motion is identified by a motion ID. The motion file is also downloaded to the motion storage unit 160 of the robot 100. Which motion is to be performed may be determined by the server 200 or the robot 100.
  • the motions of the robot 100 are configured as complex motions including a plurality of unit motions.
  • the robot 100 may be expressed as a combination of a unit motion that turns toward the owner, a unit motion that approaches while raising the hand, a unit motion that approaches while shaking the body, and a unit motion that sits while raising both hands. .
  • the combination of such four motions realizes a motion of “close to the owner, raise your hand halfway, and finally sit down with your body shaking”.
  • the rotation angle and angular velocity of an actuator provided in the robot 100 are defined in association with the time axis.
  • Various motions are represented by controlling each actuator with the passage of time according to a motion file (actuator control information).
  • the transition time when changing from the previous unit motion to the next unit motion is called “interval".
  • the interval may be defined according to the time required for unit motion change and the contents of the motion.
  • the length of the interval is adjustable.
  • settings relating to behavior control of the robot 100 such as when to select which motion, output adjustment of each actuator for realizing the motion, and the like are collectively referred to as “behavior characteristics”.
  • the behavior characteristics of the robot 100 are defined by a motion selection algorithm, a motion selection probability, a motion file, and the like.
  • the motion storage unit 232 stores, in addition to the motion file, a motion selection table that defines motion to be executed when various events occur.
  • a motion selection table that defines motion to be executed when various events occur.
  • one or more motions and their selection probabilities are associated with an event.
  • the map storage unit 216 stores, in addition to a plurality of action maps, a map indicating the arrangement of obstacles such as chairs and tables.
  • the personal data storage unit 218 stores information of the user, in particular, the owner. Specifically, master information indicating the closeness to the user and the physical and behavioral characteristics of the user is stored. Other attribute information such as age and gender may be stored.
  • the robot 100 has an internal parameter called familiarity for each user.
  • familiarity for each user.
  • an action indicating favor with itself such as raising itself or giving a voice
  • familiarity with the user is increased.
  • the closeness to the user who is not involved in the robot 100, the user who is violent, and the user who is infrequently encountered is low.
  • the data processing unit 202 includes a position management unit 208, a map management unit 210, a recognition unit 212, an operation control unit 222, a closeness management unit 220, and a state management unit 244.
  • the position management unit 208 specifies the position coordinates of the robot 100 by the method described with reference to FIG.
  • the position management unit 208 may also track the user's position coordinates in real time.
  • the state management unit 244 manages various internal parameters such as various physical states such as the charging rate, the internal temperature, and the processing load of the processor 122.
  • the state management unit 244 includes an emotion management unit 234.
  • the emotion management unit 234 manages various emotion parameters that indicate the emotion (such as loneliness, curiosity, approval request, etc.) of the robot 100. These emotional parameters are constantly fluctuating.
  • the importance of the plurality of action maps changes according to the emotion parameter, the movement target point of the robot 100 changes according to the action map, and the emotion parameter changes according to the movement of the robot 100 or the passage of time.
  • the emotion management unit 234 sets the weighting coefficient of the behavior map for evaluating a safe place large.
  • the emotion management unit 234 reduces the emotion parameter indicating the loneliness.
  • various emotional parameters are also changed by the response action described later. For example, the emotion parameter indicating loneliness declines when being "held" from the owner, and the emotion parameter indicating loneliness gradually increases when the owner is not viewed for a long time.
  • the map management unit 210 changes the parameter of each coordinate in the method described with reference to FIG. 4 for a plurality of action maps.
  • the recognition unit 212 recognizes the external environment.
  • the recognition of the external environment includes various recognitions such as recognition of weather and season based on temperature and humidity, recognition of an object shade (safety area) based on light quantity and temperature.
  • the recognition unit 156 of the robot 100 acquires various types of environment information by the internal sensor 128, performs primary processing on the environment information, and transfers the information to the recognition unit 212 of the server 200.
  • the recognition unit 156 of the robot 100 extracts an image area corresponding to a moving object, in particular, a person or an animal, from the image, and indicates a physical feature or an action characteristic of the moving object from the extracted image area.
  • the feature vector component is a numerical value that quantifies various physical and behavioral features. For example, the width of the human eye is digitized in the range of 0 to 1 to form one feature vector component.
  • the method of extracting feature vectors from a captured image of a person is an application of known face recognition technology.
  • the robot 100 transmits the feature vector to the server 200.
  • the recognition unit 212 of the server 200 further includes a person recognition unit 214 and a response recognition unit 228.
  • the human recognition unit 214 compares the feature vector extracted from the image captured by the built-in camera of the robot 100 with the feature vector of the user (cluster) registered in advance in the personal data storage unit 218, thereby capturing the user It is determined which person corresponds to (user identification processing).
  • the person recognition unit 214 includes an expression recognition unit 230.
  • the facial expression recognition unit 230 estimates the user's emotion by performing image recognition on the user's facial expression.
  • the person recognition unit 214 also performs user identification processing on moving objects other than a person, for example, cats and dogs that are pets.
  • the response recognition unit 228 recognizes various response actions made to the robot 100, and classifies them as pleasant and unpleasant actions.
  • the response recognition unit 228 also classifies into a positive / negative response by recognizing the owner's response to the behavior of the robot 100.
  • the pleasant and unpleasant behavior is determined depending on whether the user's response behavior is comfortable or unpleasant as a living thing. For example, holding is a pleasant act for the robot 100, and kicking is an unpleasant act for the robot 100.
  • the positive / negative response is determined depending on whether the user's response indicates a user's pleasant emotion or an unpleasant emotion. For example, being held is a positive response indicating the user's pleasant feeling, and kicking is a negative response indicating the user's unpleasant feeling.
  • the motion control unit 222 of the server 200 cooperates with the motion control unit 150 of the robot 100 to determine the motion of the robot 100.
  • the motion control unit 222 of the server 200 creates a movement target point of the robot 100 and a movement route for the movement based on the action map selection by the map management unit 210.
  • the operation control unit 222 may create a plurality of movement routes, and then select one of the movement routes.
  • the motion control unit 222 selects the motion of the robot 100 from the plurality of motions of the motion storage unit 232.
  • Each motion is associated with a selection probability for each situation. For example, a selection method is defined such that motion A is executed with a probability of 20% when a pleasant action is made by the owner, and motion B is executed with a probability of 5% when the temperature reaches 30 degrees or more. .
  • a movement target point and a movement route are determined in the action map, and a motion is selected by various events described later.
  • the closeness management unit 220 manages closeness for each user. As described above, the intimacy degree is registered in the personal data storage unit 218 as part of the personal data. When a pleasant act is detected, the closeness management unit 220 increases the closeness to the owner. The intimacy is down when an offensive act is detected. In addition, the closeness of the owner who has not viewed for a long time gradually decreases.
  • the robot 100 includes a communication unit 142, a data processing unit 136, a data storage unit 148, an internal sensor 128, and a drive mechanism 120.
  • the communication unit 142 corresponds to the communication device 126 (see FIG. 5), and takes charge of communication processing with the external sensor 114, the server 200, and the other robot 100.
  • the data storage unit 148 stores various data.
  • the data storage unit 148 corresponds to the storage device 124 (see FIG. 5).
  • the data processing unit 136 executes various processes based on the data acquired by the communication unit 142 and the data stored in the data storage unit 148.
  • the data processing unit 136 corresponds to a processor 122 and a computer program executed by the processor 122.
  • the data processing unit 136 also functions as an interface of the communication unit 142, the internal sensor 128, the drive mechanism 120, and the data storage unit 148.
  • the data storage unit 148 includes a motion storage unit 160 that defines various motions of the robot 100 and an image storage unit 172.
  • Various motion files are downloaded from the motion storage unit 232 of the server 200 to the motion storage unit 160 of the robot 100.
  • Motion is identified by motion ID.
  • a state in which the front wheel 102 is accommodated which causes the robot 100 to rotate by having only the front wheel 102 housed and seated, lifting the hand 106, rotating the two front wheels 102 in reverse, or rotating only one front wheel 102
  • various motions such as shaking by rotating the front wheel 102 at a time, stopping and turning back once when leaving the user, operation timing, operation time, operation direction, etc. of various actuators (drive mechanism 120) Temporarily defined in motion file.
  • the image storage unit 172 temporarily stores an astronomical image (described later) acquired by the omnidirectional camera 134 and various images in the process of the processing.
  • the internal sensor 128 includes an omnidirectional camera 134.
  • the omnidirectional camera 134 in the present embodiment is attached to the horn 112.
  • the data processing unit 136 includes a recognition unit 156, an operation control unit 150, an image acquisition unit 152, an image conversion unit 154, and a distance measurement unit 158.
  • the motion control unit 150 of the robot 100 determines the motion of the robot 100 in cooperation with the motion control unit 222 of the server 200. Some motions may be determined by the server 200, and other motions may be determined by the robot 100. Also, although the robot 100 determines the motion, the server 200 may determine the motion when the processing load of the robot 100 is high. The base motion may be determined at server 200 and additional motion may be determined at robot 100. How to share the motion determination process in the server 200 and the robot 100 may be designed according to the specification of the robot system 300.
  • the motion control unit 150 of the robot 100 determines the moving direction of the robot 100 together with the motion control unit 222 of the server 200.
  • the movement based on the action map may be determined by the server 200, and the immediate movement such as turning off the obstacle may be determined by the movement control unit 150 of the robot 100.
  • the drive mechanism 120 drives the front wheel 102 in accordance with an instruction from the operation control unit 150 to direct the robot 100 to the movement target point.
  • the operation control unit 150 of the robot 100 instructs the drive mechanism 120 to execute the selected motion.
  • the drive mechanism 120 controls each actuator according to the motion file.
  • the motion control unit 150 can also execute a motion to lift both hands 106 as a gesture that encourages "hug” when a user with high intimacy is nearby, and when the "hug” gets tired, the left and right front wheels 102 By alternately repeating reverse rotation and stop while being accommodated, it is also possible to express a motion that annoys you.
  • the drive mechanism 120 causes the robot 100 to express various motions by driving the front wheel 102, the hand 106, and the neck (head frame 316) according to the instruction of the operation control unit 150.
  • the image acquisition unit 152 acquires a celestial sphere image from the omnidirectional camera 134.
  • the image conversion unit 154 converts the celestial sphere image into various projection images (details will be described later).
  • the distance measuring unit 158 measures the distance to an external object by the principle of triangular distance measurement (described later in relation to the third embodiment).
  • the recognition unit 156 of the robot 100 interprets external information obtained from the internal sensor 128.
  • the recognition unit 156 is capable of visual recognition (visual unit), odor recognition (olfactory unit), sound recognition (hearing unit), and tactile recognition (tactile unit).
  • the recognition unit 156 detects a moving object such as a person or a pet based on the sky image by the omnidirectional camera 134.
  • the recognition unit 156 includes a feature extraction unit 146.
  • the feature extraction unit 146 extracts a feature vector from the captured image of the moving object.
  • the feature vector is a set of parameters (features) indicating physical features and behavioral features of the moving object.
  • features are also extracted from an odor sensor, a built-in sound collection microphone, a temperature sensor, and the like. These features are also quantified and become feature vector components.
  • the robot system 300 clusters users who frequently appear as “owners” based on physical features and behavioral features obtained from a large amount of image information and other sensing information. For example, if a moving object (user) with a beard is active (early rising) in the early morning and is less likely to wear a red dress, a cluster (with a beard growing early and not wearing much red dress) User), the first profile. On the other hand, moving objects wearing glasses often wear skirts, but if these moving objects have no beards, clusters wearing glasses wearing skirts but no absolute beards The second profile (user) can be created.
  • the robot 100 does not have to recognize that the first profile is "father". It is only necessary to be able to recognize the figure of "a cluster with a beard and often getting up early, and a cluster that rarely wears red clothes”. For each profile, a feature vector characterizing the profile is defined.
  • the robot 100 newly recognizes a moving object (user) while such cluster analysis is completed.
  • the person recognition unit 214 of the server 200 executes the user identification process based on the feature vector of the new moving object, and determines which profile (cluster) the moving object corresponds to. For example, when a moving object with a beard is detected, the moving object is likely to be a father. If this moving object is acting in the early morning, it is more certain that it corresponds to the father. On the other hand, when detecting a moving object wearing glasses, the moving object may be a mother. If the moving object has a beard, it is not a mother but a father, so it is determined to be a new person not subjected to cluster analysis.
  • cluster analysis The formation of clusters (profiles) by feature extraction (cluster analysis) and the fitting to clusters involved in feature extraction may be performed concurrently.
  • the recognition unit 156 of the robot 100 selects and extracts information necessary for recognition, and interpretation processes such as determination are executed by the recognition unit 212 of the server 200. .
  • the recognition processing may be performed only by the recognition unit 212 of the server 200, or may be performed only by the recognition unit 156 of the robot 100, or both perform the above-mentioned recognition processing while sharing roles. It is also good.
  • the recognition unit 156 recognizes this by the built-in acceleration sensor, and the response recognition unit 228 of the server 200 recognizes that the "abuse act" is performed by the user in the vicinity. Even when the user holds the tongue 112 and lifts the robot 100, it may be recognized as a violent act.
  • the response recognition unit 228 of the server 200 may recognize that the “voice call action” has been performed on itself.
  • the temperature around the body temperature is detected, it is recognized that the user has made “contact action”, and when the upward acceleration is detected in the state where the contact is recognized, it is recognized that "handing" is made.
  • the physical contact when the user lifts the body 104 may be sensed, or the holding on the front wheel 102 may be recognized by lowering the load.
  • the robot 100 acquires the user's action as physical information by the internal sensor 128, the response recognition unit 228 of the server 200 determines comfort / discomfort, and the recognition unit 212 of the server 200 performs user identification processing based on the feature vector Run.
  • the response recognition unit 228 of the server 200 recognizes various responses of the user to the robot 100.
  • some typical response actions correspond to pleasure or discomfort, affirmation or denial.
  • most pleasurable actions are positive responses, and most offensive actions are negative.
  • Pleasure and discomfort are related to intimacy, and affirmative and negative responses affect the action selection of the robot 100.
  • the closeness management unit 220 of the server 200 changes the closeness to the user.
  • the intimacy with the user who has performed pleasure is increased, and the intimacy with the user who has performed offensive activity decreases.
  • the recognition unit 212 of the server 200 determines the comfort / discomfort according to the response, and the map management unit 210 changes the z value of the point where the comfort / discommitment was performed in the action map expressing “attachment to a place”. May be For example, when a pleasant act is performed in the living, the map management unit 210 may set a favor point in the living with a high probability. In this case, a positive feedback effect is realized in that the robot 100 prefers a living and enjoys an activity in the living, and thus prefers a living more and more.
  • the closeness to the user changes depending on what action is taken from the moving object (user).
  • the robot 100 sets a high degree of intimacy for people who frequently meet, people who frequently touch, and people who frequently speak. On the other hand, the intimacy with the people who rarely see, those who do not touch very much, the violent people, the people who speak loudly becomes low.
  • the robot 100 changes the intimacy degree of each user based on various external information detected by sensors (vision, touch, hearing).
  • the actual robot 100 autonomously performs complex action selection in accordance with the action map.
  • the robot 100 acts while being influenced by a plurality of action maps based on various parameters such as loneliness, boredom and curiosity.
  • the robot 100 tries to approach people with high intimacy and leaves people with low intimacy, in principle, when the influence of the action map is excluded or in an internal state where the influence of the behavior map is small. I assume.
  • the behavior of the robot 100 is categorized as follows according to closeness.
  • the user robot 100 with a very high degree of intimacy approaches the user (hereinafter referred to as “proximity action”), and performs the affection of love by predefining a gesture of love for people. Express strongly.
  • the user robot 100 with relatively high intimacy performs only the proximity action.
  • the user robot 100 with relatively low intimacy does not perform any particular action.
  • the user robot 100 with a particularly low intimacy performs a leaving action.
  • the robot 100 when the robot 100 finds a user with high intimacy, it approaches that user, and conversely, when finding a user with low intimacy, it leaves the user.
  • it is possible to express so-called "human sight" behavior.
  • the robot 100 may move away from the visitor and head toward the family (user B with high intimacy).
  • the user B can feel that the robot 100 is aware of strangers and feels uneasy, and relies on himself.
  • Such a behavioral expression evokes the user B the joy of being selected and relied upon, and the accompanying attachment.
  • the user A who is a visitor frequently visits, calls and makes a touch the intimacy with the user A of the robot 100 gradually increases, and the robot 100 does not act as an acquaintance with the user A (disengagement behavior) .
  • the user A can also have an attachment to the robot 100 by feeling that the robot 100 has become familiar with himself.
  • the robot 100 may not select the behavior influenced by the intimacy because the action map for finding a place satisfying the curiosity is emphasized. .
  • the external sensor 114 installed at the entrance detects that the user has returned home, the user may be asked to give priority to the user's meeting action.
  • FIG. 7 is a schematic diagram for explaining the generation method of the celestial sphere image.
  • the celestial sphere 140 is a conceptual imaging surface when the omnidirectional camera 134 is installed at the center point O.
  • the omnidirectional camera 134 projects a coordinate point on the top surface 140 (imaging surface) on the imaging surface 138.
  • the imaging surface 138 is a horizontal surface including the omnidirectional camera 134.
  • the top spherical surface 140 can be divided into an upper upper sphere 140 a on the upper half side and a lower hemisphere 140 b on the lower half side.
  • the coordinate point P1 of the upper celestial sphere 140a is projected to the coordinate point Q1 of the imaging surface 138.
  • coordinate points P2, P3 and PZ (zenith) of the upper celestial sphere 140a are projected onto coordinate points Q2, Q3 and O (central point) of the imaging surface 138 (surface).
  • the lower hemisphere 140b is also projected onto the imaging surface 138 in a similar manner. Coordinate points P4, P5, P6, and PN (the nadir) of the lower hemisphere 140b are projected on coordinate points Q1, Q2, Q3, and O (the center point) of the imaging surface 138 (the back surface).
  • All coordinate points of the upper sphere 140 a are projected on the surface side of the imaging surface 138, and all coordinate points of the lower hemisphere 140 b are projected on the back surface of the imaging surface 138.
  • a two-dimensional “sky-sphere image” is generated by projecting coordinate points (pixels) on the three-dimensional sky-sphere 140 onto the two-dimensional imaging surface 138.
  • a method of generating such a celestial sphere image is well known by a fisheye lens or the like.
  • FIG. 8 is a schematic view of the celestial sphere image 170.
  • the celestial sphere image 170 includes a perfectly circular upper celestial sphere image 170a and a lower celestial sphere image 170b.
  • the upper celestial sphere image 170 a is an image obtained by projecting the upper celestial sphere 140 a (upper imaging surface) onto the surface of the imaging surface 138.
  • the lower celestial sphere image 170 b is an image obtained by projecting the lower hemisphere 140 b (lower imaging surface) on the back surface of the imaging surface 138.
  • the central point O of the upper celestial sphere image 170a corresponds to the zenith PZ of the upper celestial sphere 140a
  • the central point O of the lower celestial sphere image 170b corresponds to the nadir PN of the lower hemisphere 140b
  • the celestial sphere center line 174 is a boundary between the upper celestial sphere 140a and the lower hemisphere 140b.
  • the omnidirectional camera 134 of the robot 100 may capture only the upper celestial sphere 140a.
  • the celestial sphere image 170 is composed of only the celestial sphere image 170a.
  • the celestial sphere image 170 may be a captured image that covers a part of the celestial sphere 140, at least 35% or more of the surface area of the celestial sphere 140. It is desirable that the celestial sphere image 170 be a captured image that targets the upper side of the robot 100, that is, a range including the zenith PZ of the celestial sphere 140.
  • FIG. 9 is a schematic view for explaining the relationship between the cylindrical surface 162 and the top surface 140 in the equidistant cylindrical projection.
  • a cylindrical surface 162 circumscribing the celestial sphere 140 is assumed.
  • the cylindrical surface 162 encircles the top spherical surface 140 and has no upper and lower surfaces.
  • the coordinate point of the top surface 140 is projected on the cylindrical surface 162.
  • the coordinate point of the cylindrical surface 162 corresponding to the coordinate point of the celestial sphere image 170 is specified.
  • the cylindrical center line 180 is a line passing through the center of the cylindrical surface 162.
  • celestial centerline 174 and cylindrical centerline 180 coincide. Therefore, in the vicinity of the cylinder center line 180 (the celestial sphere center line 174), the sky spherical surface 140 and the cylindrical surface 162 almost coincide with each other.
  • the zenith PZ or the zenith PN hereinafter, collectively referred to as “pole”
  • the divergence between the top spherical surface 140 and the cylindrical surface 162 becomes larger.
  • the equidistant cylindrical projection is a projection method in which the latitude and longitude of a sphere are read as X and Y coordinates of a plane (side of a cylinder). For this reason, when the image of the top spherical surface 140 is projected onto the cylindrical surface 162, there is a disadvantage that the projected image is largely stretched in the lateral direction near the pole point.
  • FIG. 10 is a schematic diagram for explaining an image projection method based on equidistant cylindrical projection from a celestial sphere image 170 to a single cylindrical image 164.
  • the single cylindrical image 164 is a projection image from the top surface 140 to the cylindrical surface 162.
  • the single cylindrical image 164 is an image developed from the cylindrical surface 162 of FIG.
  • a method of projecting the coordinate point A1 and the coordinate point A2 of the celestial sphere 140 on the single cylindrical image 164 will be described.
  • the point A1 is closer to the celestial centerline 174 than the point A2.
  • the point A1 of the celestial sphere 140 corresponds to the point B1 in the celestial sphere image 170, and corresponds to the point C1 in the single cylindrical image 164.
  • the point A2 corresponds to the point B2 in the celestial sphere image 170, and corresponds to the point C2 in the single cylindrical image 164.
  • the coordinates of the point A1 of the celestial sphere 140 corresponding to the point B1 are determined.
  • the coordinate transformation to the plane 162 calculates the coordinates of the point C1 of the single cylindrical image 164.
  • the single cylindrical image 164 is largely distorted in the vicinity of the pole point (hatched portion in the figure). For this reason, the point B2 of the celestial sphere image 170 is laterally stretched in the single cylindrical image 164. In other words, the point C2 corresponding to the point B2 is stretched in the lateral direction.
  • a general image recognition program for detecting an external object from a captured image.
  • a general image recognition program is premised on that there is no distortion in a captured image (projected image) to be analyzed. Therefore, it goes without saying that it is difficult to perform image recognition on a single cylindrical image 164 by equidistant cylindrical projection, needless to say the celestial sphere image 170.
  • a first countermeasure against this problem is to newly develop a program capable of image recognition taking into consideration distortion of the celestial sphere image 170 and the single cylindrical image 164.
  • the second measure is to develop an image correction program that generates a distortion-free or distortion-less projected image from the celestial sphere image 170 regardless of the equidistant cylindrical projection.
  • the second measure has the advantage of being able to use various existing image recognition programs. In the present embodiment, the second measure is adopted, and two types of methods for correcting the distortion of the celestial sphere image 170 are shown.
  • multi-cylindrical projection method As a method of correcting the distortion of the celestial sphere image 170, a method of projecting onto an orthorhombic octahedron (hereinafter, referred to as “polyhedron projection method") in the first embodiment will be described. Next, a projection method on multiple cylinders (hereinafter referred to as “multi-cylindrical projection method”) will be described as a second embodiment.
  • FIG. 11 is a perspective view of a rhombohedral octahedron 166.
  • FIG. FIG. 12 is a developed view of the orthorhombic octahedron 166.
  • a tetragonal octahedron 166 surrounding the omnidirectional camera 134 is assumed.
  • the orthorhombic octahedron 166 is a polyhedron which has the same center as the spherical surface 140.
  • the orthorhombic octahedron 166 has a total of 26 surfaces of 18 square surfaces (hereinafter also referred to as “square surfaces”) and 8 regular triangular surfaces (hereinafter also referred to as “regular triangular surfaces”).
  • the breakdown of the 18 square faces is: upper face T and lower face B, and eight central side faces F, FR, R, BR, B, BL, L, FL in the center, and four faces connecting the upper face T and central side
  • the upper surface T is a horizontal surface perpendicular to the axis connecting the center O and the zenith PZ.
  • the lower surface B is a horizontal surface perpendicular to the axis connecting the center O and the nadir PN.
  • an enlarged parallel surface 168 expanded in a parallel direction is assumed for all square surfaces.
  • the enlarged parallel planes 168 intersect one another.
  • An enlarged parallel surface 168 (TF) shown in FIG. 11 is a surface in which the upper side surface TF is expanded in parallel in the vertical and horizontal directions.
  • the enlarged parallel surface 168 (F) is a surface in which the central side surface F is expanded in parallel in the vertical and horizontal directions.
  • the enlarged parallel surface 168 (B) shown in FIG. 12 is a surface in which the central side surface B is expanded in parallel in the vertical and horizontal directions.
  • coordinate points (pixels) on the celestial sphere image 170 are projected on a total of 18 enlarged parallel planes 168. That is, a set of 18 enlarged parallel surfaces 168 is a projection image of the celestial sphere image 170.
  • FIG. 13 is a side cross-sectional view of an orthorhombic octahedron 166 and a top spherical surface 140.
  • the point of intersection when a perpendicular line is drawn from the coordinate point A of the spherical surface 140 to the enlarged parallel surface 168 (TF) is a point S (TF).
  • the point of intersection when the perpendicular line is drawn from the coordinate point A of the celestial sphere 140 to the enlarged parallel surface 168 (F) is a point S (F). It is assumed that the point Q corresponds to the point A in the imaging plane 138 (the celestial sphere image 170).
  • the image conversion unit 154 specifies a point S (TF) and a point S (F) corresponding to the point A (point Q) in each of the enlarged parallel surface 168 (TF) and the enlarged parallel surface 168 (F). More specifically, in order to calculate the transformation function f TF for calculating the coordinates of point S (TF) in enlarged parallel surface 168 (TF), and the coordinates of point S (F) in enlarged parallel surface 168 (F) The conversion function f F of is prepared in advance. The image conversion unit 154 calculates the coordinates of the projection point on each enlarged parallel surface 168 by using a plurality of conversion functions corresponding to the plurality of enlarged parallel surfaces 168.
  • the image conversion unit 154 copies the pixel (imaging information) of the coordinate point A in the celestial sphere image 170 to the point S (TF) of the enlarged parallel surface 168 (TF) and the point S (F) of the enlarged parallel surface 168 (F)
  • the celestial sphere image 170 is projected onto the magnified parallel surface 168. That is, the pixel at coordinate point Q of celestial sphere image 170 is a pixel at coordinate point S (TF) of enlarged parallel surface 168 (TF), and the pixel at coordinate point S (F) of enlarged parallel surface 168 (F) Become.
  • one pixel (coordinate point) of the celestial sphere image 170 may be multi-projected on a plurality of enlarged parallel planes 168.
  • the point S (F) is closer to the celestial sphere 140 than the point S (TF). Therefore, S (F) has less distortion of the image than point S (TF). Also, since the point S (TF) is near the end of the enlarged parallel surface 168 (TF) and the point S (F) is near the center of the enlarged parallel surface 168 (F), the image near the point A is the enlarged parallel surface 168. There is a high possibility that the enlarged parallel plane 168 (F) is projected better than (TF). Point A is projected on both the enlarged parallel surface 168 (TF) and point A on the enlarged parallel surface 168 (F), but it may also be projected on the enlarged parallel surface 168 (FR) not shown. Absent.
  • the object can be recognized in a polygonal manner by the three enlarged parallel planes 168.
  • the enlarged parallel surface 168 may be set for the regular triangular surface shown in FIG. In this case, it is possible to simultaneously project a single object on more parallel planes of enlargement 168.
  • a central point O (all-sky camera 134) is surrounded by a plurality of enlarged parallel planes 168 assumed along the celestial sphere 140.
  • the zenith PZ is projected on the magnifying parallel surface 168 (T).
  • the enlarged parallel surface 168 (T) coincides with the top spherical surface 140 at the zenith PZ, so distortion of the projected image (magnified parallel surface 168 (T)) near the zenith PZ is an equidistant cylindrical projection It becomes much smaller than. The same applies to the nadir PN.
  • FIG. 14 is a schematic view for explaining partial cutout of the enlarged parallel surface 168.
  • the image conversion unit 154 may cut out not all but a part of the enlargement parallel surface 168.
  • the range of the enlarged parallel surface 168 (F) is 0 ⁇ x ⁇ x (F) and 0 ⁇ y ⁇ y (F).
  • the image conversion unit 154 cuts out x1 ⁇ x ⁇ x2 (0 ⁇ x1, x2 ⁇ x (F)) and y1 ⁇ y ⁇ y2 (0 ⁇ y1, y2 ⁇ y (F)).
  • the image conversion unit 154 may exclude a part of the enlarged parallel surface 168 that is a part of the enlarged parallel surface 168 that is known to have a large distortion as a conversion target, and set only a part of the enlarged parallel surface 168 as an image processing target.
  • the image conversion unit 154 may exclude a portion of the enlarged parallel surface 168 where important information is not shown, for example, a monotonous portion where only the same color is shown over a predetermined range, as the image processing target.
  • FIG. 15 is a schematic view for explaining the polyhedron projection method.
  • the polyhedral image 190 (projected image) is a collection of 18 parallel parallel planes 168. That is, the polyhedron image 190 is a projection image from the top spherical surface 140 to the 18-fold enlarged parallel surface 168.
  • the coordinate point A1 and the coordinate point A2 of the top spherical surface 140 are projected onto the polyhedron image 190, respectively.
  • the point A1 is closer to the celestial centerline 174 than the point A2.
  • the point A1 of the celestial sphere 140 corresponds to the point B1 in the celestial sphere image 170, and corresponds to the points S1 and S12 in the polyhedron image 190.
  • the point A2 corresponds to the point B2 in the celestial sphere image 170, and corresponds to the points S21 and S22 in the polyhedron image 190.
  • FIG. 16 is a flow chart showing an image processing process in the first embodiment.
  • the image acquisition unit 152 periodically acquires the celestial sphere image 170.
  • the image processing shown in FIG. 16 is repeatedly performed each time the celestial sphere image 170 is acquired.
  • the image acquisition unit 152 acquires the celestial sphere image 170 from the omnidirectional camera 134 (S10).
  • the image conversion unit 154 converts the celestial sphere image 170 into a polyhedron image 190, that is, an enlarged parallel plane 168 of 18 planes (S12).
  • a conversion function is defined for each of the enlarged parallel surfaces 168, and the image conversion unit 154 projects points on the celestial sphere image 170 onto one or more enlarged parallel surfaces 168 by 18 types of conversion functions.
  • the recognition unit 156 determines the processing order of the image recognition (S14).
  • the recognition unit 156 recognizes the image of the enlargement parallel plane 168 (R) Set to priority. This is because the owner X is likely to be detected in the enlarged parallel plane 168 (R) even at the processing time t2. Since the robot 100 changes the action characteristic based on the position, the motion, the expression, etc. of the owner X, the recognition unit 156 gives top priority to the recognition of the owner X.
  • the recognition unit 156 assigns a processing order to the enlarged parallel surface 168 (TR) and the like next to the enlarged parallel surface 168 (R) next to the enlarged parallel surface 168 (R).
  • the recognition unit 156 executes image recognition in cooperation with the server 200 (S16). Specifically, the recognition unit 156 extracts the moving object such as the user from the enlargement parallel surface 168 having the first processing order, and if the movement object appears in the enlargement parallel surface 168, the feature extraction unit 146 extracts the feature vector Do.
  • the communication unit 142 transmits the feature vector to the server 200, and executes user identification processing and the like of the server 200. In accordance with the identification result, the robot 100 determines motion selection and the like. Similar image recognition is performed for the other enlarged parallel surfaces 168 as long as the unprocessed enlarged parallel surfaces 168 remain (N in S18). If it confirms about all the expansion parallel planes 168 (Y of S18), a process will be complete
  • the recognition unit 156 can not extract the owner X from the enlarged parallel surface 168 (F), but can extract the owner X from the enlarged parallel surface 168 (TF).
  • the recognition unit 156 performs recognition by synthesizing the results extracted from the enlarged parallel planes 168.
  • the direction in which the owner X exists can also be specified from the enlarged parallel plane 168 (TF) in which the owner X has been successfully extracted. Since the orthorhombic octahedron 166 completely surrounds the celestial sphere image 170, the outside world can be projected onto the polyhedron image 190 without blind spots. Furthermore, since the enlargement parallel plane 168 enlarges each square plane of the orthorhombic octahedron 166, some pixels of the celestial sphere image 170 are multiple-projected on a plurality of enlargement parallel planes 168. Therefore, it becomes easy to capture (capture) an external object from an angle suitable for image recognition.
  • FIG. 17 is a first schematic diagram for explaining the multiple cylindrical projection method.
  • the celestial sphere image 170 is projected onto a single cylindrical image 164 in the same manner as the equidistant cylindrical projection described with reference to FIG.
  • a plurality of single cylindrical images 164 are generated by setting a plurality of cylindrical surfaces 162 for one sky image 170.
  • the cylindrical center line 180 of the cylindrical surface 162 and the celestial sphere center line 174 of the top spherical surface 140 coincide with each other.
  • attention is focused on the point that the distortion is small near the cylinder centerline 180 and the distortion increases as the distance from the cylinder centerline 180 increases.
  • the point A1 of the top spherical surface 140 is closer to the cylinder centerline 180 than the point A2.
  • the point A1 of the celestial sphere 140 corresponds to the point B1 in the celestial sphere image 170, and corresponds to the point S1 in the single cylindrical image 164a.
  • the point A2 corresponds to the point B2 in the celestial sphere image 170
  • the projection onto the single cylindrical image 164a is not performed.
  • the single cylinder image 164a is largely distorted near the point A2 far from the cylinder center line 180.
  • the image conversion unit 154 performs image conversion on only the central partial image 176a (a portion with small distortion) having a predetermined width including the cylindrical center line 180. That is, when the cylinder center line 180 and the celestial center line 174 coincide with each other, image conversion near the pole point is not performed in the multiple cylinder projection method.
  • image conversion is performed on only the central partial image 176 including the cylindrical center line 180 while changing the relative angle between the cylindrical center line 180 and the celestial center line 174.
  • the image conversion unit 154 performs image conversion on only a portion with little distortion at the time of image conversion.
  • a multi-cylindrical image 400 (projected image) described later is formed as a collection of a plurality of central partial images 176.
  • FIG. 18 is a second schematic view for explaining the multiple cylindrical projection method.
  • the cylinder center line 180 of the cylindrical surface 162 and the sky center line 174 of the top spherical surface 140 intersect perpendicularly. For this reason, the pole point of the celestial sphere 140 is located on the cylinder centerline 180.
  • the point A3 of the spherical surface 140 is located above the cylinder center line 180.
  • the point A3 of the spherical surface 140 corresponds to the point B3 in the celestial sphere image 170, and corresponds to the point S3 in the single cylindrical image 164b.
  • a point A4 far from the cylinder center line 180 corresponds to the point B4 in the celestial sphere image 170, but is not projected to the single cylindrical image 164b.
  • the image conversion unit 154 performs image conversion on only the central partial image 176 b having a predetermined width including the cylindrical center line 180.
  • FIG. 19 is a conceptual view of a multiple cylindrical image 400 generated by multiple cylindrical projection.
  • the image conversion unit 154 generates a plurality of central partial images 176 while changing the relative angle between the cylindrical center line 180 and the celestial center line 174 while changing the relative angle between the top spherical surface 140 and the cylindrical surface 162.
  • Central partial images 176a to 176d are generated.
  • FIG. 20 is a flow chart showing an image processing process in the second embodiment. Also in the second embodiment, the image acquisition unit 152 periodically acquires the celestial sphere image 170. The image processing shown in FIG. 20 is repeatedly executed each time the celestial sphere image 170 is acquired.
  • the image acquisition unit 152 acquires the celestial sphere image 170 from the omnidirectional camera 134 (S20).
  • the image conversion unit 154 sets a relative angle between the cylindrical surface 162 and the top surface 140 (the cylindrical center line 180 and the celestial center line 174) (S22).
  • the image conversion unit 154 converts the celestial sphere image 170 into the central partial image 176 at the designated relative angle (S24). If the image conversion has not been completed for the four relative angles described above (N in S26), the process returns to S22, and the next relative angle is set (S22).
  • the recognition unit 156 determines the processing order of image recognition for each central partial image 176 (S28). The method of determining the processing order is similar to the method described in connection with polyhedron projection.
  • the recognition unit 156 executes image recognition in cooperation with the server 200 (S30). According to the recognition result, the robot 100 determines motion selection and the like. Similar image recognition is performed for other central partial images 176 as long as an unprocessed central partial image 176 remains (N in S32). If all center partial images 176 have been confirmed (Y in S32), the process ends.
  • central partial image 176 partially overlaps, some pixels of the celestial sphere image 170 are multiply projected to a plurality of central partial images 176. Therefore, as in the case of the polyhedron projection method, it is easy to capture (capture) an external object from an angle suitable for image recognition also in the multiple cylindrical projection method.
  • the third embodiment a method of measuring the distance to an external object by a plurality of omnidirectional cameras 134 by a triangular distance measurement method will be described. Triangular ranging using two cameras is widely known. However, it is not possible to apply the general triangular distance measurement method on the premise of the image without distortion to the celestial sphere image 170 as it is.
  • the projected celestial sphere image 170 is projected onto the orthorhombic octahedron 166 to obtain 18 projected images with small distortion. This can be regarded substantially as taking 18 projected images (magnified parallel planes 168) taken by 18 cameras.
  • FIG. 21A is a front external view of the robot 100 in the third embodiment.
  • FIG. 21 (b) is a side external view of the robot 100 in the third embodiment.
  • the robot 100 in the third embodiment includes two horns 112 (tunnels 112 a and horns 112 b).
  • the omnidirectional camera 134 (the omnidirectional camera 134a and the omnidirectional camera 134b) is built in the horn 112a and the horn 112b, respectively. The distance between the omnidirectional camera 134a and the omnidirectional camera 134b is known.
  • FIG. 22 is a schematic diagram for explaining a method of measuring the distance from the robot 100 to the external object 250.
  • the external object 250a may be a user or a pet, or may be a fixed object such as furniture or a window.
  • the omnidirectional camera 134b incorporated in the horn 112b the external object 250a is reflected on the enlarged parallel surface 168 (F).
  • the coordinates (space coordinates) of the projection point on the enlarged parallel surface 168 (F) are set as X1 (F).
  • the omnidirectional camera 134a incorporated in the horn 112a the external object 250a appears on the enlarged parallel surface 168 (F).
  • Coordinates (space coordinates) of the projection point on the enlarged parallel surface 168 (F) at this time are set as X2 (F).
  • the distance between X1 (F) and X2 (F) is known, and this distance is r.
  • X1 (F) and X2 (F) may be substituted by the position coordinates of the horns 112b and 112a.
  • the above is the camera B1 positioned at the horn 112b and having the enlarged parallel plane 168 (F) as the imaging direction, and the camera A1 positioned at the horn 112a and the enlarged parallel plane 168 (F) as the imaging direction.
  • multiple imaging is the case of multiple imaging.
  • An angle formed by the straight line X1 (F) -X2 (F) and the straight line X1 (F) -Z1 is P.
  • An angle formed by the straight line X2 (F) -X1 (F) and the straight line X2 (F) -Z1 is represented by Q. If the line segment X1 (F)-X2 (F) and the angles P and Q of the both ends can be defined, then the triangle X1 (F)-X2 (F)-Z1 is determined. To 250a can be calculated.
  • the external object 250b is at coordinate Z2.
  • the external object 250b appears on the enlarged parallel surface 168 (FR) of the omnidirectional camera 134b.
  • the external object 250b appears on the enlarged parallel surface 168 (FR) of the omnidirectional camera 134a.
  • the above is the camera B2 positioned at the horn 112b and having the enlarged parallel plane 168 (FR) in the imaging direction, and the camera A1 positioned at the horn 112a and the enlarged parallel plane 168 (FR) in the imaging direction.
  • the distance from the robot 100 to the external object 250b can be measured in the same manner as described above.
  • Such a method enables three-dimensional measurement around the robot 100 with a small amount of equipment. Distance information can be used for object extraction, and object recognition accuracy is improved.
  • the robot 100 and the robot system 300 including the robot 100 have been described above based on the embodiment.
  • the celestial sphere image 170 is partially distorted.
  • the celestial sphere image 170 is further projected onto a single cylindrical image 164 by equidistant cylindrical projection, the single cylindrical image 164 is largely distorted near the pole point.
  • the celestial sphere image 140 (sky sphere image) on the side surface (enlarged parallel surface 168) of the orthorhombic octahedron 166
  • the pixel of 170 is projected.
  • the oblique octahedron 166 has a smaller deviation from the spherical surface 140 than the cylindrical surface 162. In other words, there is no coordinate that deviates extremely from the spherical surface 140, so the polyhedron image 190 with less distortion (projected image) You can get
  • the existing image recognition program can be applied.
  • the polygon projection method since the captured image of the sky spherical surface 140 covering the robot 100 can be projected on a plurality of enlarged parallel planes 168 (projected images), the robot 100 can widely surround the surrounding environment based on the polyhedral image 190. It is visible to It is easier to effectively use the existing image recognition program by correcting the distortion of the celestial sphere image 170 than making the image recognition program correspond to the distorted celestial sphere image 170 or the like.
  • the external object can be overlapped and projected on the plurality of enlarged parallel surfaces 168. For this reason, even if the image is bad on one enlarged parallel surface 168, the image can be recognized appropriately on another enlarged parallel surface 168, so that the image recognition accuracy can be improved.
  • a plurality of central partial images 176 are acquired by variously changing the relative angle between the top spherical surface 140 and the cylindrical surface 162. Even in the equidistant cylindrical projection, the distortion of the image is small near the cylinder center line 180. Therefore, by generating a plurality of central partial images 176 of a predetermined width near the cylindrical center line 180 corresponding to a plurality of relative angles, it is possible to generate a multiple cylindrical image 400 (projected image) with less distortion as a whole.
  • Image conversion from the celestial sphere image 170 to the enlarged parallel surface 168 or the central partial image 176 may be performed in parallel using a GPU (Graphics Processing Unit).
  • a GPU Graphics Processing Unit
  • image conversion can be performed at higher speed.
  • each of the first to fourth GPUs may execute image conversion processing of the central partial images 176a to 176d in parallel.
  • a conversion function prepared for each enlarged parallel surface 168 may be associated with a GPU on a one-to-one basis, and image conversion processing may be executed in parallel by a plurality of GPUs. Since the GPU can execute simple tasks such as image conversion at high speed, it is easy to increase the image processing speed by mounting a plurality of GPUs on the robot 100.
  • the distance from the external object 250 to the robot 100 can be measured in all directions. Since a normal camera has a narrower angle of view than the omnidirectional camera 134, the range in which the two cameras can measure distance is limited. On the other hand, the omnidirectional camera 134 has substantially no blind spot. Therefore, by mounting the two omnidirectional cameras 134 on the robot 100, it is possible to measure most of the external objects 250 around the robot 100 as a distance measurement target. As a result, the robot 100 can easily grasp the surrounding environment more precisely.
  • the present invention is not limited to the above-described embodiment and modification, and the components can be modified and embodied without departing from the scope of the invention.
  • Various inventions may be formed by appropriately combining a plurality of components disclosed in the above-described embodiment and modifications. Moreover, some components may be deleted from all the components shown in the above-mentioned embodiment and modification.
  • the robot system 300 is described as being configured of one robot 100, one server 200, and a plurality of external sensors 114, part of the functions of the robot 100 may be realized by the server 200, or the functions of the server 200 A part or all of may be assigned to the robot 100.
  • One server 200 may control a plurality of robots 100, or a plurality of servers 200 may cooperate to control one or more robots 100.
  • a third device other than the robot 100 or the server 200 may have a part of the function.
  • An aggregate of the functions of the robot 100 and the functions of the server 200 described with reference to FIG. 6 can also be generally understood as one “robot”. How to allocate a plurality of functions necessary to realize the present invention to one or more hardwares will be considered in view of the processing capability of each hardware, the specifications required of the robot system 300, etc. It should be decided.
  • the “robot in a narrow sense” refers to the robot 100 not including the server 200
  • the “robot in a broad sense” refers to the robot system 300.
  • Many of the functions of the server 200 may be integrated into the robot 100 in the future.
  • the sky sphere 140 is described as being projected onto the orthorhombic octahedron 166.
  • the polyhedron projection method is applicable not only to the orthorhombic octahedron 166 but also to various polyhedrons.
  • the top spherical surface 140 may be projected to a hexahedron or may be projected to a icosahedron.
  • the number of projection planes increases, in other words, as the polyhedron approaches the sphere, the divergence between the top spherical surface 140 and the polyhedron decreases, so distortion of the projected image can be easily suppressed.
  • Polyhedron projection is also applicable beyond polygons. Assuming a plurality of planes (projection planes) opposed to the omnidirectional camera 134 at different angles, and projecting pixels of the celestial sphere 140 (the celestial sphere image 170) onto these planes, a plurality of projection images are obtained. You can get it. At this time, it is not essential that a plurality of planes constitute a polyhedron. For example, when the projection plane is not set to the rear of the robot 100, although the rear can be imaged by the omnidirectional camera 134, it can not be viewed. According to such a setting, the robot 100 has a blind spot even though the field of view is wide. The robot 100 having a blind spot may feel more biological.
  • the robot 100 is not required to be able to view all directions.
  • the robot 100 when covering the top spherical surface 140 with a plurality of projection planes, that is, when the plurality of projection planes form a polyhedron, the robot 100 can view all directions.
  • the recognition unit 156 may prioritize the processing of a predetermined enlarged parallel surface 168 among the plurality of enlarged parallel surfaces 168. For example, the recognition unit 156 may set a processing order higher than that of the other enlargement parallel surfaces 168 with respect to the enlargement parallel surface 168 corresponding to the upper side surface. Since the robot 100 is shorter than a human being, it is considered that an external object to be recognized, such as a user, is generally likely to be visually recognized in the upper side direction (obliquely above the robot 100). Therefore, by giving priority to the processing order of the enlarged parallel surface 168 corresponding to the upper side surface such as the enlarged parallel surface 168 (TF), it becomes easy to detect the user to be recognized. The same applies to setting the processing order to a plurality of central partial images 176.
  • the relative angle between the cylindrical center line 180 and the celestial center line 174 is arbitrarily adjusted so that the multiple cylindrical image 400 includes many skin color pixels indicating human characteristics, for example, a face. May be According to such a control method, it is easy to fit the face of a person who is likely to be an object of image recognition in the central partial image 176.
  • the robot 100 has been described, but the functions of the image acquisition unit 152, the image conversion unit 154, and the recognition unit 156 may be implemented as an image recognition apparatus.
  • the robot system 300 need not have image correction functions such as polyhedron projection and multiple cylindrical projection from the factory shipment stage.
  • the functional enhancement of the robot system 300 may be realized by installing an image processing program for realizing the image correction function on the robot 100 after shipment of the robot system 300.
  • Rotational Polyhedron Projection Method a “rotational polyhedron projection method”, which is an improvement of the polyhedron projection method described in the first embodiment, will be described.
  • the celestial sphere image 170 is projected on each face of the polyhedron.
  • the surface of the polyhedron on which the celestial sphere image 170 is projected is referred to as a "development surface”
  • the photographed image projected on the development surface of the polyhedron is referred to as a "development image”.
  • the developed surface is enlarged to generate the enlarged parallel surface 168.
  • the large enlarged parallel surface 168 wraps the sky spherical surface 140 without leakage.
  • the dead angle is not eliminated by the large enlarged parallel surface 168, but the position of the joint between the developed image and the developed image is changed by moving the polyhedron. If the developed image and the developed image are shifted in time series between joints (dead spots), for example, when converting an image at a certain point (projecting), the object projected at the joint (dead spot) can be converted at the next image conversion It can be projected to the center of the developed image. Since the blind angle is eliminated by rotating the polyhedron, it is not necessary to prepare a large enlarged parallel surface 168. For this reason, it is possible to eliminate or reduce the overlapping portion which has occurred on the enlarged parallel surface 168, in other words, the "margin portion". In the fourth embodiment, the celestial sphere image 170 is projected on the pentagonal truncated pyramid 402, not on the orthorhombic octahedron 166 (see FIG. 11).
  • FIG. 23 is a perspective view of the pentagonal frustum 402.
  • the pentagonal frustum 402 is a solid having a shape obtained by cutting the upper part of the pentagonal pyramid.
  • the pentagonal frustum 402 has five sides 404 (trapezoid) and one zenith surface 406 (regular pentagon) in total of six. The bottom is not assumed.
  • the five enlarged side surfaces 408 and the one zenith surface 406 become a development surface.
  • the celestial sphere image 170 is projected on the five enlarged side surfaces 408 and one enlarged zenith surface 410 by the polyhedron projection method described in the first embodiment.
  • the image acquisition unit 152 (the omnidirectional camera 134) of the fourth embodiment acquires approximately 30 to 50 celestial images 170 per second.
  • the number of celestial sphere images 170 acquired by the image acquisition unit 152 per second will be referred to as a celestial sphere image rate.
  • the celestial sphere images 170 continuously acquired at acquisition timings tc1, tc2,... Tcn are described as a celestial sphere image 170 (tc1), a celestial sphere image 170 (tc2)...
  • the celestial sphere image rate may vary according to the state of computational resources such as a CPU.
  • the image conversion unit 154 does not perform image conversion on all the celestial sphere images 170 acquired by the image acquisition unit 152, and selects, as a conversion target, a part of a plurality of continuously acquired celestial sphere images 170. For example, the image conversion unit 154 picks up the celestial sphere image 170 to be converted at a pace of once such as the celestial sphere image 170 (tc1), the celestial sphere image 170 (tc5), and the celestial sphere image 170 (tc9). You may In this case, the celestial sphere image 170 (tc2) and the like are excluded from image conversion processing and image recognition processing.
  • the timing at which the image conversion unit 154 picks up the celestial sphere image 170 to be converted is referred to as “t1, t2, t3.
  • the image conversion and image recognition process of the celestial sphere image 170 takes more time than the image acquisition unit 152 acquires the celestial sphere image 170. Also, the processing load of image conversion and image recognition can be reduced as the thinning rate is increased.
  • the celestial sphere image 170 acquired at the time t1 (tc1) is described like “the celestial sphere image 170 (t1)."
  • image conversion rate the number of times the image conversion unit 154 performs image conversion of the sky image 170 in one second. Since the image conversion is performed while thinning out the celestial sphere image 170 acquired by the image acquisition unit 152, the image conversion rate is smaller than the celestial sphere image rate.
  • FIG. 24 is a schematic view when viewing the pentagonal frustum 402 (t1) from above.
  • the pentagonal frustum 402 has five enlarged side surfaces 408 (deployment planes) so as to surround the omnidirectional camera 134 located at the center point O.
  • an external object 412 e.g., a person
  • the boundary 414 between the enlarged side 408 (F) and the enlarged side 408 (FL) exists beyond the boundary 414 between the enlarged side 408 (F) and the enlarged side 408 (FL). Therefore, at time t1, the external object 412 appears near the boundary between the magnified side 408 (F) and the magnified side 408 (FL).
  • the image conversion unit 154 rotates the pentagonal frustum 402 by 36 degrees. Specifically, first, at time t1, the image conversion unit 154 projects the astronomical image 170 (t1) on six developed surfaces of the pentagonal frustum 402 (t1). A total of six developed images projected on the five enlarged side surfaces 408 of the pentagonal frustum 402 (t1) and the one enlarged zenith surface 410 are to be subjected to the image recognition process. The six developed images generated based on one celestial sphere image 170 are collectively referred to as a "developed image group".
  • the image conversion unit 154 changes the relative angle of the pentagonal truncated pyramid 402 (t1) to the omnidirectional camera 134 by 36 degrees.
  • the pentagonal frustum 402 is rotated by 36 degrees with respect to the center point O.
  • an object projected on the boundary of the developed image in a developed image group at a certain point in time is projected on an area other than the boundary in any developed image included in the developed image group adjacent in time series.
  • partial rotation the pentagonal frustum 402 makes one rotation with 10 partial rotations. Therefore, the pentagonal frustum 402 (t11) at time t11 matches the pentagonal frustum 402 (t1) again.
  • FIG. 25 is a schematic view when viewing the pentagonal frustum 402 (t2) from above.
  • the pentagonal frustum 402 (t2) is partially rotated counterclockwise 36 degrees more than the pentagonal frustum 402 (t1).
  • the image conversion rate is relatively fast (period of a short time) in view of general movement of the object, so the external object 412 hardly moves from time t1 to time t2. Since the central angle of the pentagon is 72 degrees, the enlarged side surface 408 (F) of the pentagonal frustum 402 (t 2) faces the external object 412.
  • the pentagonal frustum 402 (t2) the external object 412 is projected on the enlarged side surface 408 (F).
  • FIG. 26 is a developed view of the pentagonal frustum 402.
  • the five enlarged side surfaces 408 of the pentagonal frustum 402 (t1) and the five enlarged side surfaces 408 of the pentagonal frustum 402 (t2) are displayed side by side.
  • the pentagonal frustum 402 (t1) and the pentagonal frustum 402 (t2) are different in rotational angle (relative angle with respect to the center point O) by 36 degrees, so the position of the boundary line 414 is different at time t1 and time t2.
  • the external object 412 is reflected on the boundary 414 between the enlarged side 408 (F) and the enlarged side 408 (FL).
  • the enlarged side 408 is likely to distort the projected image at its end.
  • a large enlarged parallel surface 168 is set, and a blind spot is covered by multiple projection of the external object 412 on a plurality of enlarged parallel surfaces 168.
  • the polyhedron projection method of the first embodiment has more overlapping parts than the rotary polyhedron projection method of the fourth embodiment, so the size of a photographed image (developed image) to be an object of image processing tends to be large.
  • the external object 412 appears at the center of the enlarged side surface 408 (F). Therefore, the external object 412 can be suitably recognized by the projection image of the pentagonal truncated pyramid 402 (t2) without preparing a large enlarged parallel surface 168 for covering a blind spot. In other words, even if the external object 412 can not be suitably projected in the pentagonal frustum 402 (t1), the external object 412 can be suitably projected in the next pentagonal frustum 402 (t2). In the case of the example shown in FIG.
  • the developed image (projected image) for the pentagonal frustum 402 (t1) is external Image recognition of the object 412 is possible.
  • FIG. 27 is a schematic view for explaining the rotation of the enlarged zenith surface 410.
  • the robot 100 in the present embodiment is shorter than a human. Since the user has many opportunities to look into the robot 100 from the top, there are also many opportunities for the omnidirectional camera 134 to acquire a user's face image on the enlarged zenith surface 410 (zenith surface 406).
  • a general image recognition program is not good at face recognition processing in an image in which a person appears upside down. Since the user has many opportunities to look into the robot 100 from the rear upper side, the user is likely to look upside down even on the enlarged zenith surface 410. In FIG. 27, the user appears upside down on the enlarged zenith surface 410 (t1). As described above, the image conversion unit 154 rotates the pentagonal frustum 402 by 36 degrees. Therefore, even if the enlarged zenith surface 410 (t1) is upside down, the user is photographed in the upper and lower proper on the enlarged zenith surface 410 (t6).
  • ten enlarged zenith surfaces 410 can be acquired at ten types of angles.
  • the image conversion unit 154 executes image recognition processing on each of ten enlarged zenith surfaces 410, and can recognize a face when the upper and lower appropriate enlarged zenith surfaces 410 (t6) are targeted. Rotating the pentagonal frustum 402 is also effective in acquiring an appropriate subject image up and down on the enlarged zenith surface 410.
  • FIG. 28 is a schematic view showing the connection of a plurality of enlarged side surfaces 408.
  • the first embodiment polyhedron projection method
  • one object is often simultaneously projected on a plurality of enlargement parallel planes 168 in order to create the enlargement parallel planes 168.
  • the plurality of enlarged parallel planes 168 have many overlapping portions.
  • the fourth embodiment covers the blind spot by rotation of the pentagonal frustum 402, so there is no need to prepare a large enlarged side surface 408 and an enlarged zenith surface 410. Few.
  • the image conversion unit 154 includes the enlarged zenith surface 410 (T) above the robot 100, the enlarged side 408 (F) directly in front, the enlarged side 408 (FL) right and left FR) can be joined to make a composite image 420.
  • the composite image 420 is closer to the image actually viewed by the robot 100 because there is less overlap in each projected image.
  • the recognition unit 156 may perform image recognition substantially on three expanded images of the enlarged side surface 408 (RL), the enlarged side surface 408 (RR), and the composite image 420.
  • RL enlarged side surface 408
  • RR enlarged side surface 408
  • composite image 420 composite image 420.
  • rotational polyhedron projection since the overlapping portion in each photographed image is small, it is easy to make a seamless composite image 420. Even in the case of six developed images, substantially three developed images can be processed, so that the processing cost involved in the image recognition process can be suppressed.
  • the rotational polyhedron projection method shown as the fourth embodiment can cover the dead angle (boundary line 414) of the pentagonal frustum 402 without partially making the pentagonal frustum 402 a large parallel plane 168. Since it is not necessary to create a large enlarged parallel plane 168, in other words, since there are few overlapping parts in a plurality of photographed images, the processing cost involved in image recognition can be suppressed. In addition, since the overlapping portion is small, a relatively seamless composite image 420 as shown in FIG. 28 can be created. By creating a large composite image 420, reducing the number of developed images to be subjected to the image recognition process also contributes to reduction of the processing cost. Further, by rotating the enlarged zenith surface 410, an object existing above the robot 100, in particular, a person can be imaged in a direction suitable for image recognition.
  • the enlarged side surface 408 has been described as a square development surface including the side surface 404.
  • the celestial sphere image 170 may be projected on the trapezoidal side surface 404 or the regular pentagonal zenith surface 406.
  • the projection target need not be the pentagonal frustum 402, and may be a pentagonal pyramid or a pentagonal prism.
  • the polygon used in the rotational polyhedron projection method may be a polygon having a plurality of faces, so it may be an orthorhomb octahedron. As in the fourth embodiment, it may be a polygon lacking a part of the surface, such as the bottom surface.
  • the image conversion unit 154 rotates the polyhedron of the projection destination by a predetermined angle with respect to the position of the polyhedron at the time of projection immediately before each time the expanded image group is created at a predetermined image conversion rate, and converts it into an expanded image. Just do it.
  • the pentagonal truncated pyramid 402 is partially rotated in units of 36 degrees, but the rotation angle is arbitrary. However, it is desirable to rotate at an angle that is a divisor of the central angle. For example, if it is a pentagon, since the central angle is 72 degrees, "72 degrees" such as 36 degrees (1/2), 24 degrees (1/3), 18 degrees (1/4), 12 degrees (1/6), etc. It is desirable to partially rotate at an angle that is a divisor of.
  • the rotation direction of the pentagonal frustum 402 is also arbitrary, and not limited to the horizontal rotation, it may be vertical rotation.
  • the pentagonal frustum 402 may rotate by 36 degrees, or the relative angle to the center point O may be repeatedly changed between 0 degrees and 36 degrees. In this case, the pentagonal frustum 402 makes rotational vibration. Even in such a vibration method, a blind spot on image processing in a developed image can be covered. Also in the case of the vibration method, the enlarged zenith surface 410 may be rotated.
  • the angle of partial rotation of pentagonal frustum 402 is not necessary for the angle of partial rotation of pentagonal frustum 402 to be constant.
  • the angle of partial rotation for example, by changing the angular velocity randomly in the range of 30 degrees to 42 degrees with the central value of 36 degrees, the boundary of the developed image is moved by the external object moving at the same speed. That is, it may be possible to avoid the state of being continuously located in the blind spot on image processing.

Abstract

ロボットは、全天球カメラにより天球画像170を取得し、天球画像170を多面体画像190に画像変換する。天球画像170の画素は多面体画像190を構成するいずれかの拡大平行面168に投影される。多面体画像190に含まれる複数の拡大平行面168を対象とした画像認識処理によりロボットは外界を認識し、認識結果に応じてその行動特性を変化させる。ロボットの画像変換部は、ロボット上方を覆う斜方立方八面体を撮像面とした画像の集合を多面体画像190として設定する。

Description

天球画像の歪みを補正する画像処理装置とそれを備える自律行動型ロボット
 本発明は、天球画像に基づく画像認識を支援する技術、に関する。
 人間は、癒やしを求めてペットを飼う。その一方、ペットの世話をする時間を十分に確保できない、ペットを飼える住環境にない、アレルギーがある、死別がつらい、といったさまざまな理由により、ペットをあきらめている人は多い。もし、ペットの役割が務まるロボットがあれば、ペットを飼えない人にもペットが与えてくれるような癒やしを与えられるかもしれない(特許文献1参照)。
特開2000-323219号公報 特開2013-198062号公報
 生物の行動の前提は、外界の認知である。ロボットにおいても人間的・生物的な行動を実現するためには、ロボットに外界を正確に認識させる必要がある。本発明者らは、ユーザを中心とした天球面を一度に撮像可能な全天球カメラ(特許文献2参照)をロボットに搭載すれば、ロボットの認知能力を飛躍的に拡大できると想到した。しかし、全天球カメラによる天球画像は歪みが大きいため、天球画像を対象とした画像認識処理は難しい。
 本発明は、本発明者らの上記着想とそれにともなう課題認識に基づいて完成された発明であり、その主たる目的は、天球画像の歪みを補正する技術、特に、天球画像の歪みを補正することによりロボットの天球画像に基づく外界認識を支援するための技術、を提供することにある。
 本発明のある態様における画像処理装置は、カメラを中心とする天球面の撮像画像として天球画像を取得する画像取得部と、カメラに対して異なる角度にて対向する複数の平面に対して、天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、を備える。
 本発明の別の態様における画像処理装置は、カメラを中心とする天球面の撮像画像として天球画像を取得する画像取得部と、カメラに対して異なる角度にてカメラを包囲する複数の円筒画像に対して、天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、を備える。
 本発明のある態様における自律行動型ロボットは、ロボット上方の略全域を同時に撮像可能なカメラと、ロボット上方を覆う天球面の撮像画像である天球画像をカメラから取得し、天球画像を多面体画像に変換する画像変換部と、多面体画像から外部物体を画像認識する認識部と、外部物体に対応して、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、を備える。
 画像変換部は、ロボット上方を覆う多面体を撮像面とした画像を多面体画像として設定し、天球画像の画素を多面体のいずれかの面に投影することにより、天球画像を多面体画像に変換する。
 本発明の別の態様における自律行動型ロボットは、ロボット上方の略全域を同時に撮像可能なカメラと、ロボット上方を覆う天球面の撮像画像である天球画像をカメラから取得し、天球画像を多重円筒画像に変換する画像変換部と、多重円筒画像から外部物体を画像認識する認識部と、外部物体に対応して、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、を備える。
 画像変換部は、ロボットを包囲する円筒の側面に天球画像の画素を投影することにより円筒画像を形成し、円筒と天球の複数の相対角度に対応する複数の円筒画像の集合を前記多重円筒画像として設定することにより、天球画像を多重円筒画像に変換する。
 本発明のある態様における測定装置は、カメラを中心とする天球画像を撮像可能な第1および第2のカメラと、天球画像を第1および第2のカメラそれぞれから取得し、カメラに対して異なる角度にて対向する複数の平面に対して、天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、複数の投影画像から外部物体を画像認識する認識部と、外部物体が含まれる第1のカメラによる天球画像に基づいて生成された第1の投影画像と、同一の外部物体が含まれる第2のカメラによる天球画像に基づいて生成された第2の投影画像に基づく三角測距により、外部物体までの距離を測定する測距部と、を備える。
 本発明によれば、天球画像に対して、画像認識を行う上で好適な補正を施すことできる。
ロボットの正面外観図である。 ロボットの側面外観図である。 ロボットの構造を概略的に表す断面図である。 ロボットシステムの構成図である。 感情マップの概念図である。 ロボットのハードウェア構成図である。 ロボットシステムの機能ブロック図である。 天球画像の生成方法を説明するための模式図である。 天球画像の模式図である。 正距円筒図法における円筒面と天球面の関係を説明するための模式図である。 正距円筒図法による天球画像から単一円筒画像への画像投影方法を説明するための模式図である。 斜方立法八面体の斜視図である。 斜方立法八面体の展開図である。 斜方立法八面体と天球面の側断面図である。 拡大平方面の部分切り出しを説明するための模式図である。 多面体投影法を説明するための模式図である。 第1実施形態における画像処理過程を示すフローチャートである。 多重円筒投影法を説明するための第1の模式図である。 多重円筒投影法を説明するための第2の模式図である。 多重円筒投影法により生成される多重円筒画像の概念図である。 第2実施形態における画像処理過程を示すフローチャートである。 第3実施形態におけるロボットの正面外観図である。 第3実施形態におけるロボットの側面外観図である。 ロボットから外部物体までの距離を測定する方法を説明するための模式図である。 五角錐台の斜視図である。 五角錐台(t1)を上から見たときの模式図である。 五角錐台(t2)を上から見たときの模式図である。 五角錐台の展開図である。 拡大天頂面の回転を説明するための模式図である。 複数の拡大側面のつなぎ合わせを示す模式図である。
 図1(a)は、ロボット100の正面外観図である。図1(b)は、ロボット100の側面外観図である。
 本実施形態におけるロボット100は、外部環境および内部状態に基づいて行動や仕草(ジェスチャー)を決定する自律行動型のロボットである。外部環境は、カメラやサーモセンサなど各種のセンサにより認識される。内部状態はロボット100の感情を表現するさまざまなパラメータとして定量化される。これらについては後述する。
 ロボット100は、原則として、オーナー家庭の家屋内を行動範囲とする。以下、ロボット100に関わる人間を「ユーザ」とよび、特に、ロボット100が所属する家庭の構成員となるユーザのことを「オーナー」とよぶ。
 ロボット100のボディ104は、全体的に丸みを帯びた形状を有し、ウレタンやゴム、樹脂、繊維などやわらかく弾力性のある素材により形成された外皮を含む。ロボット100に服を着せてもよい。丸くてやわらかく、手触りのよいボディ104とすることで、ロボット100はユーザに安心感とともに心地よい触感を提供する。
 ロボット100は、総重量が15キログラム以下、好ましくは10キログラム以下、更に好ましくは、5キログラム以下である。生後13ヶ月までに、赤ちゃんの過半数は一人歩きを始める。生後13ヶ月の赤ちゃんの平均体重は、男児が9キログラム強、女児が9キログラム弱である。このため、ロボット100の総重量が10キログラム以下であれば、ユーザは一人歩きできない赤ちゃんを抱きかかえるのとほぼ同等の労力でロボット100を抱きかかえることができる。生後2ヶ月未満の赤ちゃんの平均体重は男女ともに5キログラム未満である。したがって、ロボット100の総重量が5キログラム以下であれば、ユーザは乳児を抱っこするのと同等の労力でロボット100を抱っこできる。
 適度な重さと丸み、柔らかさ、手触りのよさ、といった諸属性により、ユーザがロボット100を抱きかかえやすく、かつ、抱きかかえたくなるという効果が実現される。同様の理由から、ロボット100の身長は1.2メートル以下、好ましくは、0.7メートル以下であることが望ましい。本実施形態におけるロボット100にとって、抱きかかえることができるというのは重要なコンセプトである。
 ロボット100は、3輪走行するための3つの車輪を備える。図示のように、一対の前輪102(左輪102a,右輪102b)と、一つの後輪103を含む。前輪102が駆動輪であり、後輪103が従動輪である。前輪102は、操舵機構を有しないが、回転速度や回転方向を個別に制御可能とされている。後輪103は、いわゆるオムニホイールからなり、ロボット100を前後左右へ移動させるために回転自在となっている。左輪102aよりも右輪102bの回転数を大きくすることで、ロボット100は左折したり、左回りに回転できる。右輪102bよりも左輪102aの回転数を大きくすることで、ロボット100は右折したり、右回りに回転できる。
 前輪102および後輪103は、駆動機構(回動機構、リンク機構)によりボディ104に完全収納できる。走行時においても各車輪の大部分はボディ104に隠れているが、各車輪がボディ104に完全収納されるとロボット100は移動不可能な状態となる。すなわち、車輪の収納動作にともなってボディ104が降下し、床面Fに着座する。この着座状態においては、ボディ104の底部に形成された平坦状の着座面108(接地底面)が床面Fに当接する。
 ロボット100は、2つの手106を有する。手106には、モノを把持する機能はない。手106は上げる、振る、振動するなど簡単な動作が可能である。2つの手106も個別制御可能である。
 目110は、液晶素子または有機EL素子による画像表示が可能である。ロボット100は、音源方向を特定可能なマイクロフォンアレイや超音波センサなどさまざまなセンサを搭載する。また、スピーカーを内蔵し、簡単な音声を発することもできる。
 ロボット100の頭部にはツノ112が取り付けられる。上述のようにロボット100は軽量であるため、ユーザはツノ112をつかむことでロボット100を持ち上げることも可能である。ツノ112には全天球カメラが取り付けられ、ロボット100の上部全域を一度に撮像可能である。
 図2は、ロボット100の構造を概略的に表す断面図である。
 図2に示すように、ロボット100のボディ104は、ベースフレーム308、本体フレーム310、一対の樹脂製のホイールカバー312および外皮314を含む。ベースフレーム308は、金属からなり、ボディ104の軸芯を構成するとともに内部機構を支持する。ベースフレーム308は、アッパープレート332とロアプレート334とを複数のサイドプレート336により上下に連結して構成される。複数のサイドプレート336間には通気が可能となるよう、十分な間隔が設けられる。ベースフレーム308の内方には、バッテリー118、制御回路342および各種アクチュエータが収容されている。
 本体フレーム310は、樹脂材からなり、頭部フレーム316および胴部フレーム318を含む。頭部フレーム316は、中空半球状をなし、ロボット100の頭部骨格を形成する。胴部フレーム318は、段付筒形状をなし、ロボット100の胴部骨格を形成する。胴部フレーム318は、ベースフレーム308と一体に固定される。頭部フレーム316は、胴部フレーム318の上端部に相対変位可能に組み付けられる。
 頭部フレーム316には、ヨー軸320、ピッチ軸322およびロール軸324の3軸と、各軸を回転駆動するためのアクチュエータ326が設けられる。アクチュエータ326は、各軸を個別に駆動するための複数のサーボモータを含む。首振り動作のためにヨー軸320が駆動され、頷き動作のためにピッチ軸322が駆動され、首を傾げる動作のためにロール軸324が駆動される。
 頭部フレーム316の上部には、ヨー軸320を支持するプレート325が固定されている。プレート325には、上下間の通気を確保するための複数の通気孔327が形成される。
 頭部フレーム316およびその内部機構を下方から支持するように、金属製のベースプレート328が設けられる。ベースプレート328は、クロスリンク機構329(パンタグラフ機構)を介してプレート325と連結される一方、ジョイント330を介してアッパープレート332(ベースフレーム308)と連結されている。
 胴部フレーム318は、ベースフレーム308と車輪駆動機構370を収容する。車輪駆動機構370は、回動軸378およびアクチュエータ379を含む。胴部フレーム318の下半部は、ホイールカバー312との間に前輪102の収納スペースSを形成するために小幅とされている。
 外皮314は、ウレタンゴムからなり、本体フレーム310およびホイールカバー312を外側から覆う。手106は、外皮314と一体成形される。外皮314の上端部には、外気を導入するための開口部390が設けられる。
 図3は、ロボットシステム300の構成図である。
 ロボットシステム300は、ロボット100、サーバ200および複数の外部センサ114を含む。家屋内にはあらかじめ複数の外部センサ114(外部センサ114a、114b、・・・、114n)が設置される。外部センサ114は、家屋の壁面に固定されてもよいし、床に載置されてもよい。サーバ200には、外部センサ114の位置座標が登録される。位置座標は、ロボット100の行動範囲として想定される家屋内においてx,y座標として定義される。
 サーバ200は、家屋内に設置される。本実施形態におけるサーバ200とロボット100は、通常、1対1で対応する。ロボット100の内蔵するセンサおよび複数の外部センサ114から得られる情報に基づいて、サーバ200がロボット100の基本行動を決定する。
 外部センサ114はロボット100の感覚器を補強するためのものであり、サーバ200はロボット100の頭脳を補強するためのものである。
 外部センサ114は、定期的に外部センサ114のID(以下、「ビーコンID」とよぶ)を含む無線信号(以下、「ロボット探索信号」とよぶ)を送信する。ロボット100はロボット探索信号を受信するとビーコンIDを含む無線信号(以下、「ロボット返答信号」とよぶ)を返信する。サーバ200は、外部センサ114がロボット探索信号を送信してからロボット返答信号を受信するまでの時間を計測し、外部センサ114からロボット100までの距離を測定する。複数の外部センサ114とロボット100とのそれぞれの距離を計測することで、ロボット100の位置座標を特定する。
 もちろん、ロボット100が自らの位置座標を定期的にサーバ200に送信する方式でもよい。
 図4は、感情マップ116の概念図である。
 感情マップ116は、サーバ200に格納されるデータテーブルである。ロボット100は、感情マップ116にしたがって行動選択する。図4に示す感情マップ116は、ロボット100の場所に対する好悪感情の大きさを示す。感情マップ116のx軸とy軸は、二次元空間座標を示す。z軸は、好悪感情の大きさを示す。z値が正値のときにはその場所に対する好感が高く、z値が負値のときにはその場所を嫌悪していることを示す。
 図4の感情マップ116において、座標P1は、ロボット100の行動範囲としてサーバ200が管理する屋内空間のうち好感情が高い地点(以下、「好意地点」とよぶ)である。好意地点は、ソファの陰やテーブルの下などの「安全な場所」であってもよいし、リビングのように人が集まりやすい場所、賑やかな場所であってもよい。また、過去にやさしく撫でられたり、触れられたりした場所であってもよい。
 ロボット100がどのような場所を好むかという定義は任意であるが、一般的には、小さな子どもや犬や猫などの小動物が好む場所を好意地点として設定することが望ましい。
 座標P2は、悪感情が高い地点(以下、「嫌悪地点」とよぶ)である。嫌悪地点は、テレビの近くなど大きな音がする場所、お風呂や洗面所のように濡れやすい場所、閉鎖空間や暗い場所、ユーザから乱暴に扱われたことがある不快な記憶に結びつく場所などであってもよい。
 ロボット100がどのような場所を嫌うかという定義も任意であるが、一般的には、小さな子どもや犬や猫などの小動物が怖がる場所を嫌悪地点として設定することが望ましい。
 座標Qは、ロボット100の現在位置を示す。複数の外部センサ114が定期的に送信するロボット探索信号とそれに対するロボット返答信号により、サーバ200はロボット100の位置座標を特定する。たとえば、ビーコンID=1の外部センサ114とビーコンID=2の外部センサ114がそれぞれロボット100を検出したとき、2つの外部センサ114からロボット100の距離を求め、そこからロボット100の位置座標を求める。
 図4に示す感情マップ116が与えられた場合、ロボット100は好意地点(座標P1)に引き寄せられる方向、嫌悪地点(座標P2)から離れる方向に移動する。
 感情マップ116は動的に変化する。ロボット100が座標P1に到達すると、座標P1におけるz値(好感情)は時間とともに低下する。これにより、ロボット100は好意地点(座標P1)に到達して、「感情が満たされ」、やがて、その場所に「飽きてくる」という生物的行動をエミュレートできる。同様に、座標P2における悪感情も時間とともに緩和される。時間経過とともに新たな好意地点や嫌悪地点が生まれ、それによってロボット100は新たな行動選択を行う。ロボット100は、新しい好意地点に「興味」を持ち、絶え間なく行動選択する。
 感情マップ116は、ロボット100の内部状態として、感情の起伏を表現する。ロボット100は、好意地点を目指し、嫌悪地点を避け、好意地点にしばらくとどまり、やがてまた次の行動を起こす。このような制御により、ロボット100の行動選択を人間的・生物的なものにできる。
 なお、ロボット100の行動に影響を与えるマップ(以下、「行動マップ」と総称する)は、図4に示したようなタイプの感情マップ116に限らない。たとえば、好奇心、恐怖を避ける気持ち、安心を求める気持ち、静けさや薄暗さ、涼しさや暖かさといった肉体的安楽を求める気持ち、などさまざまな行動マップを定義可能である。そして、複数の行動マップそれぞれのz値を重み付け平均することにより、ロボット100の目的地点を決定してもよい。
 ロボット100は、行動マップとは別に、さまざまな感情や感覚の大きさを示すパラメータを有する。たとえば、寂しさという感情パラメータの値が高まっているときには、安心する場所を評価する行動マップの重み付け係数を大きく設定し、目標地点に到達することでこの感情パラメータの値を低下させる。同様に、つまらないという感覚を示すパラメータの値が高まっているときには、好奇心を満たす場所を評価する行動マップの重み付け係数を大きく設定すればよい。
 図5は、ロボット100のハードウェア構成図である。
 ロボット100は、内部センサ128、通信機126、記憶装置124、プロセッサ122、駆動機構120およびバッテリー118を含む。駆動機構120は、上述した車輪駆動機構370を含む。プロセッサ122と記憶装置124は、制御回路342に含まれる。各ユニットは電源線130および信号線132により互いに接続される。バッテリー118は、電源線130を介して各ユニットに電力を供給する。各ユニットは信号線132により制御信号を送受する。バッテリー118は、リチウムイオン二次電池であり、ロボット100の動力源である。
 内部センサ128は、ロボット100が内蔵する各種センサの集合体である。具体的には、カメラ(全天球カメラ)、マイクロフォンアレイ、測距センサ(赤外線センサ)、サーモセンサ、タッチセンサ、加速度センサ、ニオイセンサなどである。タッチセンサは、外皮314と本体フレーム310の間に設置され、ユーザのタッチを検出する。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。
 通信機126は、サーバ200や外部センサ114、ユーザの有する携帯機器など各種の外部機器を対象として無線通信を行う通信モジュールである。記憶装置124は、不揮発性メモリおよび揮発性メモリにより構成され、コンピュータプログラムや各種設定情報を記憶する。プロセッサ122は、コンピュータプログラムの実行手段である。駆動機構120は、内部機構を制御するアクチュエータである。このほかには、表示器やスピーカーなども搭載される。
 プロセッサ122は、通信機126を介してサーバ200や外部センサ114と通信しながら、ロボット100の行動選択を行う。内部センサ128により得られるさまざまな外部情報も行動選択に影響する。駆動機構120は、主として、車輪(前輪102)と頭部(頭部フレーム316)を制御する。駆動機構120は、2つの前輪102それぞれの回転速度や回転方向を変化させることにより、ロボット100の移動方向や移動速度を変化させる。また、駆動機構120は、車輪(前輪102および後輪103)を昇降させることもできる。車輪が上昇すると、車輪はボディ104に完全に収納され、ロボット100は着座面108にて床面Fに当接し、着座状態となる。また、駆動機構120は、ワイヤ135を介して、手106を制御する。
 図6は、ロボットシステム300の機能ブロック図である。
 上述のように、ロボットシステム300は、ロボット100、サーバ200および複数の外部センサ114を含む。ロボット100およびサーバ200の各構成要素は、CPU(Central Processing Unit)および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
 ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部はロボット100により実現されてもよい。
(サーバ200)
 サーバ200は、通信部204、データ処理部202およびデータ格納部206を含む。
 通信部204は、外部センサ114およびロボット100との通信処理を担当する。データ格納部206は各種データを格納する。データ処理部202は、通信部204により取得されたデータおよびデータ格納部206に格納されるデータに基づいて各種処理を実行する。データ処理部202は、通信部204およびデータ格納部206のインタフェースとしても機能する。
 データ格納部206は、モーション格納部232、マップ格納部216および個人データ格納部218を含む。
 ロボット100は、複数の動作パターン(モーション)を有する。手106を震わせる、蛇行しながらオーナーに近づく、首をかしげたままオーナーを見つめる、などさまざまなモーションが定義される。
 モーション格納部232は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションIDにより識別される。モーションファイルは、ロボット100のモーション格納部160にもダウンロードされる。どのモーションを実行するかは、サーバ200で決定されることもあるし、ロボット100で決定されることもある。
 ロボット100のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。たとえば、ロボット100がオーナーに近づくとき、オーナーの方に向き直る単位モーション、手を上げながら近づく単位モーション、体を揺すりながら近づく単位モーション、両手を上げながら着座する単位モーションの組み合わせとして表現されてもよい。このような4つのモーションの組み合わせにより、「オーナーに近づいて、途中で手を上げて、最後は体をゆすった上で着座する」というモーションが実現される。モーションファイルには、ロボット100に設けられたアクチュエータの回転角度や角速度などが時間軸に関連づけて定義される。モーションファイル(アクチュエータ制御情報)にしたがって、時間経過とともに各アクチュエータを制御することで様々なモーションが表現される。
 先の単位モーションから次の単位モーションに変化するときの移行時間を「インターバル」とよぶ。インターバルは、単位モーション変更に要する時間やモーションの内容に応じて定義されればよい。インターバルの長さは調整可能である。
 以下、いつ、どのモーションを選ぶか、モーションを実現する上での各アクチュエータの出力調整など、ロボット100の行動制御に関わる設定のことを「行動特性」と総称する。ロボット100の行動特性は、モーション選択アルゴリズム、モーションの選択確率、モーションファイル等により定義される。
 モーション格納部232は、モーションファイルのほか、各種のイベントが発生したときに実行すべきモーションを定義するモーション選択テーブルを格納する。モーション選択テーブルにおいては、イベントに対して1以上のモーションとその選択確率が対応づけられる。
 マップ格納部216は、複数の行動マップのほか、椅子やテーブルなどの障害物の配置状況を示すマップも格納する。個人データ格納部218は、ユーザ、特に、オーナーの情報を格納する。具体的には、ユーザに対する親密度とユーザの身体的特徴・行動的特徴を示すマスタ情報を格納する。年齢や性別などの他の属性情報を格納してもよい。
 ロボット100は、ユーザごとに親密度という内部パラメータを有する。ロボット100が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット100に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
 データ処理部202は、位置管理部208、マップ管理部210、認識部212、動作制御部222、親密度管理部220および状態管理部244を含む。
 位置管理部208は、ロボット100の位置座標を、図3を用いて説明した方法にて特定する。位置管理部208はユーザの位置座標もリアルタイムで追跡してもよい。
 状態管理部244は、充電率や内部温度、プロセッサ122の処理負荷などの各種物理状態など各種内部パラメータを管理する。状態管理部244は、感情管理部234を含む。
 感情管理部234は、ロボット100の感情(寂しさ、好奇心、承認欲求など)を示すさまざまな感情パラメータを管理する。これらの感情パラメータは常に揺らいでいる。感情パラメータに応じて複数の行動マップの重要度が変化し、行動マップによってロボット100の移動目標地点が変化し、ロボット100の移動や時間経過によって感情パラメータが変化する。
 たとえば、寂しさを示す感情パラメータが高いときには、感情管理部234は安心する場所を評価する行動マップの重み付け係数を大きく設定する。ロボット100が、この行動マップにおいて寂しさを解消可能な地点に至ると、感情管理部234は寂しさを示す感情パラメータを低下させる。また、後述の応対行為によっても各種感情パラメータは変化する。たとえば、オーナーから「抱っこ」をされると寂しさを示す感情パラメータは低下し、長時間にわたってオーナーを視認しないときには寂しさを示す感情パラメータは少しずつ増加する。
 マップ管理部210は、複数の行動マップについて図4に関連して説明した方法にて各座標のパラメータを変化させる。マップ管理部210は、複数の行動マップのいずれかを選択してもよいし、複数の行動マップのz値を加重平均してもよい。たとえば、行動マップAでは座標R1、座標R2におけるz値が4と3であり、行動マップBでは座標R1、座標R2におけるz値が-1と3であるとする。単純平均の場合、座標R1の合計z値は4-1=3、座標R2の合計z値は3+3=6であるから、ロボット100は座標R1ではなく座標R2の方向に向かう。
 行動マップAを行動マップBの5倍重視するときには、座標R1の合計z値は4×5-1=19、座標R2の合計z値は3×5+3=18であるから、ロボット100は座標R1の方向に向かう。
 認識部212は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰(安全地帯)の認識など多様な認識が含まれる。ロボット100の認識部156は、内部センサ128により各種の環境情報を取得し、これを一次処理した上でサーバ200の認識部212に転送する。
 具体的には、ロボット100の認識部156は、画像から移動物体、特に、人物や動物に対応する画像領域を抽出し、抽出した画像領域から移動物体の身体的特徴や行動的特徴を示す特徴量の集合として「特徴ベクトル」を抽出する。特徴ベクトル成分(特徴量)は、各種身体的・行動的特徴を定量化した数値である。たとえば、人間の目の横幅は0~1の範囲で数値化され、1つの特徴ベクトル成分を形成する。人物の撮像画像から特徴ベクトルを抽出する手法については、既知の顔認識技術の応用である。ロボット100は、特徴ベクトルをサーバ200に送信する。
 サーバ200の認識部212は、更に、人物認識部214と応対認識部228を含む。
 人物認識部214は、ロボット100の内蔵カメラによる撮像画像から抽出された特徴ベクトルと、個人データ格納部218にあらかじめ登録されているユーザ(クラスタ)の特徴ベクトルと比較することにより、撮像されたユーザがどの人物に該当するかを判定する(ユーザ識別処理)。人物認識部214は、表情認識部230を含む。表情認識部230は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。
 なお、人物認識部214は、人物以外の移動物体、たとえば、ペットである猫や犬についてもユーザ識別処理を行う。
 応対認識部228は、ロボット100になされたさまざまな応対行為を認識し、快・不快行為に分類する。応対認識部228は、また、ロボット100の行動に対するオーナーの応対行為を認識することにより、肯定・否定反応に分類する。
 快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。たとえば、抱っこされることはロボット100にとって快行為であり、蹴られることはロボット100にとって不快行為である。肯定・否定反応は、ユーザの応対行為が、ユーザの快感情を示すものか不快感情を示すものであるかにより判別される。たとえば、抱っこされることはユーザの快感情を示す肯定反応であり、蹴られることはユーザの不快感情を示す否定反応である。
 サーバ200の動作制御部222は、ロボット100の動作制御部150と協働して、ロボット100のモーションを決定する。サーバ200の動作制御部222は、マップ管理部210による行動マップ選択に基づいて、ロボット100の移動目標地点とそのための移動ルートを作成する。動作制御部222は、複数の移動ルートを作成し、その上で、いずれかの移動ルートを選択してもよい。
 動作制御部222は、モーション格納部232の複数のモーションからロボット100のモーションを選択する。各モーションには状況ごとに選択確率が対応づけられている。たとえば、オーナーから快行為がなされたときには、モーションAを20%の確率で実行する、気温が30度以上となったとき、モーションBを5%の確率で実行する、といった選択方法が定義される。
 行動マップに移動目標地点や移動ルートが決定され、後述の各種イベントによりモーションが選択される。
 親密度管理部220は、ユーザごとの親密度を管理する。上述したように、親密度は個人データ格納部218において個人データの一部として登録される。快行為を検出したとき、親密度管理部220はそのオーナーに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないオーナーの親密度は徐々に低下する。
(ロボット100)
 ロボット100は、通信部142、データ処理部136、データ格納部148、内部センサ128および駆動機構120を含む。
 通信部142は、通信機126(図5参照)に該当し、外部センサ114、サーバ200および他のロボット100との通信処理を担当する。データ格納部148は各種データを格納する。データ格納部148は、記憶装置124(図5参照)に該当する。データ処理部136は、通信部142により取得されたデータおよびデータ格納部148に格納されているデータに基づいて各種処理を実行する。データ処理部136は、プロセッサ122およびプロセッサ122により実行されるコンピュータプログラムに該当する。データ処理部136は、通信部142、内部センサ128、駆動機構120およびデータ格納部148のインタフェースとしても機能する。
 データ格納部148は、ロボット100の各種モーションを定義するモーション格納部160と画像格納部172を含む。
 ロボット100のモーション格納部160には、サーバ200のモーション格納部232から各種モーションファイルがダウンロードされる。モーションは、モーションIDによって識別される。前輪102を収容して着座する、手106を持ち上げる、2つの前輪102を逆回転させることで、あるいは、片方の前輪102だけを回転させることでロボット100を回転行動させる、前輪102を収納した状態で前輪102を回転させることで震える、ユーザから離れるときにいったん停止して振り返る、などのさまざまなモーションを表現するために、各種アクチュエータ(駆動機構120)の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。
 データ格納部148には、マップ格納部216および個人データ格納部218からも各種データがダウンロードされてもよい。画像格納部172は、全天球カメラ134により取得される天球画像(後述)およびその処理過程における各種画像を一時的に格納する。
 内部センサ128は、全天球カメラ134を含む。本実施形態における全天球カメラ134は、ツノ112に取り付けられる。
 データ処理部136は、認識部156、動作制御部150、画像取得部152、画像変換部154および測距部158を含む。
 ロボット100の動作制御部150は、サーバ200の動作制御部222と協働してロボット100のモーションを決める。一部のモーションについてはサーバ200で決定し、他のモーションについてはロボット100で決定してもよい。また、ロボット100がモーションを決定するが、ロボット100の処理負荷が高いときにはサーバ200がモーションを決定するとしてもよい。サーバ200においてベースとなるモーションを決定し、ロボット100において追加のモーションを決定してもよい。モーションの決定処理をサーバ200およびロボット100においてどのように分担するかはロボットシステム300の仕様に応じて設計すればよい。
 ロボット100の動作制御部150は、サーバ200の動作制御部222とともにロボット100の移動方向を決める。行動マップに基づく移動をサーバ200で決定し、障害物をよけるなどの即時的移動をロボット100の動作制御部150により決定してもよい。駆動機構120は、動作制御部150の指示にしたがって前輪102を駆動することで、ロボット100を移動目標地点に向かわせる。
 ロボット100の動作制御部150は選択したモーションを駆動機構120に実行指示する。駆動機構120は、モーションファイルにしたがって、各アクチュエータを制御する。
 動作制御部150は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手106をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪102を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構120は、動作制御部150の指示にしたがって前輪102や手106、首(頭部フレーム316)を駆動することで、ロボット100にさまざまなモーションを表現させる。
 画像取得部152は、全天球カメラ134から天球画像を取得する。画像変換部154は、天球画像を各種の投影画像に変換する(詳細後述)。測距部158は、ロボット100が複数の全天球カメラ134を搭載するとき、三角測距の原理により外部物体までの距離を測定する(第3実施形態に関連して後述)。
 ロボット100の認識部156は、内部センサ128から得られた外部情報を解釈する。認識部156は、視覚的な認識(視覚部)、匂いの認識(嗅覚部)、音の認識(聴覚部)、触覚的な認識(触覚部)が可能である。
 認識部156は、全天球カメラ134による天球画像に基づいて、人やペットなどの移動物体を検出する。認識部156は、特徴抽出部146を含む。特徴抽出部146は、移動物体の撮像画像から特徴ベクトルを抽出する。上述したように、特徴ベクトルは、移動物体の身体的特徴と行動的特徴を示すパラメータ(特徴量)の集合である。移動物体を検出したときには、ニオイセンサや内蔵の集音マイク、温度センサ等からも身体的特徴や行動的特徴が抽出される。これらの特徴も定量化され、特徴ベクトル成分となる。
 ロボットシステム300は、大量の画像情報やその他のセンシング情報から得られる身体的特徴および行動的特徴に基づいて、高い頻度で出現するユーザを「オーナー」としてクラスタリングする。
 たとえば、ひげが生えている移動物体(ユーザ)は早朝に活動すること(早起き)が多く、赤い服を着ることが少ないのであれば、早起きでひげが生えていて赤い服をあまり着ないクラスタ(ユーザ)、という第1のプロファイルができる。一方、メガネをかけている移動物体はスカートを履いていることが多いが、この移動物体にはひげが生えていない場合、メガネをかけていてスカートを履いているが絶対ひげは生えていないクラスタ(ユーザ)、という第2のプロファイルができる。
 以上は、簡単な設例であるが、上述の方法により、父親に対応する第1のプロファイルと母親に対応する第2のプロファイルが形成され、この家には少なくとも2人のユーザ(オーナー)がいることをロボット100は認識する。
 ただし、ロボット100は第1のプロファイルが「父親」であると認識する必要はない。あくまでも、「ひげが生えていて早起きすることが多く、赤い服を着ることはめったにないクラスタ」という人物像を認識できればよい。プロファイルごとに、プロファイルを特徴づける特徴ベクトルが定義される。
 このようなクラスタ分析が完了している状態において、ロボット100が新たに移動物体(ユーザ)を認識したとする。
 このとき、サーバ200の人物認識部214は、新たな移動物体の特徴ベクトルに基づいてユーザ識別処理を実行し、移動物体がどのプロファイル(クラスタ)に該当するかを判断する。たとえば、ひげが生えている移動物体を検出したとき、この移動物体は父親である確率が高い。この移動物体が早朝行動していれば、父親に該当することはいっそう確実である。一方、メガネをかけている移動物体を検出したときには、この移動物体は母親である可能性もある。この移動物体にひげが生えていれば、母親ではなく父親でもないので、クラスタ分析されていない新しい人物であると判定する。
 特徴抽出によるクラスタ(プロファイル)の形成(クラスタ分析)と、特徴抽出にともなうクラスタへの当てはめは同時並行的に実行されてもよい。
 検出・分析・判定を含む一連の認識処理のうち、ロボット100の認識部156は認識に必要な情報の取捨選択や抽出を行い、判定等の解釈処理はサーバ200の認識部212により実行される。認識処理は、サーバ200の認識部212だけで行ってもよいし、ロボット100の認識部156だけで行ってもよいし、上述のように双方が役割分担をしながら上記認識処理を実行してもよい。
 ロボット100に対する強い衝撃が与えられたとき、認識部156は内蔵の加速度センサによりこれを認識し、サーバ200の応対認識部228は、近隣にいるユーザによって「乱暴行為」が働かれたと認識する。ユーザがツノ112を掴んでロボット100を持ち上げるときにも、乱暴行為と認識してもよい。ロボット100に正対した状態にあるユーザが特定音量領域および特定周波数帯域にて発声したとき、サーバ200の応対認識部228は、自らに対する「声掛け行為」がなされたと認識してもよい。また、体温程度の温度を検知したときにはユーザによる「接触行為」がなされたと認識し、接触認識した状態で上方への加速度を検知したときには「抱っこ」がなされたと認識する。ユーザがボディ104を持ち上げるときの物理的接触をセンシングしてもよいし、前輪102にかかる荷重が低下することにより抱っこを認識してもよい。
 まとめると、ロボット100は内部センサ128によりユーザの行為を物理的情報として取得し、サーバ200の応対認識部228は快・不快を判定し、サーバ200の認識部212は特徴ベクトルに基づくユーザ識別処理を実行する。
 サーバ200の応対認識部228は、ロボット100に対するユーザの各種応対を認識する。各種応対行為のうち一部の典型的な応対行為には、快または不快、肯定または否定が対応づけられる。一般的には快行為となる応対行為のほとんどは肯定反応であり、不快行為となる応対行為のほとんどは否定反応となる。快・不快行為は親密度に関連し、肯定・否定反応はロボット100の行動選択に影響する。
 認識部156により認識された応対行為に応じて、サーバ200の親密度管理部220はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
 サーバ200の認識部212は、応対に応じて快・不快を判定し、マップ管理部210は「場所に対する愛着」を表現する行動マップにおいて、快・不快行為がなされた地点のz値を変化させてもよい。たとえば、リビングにおいて快行為がなされたとき、マップ管理部210はリビングに好意地点を高い確率で設定してもよい。この場合、ロボット100はリビングを好み、リビングで快行為を受けることで、ますますリビングを好む、というポジティブ・フィードバック効果が実現する。
 移動物体(ユーザ)からどのような行為をされるかによってそのユーザに対する親密度が変化する。
 ロボット100は、よく出会う人、よく触ってくる人、よく声をかけてくれる人に対して高い親密度を設定する。一方、めったに見ない人、あまり触ってこない人、乱暴な人、大声で叱る人に対する親密度は低くなる。ロボット100はセンサ(視覚、触覚、聴覚)によって検出するさまざまな外界情報にもとづいて、ユーザごとの親密度を変化させる。
 実際のロボット100は行動マップにしたがって自律的に複雑な行動選択を行う。ロボット100は、寂しさ、退屈さ、好奇心などさまざまなパラメータに基づいて複数の行動マップに影響されながら行動する。ロボット100は、行動マップの影響を除外すれば、あるいは、行動マップの影響が小さい内部状態にあるときには、原則的には、親密度の高い人に近づこうとし、親密度の低い人からは離れようとする。
 ロボット100の行動は親密度に応じて以下に類型化される。
(1)親密度が非常に高いユーザ
 ロボット100は、ユーザに近づき(以下、「近接行動」とよぶ)、かつ、人に好意を示す仕草としてあらかじめ定義される愛情仕草を行うことで親愛の情を強く表現する。
(2)親密度が比較的高いユーザ
 ロボット100は、近接行動のみを行う。
(3)親密度が比較的低いユーザ
 ロボット100は特段のアクションを行わない。
(4)親密度が特に低いユーザ
 ロボット100は、離脱行動を行う。
 以上の制御方法によれば、ロボット100は、親密度が高いユーザを見つけるとそのユーザに近寄り、逆に親密度が低いユーザを見つけるとそのユーザから離れる。このような制御方法により、いわゆる「人見知り」を行動表現できる。また、来客(親密度が低いユーザA)が現れたとき、ロボット100は、来客から離れて家族(親密度が高いユーザB)の方に向かうこともある。この場合、ユーザBはロボット100が人見知りをして不安を感じていること、自分を頼っていること、を感じ取ることができる。このような行動表現により、ユーザBは、選ばれ、頼られることの喜び、それにともなう愛着の情を喚起される。
 一方、来客であるユーザAが頻繁に訪れ、声を掛け、タッチをするとロボット100のユーザAに対する親密度は徐々に上昇し、ロボット100はユーザAに対して人見知り行動(離脱行動)をしなくなる。ユーザAも自分にロボット100が馴染んできてくれたことを感じ取ることで、ロボット100に対する愛着を抱くことができる。
 なお、以上の行動選択は、常に実行されるとは限らない。たとえば、ロボット100の好奇心を示す内部パラメータが高くなっているときには、好奇心を満たす場所を求める行動マップが重視されるため、ロボット100は親密度に影響された行動を選択しない可能性もある。また、玄関に設置されている外部センサ114がユーザの帰宅を検知した場合には、ユーザのお出迎え行動を最優先で実行するかもしれない。
[天球画像からの一般的な投影処理]
 以下においては、まず、全天球カメラ134による撮像画像である天球画像を正距円筒図法に基づいて円筒面に投影することにより、投影画像を生成する一般的な方法について説明する。次に、正距円筒図法の問題点を指摘した上で、ロボットシステム300において新たに採用した投影方法について説明する。
 以下、「投影画像」とは、天球画像を画像変換することにより生成され、画像認識の直接的な対象となることが予定される画像を意味するものとする。
 図7は、天球画像の生成方法を説明するための模式図である。
 天球面140は、中心点Oに全天球カメラ134を設置したときの概念的な撮像面である。全天球カメラ134は、天球面140(撮像面)の上の座標点を結像面138に投影する。結像面138は全天球カメラ134を含む水平面である。天球面140は上半分側の上天球140aと下半分側の下半球140bに分けることができる。図7においては、上天球140aの座標点P1は、結像面138の座標点Q1に投影される。同様にして、上天球140aの座標点P2、P3、PZ(天頂)は、結像面138(表面)の座標点Q2、Q3、O(中心点)に投影される。
 下半球140bも同様の方式にて結像面138に投影される。下半球140bの座標点P4、P5、P6、PN(天底)は、結像面138(裏面)の座標点Q1、Q2、Q3、O(中心点)に投影される。
 上天球140aのすべての座標点は結像面138の表面側に投影され、下半球140bのすべての座標点は結像面138の裏面側に投影される。3次元の天球面140上の座標点(画素)を二次元の結像面138に投影することにより、二次元の「天球画像」を生成する。このような天球画像の生成方法は魚眼レンズなどでよく知られている。
 図8は、天球画像170の模式図である。
 天球画像170は、真円形状の上天球画像170aと下天球画像170bを含む。上天球画像170aは上天球140a(上部撮像面)を結像面138の表面へ投影した画像である。下天球画像170bは下半球140b(下部撮像面)を結像面138の裏面へ投影した画像である。上天球画像170aの中心点Oは上天球140aの天頂PZに対応し、下天球画像170bの中心点Oは下半球140bの天底PNに対応する。天球中央線174は、上天球140aと下半球140bの境界線である。
 なお、ロボット100の全天球カメラ134は上天球140aのみを撮像対象としてもよい。その場合には、天球画像170は上天球画像170aのみから構成される。天球画像170は、天球面140の一部、少なくとも、天球面140の表面積の35%以上をカバーする撮像画像であればよい。天球画像170は、ロボット100の上方、すなわち、天球面140の天頂PZを含む範囲を対象とした撮像画像であることが望ましい。
 図9は、正距円筒図法における円筒面162と天球面140の関係を説明するための模式図である。
 まず、天球面140に外接する円筒面162を想定する。円筒面162は天球面140を環囲し、かつ、上面と下面を有さない。正距円筒図法においては、天球面140の座標点を円筒面162に投影する。いいかえれば、天球画像170の座標点に対応する円筒面162の座標点を特定する。
 円筒中央線180は、円筒面162の中心を通る線である。正距円筒図法では、天球中央線174と円筒中央線180は一致する。したがって、円筒中央線180(天球中央線174)の近辺においては、天球面140と円筒面162はほとんど一致している。しかし、天頂PZまたは天底PN(以下、まとめていうときには「極点」とよぶ)に近づくほど、天球面140と円筒面162の乖離が大きくなる。正距円筒図法は、球体の緯度・経度を平面(円筒の側面)のX座標とY座標に読み替える投影法である。このため、円筒面162に天球面140の画像を投影すると、極点付近においては、投影画像が横方向に大きく引き伸ばされてしまうという欠点がある。
 図10は、天球画像170から単一円筒画像164への正距円筒図法に基づく画像投影方法を説明するための模式図である。
 単一円筒画像164は、天球面140から円筒面162への投影画像である。単一円筒画像164は、図9の円筒面162を展開した画像である。図10においては、天球面140の座標点A1と座標点A2をそれぞれ単一円筒画像164に投影する方法について説明する。
 点A1は点A2よりも天球中央線174に近い。天球面140の点A1は天球画像170においては点B1に対応し、単一円筒画像164においては点C1に対応する。点A2は天球画像170においては点B2に対応し、単一円筒画像164においては点C2に対応する。実際には、天球画像170の点B1の単一円筒画像164における対応点C1を求めるときには、まず、点B1に対応する天球面140の点A1の座標を求め、次に、天球面140から円筒面162への座標変換により、単一円筒画像164の点C1の座標を計算する。
 正距円筒図法は、極点付近(図中の斜線部)において、単一円筒画像164が大きく歪む。このため、天球画像170の点B2は、単一円筒画像164においては横方向に引き伸ばされてしまう。いいかえれば、点B2に対応する点C2は、横方向に引き伸ばされる。
 撮像画像から外部物体を検出するための画像認識プログラムとしては、さまざまな製品が提供されている。一般的な画像認識プログラムは、解析対象となる撮像画像(投影画像)に歪みがないことを前提としている。したがって、天球画像170は言うまでもなく、正距円筒図法による単一円筒画像164を対象として画像認識を行うことは困難である。この問題に対する第1の対策は天球画像170や単一円筒画像164の歪みを考慮に入れて画像認識が可能なプログラムを新たに開発することである。第2の対策は、正距円筒図法にこだわらず、天球画像170から歪みのない、または、歪みの少ない投影画像を生成する画像補正プログラムを開発することである。第2の対策には、既存のさまざまな画像認識プログラムを利用できるメリットがある。本実施形態においては、第2の対策を採用し、天球画像170の歪みを補正する方法を2種類示す。
 天球画像170の歪みを補正する方法として、第1の実施形態において斜方立方八面体への投影方法(以下、「多面体投影法」とよぶ)について説明する。次に、第2の実施形態として多重円筒への投影方法(以下、「多重円筒投影法」とよぶ)について説明する。
(第1実施形態:多面体投影法)
 図11は、斜方立法八面体166の斜視図である。図12は、斜方立法八面体166の展開図である。
 第1実施形態においては、全天球カメラ134を包囲する斜方立法八面体166を想定する。斜方立法八面体166は天球面140と中心を同じくする多面体である。斜方立法八面体166は、18面の正方形の面(以下、「正方形面」ともよぶ)と8面の正三角形の面(以下、「正三角形面」ともよぶ)の合計26面を有する。18面の正方形面の内訳は、上面Tと下面B、中央部にある8枚の中央側面F、FR、R、BR、B、BL、L、FL、上面Tと中央側面をつなぐ4面の上側面TF、TR、TB、TL、下面Bと中央側面をつなぐ4枚の下側面BF、BR、BB、BLである。
 上面Tは、中心Oと天頂PZをつなぐ軸に対して垂直な水平面である。同様に、下面Bは中心Oと天底PNをつなぐ軸に対して垂直な水平面である。第1実施形態においては、すべての正方形面に対して、平行方向に拡大させた拡大平行面168を想定する。拡大平行面168は互いに交差する。図11に示す拡大平行面168(TF)は上側面TFを縦横方向に平行拡大させた面である。また、拡大平行面168(F)は中央側面Fを縦横方向に平行拡大させた面である。拡大平行面168(TF)と拡大平行面168(F)は互いに交差している。同様にして、図12に示す拡大平行面168(B)は中央側面Bを縦横方向に平行拡大させた面である。
 第1実施形態においては、天球画像170上の座標点(画素)を合計18面の拡大平行面168に投影する。すなわち、18面の拡大平行面168の集合体が天球画像170の投影画像となる。
 図13は、斜方立法八面体166と天球面140の側断面図である。
 天球面140の座標点Aから拡大平行面168(TF)に垂線を引いたときの交点が点S(TF)である。天球面140の座標点Aから拡大平行面168(F)に垂線を引いたときの交点が点S(F)である。結像面138(天球画像170)において、点Aに対応するのは点Qであるとする。
 画像変換部154は、拡大平行面168(TF)および拡大平行面168(F)それぞれにおいて点A(点Q)に対応する点S(TF)と点S(F)を特定する。より具体的には、拡大平行面168(TF)における点S(TF)の座標を計算するための変換関数fTF、拡大平行面168(F)における点S(F)の座標を計算するための変換関数fがあらかじめ用意されている。画像変換部154は、複数の拡大平行面168に対応する複数の変換関数により、各拡大平行面168における投影点の座標を計算する。
 画像変換部154は、天球画像170において座標点Aの画素(撮像情報)を拡大平行面168(TF)の点S(TF)および拡大平行面168(F)の点S(F)にコピーすることにより、天球画像170を拡大平行面168に投影する。すなわち、天球画像170の座標点Qの画素は、拡大平行面168(TF)の座標点S(TF)における画素となり、かつ、拡大平行面168(F)の座標点S(F)における画素となる。多面体投影法の場合、天球画像170の1つの画素(座標点)が複数の拡大平行面168に多重投影されることもある。
 図13においては、点S(TF)よりも点S(F)の方が天球面140から近い。このため、S(F)の方が点S(TF)よりも画像の歪みが少ない。また、点S(TF)は拡大平行面168(TF)の端部に近く、点S(F)は拡大平行面168(F)の中央に近いため、点A付近の画像は拡大平行面168(TF)よりも拡大平行面168(F)の方が好適に投影されている可能性が高い。点Aは拡大平行面168(TF)と点Aは拡大平行面168(F)の双方に投影されるが、このほかにも図示しない拡大平行面168(FR)にも投影されているかもしれない。この場合には、3枚の拡大平行面168により多角的にオブジェクトを認識できる。なお、図12において示した正三角形面に対しても拡大平行面168を設定してもよい。この場合には、単一のオブジェクトを更に多くの拡大平行面168に同時投影できる。
 多面体投影法では、天球面140に沿って想定される複数の拡大平行面168により中心点O(全天球カメラ134)を包囲する。天頂PZは拡大平行面168(T)に投影される。図9の円筒面162と異なり、拡大平行面168(T)は天頂PZにおいて天球面140と一致するため、天頂PZ付近における投影画像(拡大平行面168(T))の歪みは正距円筒図法に比べると格段に小さくなる。天底PNについても同様である。
 図14は、拡大平行面168の部分切り出しを説明するための模式図である。
 画像変換部154は、拡大平行面168の全部ではなくその一部分を切り出してもよい。図14においては、拡大平行面168(F)の範囲は0≦x≦x(F)、0≦y≦y(F)である。画像変換部154は、このうち、x1≦x≦x2(0<x1,x2<x(F))、y1≦y≦y2(0<y1,y2<y(F))を切り出している。画像変換部154は、拡大平行面168のうち歪みが大きいことがあらかじめわかっている部分を変換対象外として、拡大平行面168の一部のみを画像処理の対象としてもよい。あるいは、画像変換部154は拡大平行面168のうち、重要な情報が映っていない部分、たとえば、所定範囲以上にわたって同一色しか映っていない単調な部分を画像処理の対象から除外してもよい。
 図15は、多面体投影法を説明するための模式図である。
 多面体画像190(投影画像)は、18面の拡大平行面168の集合体である。すなわち、多面体画像190は、天球面140から18面の拡大平行面168への投影画像である。図15においては、天球面140の座標点A1と座標点A2をそれぞれ多面体画像190に投影するとして説明する。
 点A1は点A2よりも天球中央線174に近い。天球面140の点A1は天球画像170においては点B1に対応し、多面体画像190においては点S1、S12に対応する。点A2は天球画像170においては点B2に対応し、多面体画像190においては点S21、S22に対応する。天球画像170の点B1の多面体画像190における対応点S11、S12を求めるときには、まず、点B1に対応する天球面140の点A1の座標を求め、次に、天球面140から拡大平行面168への座標変換により、拡大平行面168(多面体画像190)の点S11、S12の座標を計算する。点A2も同様である。多面体投影法の場合、単一の外部物体の一部が、複数の拡大平行面168に重複投影されることもある。
 図16は、第1実施形態における画像処理過程を示すフローチャートである。
 画像取得部152は定期的に天球画像170を取得する。図16に示す画像処理は、天球画像170が取得されるごとに繰り返し実行される。
 まず、画像取得部152は、全天球カメラ134から天球画像170を取得する(S10)。画像変換部154は、天球画像170を多面体画像190、すなわち、18面の拡大平行面168に画像変換する(S12)。上述のように拡大平行面168ごとに変換関数が定義されており、画像変換部154は18種類の変換関数により天球画像170上の点を1以上の拡大平行面168に投影する。多面体画像190に含まれる拡大平行面168それぞれについて画像認識処理を実行する前に、認識部156は画像認識の処理順を決める(S14)。
 たとえば、処理時点t1において拡大平行面168(R)においてオーナーXが検出され、次回の処理時点t2において再度画像処理を実行するときには、認識部156は拡大平行面168(R)の画像認識を最優先に設定する。これは、処理時点t2においても、拡大平行面168(R)においてオーナーXが検出される可能性が高いためである。ロボット100はオーナーXの位置や動き、表情等に基づいて行動特性を変化させるため、認識部156はオーナーXの視認を最優先させる。認識部156は、拡大平行面168(R)の次には、拡大平行面168(R)に隣接する拡大平行面168(TR)等に処理順位を割り当てる。
 処理順を決定したあと、認識部156は、サーバ200と連携して画像認識を実行する(S16)。具体的には、認識部156は処理順位1位の拡大平行面168からユーザなどの移動物体を抽出し、この拡大平行面168に移動物体が映っていれば特徴抽出部146は特徴ベクトルを抽出する。通信部142は特徴ベクトルをサーバ200に送信し、サーバ200のユーザ識別処理等を実行する。識別結果に応じて、ロボット100はモーション選択等を決定する。未処理の拡大平行面168が残っている限り(S18のN)、他の拡大平行面168についても同様の画像認識が実行される。すべての拡大平行面168について確認すると(S18のY)、処理は終了する。
 オーナーXが拡大平行面168(TF)と拡大平行面168(F)の両方に映り込むときには、拡大平行面168(TF)と拡大平行面168(F)の双方に基づいて、オーナーXに関する画像処理が可能である。たとえば、拡大平行面168(F)にはオーナーXの口元が映っており、拡大平行面168(TF)にはオーナーXの顔全体が映っている状態を想定する。この場合には、認識部156は拡大平行面168(F)からオーナーXを抽出できず、拡大平行面168(TF)からオーナーXを抽出できる。認識部156は、各拡大平行面168から抽出した結果を総合して認識をおこなう。また、各拡大平行面168の配置関係は既知なので、オーナーXの抽出に成功した拡大平行面168(TF)からオーナーXが存在する方向も特定可能である。斜方立法八面体166は天球画像170を完全に包囲するため、多面体画像190に対して外界を死角なく投影できる。更に、拡大平行面168は、斜方立法八面体166の各正方形面を拡大しているため、天球画像170の画素によっては、複数の拡大平行面168に多重投影される。このため、外部物体を画像認識に好適なアングルから撮像(キャプチャ)しやすくなる。
(第2実施形態:多重円筒投影法)
 図17は、多重円筒投影法を説明するための第1の模式図である。
 多重円筒投影法においては、図10に関連して説明した正距円筒図法と同様にして、天球画像170を単一円筒画像164に投影する。多重円筒投影法では、1つの天球画像170に対して複数の円筒面162を設定することにより、複数の単一円筒画像164を生成する。図17においては、図10と同様、円筒面162の円筒中央線180と天球面140の天球中央線174が一致している。多重円筒投影法においては、円筒中央線180の付近は歪みが少なく、円筒中央線180から離れるほど歪みが大きくなる点に着目する。
 図17において、天球面140の点A1は点A2よりも円筒中央線180に近い。天球面140の点A1は天球画像170においては点B1に対応し、単一円筒画像164aにおいては点S1に対応する。点A2は天球画像170においては点B2に対応するが、単一円筒画像164aへの投影はなされない。上述したように、円筒中央線180と天球中央線174を一致させた状態で正距円筒図法による画像変換を行うと、円筒中央線180から遠い点A2付近では単一円筒画像164aが大きく歪んでしまうためである。そこで、多重円筒投影法においては、画像変換部154は円筒中央線180を含む所定幅の中央部分画像176a(歪みの小さい部分)だけを対象として画像変換を実行する。すなわち、円筒中央線180と天球中央線174が一致するときには、多重円筒投影法では極点付近の画像変換を行わない。
 多重円筒投影法では、円筒中央線180と天球中央線174の相対角度を変化させながら、円筒中央線180を含む中央部分画像176だけを対象として画像変換を行う。いいかえれば、画像変換部154は、画像変換時の歪みの少ない部分だけを対象として画像変換を行う。そして、複数の中央部分画像176の集合体として、後述の多重円筒画像400(投影画像)が形成される。
 図18は、多重円筒投影法を説明するための第2の模式図である。
 図18においては、円筒面162の円筒中央線180と天球面140の天球中央線174は垂直交差している。このため、天球面140の極点は、円筒中央線180上に位置する。
 図18において、天球面140の点A3は円筒中央線180の上に位置する。天球面140の点A3は天球画像170においては点B3に対応し、単一円筒画像164bにおいては点S3に対応する。一方、円筒中央線180から遠い点A4は天球画像170においては点B4に対応するが、単一円筒画像164bへの投影はされない。図18においても、画像変換部154は円筒中央線180を含む所定幅の中央部分画像176bだけを対象として画像変換を実行する。
 図19は、多重円筒投影法により生成される多重円筒画像400の概念図である。
 画像変換部154は、天球面140と円筒面162の相対角度を変更しながら、いいかえれば、円筒中央線180と天球中央線174の相対角度を変化させながら複数の中央部分画像176を生成する。第2実施形態においては、円筒中央線180と天球中央線174の相対角度が0(度)、30(度)、60(度)および90(度)の4回について、4つの中央部分画像176(中央部分画像176a~176d)を生成する。このように、歪みの小さな中央部分画像176を集めることにより、歪みの小さな投影画像としての多重円筒画像400を生成できる。多重円筒投影法の場合にも、単一の外部物体の一部が、複数の中央部分画像176に重複投影されることもある。
 図20は、第2実施形態における画像処理過程を示すフローチャートである。
 第2実施形態においても、画像取得部152は定期的に天球画像170を取得する。図20に示す画像処理は、天球画像170が取得されるごとに繰り返し実行される。
 まず、画像取得部152は、全天球カメラ134から天球画像170を取得する(S20)。画像変換部154は、円筒面162と天球面140(円筒中央線180と天球中央線174)の相対角度を設定する(S22)。画像変換部154は、指定された相対角度にて、天球画像170を中央部分画像176に画像変換する(S24)。上述した4つの相対角度について画像変換が完了していなければ(S26のN)、処理はS22に戻り、次の相対角度が設定される(S22)。4つの相対角度すべてについて画像変換が完了すると(S26のY)、認識部156は各中央部分画像176について画像認識の処理順を決める(S28)。処理順の決定方法は、多面体投影法に関連して説明した方法と同様である。
 処理順を決定したあと、認識部156は、サーバ200と連携して画像認識を実行する(S30)。認識結果に応じて、ロボット100はモーション選択等を決定する。未処理の中央部分画像176が残っている限り(S32のN)、他の中央部分画像176についても同様の画像認識が実行される。すべての中央部分画像176について確認すると(S32のY)、処理は終了する。
 中央部分画像176は部分的に重複するため、天球画像170の画素によっては、複数の中央部分画像176に多重投影される。このため、多面体投影法と同様、多重円筒投影法においても外部物体を画像認識に好適なアングルから撮像(キャプチャ)しやすくなる。
(第3実施形態:三角測距)
 第3実施形態においては、複数の全天球カメラ134により三角測距方式にて外部物体までの距離を測定する方法について説明する。2台のカメラを用いた三角測距は広く知られている。しかし、歪みのない画像を前提とした一般的な三角測距方式をそのまま天球画像170に適用することはできない。第1実施形態では、天球画像170を斜方立法八面体166に投影することで、歪みの小さな18枚の投影画像を得た。これは、実質的には、18枚の投影画像(拡大平行面168)を18台のカメラによって撮影したと見なすことができる。したがって、2台の全天球カメラ134を用いれば、18方向を18×2台のカメラで撮影したペア画像を得ていると考えることができる。各方向についてペアになる投影画像の視差をもとめることで、全天球カメラ134に基づく三角測距が可能になる。
 図21(a)は、第3実施形態におけるロボット100の正面外観図である。図21(b)は、第3実施形態におけるロボット100の側面外観図である。
 第3実施形態におけるロボット100は、2本のツノ112(ツノ112aおよびツノ112b)を有する。ツノ112aおよびツノ112bにはそれぞれ全天球カメラ134(全天球カメラ134aと全天球カメラ134b)が内蔵される。全天球カメラ134aと全天球カメラ134bの間の距離は既知である。
 図22は、ロボット100から外部物体250までの距離を測定する方法を説明するための模式図である。
 図22においては、座標Z1に外部物体250aがある。外部物体250aはユーザやペットであってもよいし、家具や窓などの固定物であってもよい。ツノ112bに内蔵される全天球カメラ134bの場合、外部物体250aは拡大平行面168(F)に映る。このとき、拡大平行面168(F)における投影点の座標(空間座標)をX1(F)とする。また、ツノ112aに内蔵される全天球カメラ134aの場合も、外部物体250aは拡大平行面168(F)に映る。このときの拡大平行面168(F)における投影点の座標(空間座標)をX2(F)とする。X1(F)とX2(F)の距離は既知であり、この距離をrとする。X1(F)、X2(F)は、ツノ112b、112aの位置座標により代用してもよい。以上は、ツノ112bに位置し、拡大平行面168(F)を撮像方向とするカメラB1と、ツノ112aに位置し、拡大平行面168(F)を撮像方向とするカメラA1により、外部物体250aを多重撮像したのと同じである。直線X1(F)-X2(F)と直線X1(F)-Z1が形成する角度をPとする。直線X2(F)―X1(F)と直線X2(F)-Z1が形成する角度をQとする。線分X1(F)―X2(F)とその両端の角度P、Qを定義できれば三角形X1(F)-X2(F)-Z1が定まるため、測距部158はこれらのデータから、ロボット100から250aまでの距離dを算出できる。
 外部物体250bは座標Z2にある。全天球カメラ134bの拡大平行面168(FR)に外部物体250bは映る。また、全天球カメラ134aの拡大平行面168(FR)に外部物体250bが映る。以上は、ツノ112bに位置し、拡大平行面168(FR)を撮像方向とするカメラB2と、ツノ112aに位置し、拡大平行面168(FR)を撮像方向とするカメラA1により、外部物体250aを多重撮像したのと同じである。したがって、上記と同様にして、ロボット100から外部物体250bまでの距離を測定できる。このような手法により、少ない機材でロボット100の周囲の3次元計測が可能となる。オブジェクトの抽出に距離情報を用いることができ、オブジェクトの認識精度が向上する。
 以上、実施形態に基づいてロボット100およびロボット100を含むロボットシステム300について説明した。
 上述したように、三次元の天球面140を二次元の天球画像170に投影した場合、天球画像170は部分的に歪みが大きくなってしまう。天球画像170を正距円筒図法により単一円筒画像164に更に投影した場合には、単一円筒画像164は極点付近で大きく歪む。第1の実施形態(多角形投影法)においては、天球面140を覆う斜方立法八面体166を想定し、斜方立法八面体166の側面(拡大平行面168)に天球面140(天球画像170)の画素を投影している。斜方立法八面体166は、円筒面162に比べると天球面140からの乖離が小さいため、いいかえれば、天球面140から極端に乖離する座標がないため、歪みの少ない多面体画像190(投影画像)を取得できる。
 歪みの少ない投影画像があれば、既存の画像認識プログラムを適用できる。多角形投影法によれば、ロボット100を覆う天球面140の撮像画像を複数の拡大平行面168(投影画像)に映すことができるため、ロボット100は多面体画像190に基づいて周辺環境を広域的に視認できる。画像認識プログラムを歪みのある天球画像170等に対応させるよりも、天球画像170の歪みを補正する方が、既存の画像認識プログラムを有効活用しやすい。
 第1実施形態においては、斜方立法八面体166の側面を拡大させた複数の拡大平行面168を設定することにより、外部物体を複数の拡大平行面168に重複投影させることができる。このため、1つの拡大平行面168では映りが悪くても、別の拡大平行面168では好適に画像認識できる可能性があるため、画像認識の精度を高めることができる。
 第2の実施形態(多重円筒投影法)においては、天球面140と円筒面162の相対角度をさまざまに変化させることにより、複数の中央部分画像176を取得する。正距円筒図法であっても、円筒中央線180付近は画像の歪みが小さい。そこで、円筒中央線180近辺の所定幅の中央部分画像176を複数の相対角度に対応して複数生成することにより、全体として歪みの少ない多重円筒画像400(投影画像)を生成できる。
 天球画像170から拡大平行面168や中央部分画像176への画像変換は、GPU(Graphics Processing Unit)を用いて並列的に実行されてもよい。また、複数のGPUを用いることで、更に高速に画像変換が可能になる。たとえば、第1~第4GPUそれぞれが中央部分画像176a~176dの画像変換処理を並列実行してもよい。また、拡大平行面168ごとに用意される変換関数とGPUを一対一にて対応付け、複数のGPUにより画像変換処理を並列実行してもよい。GPUは画像変換などの単純作業は高速実行可能であるため、ロボット100に複数のGPUを搭載させることで画像処理速度を高速化させやすい。
 第3実施形態において説明したように、ロボット100に複数の全天球カメラ134を搭載することにより、全方位にて外部物体250からロボット100までの距離を測定できる。通常のカメラは全天球カメラ134よりも画角が狭いため、2つのカメラによって距離測定可能な範囲が限定される。一方、全天球カメラ134は実質的に死角がない。このため、ロボット100に2つの全天球カメラ134を搭載することにより、ロボット100の周辺にあるほとんどの外部物体250を距離測定対象とすることができる。この結果、ロボット100は、周辺環境をより精緻に把握しやすくなる。
 なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
 1つのロボット100と1つのサーバ200、複数の外部センサ114によりロボットシステム300が構成されるとして説明したが、ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部がロボット100に割り当てられてもよい。1つのサーバ200が複数のロボット100をコントロールしてもよいし、複数のサーバ200が協働して1以上のロボット100をコントロールしてもよい。
 ロボット100やサーバ200以外の第3の装置が、機能の一部を担ってもよい。図6において説明したロボット100の各機能とサーバ200の各機能の集合体は大局的には1つの「ロボット」として把握することも可能である。1つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力やロボットシステム300に求められる仕様等に鑑みて決定されればよい。
 上述したように、「狭義におけるロボット」とはサーバ200を含まないロボット100のことであるが、「広義におけるロボット」はロボットシステム300のことである。サーバ200の機能の多くは、将来的にはロボット100に統合されていく可能性も考えられる。
 第1実施形態(多面体投影法)においては、天球面140を斜方立法八面体166に投影するとして説明した。多面体投影法は、斜方立法八面体166に限らず、さまざまな多面体に対して適用可能である。たとえば、天球面140は6面体に投影されてもよいし、20面体に投影されてもよい。投影面が多くなるほど、いいかえれば、多面体が球体に近づくほど、天球面140と多面体の乖離が小さくなるため、投影画像の歪みを抑制しやすい。
 多面体投影法は、更に、多角形以外にも応用可能である。全天球カメラ134に対して異なる角度にて対向する複数の平面(投影面)を想定し、天球面140(天球画像170)の画素をこれらの平面に投影することにより、複数の投影画像を取得できる。このとき、複数の平面が多面体を構成することは必須ではない。たとえば、ロボット100の後方に投影面を設定しない場合には、全天球カメラ134によって後方を撮像できるけれども視認できなくなる。このような設定によれば、ロボット100は、視野は広くても死角を有することになる。死角を有するロボット100の方が生物性を感じられるかもしれない。したがって、ロボット100が全方位を視認できる必須はない。一方、複数の投影面により天球面140を覆うとき、すなわち、複数の投影面が多面体を形成するときには、ロボット100は全方位を視認できる。
 認識部156は、複数の拡大平行面168のうち、所定の拡大平行面168の処理を優先してもよい。たとえば、認識部156は、上部側面に対応する拡大平行面168に対して他の拡大平行面168よりも高い処理順位を設定してもよい。ロボット100は人間よりも背が低いため、ユーザなどの認識すべき外部物体は、通常、上部側面方向(ロボット100の斜め上方)に視認される可能性が高いと考えられる。このため、拡大平行面168(TF)等の上部側面に対応する拡大平行面168の処理順位を優先することにより、認識すべきユーザを検出しやすくなる。複数の中央部分画像176に処理順位を設定するときも同様である。
 多重円筒投影法においては、人の特性が現れる部分、たとえば、顔を示す肌色の画素を多重円筒画像400が多く含むように、円筒中央線180と天球中央線174の相対角度を任意に調整してもよい。このような制御方法によれば、画像認識の対象となりやすい人の顔を中央部分画像176に収めやすくなる。
 本実施形態においては、ロボット100を対象として説明したが、画像取得部152、画像変換部154および認識部156の機能は、画像認識装置として部品化されてもよい。
 ロボットシステム300は、多面体投影法や多重円筒投影法等の画像補正機能を工場出荷の段階から備える必要はない。ロボットシステム300の出荷後に、画像補正機能を実現する画像処理プログラムをロボット100にインストールすることにより、ロボットシステム300の機能強化が実現されてもよい。
(第4実施形態:回転式多面体投影法)
 第4実施形態においては、第1実施形態において説明した多面体投影法を改良した「回転式多面体投影法」について説明する。
 回転式多面体投影法(第4実施形態)においては、多面体投影法(第1実施形態)と同様、天球画像170を多面体の各面に投影する。第4実施形態においては、天球画像170が投影される多面体の面を「展開面」、多面体の展開面に投影される撮影画像を「展開画像」とよぶ。多面体投影法(第1実施形態)においては、展開画像(投影画像)と展開画像のつなぎ目が画像認識上の死角になりやすいため、展開面を拡大して拡大平行面168を生成した。いわば、大きな拡大平行面168により、天球面140を大きく漏れなく包み込む方式である。
 回転式多面体投影法(第4実施形態)においては、大きな拡大平行面168により死角を無くすのではなく、多面体を動かすことで展開画像と展開画像のつなぎ目の位置を変化させる。展開画像と展開画像のつなぎ目(死角)を時系列にてずらせば、たとえば、ある時点の画像変換時(投影時)にはつなぎ目(死角)に投影された物体を、次の時点の画像変換時には展開画像の中央に投影させることができる。多面体を回転させることで死角をなくす方式であるため、大きな拡大平行面168を用意する必要がない。このため、拡大平行面168に生じていた重複部分、いわば、「のりしろ部分」を無くす、または、小さくすることができる。
 第4実施形態においては、斜方立法八面体166(図11参照)ではなく、五角錐台402に対して天球画像170を投影する。
 図23は、五角錐台402の斜視図である。
 五角錐台402は、五角錐の上部を切り取った形状の立体である。五角錐台402は5枚の側面404(台形)と、1枚の天頂面406(正五角形)の合計6枚の面を有する。底面は想定しない。側面404(台形)を含む正方形の拡大側面408と、天頂面406(正五角形)を含む正方形の拡大天頂面410を想定する。この5枚の拡大側面408と1枚の天頂面406が展開面となる。第4実施形態においても、第1実施形態に示した多面体投影法により天球画像170を5枚の拡大側面408と1枚の拡大天頂面410に投影する。
 第4実施形態の画像取得部152(全天球カメラ134)は、1秒あたり、30~50枚程度の天球画像170を取得する。画像取得部152が1秒あたりに取得する天球画像170の枚数を「天球画像レート」とよぶ。取得タイミングtc1、tc2・・・tcnにおいて連続的に取得される天球画像170をそれぞれ天球画像170(tc1)、天球画像170(tc2)・・・天球画像170(tcn)のように表記する。天球画像レートは、CPUなど計算リソースの状況に応じて変動してもよい。
 画像変換部154は、画像取得部152が取得したすべての天球画像170を画像変換するのではなく、連続的に取得される複数の天球画像170から一部を変換対象として選択する。たとえば、画像変換部154は、天球画像170(tc1)、天球画像170(tc5)、天球画像170(tc9)のように、5回に1回のペースで変換対象とすべき天球画像170をピックアップしてもよい。この場合、天球画像170(tc2)等は画像変換処理および画像認識処理の対象外となる。
 以下、画像変換部154が変換対象とすべき天球画像170をピックアップするタイミングを「t1,t2,t3・・・」と表記する。上記設例の場合、t1=tc1,t2=tc5,t3=tc9である。画像取得部152が天球画像170を取得するよりも、天球画像170の画像変換および画像認識処理は時間がかかる。また、間引き率を高めるほど、画像変換および画像認識の処理負荷を抑制できる。以下、時刻t1(tc1)に取得された天球画像170を「天球画像170(t1)」のように表記する。
 以下、画像変換部154が、1秒間に天球画像170を画像変換する回数を「画像変換レート」とよぶ。画像変換は、画像取得部152が取得した天球画像170を間引きながらおこなうので、画像変換レートは天球画像レートより小さい。
 図24は、五角錐台402(t1)を上から見たときの模式図である。
 五角錐台402は、中心点Oにある全天球カメラ134を囲むように5つの拡大側面408(展開面)を有する。図24においては、拡大側面408(F)と拡大側面408(FL)の境界線414の先に外部物体412(たとえば、人物)が存在する。このため、時刻t1においては、外部物体412は拡大側面408(F)と拡大側面408(FL)の双方の撮影画像の境界付近に映る。
 画像変換部154は、五角錐台402を36度ずつ回転させる。具体的には、まず、画像変換部154は、時刻t1において五角錐台402(t1)の6枚の展開面に対して天球画像170(t1)を投影する。五角錐台402(t1)の5枚の拡大側面408と1枚の拡大天頂面410に投影された計6枚の展開画像が画像認識処理の対象となる。1枚の天球画像170に基づいて生成された6枚の展開画像をまとめて「展開画像群」とよぶ。
 次に、画像変換部154は、時刻t2において、五角錐台402(t1)の全天球カメラ134に対する相対角度を36度だけ変化させる。いいかえれば、五角錐台402を中心点Oに対して36度だけ自転させる。これにより、ある時点の展開画像群において展開画像の境界に投影された物体は、時系列的に隣り合う展開画像群に含まれるいずれかの展開画像では境界以外の領域に投影される。五角錐台402を36度ずつ回転させるため(以下、「部分回転」とよぶ)、10回の部分回転により五角錐台402は一回転する。したがって、時刻t11の五角錐台402(t11)は五角錐台402(t1)と再度一致する。
 図25は、五角錐台402(t2)を上から見たときの模式図である。
 上述したように、五角錐台402(t2)は五角錐台402(t1)よりも36度だけ反時計回りに部分回転している。画像変換レートは、一般的な物体の移動を鑑みれば、比較的高速(短時間の周期)であるため、時刻t1から時刻t2に至る間に外部物体412はほとんど動かない。五角形の中心角は72度であるため、五角錐台402(t2)の拡大側面408(F)は外部物体412に正対する。このため、五角錐台402(t2)においては、外部物体412は拡大側面408(F)に投影される。
 図26は、五角錐台402の展開図である。
 図26においては、五角錐台402(t1)の5枚の拡大側面408と五角錐台402(t2)の5枚の拡大側面408を並べて表示している。五角錐台402(t1)と五角錐台402(t2)は36度だけ回転角(中心点Oに対する相対角度)がずれているため、時刻t1と時刻t2では境界線414の位置が異なる。
 五角錐台402(t1)においては、外部物体412は拡大側面408(F)と拡大側面408(FL)の境界線414の上に映っている。第1実施形態に関連して説明したように、拡大側面408はその端部において投影画像が歪みやすい。また、拡大側面408(F)および拡大側面408(FL)の2つの展開画像に基づいて画像認識をする必要があり、処理負担が大きい。いいかえれば、境界線414付近は、画像処理上の死角になりやすい。第1実施形態(多面体投影法)においては、大きな拡大平行面168を設定し、複数の拡大平行面168に外部物体412を多重投影させることで死角をカバーした。第1実施形態の多面体投影法は、第4実施形態の回転式多面体投影法に比べると重複部分が多くなるため、画像処理の対象となる撮影画像(展開画像)のサイズが大きくなりやすい。
 これに対して、第4実施形態(回転型多面体投影法)の五角錐台402(t2)においては、外部物体412は拡大側面408(F)の中央に映る。このため、死角をカバーするために大きな拡大平行面168を用意しなくても、五角錐台402(t2)の投影画像により外部物体412を好適に画像認識できる。いいかえれば、五角錐台402(t1)においては外部物体412を好適に投影できなくても、次回の五角錐台402(t2)においては外部物体412を好適に投影できる。図26に示す例の場合、五角錐台402(t1)に対する展開画像(投影画像)では外部物体412を画像認識できなくても、五角錐台402(t2)に対する展開画像(投影画像)では外部物体412を画像認識できる。
 図27は、拡大天頂面410の回転を説明するための模式図である。
 本実施形態におけるロボット100は、人間に比べて背が低い。ユーザがロボット100を上方からのぞき込む機会が多くなるため、全天球カメラ134が拡大天頂面410(天頂面406)においてユーザの顔画像を取得する機会も多くなる。
 一般的な画像認識プログラムは、人物が逆さまに映る画像における顔認識処理が苦手である。ユーザは後部上方からロボット100をのぞき込む機会も多いため、拡大天頂面410においてもユーザが逆さまに映りやすい。図27においては、拡大天頂面410(t1)においてユーザが逆さまに映っている。上述したように、画像変換部154は五角錐台402を36度ずつ回転させる。このため、拡大天頂面410(t1)では逆さまであっても、拡大天頂面410(t6)においては、ユーザは上下適正にて撮影される。
 五角錐台402(t1)から五角錐台402(t10)までで10種類の角度にて10枚の拡大天頂面410を取得できる。画像変換部154は、10枚の拡大天頂面410のそれぞれに対して画像認識処理を実行し、上下適正な拡大天頂面410(t6)を対象としたときに顔を認識できる。五角錐台402を回転させることは、拡大天頂面410において上下適正な被写体画像を取得する上でも有効である。いいかえれば、画像認識のために取得済みの展開画像(投影画像)を回転させるのではなく、拡大天頂面410を部分回転させ続けることで多様な角度にて多数の拡大天頂面410を取得し、それぞれに対して画像認識処理をおこなえば、その中のいずれかが好適な条件を満たし画像認識処理により被写体を正しく認識できる。
 図28は、複数の拡大側面408のつなぎ合わせを示す模式図である。
 第1実施形態(多面体投影法)においては、拡大平行面168を作るため、1つの被写体が複数の拡大平行面168に同時に投影されることも多い。いいかえれば、複数の拡大平行面168には重複部分が多い。これに対して、第4実施形態(回転型多面体投影法)は五角錐台402の回転によって死角をカバーするため、大きな拡大側面408、拡大天頂面410を用意する必要がなく、したがって、重複も少ない。
 そこで、第4実施形態においては、画像変換部154は、ロボット100の上方にあたる拡大天頂面410(T)と正面にあたる拡大側面408(F)、左右にあたる拡大側面408(FL)と拡大側面408(FR)をつなぎ合わせて合成画像420を作ることができる。各投影画像に重複部分が少ないため、合成画像420はロボット100から実際に見える画像に近くなる。
 認識部156は、実質的には、拡大側面408(RL)、拡大側面408(RR)および合成画像420の3つの展開画像を対象として画像認識を実行すればよい。回転型多面体投影法の場合、各撮影画像における重複部分が小さいため、シームレスな合成画像420を作りやすい。6枚の展開画像であっても、実質的に3枚の展開画像として処理できるため画像認識処理にともなう処理コストを抑制できる。
 第4実施形態として示した回転型多面体投影法は、五角錐台402を部分回転させることにより大きな拡大平行面168を作らなくても五角錐台402の死角(境界線414)をカバーできる。大きな拡大平行面168を作らなくてもよいため、いいかえれば、複数の撮影画像における重複部分が少ないため、画像認識にともなう処理コストを抑制できる。また、重複部分が少ないことにより、図28に示したような比較的シームレスな合成画像420を作ることができる。大きな合成画像420を作ることにより、画像認識処理の対象となる展開画像の枚数を減らすことも処理コスト削減に寄与する。
 また、拡大天頂面410を回転させることにより、ロボット100の上方に存在する物体、特に、人物を画像認識に好適な向きにて撮像できる。
 第4実施形態においては、拡大側面408は側面404を含む正方形の展開面であるとして説明した。これに限らず、台形の側面404や正五角形の天頂面406に天球画像170を投影してもよい。投影先は五角錐台402である必要はなく、五角錐や五角柱であってもよい。回転式多面体投影法において使用する多角形は複数面を有する多角形であればよいため、斜方立法八面体でもよい。第4実施形態のように底面など、一部の面に欠ける多角形でもよい。画像変換部154は、所定の画像変換レートで展開画像群を作成するごとに、投影先の多面体を、直前に投影した際の多面体の位置に対して所定角度だけ回転させ、展開画像に変換すればよい。
 本発明者らによる検討の結果、側面を4面以下とした場合には展開画像(投影画像)の歪みが大きくなる。6面以上の側面を用意してもよいが、5面でも十分な画像認識精度を得られることがわかったため、画像認識精度と処理コストのバランスから現段階では5面がベストと考えられる。
 展開面は、正方形面として説明したが、長方形面として形成されてもよい。また、第4実施形態においては36度単位で五角錐台402を部分回転させるとしたが、回転角は任意である。ただし、中心角の約数となる角度にて回転させることが望ましい。たとえば、五角形なら中心角は72度であるから、36度(1/2)、24度(1/3)、18度(1/4)、12度(1/6)等、「72度」の約数にあたる角度にて部分回転させることが望ましい。五角錐台402の回転方向も任意であり、横方向回転に限らず、縦方向の回転であってもよい。
 五角錐台402は、36度ずつ自転させてもよいし、中心点Oに対する相対角度を0度と36度の間で繰り返し変化させてもよい。この場合には、五角錐台402は回転型の振動をする。このような振動方式においても、展開画像における画像処理上の死角をカバーできる。振動方式の場合にも、拡大天頂面410については回転させるとしてもよい。
 五角錐台402の部分回転の角度が一定である必要はない。たとえば、一定の画像変換レートで五角錐台402を一定の角度で部分回転する場合、ロボット100の周囲を同一の角速度で動いている人が居たとしたら、その人は常に展開画像の同じ領域に位置してしまう。その領域が展開画像の中央部であれば常に認識できるが、境界に位置してしまうと部分回転の効果が得られない。そこで、部分回転の角度を変動させることにより、たとえば、36度を中央値として、30度から42度の範囲でランダムに角速度を変化させることにより、等速で移動する外部物体が展開画像の境界、つまり画像処理上の死角に継続的に位置する状態を避けるようにしてもよい。

Claims (17)

  1.  カメラを中心とする天球面の撮像画像として天球画像を取得する画像取得部と、
     前記カメラに対して異なる角度にて対向する複数の平面に対して、前記天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、を備えることを特徴とする画像処理装置。
  2.  第1の投影画像と第2の投影画像の双方に投影される単一の外部物体を、前記第1の投影画像および第2の投影画像それぞれの画像認識処理により検出する認識部、を更に備えることを特徴とする請求項1に記載の画像処理装置。
  3.  前記複数の投影画像それぞれについて画像認識処理を定期的に実行することにより、外部物体を画像認識する認識部、を更に備え、
     前記認識部は、第1の時点において第1の投影画像から前記外部物体を検出したときには、前記第1の時点の次の処理タイミングである第2の時点において前記第1の投影画像に対する画像認識処理を他の投影画像よりも優先して実行することを特徴とする請求項1に記載の画像処理装置。
  4.  前記複数の平面は、前記カメラを覆う多面体を形成することを特徴とする請求項1から3のいずれかに記載の画像処理装置。
  5.  前記画像変換部は、更に、前記複数の平面の前記カメラに対する相対角度を時系列的に変化させることにより、複数の相対角度それぞれに対応して前記複数の投影画像を取得することを特徴とする請求項1に記載の画像処理装置。
  6.  カメラを中心とする天球面の撮像画像として天球画像を取得する画像取得部と、
     前記カメラに対して異なる角度にて前記カメラを包囲する複数の円筒画像に対して、前記天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、を備えることを特徴とする画像処理装置。
  7.  カメラを中心とする天球面の撮像画像として天球画像を取得する機能と、
     前記カメラに対して異なる角度にて対向する複数の平面に対して、前記天球画像の画素を投影することにより、複数の投影画像を取得する機能と、をコンピュータに発揮させることを特徴とする画像処理プログラム。
  8.  カメラを中心とする天球面の撮像画像として天球画像を取得する機能と、
     前記カメラに対して異なる角度にて前記カメラを包囲する複数の円筒画像に対して、前記天球画像の画素を投影することにより、複数の投影画像を取得する機能と、をコンピュータに発揮させることを特徴とする画像処理プログラム。
  9.  ロボット上方の略全域を同時に撮像可能なカメラと、
     ロボット上方を覆う天球面の撮像画像である天球画像を前記カメラから取得し、前記天球画像を多面体画像に変換する画像変換部と、
     前記多面体画像から外部物体を画像認識する認識部と、
     前記外部物体に対応して、ロボットのモーションを選択する動作制御部と、
     前記動作制御部により選択されたモーションを実行する駆動機構と、を備え、
     前記画像変換部は、ロボット上方を覆う多面体を撮像面とした画像を前記多面体画像として設定し、前記天球画像の画素を前記多面体のいずれかの面に投影することにより、前記天球画像を前記多面体画像に変換することを特徴とする自律行動型ロボット。
  10.  前記画像変換部は、前記多面体の複数の面をそれぞれ平行に拡大させることにより複数の拡大平行面を設定し、前記天球画像の画素を2以上の拡大平行面に多重投影させることを特徴とする請求項9に記載の自律行動型ロボット。
  11.  前記多面体は、前記天球面の中心と天頂を結ぶ軸に対して垂直な平面を含むことを特徴とする請求項9または10に記載の自律行動型ロボット。
  12.  前記画像変換部は、前記天頂画像に含まれる複数の画素それぞれの投影処理を同時実行することを特徴とする請求項9に記載の自律行動型ロボット。
  13.  ロボット上方の略全域を同時に撮像可能なカメラと、
     ロボット上方を覆う天球面の撮像画像である天球画像を前記カメラから取得し、前記天球画像を多重円筒画像に変換する画像変換部と、
     前記多重円筒画像から外部物体を画像認識する認識部と、
     前記外部物体に対応して、ロボットのモーションを選択する動作制御部と、
     前記動作制御部により選択されたモーションを実行する駆動機構と、を備え、
     前記画像変換部は、ロボットを包囲する円筒の側面に前記天球画像の画素を投影することにより円筒画像を形成し、円筒と天球の複数の相対角度に対応する複数の円筒画像の集合を前記多重円筒画像として設定することにより、前記天球画像を前記多重円筒画像に変換することを特徴とする自律行動型ロボット。
  14.  前記画像変換部は、更に、前記複数の円筒画像それぞれの中央から抽出された複数の部分画像の集合を前記多重円筒画像として設定することを特徴とする請求項13に記載の自律行動型ロボット。
  15.  ロボット上方を覆う天球面の撮像画像である天球画像を取得する機能と、
     ロボット上方を覆う多面体を撮像面とした画像を多面体画像として設定し、前記天球画像の画素を前記多面体のいずれかの面に投影することにより、前記天球画像を前記多面体画像に変換する機能と、
     前記多面体画像から外部物体を画像認識する機能と、
     前記外部物体に対応して、ロボットのモーションを選択する機能と、をコンピュータに発揮させることを特徴とする自律行動型ロボットの行動制御プログラム。
  16.  ロボット上方を覆う天球面の撮像画像である天球画像を前記カメラから取得する機能と、
     ロボットを包囲する円筒の側面に前記天球画像の画素を投影することにより円筒画像を形成し、円筒と天球の複数の相対角度に対応する複数の円筒画像の集合を前記多重円筒画像として設定することにより、前記天球画像を前記多重円筒画像に変換する機能と、
     前記多重円筒画像から外部物体を画像認識する機能と、
     前記外部物体に対応して、ロボットのモーションを選択する機能と、をコンピュータに発揮させることを特徴とする自律行動型ロボットの行動制御プログラム。
  17.  カメラを中心とする天球画像を撮像可能な第1および第2のカメラと、
     前記天球画像を前記第1および第2のカメラそれぞれから取得し、カメラに対して異なる角度にて対向する複数の平面に対して、天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、
     前記複数の投影画像から外部物体を画像認識する認識部と、
     前記外部物体が含まれる前記第1のカメラによる天球画像に基づいて生成された第1の投影画像と、同一の外部物体が含まれる前記第2のカメラによる天球画像に基づいて生成された第2の投影画像とに基づく三角測距により、前記外部物体までの距離を測定する測距部と、を備えることを特徴とする測定装置。
PCT/JP2018/019751 2017-05-24 2018-05-23 天球画像の歪みを補正する画像処理装置とそれを備える自律行動型ロボット WO2018216710A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019520273A JP7189620B2 (ja) 2017-05-24 2018-05-23 天球画像の歪みを補正する画像処理装置とそれを備えるロボット

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017102556 2017-05-24
JP2017-102556 2017-05-24

Publications (1)

Publication Number Publication Date
WO2018216710A1 true WO2018216710A1 (ja) 2018-11-29

Family

ID=64396494

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/019751 WO2018216710A1 (ja) 2017-05-24 2018-05-23 天球画像の歪みを補正する画像処理装置とそれを備える自律行動型ロボット

Country Status (2)

Country Link
JP (1) JP7189620B2 (ja)
WO (1) WO2018216710A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242773A (ja) * 1999-02-19 2000-09-08 Fitto:Kk 画像データ変換装置
JP2001154768A (ja) * 1999-11-29 2001-06-08 Nippon Telegr & Teleph Corp <Ntt> 映像表示装置、映像表示方法および記録媒体
JP2004255486A (ja) * 2003-02-25 2004-09-16 Honda Motor Co Ltd 自動作業装置及び自動作業装置制御プログラム
JP2011254436A (ja) * 2010-06-04 2011-12-15 Toshiba Alpine Automotive Technology Corp 移動体検出装置及び移動体検出方法
JP2012198077A (ja) * 2011-03-18 2012-10-18 Ricoh Co Ltd ステレオカメラ装置、視差画像生成方法
JP2012256274A (ja) * 2011-06-10 2012-12-27 Panasonic Corp 画像生成装置、画像生成方法、及びコンピュータプログラム
JP2013198062A (ja) * 2012-03-22 2013-09-30 Ricoh Co Ltd 画像処理装置、画像処理方法及び撮像装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000067959A1 (fr) 1999-05-10 2000-11-16 Sony Corporation Dispositif robotique et procede de commande associe
US7653216B2 (en) 2003-12-23 2010-01-26 Carnegie Mellon University Polyhedron recognition system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242773A (ja) * 1999-02-19 2000-09-08 Fitto:Kk 画像データ変換装置
JP2001154768A (ja) * 1999-11-29 2001-06-08 Nippon Telegr & Teleph Corp <Ntt> 映像表示装置、映像表示方法および記録媒体
JP2004255486A (ja) * 2003-02-25 2004-09-16 Honda Motor Co Ltd 自動作業装置及び自動作業装置制御プログラム
JP2011254436A (ja) * 2010-06-04 2011-12-15 Toshiba Alpine Automotive Technology Corp 移動体検出装置及び移動体検出方法
JP2012198077A (ja) * 2011-03-18 2012-10-18 Ricoh Co Ltd ステレオカメラ装置、視差画像生成方法
JP2012256274A (ja) * 2011-06-10 2012-12-27 Panasonic Corp 画像生成装置、画像生成方法、及びコンピュータプログラム
JP2013198062A (ja) * 2012-03-22 2013-09-30 Ricoh Co Ltd 画像処理装置、画像処理方法及び撮像装置

Also Published As

Publication number Publication date
JP7189620B2 (ja) 2022-12-14
JPWO2018216710A1 (ja) 2020-04-09

Similar Documents

Publication Publication Date Title
JP6508864B2 (ja) 瞳を変化させるロボット
JP7177497B2 (ja) 相手を見つめる自律行動型ロボット
JP7320239B2 (ja) 音源の方向を認識するロボット
WO2018047802A1 (ja) 自然な距離感を保つ自律行動型ロボット
JP6671577B2 (ja) 人を識別する自律行動型ロボット
JP6517457B2 (ja) 外皮を装着するロボット
JP6557840B2 (ja) ロボット、サーバ及び行動制御プログラム
JP7055402B2 (ja) ゲストを受け入れる自律行動型ロボット
JP2019171566A (ja) 柔らかな外皮を有するロボット
JPWO2019054464A1 (ja) コミカルに動作するロボットおよびその構造
WO2019151387A1 (ja) 経験に基づいて行動する自律行動型ロボット
WO2018181640A1 (ja) ロボットの関節に好適なジョイント構造
WO2018207908A1 (ja) 自律行動型ロボット、装身具及びロボット制御プログラム
JP7375770B2 (ja) 情報処理装置、情報処理方法、およびプログラム
WO2018216710A1 (ja) 天球画像の歪みを補正する画像処理装置とそれを備える自律行動型ロボット

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18805988

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019520273

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18805988

Country of ref document: EP

Kind code of ref document: A1