JP7189620B2 - An image processing device that corrects the distortion of a celestial image and a robot equipped with it - Google Patents
An image processing device that corrects the distortion of a celestial image and a robot equipped with it Download PDFInfo
- Publication number
- JP7189620B2 JP7189620B2 JP2019520273A JP2019520273A JP7189620B2 JP 7189620 B2 JP7189620 B2 JP 7189620B2 JP 2019520273 A JP2019520273 A JP 2019520273A JP 2019520273 A JP2019520273 A JP 2019520273A JP 7189620 B2 JP7189620 B2 JP 7189620B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- celestial
- robot
- camera
- images
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 87
- 230000033001 locomotion Effects 0.000 claims description 98
- 238000000034 method Methods 0.000 claims description 89
- 238000006243 chemical reaction Methods 0.000 claims description 72
- 230000009471 action Effects 0.000 claims description 57
- 238000003384 imaging method Methods 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 16
- 230000001131 transforming effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 36
- 230000008451 emotion Effects 0.000 description 26
- 230000007246 mechanism Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 21
- 230000006399 behavior Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 17
- 238000007726 management method Methods 0.000 description 17
- 238000003860 storage Methods 0.000 description 16
- 239000013598 vector Substances 0.000 description 15
- 238000013500 data storage Methods 0.000 description 14
- 230000003542 behavioural effect Effects 0.000 description 11
- 239000000284 extract Substances 0.000 description 9
- 230000009466 transformation Effects 0.000 description 9
- 206010037180 Psychiatric symptoms Diseases 0.000 description 8
- 230000002996 emotional effect Effects 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- QNRATNLHPGXHMA-XZHTYLCXSA-N (r)-(6-ethoxyquinolin-4-yl)-[(2s,4s,5r)-5-ethyl-1-azabicyclo[2.2.2]octan-2-yl]methanol;hydrochloride Chemical compound Cl.C([C@H]([C@H](C1)CC)C2)CN1[C@@H]2[C@H](O)C1=CC=NC2=CC=C(OCC)C=C21 QNRATNLHPGXHMA-XZHTYLCXSA-N 0.000 description 5
- 238000013459 approach Methods 0.000 description 5
- 239000002131 composite material Substances 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008921 facial expression Effects 0.000 description 4
- 230000002349 favourable effect Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 241000282472 Canis lupus familiaris Species 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 3
- 241000282412 Homo Species 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000007621 cluster analysis Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 229920005989 resin Polymers 0.000 description 3
- 239000011347 resin Substances 0.000 description 3
- 238000009423 ventilation Methods 0.000 description 3
- 206010048909 Boredom Diseases 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000004791 biological behavior Effects 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000003702 image correction Methods 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 230000003014 reinforcing effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- JOYRKODLDBILNP-UHFFFAOYSA-N Ethyl urethane Chemical compound CCOC(N)=O JOYRKODLDBILNP-UHFFFAOYSA-N 0.000 description 1
- 206010020751 Hypersensitivity Diseases 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 206010041243 Social avoidant behaviour Diseases 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 229920006311 Urethane elastomer Polymers 0.000 description 1
- 230000007815 allergy Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000003930 cognitive ability Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000013013 elastic material Substances 0.000 description 1
- 229920001971 elastomer Polymers 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 206010025482 malaise Diseases 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000005060 rubber Substances 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 210000000697 sensory organ Anatomy 0.000 description 1
- 239000007779 soft material Substances 0.000 description 1
- 238000001179 sorption measurement Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/04—Viewing devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Manipulator (AREA)
- Toys (AREA)
- Image Processing (AREA)
Description
本発明は、天球画像に基づく画像認識を支援する技術、に関する。 The present invention relates to technology for supporting image recognition based on celestial images.
人間は、癒やしを求めてペットを飼う。その一方、ペットの世話をする時間を十分に確保できない、ペットを飼える住環境にない、アレルギーがある、死別がつらい、といったさまざまな理由により、ペットをあきらめている人は多い。もし、ペットの役割が務まるロボットがあれば、ペットを飼えない人にもペットが与えてくれるような癒やしを与えられるかもしれない(特許文献1参照)。 Humans keep pets for comfort. On the other hand, many people give up pets for a variety of reasons, such as not having enough time to take care of pets, lack of living environments that allow pets, allergies, and the pain of bereavement. If there is a robot that can play the role of a pet, it may be possible to give people who cannot have pets the comfort that pets give them (see Patent Document 1).
生物の行動の前提は、外界の認知である。ロボットにおいても人間的・生物的な行動を実現するためには、ロボットに外界を正確に認識させる必要がある。本発明者らは、ユーザを中心とした天球面を一度に撮像可能な全天球カメラ(特許文献2参照)をロボットに搭載すれば、ロボットの認知能力を飛躍的に拡大できると想到した。しかし、全天球カメラによる天球画像は歪みが大きいため、天球画像を対象とした画像認識処理は難しい。 The premise of the behavior of living things is the cognition of the external world. In order to realize human-like and biological behavior in robots, it is necessary to make robots accurately recognize the external world. The inventors of the present invention conceived that if a robot is equipped with an omnidirectional camera (see Patent Document 2) capable of capturing an image of the celestial sphere centering on the user at once, the cognitive ability of the robot can be dramatically expanded. However, since the celestial image obtained by the omnidirectional camera is highly distorted, image recognition processing for the celestial image is difficult.
本発明は、本発明者らの上記着想とそれにともなう課題認識に基づいて完成された発明であり、その主たる目的は、天球画像の歪みを補正する技術、特に、天球画像の歪みを補正することによりロボットの天球画像に基づく外界認識を支援するための技術、を提供することにある。 The present invention is an invention that was completed based on the above-mentioned ideas of the present inventors and the recognition of problems associated therewith, and the main purpose thereof is to provide a technique for correcting distortion in celestial images, in particular, correcting distortion in celestial images. To provide a technology for assisting a robot in recognizing the external world based on a celestial image.
本発明のある態様における画像処理装置は、カメラを中心とする天球面の撮像画像として天球画像を取得する画像取得部と、カメラに対して異なる角度にて対向する複数の平面に対して、天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、を備える。 An image processing apparatus according to an aspect of the present invention includes an image acquisition unit that acquires a celestial image as a captured image of a celestial sphere centered on a camera; an image converter that obtains a plurality of projected images by projecting pixels of the images.
本発明の別の態様における画像処理装置は、カメラを中心とする天球面の撮像画像として天球画像を取得する画像取得部と、カメラに対して異なる角度にてカメラを包囲する複数の円筒画像に対して、天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、を備える。 An image processing apparatus according to another aspect of the present invention includes an image acquisition unit that acquires a celestial image as a captured image of a celestial sphere centered on a camera, and a plurality of cylindrical images that surround the camera at different angles with respect to the camera. An image conversion unit that obtains a plurality of projection images by projecting pixels of the celestial image.
本発明のある態様におけるロボットは、ロボット上方の略全域を同時に撮像可能なカメラと、ロボット上方を覆う天球面の撮像画像である天球画像をカメラから取得し、天球画像を多面体画像に変換する画像変換部と、多面体画像から外部物体を画像認識する認識部と、を備える。
画像変換部は、ロボット上方を覆う多面体を撮像面とした画像を多面体画像として設定し、天球画像の画素を多面体のいずれかの面に投影することにより、天球画像を多面体画像に変換する。
A robot according to one aspect of the present invention has a camera capable of simultaneously capturing substantially the entire area above the robot, and a celestial image, which is a captured image of the celestial sphere covering the upper part of the robot, acquired from the camera, and the celestial image is converted into a polyhedral image. An image conversion unit for conversion and a recognition unit for image recognition of an external object from a polyhedral image are provided.
The image conversion unit sets an image whose imaging surface is the polyhedron covering the upper part of the robot as a polyhedral image, and converts the celestial image into a polyhedral image by projecting the pixels of the celestial image onto one of the surfaces of the polyhedron.
本発明の別の態様におけるロボットは、ロボット上方の略全域を同時に撮像可能なカメラと、ロボット上方を覆う天球面の撮像画像である天球画像をカメラから取得し、天球画像を多重円筒画像に変換する画像変換部と、多重円筒画像から外部物体を画像認識する認識部と、を備える。
画像変換部は、ロボットを包囲する円筒の側面に天球画像の画素を投影することにより円筒画像を形成し、円筒と天球の複数の相対角度に対応する複数の円筒画像の集合を前記多重円筒画像として設定することにより、天球画像を多重円筒画像に変換する。
According to another aspect of the present invention, a robot acquires a camera capable of simultaneously capturing substantially the entire area above the robot, and a celestial image, which is a captured image of a celestial sphere surface covering the upper part of the robot, from the camera, and obtains the celestial image from the camera. An image conversion unit that converts the image into an image, and a recognition unit that recognizes an external object from the multiple cylindrical images are provided.
The image transforming unit forms a cylindrical image by projecting the pixels of the celestial image onto the side surface of a cylinder surrounding the robot, and transforms a set of a plurality of cylindrical images corresponding to a plurality of relative angles between the cylinder and the celestial sphere into the multiple cylindrical image. The celestial image is converted to a multiple cylindrical image by setting as .
本発明のある態様における測定装置は、カメラを中心とする天球画像を撮像可能な第1および第2のカメラと、天球画像を第1および第2のカメラそれぞれから取得し、カメラに対して異なる角度にて対向する複数の平面に対して、天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、複数の投影画像から外部物体を画像認識する認識部と、外部物体が含まれる第1のカメラによる天球画像に基づいて生成された第1の投影画像と、同一の外部物体が含まれる第2のカメラによる天球画像に基づいて生成された第2の投影画像に基づく三角測距により、外部物体までの距離を測定する測距部と、を備える。 A measurement device according to an aspect of the present invention includes first and second cameras capable of capturing celestial images centering on the cameras, acquiring the celestial images from the first and second cameras, respectively, and obtaining different images for the cameras. an image conversion unit that acquires a plurality of projected images by projecting pixels of a celestial image onto a plurality of planes that face each other at an angle; a recognition unit that recognizes an external object from the plurality of projected images; A first projected image generated based on a celestial image captured by a first camera including an object, and a second projected image generated based on a celestial image captured by a second camera including the same external object. a distance measuring unit that measures the distance to an external object by triangulation based on the distance.
本発明によれば、天球画像に対して、画像認識を行う上で好適な補正を施すことできる。 According to the present invention, the celestial image can be subjected to suitable correction for image recognition.
図1(a)は、ロボット100の正面外観図である。図1(b)は、ロボット100の側面外観図である。
本実施形態におけるロボット100は、外部環境および内部状態に基づいて行動や仕草(ジェスチャー)を決定する自律行動型のロボットである。外部環境は、カメラやサーモセンサなど各種のセンサにより認識される。内部状態はロボット100の感情を表現するさまざまなパラメータとして定量化される。これらについては後述する。FIG. 1(a) is a front external view of the
The
ロボット100は、原則として、オーナー家庭の家屋内を行動範囲とする。以下、ロボット100に関わる人間を「ユーザ」とよび、特に、ロボット100が所属する家庭の構成員となるユーザのことを「オーナー」とよぶ。
In principle, the
ロボット100のボディ104は、全体的に丸みを帯びた形状を有し、ウレタンやゴム、樹脂、繊維などやわらかく弾力性のある素材により形成された外皮を含む。ロボット100に服を着せてもよい。丸くてやわらかく、手触りのよいボディ104とすることで、ロボット100はユーザに安心感とともに心地よい触感を提供する。
A
ロボット100は、総重量が15キログラム以下、好ましくは10キログラム以下、更に好ましくは、5キログラム以下である。生後13ヶ月までに、赤ちゃんの過半数は一人歩きを始める。生後13ヶ月の赤ちゃんの平均体重は、男児が9キログラム強、女児が9キログラム弱である。このため、ロボット100の総重量が10キログラム以下であれば、ユーザは一人歩きできない赤ちゃんを抱きかかえるのとほぼ同等の労力でロボット100を抱きかかえることができる。生後2ヶ月未満の赤ちゃんの平均体重は男女ともに5キログラム未満である。したがって、ロボット100の総重量が5キログラム以下であれば、ユーザは乳児を抱っこするのと同等の労力でロボット100を抱っこできる。
Robot 100 has a total weight of 15 kilograms or less, preferably 10 kilograms or less, and more preferably 5 kilograms or less. By 13 months of age, the majority of babies begin walking on their own. The average weight of a 13-month-old baby is just over 9 kilograms for boys and just under 9 kilograms for girls. Therefore, if the total weight of the
適度な重さと丸み、柔らかさ、手触りのよさ、といった諸属性により、ユーザがロボット100を抱きかかえやすく、かつ、抱きかかえたくなるという効果が実現される。同様の理由から、ロボット100の身長は1.2メートル以下、好ましくは、0.7メートル以下であることが望ましい。本実施形態におけるロボット100にとって、抱きかかえることができるというのは重要なコンセプトである。
Various attributes such as appropriate weight, roundness, softness, and good touch realize the effect that the user can easily hold the
ロボット100は、3輪走行するための3つの車輪を備える。図示のように、一対の前輪102(左輪102a,右輪102b)と、一つの後輪103を含む。前輪102が駆動輪であり、後輪103が従動輪である。前輪102は、操舵機構を有しないが、回転速度や回転方向を個別に制御可能とされている。後輪103は、いわゆるオムニホイールからなり、ロボット100を前後左右へ移動させるために回転自在となっている。左輪102aよりも右輪102bの回転数を大きくすることで、ロボット100は左折したり、左回りに回転できる。右輪102bよりも左輪102aの回転数を大きくすることで、ロボット100は右折したり、右回りに回転できる。
The
前輪102および後輪103は、駆動機構(回動機構、リンク機構)によりボディ104に完全収納できる。走行時においても各車輪の大部分はボディ104に隠れているが、各車輪がボディ104に完全収納されるとロボット100は移動不可能な状態となる。すなわち、車輪の収納動作にともなってボディ104が降下し、床面Fに着座する。この着座状態においては、ボディ104の底部に形成された平坦状の着座面108(接地底面)が床面Fに当接する。
The
ロボット100は、2つの手106を有する。手106には、モノを把持する機能はない。手106は上げる、振る、振動するなど簡単な動作が可能である。2つの手106も個別制御可能である。
目110は、液晶素子または有機EL素子による画像表示が可能である。ロボット100は、音源方向を特定可能なマイクロフォンアレイや超音波センサなどさまざまなセンサを搭載する。また、スピーカーを内蔵し、簡単な音声を発することもできる。
The
ロボット100の頭部にはツノ112が取り付けられる。上述のようにロボット100は軽量であるため、ユーザはツノ112をつかむことでロボット100を持ち上げることも可能である。ツノ112には全天球カメラが取り付けられ、ロボット100の上部全域を一度に撮像可能である。
A
図2は、ロボット100の構造を概略的に表す断面図である。
図2に示すように、ロボット100のボディ104は、ベースフレーム308、本体フレーム310、一対の樹脂製のホイールカバー312および外皮314を含む。ベースフレーム308は、金属からなり、ボディ104の軸芯を構成するとともに内部機構を支持する。ベースフレーム308は、アッパープレート332とロアプレート334とを複数のサイドプレート336により上下に連結して構成される。複数のサイドプレート336間には通気が可能となるよう、十分な間隔が設けられる。ベースフレーム308の内方には、バッテリー118、制御回路342および各種アクチュエータが収容されている。FIG. 2 is a cross-sectional view schematically showing the structure of the
As shown in FIG. 2 , the
本体フレーム310は、樹脂材からなり、頭部フレーム316および胴部フレーム318を含む。頭部フレーム316は、中空半球状をなし、ロボット100の頭部骨格を形成する。胴部フレーム318は、段付筒形状をなし、ロボット100の胴部骨格を形成する。胴部フレーム318は、ベースフレーム308と一体に固定される。頭部フレーム316は、胴部フレーム318の上端部に相対変位可能に組み付けられる。
頭部フレーム316には、ヨー軸320、ピッチ軸322およびロール軸324の3軸と、各軸を回転駆動するためのアクチュエータ326が設けられる。アクチュエータ326は、各軸を個別に駆動するための複数のサーボモータを含む。首振り動作のためにヨー軸320が駆動され、頷き動作のためにピッチ軸322が駆動され、首を傾げる動作のためにロール軸324が駆動される。
The
頭部フレーム316の上部には、ヨー軸320を支持するプレート325が固定されている。プレート325には、上下間の通気を確保するための複数の通気孔327が形成される。
A
頭部フレーム316およびその内部機構を下方から支持するように、金属製のベースプレート328が設けられる。ベースプレート328は、クロスリンク機構329(パンタグラフ機構)を介してプレート325と連結される一方、ジョイント330を介してアッパープレート332(ベースフレーム308)と連結されている。
A
胴部フレーム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座標として定義される。FIG. 3 is a configuration diagram of the
サーバ200は、家屋内に設置される。本実施形態におけるサーバ200とロボット100は、通常、1対1で対応する。ロボット100の内蔵するセンサおよび複数の外部センサ114から得られる情報に基づいて、サーバ200がロボット100の基本行動を決定する。
外部センサ114はロボット100の感覚器を補強するためのものであり、サーバ200はロボット100の頭脳を補強するためのものである。The
The
外部センサ114は、定期的に外部センサ114のID(以下、「ビーコンID」とよぶ)を含む無線信号(以下、「ロボット探索信号」とよぶ)を送信する。ロボット100はロボット探索信号を受信するとビーコンIDを含む無線信号(以下、「ロボット返答信号」とよぶ)を返信する。サーバ200は、外部センサ114がロボット探索信号を送信してからロボット返答信号を受信するまでの時間を計測し、外部センサ114からロボット100までの距離を測定する。複数の外部センサ114とロボット100とのそれぞれの距離を計測することで、ロボット100の位置座標を特定する。
もちろん、ロボット100が自らの位置座標を定期的にサーバ200に送信する方式でもよい。The
Of course, a system in which the
図4は、感情マップ116の概念図である。
感情マップ116は、サーバ200に格納されるデータテーブルである。ロボット100は、感情マップ116にしたがって行動選択する。図4に示す感情マップ116は、ロボット100の場所に対する好悪感情の大きさを示す。感情マップ116のx軸とy軸は、二次元空間座標を示す。z軸は、好悪感情の大きさを示す。z値が正値のときにはその場所に対する好感が高く、z値が負値のときにはその場所を嫌悪していることを示す。FIG. 4 is a conceptual diagram of the
図4の感情マップ116において、座標P1は、ロボット100の行動範囲としてサーバ200が管理する屋内空間のうち好感情が高い地点(以下、「好意地点」とよぶ)である。好意地点は、ソファの陰やテーブルの下などの「安全な場所」であってもよいし、リビングのように人が集まりやすい場所、賑やかな場所であってもよい。また、過去にやさしく撫でられたり、触れられたりした場所であってもよい。
ロボット100がどのような場所を好むかという定義は任意であるが、一般的には、小さな子どもや犬や猫などの小動物が好む場所を好意地点として設定することが望ましい。In the
The definition of what kind of place the
座標P2は、悪感情が高い地点(以下、「嫌悪地点」とよぶ)である。嫌悪地点は、テレビの近くなど大きな音がする場所、お風呂や洗面所のように濡れやすい場所、閉鎖空間や暗い場所、ユーザから乱暴に扱われたことがある不快な記憶に結びつく場所などであってもよい。
ロボット100がどのような場所を嫌うかという定義も任意であるが、一般的には、小さな子どもや犬や猫などの小動物が怖がる場所を嫌悪地点として設定することが望ましい。Coordinate P2 is a point of high ill feeling (hereinafter referred to as "disgust point"). Disgust points include places with loud noises such as near a TV, places where it is easy to get wet such as baths and washrooms, closed or dark places, and places associated with unpleasant memories of being treated roughly by the user. There may be.
The definition of what kind of place the
座標Qは、ロボット100の現在位置を示す。複数の外部センサ114が定期的に送信するロボット探索信号とそれに対するロボット返答信号により、サーバ200はロボット100の位置座標を特定する。たとえば、ビーコンID=1の外部センサ114とビーコンID=2の外部センサ114がそれぞれロボット100を検出したとき、2つの外部センサ114からロボット100の距離を求め、そこからロボット100の位置座標を求める。
A coordinate Q indicates the current position of the
図4に示す感情マップ116が与えられた場合、ロボット100は好意地点(座標P1)に引き寄せられる方向、嫌悪地点(座標P2)から離れる方向に移動する。
When the
感情マップ116は動的に変化する。ロボット100が座標P1に到達すると、座標P1におけるz値(好感情)は時間とともに低下する。これにより、ロボット100は好意地点(座標P1)に到達して、「感情が満たされ」、やがて、その場所に「飽きてくる」という生物的行動をエミュレートできる。同様に、座標P2における悪感情も時間とともに緩和される。時間経過とともに新たな好意地点や嫌悪地点が生まれ、それによってロボット100は新たな行動選択を行う。ロボット100は、新しい好意地点に「興味」を持ち、絶え間なく行動選択する。
The
感情マップ116は、ロボット100の内部状態として、感情の起伏を表現する。ロボット100は、好意地点を目指し、嫌悪地点を避け、好意地点にしばらくとどまり、やがてまた次の行動を起こす。このような制御により、ロボット100の行動選択を人間的・生物的なものにできる。
The
なお、ロボット100の行動に影響を与えるマップ(以下、「行動マップ」と総称する)は、図4に示したようなタイプの感情マップ116に限らない。たとえば、好奇心、恐怖を避ける気持ち、安心を求める気持ち、静けさや薄暗さ、涼しさや暖かさといった肉体的安楽を求める気持ち、などさまざまな行動マップを定義可能である。そして、複数の行動マップそれぞれのz値を重み付け平均することにより、ロボット100の目的地点を決定してもよい。
Note that the map that affects the action of the robot 100 (hereinafter collectively referred to as the "action map") is not limited to the
ロボット100は、行動マップとは別に、さまざまな感情や感覚の大きさを示すパラメータを有する。たとえば、寂しさという感情パラメータの値が高まっているときには、安心する場所を評価する行動マップの重み付け係数を大きく設定し、目標地点に到達することでこの感情パラメータの値を低下させる。同様に、つまらないという感覚を示すパラメータの値が高まっているときには、好奇心を満たす場所を評価する行動マップの重み付け係数を大きく設定すればよい。
The
図5は、ロボット100のハードウェア構成図である。
ロボット100は、内部センサ128、通信機126、記憶装置124、プロセッサ122、駆動機構120およびバッテリー118を含む。駆動機構120は、上述した車輪駆動機構370を含む。プロセッサ122と記憶装置124は、制御回路342に含まれる。各ユニットは電源線130および信号線132により互いに接続される。バッテリー118は、電源線130を介して各ユニットに電力を供給する。各ユニットは信号線132により制御信号を送受する。バッテリー118は、リチウムイオン二次電池であり、ロボット100の動力源である。FIG. 5 is a hardware configuration diagram of the
内部センサ128は、ロボット100が内蔵する各種センサの集合体である。具体的には、カメラ(全天球カメラ)、マイクロフォンアレイ、測距センサ(赤外線センサ)、サーモセンサ、タッチセンサ、加速度センサ、ニオイセンサなどである。タッチセンサは、外皮314と本体フレーム310の間に設置され、ユーザのタッチを検出する。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。
The
通信機126は、サーバ200や外部センサ114、ユーザの有する携帯機器など各種の外部機器を対象として無線通信を行う通信モジュールである。記憶装置124は、不揮発性メモリおよび揮発性メモリにより構成され、コンピュータプログラムや各種設定情報を記憶する。プロセッサ122は、コンピュータプログラムの実行手段である。駆動機構120は、内部機構を制御するアクチュエータである。このほかには、表示器やスピーカーなども搭載される。
The
プロセッサ122は、通信機126を介してサーバ200や外部センサ114と通信しながら、ロボット100の行動選択を行う。内部センサ128により得られるさまざまな外部情報も行動選択に影響する。駆動機構120は、主として、車輪(前輪102)と頭部(頭部フレーム316)を制御する。駆動機構120は、2つの前輪102それぞれの回転速度や回転方向を変化させることにより、ロボット100の移動方向や移動速度を変化させる。また、駆動機構120は、車輪(前輪102および後輪103)を昇降させることもできる。車輪が上昇すると、車輪はボディ104に完全に収納され、ロボット100は着座面108にて床面Fに当接し、着座状態となる。また、駆動機構120は、ワイヤ135を介して、手106を制御する。
The
図6は、ロボットシステム300の機能ブロック図である。
上述のように、ロボットシステム300は、ロボット100、サーバ200および複数の外部センサ114を含む。ロボット100およびサーバ200の各構成要素は、CPU(Central Processing Unit)および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部はロボット100により実現されてもよい。FIG. 6 is a functional block diagram of the
As described above,
A part of the functions of the
(サーバ200)
サーバ200は、通信部204、データ処理部202およびデータ格納部206を含む。
通信部204は、外部センサ114およびロボット100との通信処理を担当する。データ格納部206は各種データを格納する。データ処理部202は、通信部204により取得されたデータおよびデータ格納部206に格納されるデータに基づいて各種処理を実行する。データ処理部202は、通信部204およびデータ格納部206のインタフェースとしても機能する。(Server 200)
The
データ格納部206は、モーション格納部232、マップ格納部216および個人データ格納部218を含む。
ロボット100は、複数の動作パターン(モーション)を有する。手106を震わせる、蛇行しながらオーナーに近づく、首をかしげたままオーナーを見つめる、などさまざまなモーションが定義される。
The
モーション格納部232は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションIDにより識別される。モーションファイルは、ロボット100のモーション格納部160にもダウンロードされる。どのモーションを実行するかは、サーバ200で決定されることもあるし、ロボット100で決定されることもある。
The
ロボット100のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。たとえば、ロボット100がオーナーに近づくとき、オーナーの方に向き直る単位モーション、手を上げながら近づく単位モーション、体を揺すりながら近づく単位モーション、両手を上げながら着座する単位モーションの組み合わせとして表現されてもよい。このような4つのモーションの組み合わせにより、「オーナーに近づいて、途中で手を上げて、最後は体をゆすった上で着座する」というモーションが実現される。モーションファイルには、ロボット100に設けられたアクチュエータの回転角度や角速度などが時間軸に関連づけて定義される。モーションファイル(アクチュエータ制御情報)にしたがって、時間経過とともに各アクチュエータを制御することで様々なモーションが表現される。
Most of the motions of the
先の単位モーションから次の単位モーションに変化するときの移行時間を「インターバル」とよぶ。インターバルは、単位モーション変更に要する時間やモーションの内容に応じて定義されればよい。インターバルの長さは調整可能である。
以下、いつ、どのモーションを選ぶか、モーションを実現する上での各アクチュエータの出力調整など、ロボット100の行動制御に関わる設定のことを「行動特性」と総称する。ロボット100の行動特性は、モーション選択アルゴリズム、モーションの選択確率、モーションファイル等により定義される。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 to change the unit motion and the contents of the motion. The interval length is adjustable.
Hereinafter, settings related to action control of the
モーション格納部232は、モーションファイルのほか、各種のイベントが発生したときに実行すべきモーションを定義するモーション選択テーブルを格納する。モーション選択テーブルにおいては、イベントに対して1以上のモーションとその選択確率が対応づけられる。
The
マップ格納部216は、複数の行動マップのほか、椅子やテーブルなどの障害物の配置状況を示すマップも格納する。個人データ格納部218は、ユーザ、特に、オーナーの情報を格納する。具体的には、ユーザに対する親密度とユーザの身体的特徴・行動的特徴を示すマスタ情報を格納する。年齢や性別などの他の属性情報を格納してもよい。
The
ロボット100は、ユーザごとに親密度という内部パラメータを有する。ロボット100が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット100に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
The
データ処理部202は、位置管理部208、マップ管理部210、認識部212、動作制御部222、親密度管理部220および状態管理部244を含む。
位置管理部208は、ロボット100の位置座標を、図3を用いて説明した方法にて特定する。位置管理部208はユーザの位置座標もリアルタイムで追跡してもよい。
The
状態管理部244は、充電率や内部温度、プロセッサ122の処理負荷などの各種物理状態など各種内部パラメータを管理する。状態管理部244は、感情管理部234を含む。
感情管理部234は、ロボット100の感情(寂しさ、好奇心、承認欲求など)を示すさまざまな感情パラメータを管理する。これらの感情パラメータは常に揺らいでいる。感情パラメータに応じて複数の行動マップの重要度が変化し、行動マップによってロボット100の移動目標地点が変化し、ロボット100の移動や時間経過によって感情パラメータが変化する。The
The emotion management unit 234 manages various emotion parameters indicating the emotions of the robot 100 (loneliness, curiosity, desire for approval, etc.). These emotional parameters are constantly fluctuating. The importance of a plurality of action maps changes according to the emotion parameter, the movement target point of the
たとえば、寂しさを示す感情パラメータが高いときには、感情管理部234は安心する場所を評価する行動マップの重み付け係数を大きく設定する。ロボット100が、この行動マップにおいて寂しさを解消可能な地点に至ると、感情管理部234は寂しさを示す感情パラメータを低下させる。また、後述の応対行為によっても各種感情パラメータは変化する。たとえば、オーナーから「抱っこ」をされると寂しさを示す感情パラメータは低下し、長時間にわたってオーナーを視認しないときには寂しさを示す感情パラメータは少しずつ増加する。
For example, when the emotion parameter indicating loneliness is high, the emotion management unit 234 sets a large weighting factor for the action map that evaluates the safe place. When the
マップ管理部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の方向に向かう。The
When action map A is given five times more weight than action map B, the total z value of coordinate R1 is 4×5−1=19, and the total z value of coordinate R2 is 3×5+3=18. in the direction of
認識部212は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰(安全地帯)の認識など多様な認識が含まれる。ロボット100の認識部156は、内部センサ128により各種の環境情報を取得し、これを一次処理した上でサーバ200の認識部212に転送する。
The recognition unit 212 recognizes the external environment. Recognition of the external environment includes various recognitions such as recognition of weather and seasons based on temperature and humidity, and recognition of shadows (safe zones) based on light intensity and temperature. The
具体的には、ロボット100の認識部156は、画像から移動物体、特に、人物や動物に対応する画像領域を抽出し、抽出した画像領域から移動物体の身体的特徴や行動的特徴を示す特徴量の集合として「特徴ベクトル」を抽出する。特徴ベクトル成分(特徴量)は、各種身体的・行動的特徴を定量化した数値である。たとえば、人間の目の横幅は0~1の範囲で数値化され、1つの特徴ベクトル成分を形成する。人物の撮像画像から特徴ベクトルを抽出する手法については、既知の顔認識技術の応用である。ロボット100は、特徴ベクトルをサーバ200に送信する。
Specifically, the
サーバ200の認識部212は、更に、人物認識部214と応対認識部228を含む。
人物認識部214は、ロボット100の内蔵カメラによる撮像画像から抽出された特徴ベクトルと、個人データ格納部218にあらかじめ登録されているユーザ(クラスタ)の特徴ベクトルと比較することにより、撮像されたユーザがどの人物に該当するかを判定する(ユーザ識別処理)。人物認識部214は、表情認識部230を含む。表情認識部230は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。
なお、人物認識部214は、人物以外の移動物体、たとえば、ペットである猫や犬についてもユーザ識別処理を行う。The recognition unit 212 of the
The
The
応対認識部228は、ロボット100になされたさまざまな応対行為を認識し、快・不快行為に分類する。応対認識部228は、また、ロボット100の行動に対するオーナーの応対行為を認識することにより、肯定・否定反応に分類する。
快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。たとえば、抱っこされることはロボット100にとって快行為であり、蹴られることはロボット100にとって不快行為である。肯定・否定反応は、ユーザの応対行為が、ユーザの快感情を示すものか不快感情を示すものであるかにより判別される。たとえば、抱っこされることはユーザの快感情を示す肯定反応であり、蹴られることはユーザの不快感情を示す否定反応である。The response recognition unit 228 recognizes various response actions performed by the
Pleasant/unpleasant behavior is determined by whether the user's response behavior is biologically pleasant or unpleasant. For example, being hugged is a pleasant action for the
サーバ200の動作制御部222は、ロボット100の動作制御部150と協働して、ロボット100のモーションを決定する。サーバ200の動作制御部222は、マップ管理部210による行動マップ選択に基づいて、ロボット100の移動目標地点とそのための移動ルートを作成する。動作制御部222は、複数の移動ルートを作成し、その上で、いずれかの移動ルートを選択してもよい。
The
動作制御部222は、モーション格納部232の複数のモーションからロボット100のモーションを選択する。各モーションには状況ごとに選択確率が対応づけられている。たとえば、オーナーから快行為がなされたときには、モーションAを20%の確率で実行する、気温が30度以上となったとき、モーションBを5%の確率で実行する、といった選択方法が定義される。
行動マップに移動目標地点や移動ルートが決定され、後述の各種イベントによりモーションが選択される。The
A movement target point and a movement route are determined on the action map, and motions are selected according to various events described later.
親密度管理部220は、ユーザごとの親密度を管理する。上述したように、親密度は個人データ格納部218において個人データの一部として登録される。快行為を検出したとき、親密度管理部220はそのオーナーに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないオーナーの親密度は徐々に低下する。
The
(ロボット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のインタフェースとしても機能する。(robot 100)
The
データ格納部148は、ロボット100の各種モーションを定義するモーション格納部160と画像格納部172を含む。
ロボット100のモーション格納部160には、サーバ200のモーション格納部232から各種モーションファイルがダウンロードされる。モーションは、モーションIDによって識別される。前輪102を収容して着座する、手106を持ち上げる、2つの前輪102を逆回転させることで、あるいは、片方の前輪102だけを回転させることでロボット100を回転行動させる、前輪102を収納した状態で前輪102を回転させることで震える、ユーザから離れるときにいったん停止して振り返る、などのさまざまなモーションを表現するために、各種アクチュエータ(駆動機構120)の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。The
Various motion files are downloaded from the
データ格納部148には、マップ格納部216および個人データ格納部218からも各種データがダウンロードされてもよい。画像格納部172は、全天球カメラ134により取得される天球画像(後述)およびその処理過程における各種画像を一時的に格納する。
Various data may also be downloaded to the
内部センサ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の仕様に応じて設計すればよい。Data processing unit 136 includes
The motion control unit 150 of the
ロボット100の動作制御部150は、サーバ200の動作制御部222とともにロボット100の移動方向を決める。行動マップに基づく移動をサーバ200で決定し、障害物をよけるなどの即時的移動をロボット100の動作制御部150により決定してもよい。駆動機構120は、動作制御部150の指示にしたがって前輪102を駆動することで、ロボット100を移動目標地点に向かわせる。
The motion control unit 150 of the
ロボット100の動作制御部150は選択したモーションを駆動機構120に実行指示する。駆動機構120は、モーションファイルにしたがって、各アクチュエータを制御する。
The motion control unit 150 of the
動作制御部150は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手106をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪102を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構120は、動作制御部150の指示にしたがって前輪102や手106、首(頭部フレーム316)を駆動することで、ロボット100にさまざまなモーションを表現させる。
The motion control unit 150 can also execute a motion of raising both
画像取得部152は、全天球カメラ134から天球画像を取得する。画像変換部154は、天球画像を各種の投影画像に変換する(詳細後述)。測距部158は、ロボット100が複数の全天球カメラ134を搭載するとき、三角測距の原理により外部物体までの距離を測定する(第3実施形態に関連して後述)。
The
ロボット100の認識部156は、内部センサ128から得られた外部情報を解釈する。認識部156は、視覚的な認識(視覚部)、匂いの認識(嗅覚部)、音の認識(聴覚部)、触覚的な認識(触覚部)が可能である。
A
認識部156は、全天球カメラ134による天球画像に基づいて、人やペットなどの移動物体を検出する。認識部156は、特徴抽出部146を含む。特徴抽出部146は、移動物体の撮像画像から特徴ベクトルを抽出する。上述したように、特徴ベクトルは、移動物体の身体的特徴と行動的特徴を示すパラメータ(特徴量)の集合である。移動物体を検出したときには、ニオイセンサや内蔵の集音マイク、温度センサ等からも身体的特徴や行動的特徴が抽出される。これらの特徴も定量化され、特徴ベクトル成分となる。
A
ロボットシステム300は、大量の画像情報やその他のセンシング情報から得られる身体的特徴および行動的特徴に基づいて、高い頻度で出現するユーザを「オーナー」としてクラスタリングする。
たとえば、ひげが生えている移動物体(ユーザ)は早朝に活動すること(早起き)が多く、赤い服を着ることが少ないのであれば、早起きでひげが生えていて赤い服をあまり着ないクラスタ(ユーザ)、という第1のプロファイルができる。一方、メガネをかけている移動物体はスカートを履いていることが多いが、この移動物体にはひげが生えていない場合、メガネをかけていてスカートを履いているが絶対ひげは生えていないクラスタ(ユーザ)、という第2のプロファイルができる。
以上は、簡単な設例であるが、上述の方法により、父親に対応する第1のプロファイルと母親に対応する第2のプロファイルが形成され、この家には少なくとも2人のユーザ(オーナー)がいることをロボット100は認識する。The
For example, if moving objects with beards (users) tend to be active in the early morning (early risers) and rarely wear red clothes, then a cluster (users) who wake up early in the morning, grow beards and rarely wear red clothes ( user). On the other hand, a moving object wearing glasses often wears a skirt, but if this moving object does not have a beard, a cluster that wears glasses and wears a skirt but never has a beard is found. (user), a second profile is created.
Although the above is a simple example, the method described above creates a first profile corresponding to the father and a second profile corresponding to the mother, and there are at least two users (owners) in this house. The
ただし、ロボット100は第1のプロファイルが「父親」であると認識する必要はない。あくまでも、「ひげが生えていて早起きすることが多く、赤い服を着ることはめったにないクラスタ」という人物像を認識できればよい。プロファイルごとに、プロファイルを特徴づける特徴ベクトルが定義される。
However,
このようなクラスタ分析が完了している状態において、ロボット100が新たに移動物体(ユーザ)を認識したとする。
このとき、サーバ200の人物認識部214は、新たな移動物体の特徴ベクトルに基づいてユーザ識別処理を実行し、移動物体がどのプロファイル(クラスタ)に該当するかを判断する。たとえば、ひげが生えている移動物体を検出したとき、この移動物体は父親である確率が高い。この移動物体が早朝行動していれば、父親に該当することはいっそう確実である。一方、メガネをかけている移動物体を検出したときには、この移動物体は母親である可能性もある。この移動物体にひげが生えていれば、母親ではなく父親でもないので、クラスタ分析されていない新しい人物であると判定する。Assume that the
At this time, the
特徴抽出によるクラスタ(プロファイル)の形成(クラスタ分析)と、特徴抽出にともなうクラスタへの当てはめは同時並行的に実行されてもよい。 Formation of clusters (profiles) by feature extraction (cluster analysis) and fitting to clusters accompanying feature extraction may be executed in parallel.
検出・分析・判定を含む一連の認識処理のうち、ロボット100の認識部156は認識に必要な情報の取捨選択や抽出を行い、判定等の解釈処理はサーバ200の認識部212により実行される。認識処理は、サーバ200の認識部212だけで行ってもよいし、ロボット100の認識部156だけで行ってもよいし、上述のように双方が役割分担をしながら上記認識処理を実行してもよい。
Among a series of recognition processes including detection, analysis, and judgment, the
ロボット100に対する強い衝撃が与えられたとき、認識部156は内蔵の加速度センサによりこれを認識し、サーバ200の応対認識部228は、近隣にいるユーザによって「乱暴行為」が働かれたと認識する。ユーザがツノ112を掴んでロボット100を持ち上げるときにも、乱暴行為と認識してもよい。ロボット100に正対した状態にあるユーザが特定音量領域および特定周波数帯域にて発声したとき、サーバ200の応対認識部228は、自らに対する「声掛け行為」がなされたと認識してもよい。また、体温程度の温度を検知したときにはユーザによる「接触行為」がなされたと認識し、接触認識した状態で上方への加速度を検知したときには「抱っこ」がなされたと認識する。ユーザがボディ104を持ち上げるときの物理的接触をセンシングしてもよいし、前輪102にかかる荷重が低下することにより抱っこを認識してもよい。
まとめると、ロボット100は内部センサ128によりユーザの行為を物理的情報として取得し、サーバ200の応対認識部228は快・不快を判定し、サーバ200の認識部212は特徴ベクトルに基づくユーザ識別処理を実行する。When a strong impact is applied to the
In summary, the
サーバ200の応対認識部228は、ロボット100に対するユーザの各種応対を認識する。各種応対行為のうち一部の典型的な応対行為には、快または不快、肯定または否定が対応づけられる。一般的には快行為となる応対行為のほとんどは肯定反応であり、不快行為となる応対行為のほとんどは否定反応となる。快・不快行為は親密度に関連し、肯定・否定反応はロボット100の行動選択に影響する。
The response recognition unit 228 of the
認識部156により認識された応対行為に応じて、サーバ200の親密度管理部220はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
The
サーバ200の認識部212は、応対に応じて快・不快を判定し、マップ管理部210は「場所に対する愛着」を表現する行動マップにおいて、快・不快行為がなされた地点のz値を変化させてもよい。たとえば、リビングにおいて快行為がなされたとき、マップ管理部210はリビングに好意地点を高い確率で設定してもよい。この場合、ロボット100はリビングを好み、リビングで快行為を受けることで、ますますリビングを好む、というポジティブ・フィードバック効果が実現する。
The recognizing unit 212 of the
移動物体(ユーザ)からどのような行為をされるかによってそのユーザに対する親密度が変化する。 The level of intimacy with the user changes depending on what kind of action is performed by the moving object (user).
ロボット100は、よく出会う人、よく触ってくる人、よく声をかけてくれる人に対して高い親密度を設定する。一方、めったに見ない人、あまり触ってこない人、乱暴な人、大声で叱る人に対する親密度は低くなる。ロボット100はセンサ(視覚、触覚、聴覚)によって検出するさまざまな外界情報にもとづいて、ユーザごとの親密度を変化させる。
The
実際のロボット100は行動マップにしたがって自律的に複雑な行動選択を行う。ロボット100は、寂しさ、退屈さ、好奇心などさまざまなパラメータに基づいて複数の行動マップに影響されながら行動する。ロボット100は、行動マップの影響を除外すれば、あるいは、行動マップの影響が小さい内部状態にあるときには、原則的には、親密度の高い人に近づこうとし、親密度の低い人からは離れようとする。
The
ロボット100の行動は親密度に応じて以下に類型化される。
(1)親密度が非常に高いユーザ
ロボット100は、ユーザに近づき(以下、「近接行動」とよぶ)、かつ、人に好意を示す仕草としてあらかじめ定義される愛情仕草を行うことで親愛の情を強く表現する。
(2)親密度が比較的高いユーザ
ロボット100は、近接行動のみを行う。
(3)親密度が比較的低いユーザ
ロボット100は特段のアクションを行わない。
(4)親密度が特に低いユーザ
ロボット100は、離脱行動を行う。The behavior of the
(1) A user with a very high intimacy The
(2) A
(3) The
(4) A
以上の制御方法によれば、ロボット100は、親密度が高いユーザを見つけるとそのユーザに近寄り、逆に親密度が低いユーザを見つけるとそのユーザから離れる。このような制御方法により、いわゆる「人見知り」を行動表現できる。また、来客(親密度が低いユーザA)が現れたとき、ロボット100は、来客から離れて家族(親密度が高いユーザB)の方に向かうこともある。この場合、ユーザBはロボット100が人見知りをして不安を感じていること、自分を頼っていること、を感じ取ることができる。このような行動表現により、ユーザBは、選ばれ、頼られることの喜び、それにともなう愛着の情を喚起される。
According to the control method described above, when the
一方、来客であるユーザAが頻繁に訪れ、声を掛け、タッチをするとロボット100のユーザAに対する親密度は徐々に上昇し、ロボット100はユーザAに対して人見知り行動(離脱行動)をしなくなる。ユーザAも自分にロボット100が馴染んできてくれたことを感じ取ることで、ロボット100に対する愛着を抱くことができる。
On the other hand, when the user A, who is a visitor, frequently visits, speaks to, and touches the
なお、以上の行動選択は、常に実行されるとは限らない。たとえば、ロボット100の好奇心を示す内部パラメータが高くなっているときには、好奇心を満たす場所を求める行動マップが重視されるため、ロボット100は親密度に影響された行動を選択しない可能性もある。また、玄関に設置されている外部センサ114がユーザの帰宅を検知した場合には、ユーザのお出迎え行動を最優先で実行するかもしれない。
Note that the above action selection is not always executed. For example, when the internal parameter indicating the curiosity of the
[天球画像からの一般的な投影処理]
以下においては、まず、全天球カメラ134による撮像画像である天球画像を正距円筒図法に基づいて円筒面に投影することにより、投影画像を生成する一般的な方法について説明する。次に、正距円筒図法の問題点を指摘した上で、ロボットシステム300において新たに採用した投影方法について説明する。
以下、「投影画像」とは、天球画像を画像変換することにより生成され、画像認識の直接的な対象となることが予定される画像を意味するものとする。[General projection processing from celestial images]
First, a general method of generating a projected image by projecting a celestial image, which is an image captured by the
Hereinafter, the term "projection image" means an image that is generated by transforming a celestial image and is expected to be a direct object of image recognition.
図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(中心点)に投影される。FIG. 7 is a schematic diagram for explaining a method of generating a celestial image.
A
下半球140bも同様の方式にて結像面138に投影される。下半球140bの座標点P4、P5、P6、PN(天底)は、結像面138(裏面)の座標点Q1、Q2、Q3、O(中心点)に投影される。
上天球140aのすべての座標点は結像面138の表面側に投影され、下半球140bのすべての座標点は結像面138の裏面側に投影される。3次元の天球面140上の座標点(画素)を二次元の結像面138に投影することにより、二次元の「天球画像」を生成する。このような天球画像の生成方法は魚眼レンズなどでよく知られている。
All coordinate points of the upper
図8は、天球画像170の模式図である。
天球画像170は、真円形状の上天球画像170aと下天球画像170bを含む。上天球画像170aは上天球140a(上部撮像面)を結像面138の表面へ投影した画像である。下天球画像170bは下半球140b(下部撮像面)を結像面138の裏面へ投影した画像である。上天球画像170aの中心点Oは上天球140aの天頂PZに対応し、下天球画像170bの中心点Oは下半球140bの天底PNに対応する。天球中央線174は、上天球140aと下半球140bの境界線である。FIG. 8 is a schematic diagram of the
The
なお、ロボット100の全天球カメラ134は上天球140aのみを撮像対象としてもよい。その場合には、天球画像170は上天球画像170aのみから構成される。天球画像170は、天球面140の一部、少なくとも、天球面140の表面積の35%以上をカバーする撮像画像であればよい。天球画像170は、ロボット100の上方、すなわち、天球面140の天頂PZを含む範囲を対象とした撮像画像であることが望ましい。
Note that the
図9は、正距円筒図法における円筒面162と天球面140の関係を説明するための模式図である。
まず、天球面140に外接する円筒面162を想定する。円筒面162は天球面140を環囲し、かつ、上面と下面を有さない。正距円筒図法においては、天球面140の座標点を円筒面162に投影する。いいかえれば、天球画像170の座標点に対応する円筒面162の座標点を特定する。FIG. 9 is a schematic diagram for explaining the relationship between the
First, a
円筒中央線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に投影する方法について説明する。FIG. 10 is a schematic diagram for explaining an image projection method based on the equirectangular projection from the
A single
点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の座標を計算する。
Point A1 is closer to the
正距円筒図法は、極点付近(図中の斜線部)において、単一円筒画像164が大きく歪む。このため、天球画像170の点B2は、単一円筒画像164においては横方向に引き伸ばされてしまう。いいかえれば、点B2に対応する点C2は、横方向に引き伸ばされる。
In the equirectangular projection, the single
撮像画像から外部物体を検出するための画像認識プログラムとしては、さまざまな製品が提供されている。一般的な画像認識プログラムは、解析対象となる撮像画像(投影画像)に歪みがないことを前提としている。したがって、天球画像170は言うまでもなく、正距円筒図法による単一円筒画像164を対象として画像認識を行うことは困難である。この問題に対する第1の対策は天球画像170や単一円筒画像164の歪みを考慮に入れて画像認識が可能なプログラムを新たに開発することである。第2の対策は、正距円筒図法にこだわらず、天球画像170から歪みのない、または、歪みの少ない投影画像を生成する画像補正プログラムを開発することである。第2の対策には、既存のさまざまな画像認識プログラムを利用できるメリットがある。本実施形態においては、第2の対策を採用し、天球画像170の歪みを補正する方法を2種類示す。
Various products are provided as image recognition programs for detecting external objects from captured images. A general image recognition program assumes that there is no distortion in the captured image (projected image) to be analyzed. Therefore, it is difficult to perform image recognition on the single
天球画像170の歪みを補正する方法として、第1の実施形態において斜方立方八面体への投影方法(以下、「多面体投影法」とよぶ)について説明する。次に、第2の実施形態として多重円筒への投影方法(以下、「多重円筒投影法」とよぶ)について説明する。
As a method of correcting the distortion of the
(第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である。(First Embodiment: Polyhedral Projection Method)
FIG. 11 is a perspective view of an
In the first embodiment, an oblique
上面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の投影画像となる。The top surface T is a horizontal plane perpendicular to the axis connecting the center O and the zenith PZ. Similarly, the lower surface B is a horizontal plane perpendicular to the axis connecting the center O and the nadir PN. In the first embodiment, enlarged
In the first embodiment, coordinate points (pixels) on the
図13は、斜方立法八面体166と天球面140の側断面図である。
天球面140の座標点Aから拡大平行面168(TF)に垂線を引いたときの交点が点S(TF)である。天球面140の座標点Aから拡大平行面168(F)に垂線を引いたときの交点が点S(F)である。結像面138(天球画像170)において、点Aに対応するのは点Qであるとする。FIG. 13 is a side sectional view of
The point S (TF) is the point of intersection when a perpendicular line is drawn from the coordinate point A of the
画像変換部154は、拡大平行面168(TF)および拡大平行面168(F)それぞれにおいて点A(点Q)に対応する点S(TF)と点S(F)を特定する。より具体的には、拡大平行面168(TF)における点S(TF)の座標を計算するための変換関数fTF、拡大平行面168(F)における点S(F)の座標を計算するための変換関数fFがあらかじめ用意されている。画像変換部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に多重投影されることもある。
The
図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に同時投影できる。
In FIG. 13, the point S(F) is closer to the
多面体投影法では、天球面140に沿って想定される複数の拡大平行面168により中心点O(全天球カメラ134)を包囲する。天頂PZは拡大平行面168(T)に投影される。図9の円筒面162と異なり、拡大平行面168(T)は天頂PZにおいて天球面140と一致するため、天頂PZ付近における投影画像(拡大平行面168(T))の歪みは正距円筒図法に比べると格段に小さくなる。天底PNについても同様である。
In the polyhedral projection method, a plurality of enlarging
図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のうち、重要な情報が映っていない部分、たとえば、所定範囲以上にわたって同一色しか映っていない単調な部分を画像処理の対象から除外してもよい。FIG. 14 is a schematic diagram for explaining partial cutting of the enlarged
The
図15は、多面体投影法を説明するための模式図である。
多面体画像190(投影画像)は、18面の拡大平行面168の集合体である。すなわち、多面体画像190は、天球面140から18面の拡大平行面168への投影画像である。図15においては、天球面140の座標点A1と座標点A2をそれぞれ多面体画像190に投影するとして説明する。FIG. 15 is a schematic diagram for explaining the polyhedral projection method.
A polyhedral image 190 (projected image) is a collection of 18 enlarged
点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に重複投影されることもある。
Point A1 is closer to the
図16は、第1実施形態における画像処理過程を示すフローチャートである。
画像取得部152は定期的に天球画像170を取得する。図16に示す画像処理は、天球画像170が取得されるごとに繰り返し実行される。FIG. 16 is a flow chart showing the image processing process in the first embodiment.
The
まず、画像取得部152は、全天球カメラ134から天球画像170を取得する(S10)。画像変換部154は、天球画像170を多面体画像190、すなわち、18面の拡大平行面168に画像変換する(S12)。上述のように拡大平行面168ごとに変換関数が定義されており、画像変換部154は18種類の変換関数により天球画像170上の点を1以上の拡大平行面168に投影する。多面体画像190に含まれる拡大平行面168それぞれについて画像認識処理を実行する前に、認識部156は画像認識の処理順を決める(S14)。
First, the
たとえば、処理時点t1において拡大平行面168(R)においてオーナーXが検出され、次回の処理時点t2において再度画像処理を実行するときには、認識部156は拡大平行面168(R)の画像認識を最優先に設定する。これは、処理時点t2においても、拡大平行面168(R)においてオーナーXが検出される可能性が高いためである。ロボット100はオーナーXの位置や動き、表情等に基づいて行動特性を変化させるため、認識部156はオーナーXの視認を最優先させる。認識部156は、拡大平行面168(R)の次には、拡大平行面168(R)に隣接する拡大平行面168(TR)等に処理順位を割り当てる。
For example, when the owner X is detected on the enlarged parallel plane 168(R) at the processing time t1 and the image processing is executed again at the next processing time t2, the
処理順を決定したあと、認識部156は、サーバ200と連携して画像認識を実行する(S16)。具体的には、認識部156は処理順位1位の拡大平行面168からユーザなどの移動物体を抽出し、この拡大平行面168に移動物体が映っていれば特徴抽出部146は特徴ベクトルを抽出する。通信部142は特徴ベクトルをサーバ200に送信し、サーバ200のユーザ識別処理等を実行する。識別結果に応じて、ロボット100はモーション選択等を決定する。未処理の拡大平行面168が残っている限り(S18のN)、他の拡大平行面168についても同様の画像認識が実行される。すべての拡大平行面168について確認すると(S18のY)、処理は終了する。
After determining the processing order, the
オーナー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に多重投影される。このため、外部物体を画像認識に好適なアングルから撮像(キャプチャ)しやすくなる。
When owner X is reflected in both enlarged parallel plane 168 (TF) and enlarged parallel plane 168 (F), an image of owner X is displayed based on both enlarged parallel plane 168 (TF) and enlarged parallel plane 168 (F). can be processed. For example, it is assumed that owner X's mouth is shown on enlarged parallel plane 168(F), and owner X's entire face is shown on enlarged parallel plane 168(TF). In this case, the
(第2実施形態:多重円筒投影法)
図17は、多重円筒投影法を説明するための第1の模式図である。
多重円筒投影法においては、図10に関連して説明した正距円筒図法と同様にして、天球画像170を単一円筒画像164に投影する。多重円筒投影法では、1つの天球画像170に対して複数の円筒面162を設定することにより、複数の単一円筒画像164を生成する。図17においては、図10と同様、円筒面162の円筒中央線180と天球面140の天球中央線174が一致している。多重円筒投影法においては、円筒中央線180の付近は歪みが少なく、円筒中央線180から離れるほど歪みが大きくなる点に着目する。(Second Embodiment: Multiple Cylindrical Projection Method)
FIG. 17 is a first schematic diagram for explaining the multiple cylindrical projection method.
In the multiple cylindrical projection, the
図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が一致するときには、多重円筒投影法では極点付近の画像変換を行わない。
In FIG. 17, point A1 on
多重円筒投影法では、円筒中央線180と天球中央線174の相対角度を変化させながら、円筒中央線180を含む中央部分画像176だけを対象として画像変換を行う。いいかえれば、画像変換部154は、画像変換時の歪みの少ない部分だけを対象として画像変換を行う。そして、複数の中央部分画像176の集合体として、後述の多重円筒画像400(投影画像)が形成される。
In the multiple cylindrical projection method, while changing the relative angle between the
図18は、多重円筒投影法を説明するための第2の模式図である。
図18においては、円筒面162の円筒中央線180と天球面140の天球中央線174は垂直交差している。このため、天球面140の極点は、円筒中央線180上に位置する。FIG. 18 is a second schematic diagram for explaining the multiple cylindrical projection method.
In FIG. 18, the
図18において、天球面140の点A3は円筒中央線180の上に位置する。天球面140の点A3は天球画像170においては点B3に対応し、単一円筒画像164bにおいては点S3に対応する。一方、円筒中央線180から遠い点A4は天球画像170においては点B4に対応するが、単一円筒画像164bへの投影はされない。図18においても、画像変換部154は円筒中央線180を含む所定幅の中央部分画像176bだけを対象として画像変換を実行する。
In FIG. 18, point A3 on
図19は、多重円筒投影法により生成される多重円筒画像400の概念図である。
画像変換部154は、天球面140と円筒面162の相対角度を変更しながら、いいかえれば、円筒中央線180と天球中央線174の相対角度を変化させながら複数の中央部分画像176を生成する。第2実施形態においては、円筒中央線180と天球中央線174の相対角度が0(度)、30(度)、60(度)および90(度)の4回について、4つの中央部分画像176(中央部分画像176a~176d)を生成する。このように、歪みの小さな中央部分画像176を集めることにより、歪みの小さな投影画像としての多重円筒画像400を生成できる。多重円筒投影法の場合にも、単一の外部物体の一部が、複数の中央部分画像176に重複投影されることもある。FIG. 19 is a conceptual diagram of a multiple
The
図20は、第2実施形態における画像処理過程を示すフローチャートである。
第2実施形態においても、画像取得部152は定期的に天球画像170を取得する。図20に示す画像処理は、天球画像170が取得されるごとに繰り返し実行される。FIG. 20 is a flow chart showing the image processing process in the second embodiment.
Also in the second embodiment, the
まず、画像取得部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)。処理順の決定方法は、多面体投影法に関連して説明した方法と同様である。
First, the
処理順を決定したあと、認識部156は、サーバ200と連携して画像認識を実行する(S30)。認識結果に応じて、ロボット100はモーション選択等を決定する。未処理の中央部分画像176が残っている限り(S32のN)、他の中央部分画像176についても同様の画像認識が実行される。すべての中央部分画像176について確認すると(S32のY)、処理は終了する。
After determining the processing order, the
中央部分画像176は部分的に重複するため、天球画像170の画素によっては、複数の中央部分画像176に多重投影される。このため、多面体投影法と同様、多重円筒投影法においても外部物体を画像認識に好適なアングルから撮像(キャプチャ)しやすくなる。
Since the central partial images 176 partially overlap each other, some pixels of the
(第3実施形態:三角測距)
第3実施形態においては、複数の全天球カメラ134により三角測距方式にて外部物体までの距離を測定する方法について説明する。2台のカメラを用いた三角測距は広く知られている。しかし、歪みのない画像を前提とした一般的な三角測距方式をそのまま天球画像170に適用することはできない。第1実施形態では、天球画像170を斜方立法八面体166に投影することで、歪みの小さな18枚の投影画像を得た。これは、実質的には、18枚の投影画像(拡大平行面168)を18台のカメラによって撮影したと見なすことができる。したがって、2台の全天球カメラ134を用いれば、18方向を18×2台のカメラで撮影したペア画像を得ていると考えることができる。各方向についてペアになる投影画像の視差をもとめることで、全天球カメラ134に基づく三角測距が可能になる。(Third Embodiment: Triangulation)
In the third embodiment, a method of measuring the distance to an external object by triangulation using a plurality of
図21(a)は、第3実施形態におけるロボット100の正面外観図である。図21(b)は、第3実施形態におけるロボット100の側面外観図である。
第3実施形態におけるロボット100は、2本のツノ112(ツノ112aおよびツノ112b)を有する。ツノ112aおよびツノ112bにはそれぞれ全天球カメラ134(全天球カメラ134aと全天球カメラ134b)が内蔵される。全天球カメラ134aと全天球カメラ134bの間の距離は既知である。FIG. 21(a) is a front external view of the
The
図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を算出できる。FIG. 22 is a schematic diagram for explaining a method of measuring the distance from the
In FIG. 22, there is an
外部物体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(投影画像)を取得できる。The
As described above, when the three-dimensional
歪みの少ない投影画像があれば、既存の画像認識プログラムを適用できる。多角形投影法によれば、ロボット100を覆う天球面140の撮像画像を複数の拡大平行面168(投影画像)に映すことができるため、ロボット100は多面体画像190に基づいて周辺環境を広域的に視認できる。画像認識プログラムを歪みのある天球画像170等に対応させるよりも、天球画像170の歪みを補正する方が、既存の画像認識プログラムを有効活用しやすい。
Existing image recognition programs can be applied if there is a projection image with little distortion. According to the polygonal projection method, the captured image of the
第1実施形態においては、斜方立法八面体166の側面を拡大させた複数の拡大平行面168を設定することにより、外部物体を複数の拡大平行面168に重複投影させることができる。このため、1つの拡大平行面168では映りが悪くても、別の拡大平行面168では好適に画像認識できる可能性があるため、画像認識の精度を高めることができる。
In the first embodiment, by setting a plurality of enlarged
第2の実施形態(多重円筒投影法)においては、天球面140と円筒面162の相対角度をさまざまに変化させることにより、複数の中央部分画像176を取得する。正距円筒図法であっても、円筒中央線180付近は画像の歪みが小さい。そこで、円筒中央線180近辺の所定幅の中央部分画像176を複数の相対角度に対応して複数生成することにより、全体として歪みの少ない多重円筒画像400(投影画像)を生成できる。
In a second embodiment (multiple cylindrical projection method), a plurality of central partial images 176 are acquired by varying the relative angles of the
天球画像170から拡大平行面168や中央部分画像176への画像変換は、GPU(Graphics Processing Unit)を用いて並列的に実行されてもよい。また、複数のGPUを用いることで、更に高速に画像変換が可能になる。たとえば、第1~第4GPUそれぞれが中央部分画像176a~176dの画像変換処理を並列実行してもよい。また、拡大平行面168ごとに用意される変換関数とGPUを一対一にて対応付け、複数のGPUにより画像変換処理を並列実行してもよい。GPUは画像変換などの単純作業は高速実行可能であるため、ロボット100に複数のGPUを搭載させることで画像処理速度を高速化させやすい。
Image conversion from the
第3実施形態において説明したように、ロボット100に複数の全天球カメラ134を搭載することにより、全方位にて外部物体250からロボット100までの距離を測定できる。通常のカメラは全天球カメラ134よりも画角が狭いため、2つのカメラによって距離測定可能な範囲が限定される。一方、全天球カメラ134は実質的に死角がない。このため、ロボット100に2つの全天球カメラ134を搭載することにより、ロボット100の周辺にあるほとんどの外部物体250を距離測定対象とすることができる。この結果、ロボット100は、周辺環境をより精緻に把握しやすくなる。
As described in the third embodiment, by mounting a plurality of
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。 It should be noted that the present invention is not limited to the above-described embodiments and modifications, and can be embodied by modifying constituent elements without departing from the scope of the invention. Various inventions may be formed by appropriately combining a plurality of constituent elements disclosed in the above embodiments and modifications. Also, some constituent elements may be deleted from all the constituent elements shown in the above embodiments and modifications.
1つのロボット100と1つのサーバ200、複数の外部センサ114によりロボットシステム300が構成されるとして説明したが、ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部がロボット100に割り当てられてもよい。1つのサーバ200が複数のロボット100をコントロールしてもよいし、複数のサーバ200が協働して1以上のロボット100をコントロールしてもよい。
Although the
ロボット100やサーバ200以外の第3の装置が、機能の一部を担ってもよい。図6において説明したロボット100の各機能とサーバ200の各機能の集合体は大局的には1つの「ロボット」として把握することも可能である。1つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力やロボットシステム300に求められる仕様等に鑑みて決定されればよい。
A third device other than the
上述したように、「狭義におけるロボット」とはサーバ200を含まないロボット100のことであるが、「広義におけるロボット」はロボットシステム300のことである。サーバ200の機能の多くは、将来的にはロボット100に統合されていく可能性も考えられる。
As described above, the “robot in a narrow sense” refers to the
第1実施形態(多面体投影法)においては、天球面140を斜方立法八面体166に投影するとして説明した。多面体投影法は、斜方立法八面体166に限らず、さまざまな多面体に対して適用可能である。たとえば、天球面140は6面体に投影されてもよいし、20面体に投影されてもよい。投影面が多くなるほど、いいかえれば、多面体が球体に近づくほど、天球面140と多面体の乖離が小さくなるため、投影画像の歪みを抑制しやすい。
In the first embodiment (polyhedral projection method), the
多面体投影法は、更に、多角形以外にも応用可能である。全天球カメラ134に対して異なる角度にて対向する複数の平面(投影面)を想定し、天球面140(天球画像170)の画素をこれらの平面に投影することにより、複数の投影画像を取得できる。このとき、複数の平面が多面体を構成することは必須ではない。たとえば、ロボット100の後方に投影面を設定しない場合には、全天球カメラ134によって後方を撮像できるけれども視認できなくなる。このような設定によれば、ロボット100は、視野は広くても死角を有することになる。死角を有するロボット100の方が生物性を感じられるかもしれない。したがって、ロボット100が全方位を視認できる必須はない。一方、複数の投影面により天球面140を覆うとき、すなわち、複数の投影面が多面体を形成するときには、ロボット100は全方位を視認できる。
Polyhedral projection is also applicable to non-polygons. Assuming a plurality of planes (projection planes) facing the
認識部156は、複数の拡大平行面168のうち、所定の拡大平行面168の処理を優先してもよい。たとえば、認識部156は、上部側面に対応する拡大平行面168に対して他の拡大平行面168よりも高い処理順位を設定してもよい。ロボット100は人間よりも背が低いため、ユーザなどの認識すべき外部物体は、通常、上部側面方向(ロボット100の斜め上方)に視認される可能性が高いと考えられる。このため、拡大平行面168(TF)等の上部側面に対応する拡大平行面168の処理順位を優先することにより、認識すべきユーザを検出しやすくなる。複数の中央部分画像176に処理順位を設定するときも同様である。
The
多重円筒投影法においては、人の特性が現れる部分、たとえば、顔を示す肌色の画素を多重円筒画像400が多く含むように、円筒中央線180と天球中央線174の相対角度を任意に調整してもよい。このような制御方法によれば、画像認識の対象となりやすい人の顔を中央部分画像176に収めやすくなる。
In the multiple cylindrical projection method, the relative angle between the
本実施形態においては、ロボット100を対象として説明したが、画像取得部152、画像変換部154および認識部156の機能は、画像認識装置として部品化されてもよい。
In the present embodiment, the
ロボットシステム300は、多面体投影法や多重円筒投影法等の画像補正機能を工場出荷の段階から備える必要はない。ロボットシステム300の出荷後に、画像補正機能を実現する画像処理プログラムをロボット100にインストールすることにより、ロボットシステム300の機能強化が実現されてもよい。
The
(第4実施形態:回転式多面体投影法)
第4実施形態においては、第1実施形態において説明した多面体投影法を改良した「回転式多面体投影法」について説明する。
回転式多面体投影法(第4実施形態)においては、多面体投影法(第1実施形態)と同様、天球画像170を多面体の各面に投影する。第4実施形態においては、天球画像170が投影される多面体の面を「展開面」、多面体の展開面に投影される撮影画像を「展開画像」とよぶ。多面体投影法(第1実施形態)においては、展開画像(投影画像)と展開画像のつなぎ目が画像認識上の死角になりやすいため、展開面を拡大して拡大平行面168を生成した。いわば、大きな拡大平行面168により、天球面140を大きく漏れなく包み込む方式である。(Fourth Embodiment: Rotational Polyhedral Projection Method)
In the fourth embodiment, a "rotational polyhedral projection method", which is an improvement of the polyhedral projection method described in the first embodiment, will be described.
In the rotating polyhedral projection method (fourth embodiment), the
回転式多面体投影法(第4実施形態)においては、大きな拡大平行面168により死角を無くすのではなく、多面体を動かすことで展開画像と展開画像のつなぎ目の位置を変化させる。展開画像と展開画像のつなぎ目(死角)を時系列にてずらせば、たとえば、ある時点の画像変換時(投影時)にはつなぎ目(死角)に投影された物体を、次の時点の画像変換時には展開画像の中央に投影させることができる。多面体を回転させることで死角をなくす方式であるため、大きな拡大平行面168を用意する必要がない。このため、拡大平行面168に生じていた重複部分、いわば、「のりしろ部分」を無くす、または、小さくすることができる。
第4実施形態においては、斜方立法八面体166(図11参照)ではなく、五角錐台402に対して天球画像170を投影する。In the rotating polyhedral projection method (fourth embodiment), instead of eliminating blind spots with a large enlarged
In the fourth embodiment, the
図23は、五角錐台402の斜視図である。
五角錐台402は、五角錐の上部を切り取った形状の立体である。五角錐台402は5枚の側面404(台形)と、1枚の天頂面406(正五角形)の合計6枚の面を有する。底面は想定しない。側面404(台形)を含む正方形の拡大側面408と、天頂面406(正五角形)を含む正方形の拡大天頂面410を想定する。この5枚の拡大側面408と1枚の天頂面406が展開面となる。第4実施形態においても、第1実施形態に示した多面体投影法により天球画像170を5枚の拡大側面408と1枚の拡大天頂面410に投影する。FIG. 23 is a perspective view of a truncated
The truncated
第4実施形態の画像取得部152(全天球カメラ134)は、1秒あたり、30~50枚程度の天球画像170を取得する。画像取得部152が1秒あたりに取得する天球画像170の枚数を「天球画像レート」とよぶ。取得タイミングtc1、tc2・・・tcnにおいて連続的に取得される天球画像170をそれぞれ天球画像170(tc1)、天球画像170(tc2)・・・天球画像170(tcn)のように表記する。天球画像レートは、CPUなど計算リソースの状況に応じて変動してもよい。
The image acquisition unit 152 (omnidirectional camera 134) of the fourth embodiment acquires about 30 to 50
画像変換部154は、画像取得部152が取得したすべての天球画像170を画像変換するのではなく、連続的に取得される複数の天球画像170から一部を変換対象として選択する。たとえば、画像変換部154は、天球画像170(tc1)、天球画像170(tc5)、天球画像170(tc9)のように、5回に1回のペースで変換対象とすべき天球画像170をピックアップしてもよい。この場合、天球画像170(tc2)等は画像変換処理および画像認識処理の対象外となる。
The
以下、画像変換部154が変換対象とすべき天球画像170をピックアップするタイミングを「t1,t2,t3・・・」と表記する。上記設例の場合、t1=tc1,t2=tc5,t3=tc9である。画像取得部152が天球画像170を取得するよりも、天球画像170の画像変換および画像認識処理は時間がかかる。また、間引き率を高めるほど、画像変換および画像認識の処理負荷を抑制できる。以下、時刻t1(tc1)に取得された天球画像170を「天球画像170(t1)」のように表記する。
以下、画像変換部154が、1秒間に天球画像170を画像変換する回数を「画像変換レート」とよぶ。画像変換は、画像取得部152が取得した天球画像170を間引きながらおこなうので、画像変換レートは天球画像レートより小さい。Hereinafter, the timings at which the
Hereinafter, the number of times the
図24は、五角錐台402(t1)を上から見たときの模式図である。
五角錐台402は、中心点Oにある全天球カメラ134を囲むように5つの拡大側面408(展開面)を有する。図24においては、拡大側面408(F)と拡大側面408(FL)の境界線414の先に外部物体412(たとえば、人物)が存在する。このため、時刻t1においては、外部物体412は拡大側面408(F)と拡大側面408(FL)の双方の撮影画像の境界付近に映る。FIG. 24 is a schematic diagram of the truncated pentagonal pyramid 402(t1) viewed from above.
The pentagonal
画像変換部154は、五角錐台402を36度ずつ回転させる。具体的には、まず、画像変換部154は、時刻t1において五角錐台402(t1)の6枚の展開面に対して天球画像170(t1)を投影する。五角錐台402(t1)の5枚の拡大側面408と1枚の拡大天頂面410に投影された計6枚の展開画像が画像認識処理の対象となる。1枚の天球画像170に基づいて生成された6枚の展開画像をまとめて「展開画像群」とよぶ。
The
次に、画像変換部154は、時刻t2において、五角錐台402(t1)の全天球カメラ134に対する相対角度を36度だけ変化させる。いいかえれば、五角錐台402を中心点Oに対して36度だけ自転させる。これにより、ある時点の展開画像群において展開画像の境界に投影された物体は、時系列的に隣り合う展開画像群に含まれるいずれかの展開画像では境界以外の領域に投影される。五角錐台402を36度ずつ回転させるため(以下、「部分回転」とよぶ)、10回の部分回転により五角錐台402は一回転する。したがって、時刻t11の五角錐台402(t11)は五角錐台402(t1)と再度一致する。
Next, at time t2, the
図25は、五角錐台402(t2)を上から見たときの模式図である。
上述したように、五角錐台402(t2)は五角錐台402(t1)よりも36度だけ反時計回りに部分回転している。画像変換レートは、一般的な物体の移動を鑑みれば、比較的高速(短時間の周期)であるため、時刻t1から時刻t2に至る間に外部物体412はほとんど動かない。五角形の中心角は72度であるため、五角錐台402(t2)の拡大側面408(F)は外部物体412に正対する。このため、五角錐台402(t2)においては、外部物体412は拡大側面408(F)に投影される。FIG. 25 is a schematic diagram of the truncated pentagonal pyramid 402(t2) viewed from above.
As noted above, the pentagonal frustum 402(t2) is partially rotated counterclockwise by 36 degrees from the pentagonal frustum 402(t1). Considering the movement of general objects, the image conversion rate is relatively high (short period), so the
図26は、五角錐台402の展開図である。
図26においては、五角錐台402(t1)の5枚の拡大側面408と五角錐台402(t2)の5枚の拡大側面408を並べて表示している。五角錐台402(t1)と五角錐台402(t2)は36度だけ回転角(中心点Oに対する相対角度)がずれているため、時刻t1と時刻t2では境界線414の位置が異なる。FIG. 26 is an exploded view of the truncated
In FIG. 26, the five enlarged side surfaces 408 of the pentagonal truncated pyramid 402(t1) and the five enlarged side surfaces 408 of the pentagonal truncated pyramid 402(t2) are displayed side by side. Since the truncated pentagonal pyramid 402(t1) and the truncated pentagonal pyramid 402(t2) are shifted by 36 degrees in rotation angle (angle relative to the center point O), the position of the
五角錐台402(t1)においては、外部物体412は拡大側面408(F)と拡大側面408(FL)の境界線414の上に映っている。第1実施形態に関連して説明したように、拡大側面408はその端部において投影画像が歪みやすい。また、拡大側面408(F)および拡大側面408(FL)の2つの展開画像に基づいて画像認識をする必要があり、処理負担が大きい。いいかえれば、境界線414付近は、画像処理上の死角になりやすい。第1実施形態(多面体投影法)においては、大きな拡大平行面168を設定し、複数の拡大平行面168に外部物体412を多重投影させることで死角をカバーした。第1実施形態の多面体投影法は、第4実施形態の回転式多面体投影法に比べると重複部分が多くなるため、画像処理の対象となる撮影画像(展開画像)のサイズが大きくなりやすい。
In the pentagonal frustum 402(t1), the
これに対して、第4実施形態(回転型多面体投影法)の五角錐台402(t2)においては、外部物体412は拡大側面408(F)の中央に映る。このため、死角をカバーするために大きな拡大平行面168を用意しなくても、五角錐台402(t2)の投影画像により外部物体412を好適に画像認識できる。いいかえれば、五角錐台402(t1)においては外部物体412を好適に投影できなくても、次回の五角錐台402(t2)においては外部物体412を好適に投影できる。図26に示す例の場合、五角錐台402(t1)に対する展開画像(投影画像)では外部物体412を画像認識できなくても、五角錐台402(t2)に対する展開画像(投影画像)では外部物体412を画像認識できる。
In contrast, in the truncated pentagonal pyramid 402(t2) of the fourth embodiment (rotated polyhedron projection method), the
図27は、拡大天頂面410の回転を説明するための模式図である。
本実施形態におけるロボット100は、人間に比べて背が低い。ユーザがロボット100を上方からのぞき込む機会が多くなるため、全天球カメラ134が拡大天頂面410(天頂面406)においてユーザの顔画像を取得する機会も多くなる。FIG. 27 is a schematic diagram for explaining the rotation of the
The
一般的な画像認識プログラムは、人物が逆さまに映る画像における顔認識処理が苦手である。ユーザは後部上方からロボット100をのぞき込む機会も多いため、拡大天頂面410においてもユーザが逆さまに映りやすい。図27においては、拡大天頂面410(t1)においてユーザが逆さまに映っている。上述したように、画像変換部154は五角錐台402を36度ずつ回転させる。このため、拡大天頂面410(t1)では逆さまであっても、拡大天頂面410(t6)においては、ユーザは上下適正にて撮影される。
A general image recognition program is not good at face recognition processing in an image in which a person is reflected upside down. Since the user often looks into the
五角錐台402(t1)から五角錐台402(t10)までで10種類の角度にて10枚の拡大天頂面410を取得できる。画像変換部154は、10枚の拡大天頂面410のそれぞれに対して画像認識処理を実行し、上下適正な拡大天頂面410(t6)を対象としたときに顔を認識できる。五角錐台402を回転させることは、拡大天頂面410において上下適正な被写体画像を取得する上でも有効である。いいかえれば、画像認識のために取得済みの展開画像(投影画像)を回転させるのではなく、拡大天頂面410を部分回転させ続けることで多様な角度にて多数の拡大天頂面410を取得し、それぞれに対して画像認識処理をおこなえば、その中のいずれかが好適な条件を満たし画像認識処理により被写体を正しく認識できる。
From the pentagonal frustum 402(t1) to the pentagonal frustum 402(t10), ten enlarged zenith planes 410 can be acquired at ten different angles. The
図28は、複数の拡大側面408のつなぎ合わせを示す模式図である。
第1実施形態(多面体投影法)においては、拡大平行面168を作るため、1つの被写体が複数の拡大平行面168に同時に投影されることも多い。いいかえれば、複数の拡大平行面168には重複部分が多い。これに対して、第4実施形態(回転型多面体投影法)は五角錐台402の回転によって死角をカバーするため、大きな拡大側面408、拡大天頂面410を用意する必要がなく、したがって、重複も少ない。FIG. 28 is a schematic diagram showing how a plurality of enlarged side surfaces 408 are spliced together.
In the first embodiment (polyhedral projection method), since enlarged
そこで、第4実施形態においては、画像変換部154は、ロボット100の上方にあたる拡大天頂面410(T)と正面にあたる拡大側面408(F)、左右にあたる拡大側面408(FL)と拡大側面408(FR)をつなぎ合わせて合成画像420を作ることができる。各投影画像に重複部分が少ないため、合成画像420はロボット100から実際に見える画像に近くなる。
Therefore, in the fourth embodiment, the
認識部156は、実質的には、拡大側面408(RL)、拡大側面408(RR)および合成画像420の3つの展開画像を対象として画像認識を実行すればよい。回転型多面体投影法の場合、各撮影画像における重複部分が小さいため、シームレスな合成画像420を作りやすい。6枚の展開画像であっても、実質的に3枚の展開画像として処理できるため画像認識処理にともなう処理コストを抑制できる。
The
第4実施形態として示した回転型多面体投影法は、五角錐台402を部分回転させることにより大きな拡大平行面168を作らなくても五角錐台402の死角(境界線414)をカバーできる。大きな拡大平行面168を作らなくてもよいため、いいかえれば、複数の撮影画像における重複部分が少ないため、画像認識にともなう処理コストを抑制できる。また、重複部分が少ないことにより、図28に示したような比較的シームレスな合成画像420を作ることができる。大きな合成画像420を作ることにより、画像認識処理の対象となる展開画像の枚数を減らすことも処理コスト削減に寄与する。
また、拡大天頂面410を回転させることにより、ロボット100の上方に存在する物体、特に、人物を画像認識に好適な向きにて撮像できる。The rotated polyhedral projection method shown as the fourth embodiment can cover the blind spot (boundary line 414) of the truncated
In addition, by rotating the
第4実施形態においては、拡大側面408は側面404を含む正方形の展開面であるとして説明した。これに限らず、台形の側面404や正五角形の天頂面406に天球画像170を投影してもよい。投影先は五角錐台402である必要はなく、五角錐や五角柱であってもよい。回転式多面体投影法において使用する多角形は複数面を有する多角形であればよいため、斜方立法八面体でもよい。第4実施形態のように底面など、一部の面に欠ける多角形でもよい。画像変換部154は、所定の画像変換レートで展開画像群を作成するごとに、投影先の多面体を、直前に投影した際の多面体の位置に対して所定角度だけ回転させ、展開画像に変換すればよい。
In the fourth embodiment,
本発明者らによる検討の結果、側面を4面以下とした場合には展開画像(投影画像)の歪みが大きくなる。6面以上の側面を用意してもよいが、5面でも十分な画像認識精度を得られることがわかったため、画像認識精度と処理コストのバランスから現段階では5面がベストと考えられる。 As a result of studies by the present inventors, the distortion of the developed image (projected image) increases when the number of side surfaces is four or less. Six or more sides may be prepared, but since it has been found that sufficient image recognition accuracy can be obtained with five sides, five sides are considered to be the best at this stage from the viewpoint of the balance between image recognition accuracy and processing cost.
展開面は、正方形面として説明したが、長方形面として形成されてもよい。また、第4実施形態においては36度単位で五角錐台402を部分回転させるとしたが、回転角は任意である。ただし、中心角の約数となる角度にて回転させることが望ましい。たとえば、五角形なら中心角は72度であるから、36度(1/2)、24度(1/3)、18度(1/4)、12度(1/6)等、「72度」の約数にあたる角度にて部分回転させることが望ましい。五角錐台402の回転方向も任意であり、横方向回転に限らず、縦方向の回転であってもよい。
Although the developed surface has been described as a square surface, it may be formed as a rectangular surface. Also, in the fourth embodiment, the truncated
五角錐台402は、36度ずつ自転させてもよいし、中心点Oに対する相対角度を0度と36度の間で繰り返し変化させてもよい。この場合には、五角錐台402は回転型の振動をする。このような振動方式においても、展開画像における画像処理上の死角をカバーできる。振動方式の場合にも、拡大天頂面410については回転させるとしてもよい。
The truncated
五角錐台402の部分回転の角度が一定である必要はない。たとえば、一定の画像変換レートで五角錐台402を一定の角度で部分回転する場合、ロボット100の周囲を同一の角速度で動いている人が居たとしたら、その人は常に展開画像の同じ領域に位置してしまう。その領域が展開画像の中央部であれば常に認識できるが、境界に位置してしまうと部分回転の効果が得られない。そこで、部分回転の角度を変動させることにより、たとえば、36度を中央値として、30度から42度の範囲でランダムに角速度を変化させることにより、等速で移動する外部物体が展開画像の境界、つまり画像処理上の死角に継続的に位置する状態を避けるようにしてもよい。
The angle of partial rotation of the truncated
Claims (14)
前記カメラに対して異なる角度にて対向する複数の平面に対して、前記天球画像の画素を
投影することにより、複数の投影画像を取得する画像変換部と、
前記複数の投影画像それぞれについて画像認識処理を定期的に実行することにより、外
部物体を画像認識する認識部と、を備え、
前記認識部は、第1の時点において第1の投影画像から前記外部物体を検出したときには
、前記第1の時点の次の処理タイミングである第2の時点において前記第1の投影画像に対
する画像認識処理を他の投影画像よりも優先して実行することを特徴とする画像処理装置。 an image acquisition unit that acquires a celestial image as a captured image of the celestial sphere centered on the camera;
an image conversion unit that obtains a plurality of projected images by projecting the pixels of the celestial image onto a plurality of planes that face the camera at different angles;
By periodically executing image recognition processing for each of the plurality of projection images, an external
and a recognition unit that recognizes images of objects,
When the recognition unit detects the external object from the first projection image at a first time point,
, with respect to the first projection image at a second time point that is the processing timing subsequent to the first time point
1. An image processing apparatus characterized in that an image recognition process for a projected image is executed with priority over other projected images .
画像および第2の投影画像それぞれの画像認識処理により検出する認識部、を更に備える
ことを特徴とする請求項1に記載の画像処理装置。 A recognition unit that detects a single external object projected on both the first projection image and the second projection image by image recognition processing of each of the first projection image and the second projection image. 2. The image processing apparatus according to claim 1, characterized by:
前記カメラに対して異なる角度にて対向する複数の平面に対して、前記天球画像の画素を
投影することにより、複数の投影画像を取得する画像変換部と、を備え
前記画像変換部は、更に、前記複数の平面の前記カメラに対する相対角度を時系列的に
変化させることにより、複数の相対角度それぞれに対応して前記複数の投影画像を取得す
ることを特徴とする画像処理装置。 an image acquisition unit that acquires a celestial image as a captured image of the celestial sphere centered on the camera;
Pixels of the celestial image for a plurality of planes facing the camera at different angles
an image conversion unit configured to acquire a plurality of projection images by projecting the image conversion unit, wherein the image conversion unit further changes the relative angles of the plurality of planes with respect to the camera in time series to obtain a plurality of relative projection images; An image processing apparatus that acquires the plurality of projected images corresponding to respective angles.
前記カメラに対して異なる角度にて前記カメラを包囲する複数の円筒画像に対して、前
記天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、を備
えることを特徴とする画像処理装置。 an image acquisition unit that acquires a celestial image as a captured image of the celestial sphere centered on the camera;
an image conversion unit that acquires a plurality of projection images by projecting pixels of the celestial image onto a plurality of cylindrical images surrounding the camera at different angles with respect to the camera. image processing device.
前記カメラに対して異なる角度にて対向する複数の平面に対して、
前記天球画像の画素を投影することにより、複数の投影画像を取得する機能と、
前記複数の投影画像それぞれについて画像認識処理を定期的に実行することにより、外
部物体を画像認識する認識する機能と、をコンピュータに発揮させ、
前記認識する機能は、第1の時点において第1の投影画像から前記外部物体を検出したときには
、前記第1の時点の次の処理タイミングである第2の時点において前記第1の投影画像に対
する画像認識処理を他の投影画像よりも優先して実行する機能である
ことを特徴とする画像処理プログラム。 A function to acquire a celestial image as a captured image of the celestial surface centered on the camera;
For a plurality of planes facing the camera at different angles,
a function of obtaining a plurality of projected images by projecting the pixels of the celestial image;
By periodically executing image recognition processing for each of the plurality of projection images, an external
Let the computer demonstrate the function of recognizing images of objects,
When the recognizing function detects the external object from the first projection image at a first time point
, with respect to the first projection image at a second time point that is the processing timing subsequent to the first time point
This is a function that gives priority to the image recognition processing that
An image processing program characterized by:
前記カメラに対して異なる角度にて前記カメラを包囲する複数の円筒画像に対して、前
記天球画像の画素を投影することにより、複数の投影画像を取得する機能と、をコンピュ
ータに発揮させることを特徴とする画像処理プログラム。 A function to acquire a celestial image as a captured image of the celestial surface centered on the camera;
and a function of obtaining a plurality of projection images by projecting the pixels of the celestial image onto a plurality of cylindrical images surrounding the camera at different angles with respect to the camera. An image processing program characterized by:
ロボット上方を覆う天球面の撮像画像である天球画像を前記カメラから取得し、前記天
球画像を多面体画像に変換する画像変換部と、
前記多面体画像から外部物体を画像認識する認識部と、を備え、
前記画像変換部は、ロボット上方を覆う多面体を撮像面とした画像を前記多面体画像と
して設定し、前記天球画像の画素を前記多面体のいずれかの面に投影することにより、前
記天球画像を前記多面体画像に変換し、
前記画像変換部は、前記多面体の複数の面をそれぞれ平行に拡大させることにより複数
の拡大平行面を設定し、前記天球画像の画素を2以上の拡大平行面に多重投影させること
を特徴とするロボット。 a camera capable of simultaneously imaging substantially the entire area above the robot;
an image conversion unit that acquires from the camera a celestial image, which is a captured image of the celestial sphere covering above the robot, and converts the celestial image into a polyhedral image;
a recognition unit that recognizes an external object from the polyhedral image,
The image conversion unit sets an image whose imaging plane is a polyhedron that covers the upper part of the robot as the polyhedron image, and projects the pixels of the celestial image onto one of the surfaces of the polyhedron, thereby transforming the celestial image into the polyhedron. convert to image,
The image conversion unit expands the plurality of faces of the polyhedron in parallel to obtain a plurality of images.
, and multiple-projects pixels of the celestial image onto two or more enlarged parallel planes .
とする請求項8に記載のロボット。 9. The robot according to claim 8 , wherein the polyhedron includes a plane perpendicular to an axis connecting the center of the celestial sphere and the zenith.
することを特徴とする請求項8に記載のロボット。 9. The robot according to claim 8 , wherein the image conversion unit simultaneously executes projection processing for each of a plurality of pixels included in the celestial image.
ロボット上方を覆う天球面の撮像画像である天球画像を前記カメラから取得し、前記天
球画像を多重円筒画像に変換する画像変換部と、
前記多重円筒画像から外部物体を画像認識する認識部と、を備え、
前記画像変換部は、ロボットを包囲する円筒の側面に前記天球画像の画素を投影するこ
とにより円筒画像を形成し、円筒と天球の複数の相対角度に対応する複数の円筒画像の集
合を前記多重円筒画像として設定することにより、前記天球画像を前記多重円筒画像に変
換することを特徴とするロボット。 a camera capable of simultaneously imaging substantially the entire area above the robot;
an image conversion unit that acquires from the camera a celestial image, which is a captured image of the celestial sphere covering above the robot, and converts the celestial image into a multiple cylindrical image;
a recognition unit that recognizes an external object from the multiple cylindrical image,
The image conversion unit forms a cylindrical image by projecting the pixels of the celestial image onto a side surface of a cylinder surrounding the robot, and multiplexes a set of a plurality of cylindrical images corresponding to a plurality of relative angles between the cylinder and the celestial sphere. A robot characterized by converting said celestial image into said multiple cylindrical image by setting it as a cylindrical image.
分画像の集合を前記多重円筒画像として設定することを特徴とする請求項11に記載のロボ
ット。 12. The robot according to claim 11 , wherein said image conversion unit further sets a set of a plurality of partial images extracted from the center of each of said plurality of cylindrical images as said multiple cylindrical image.
ロボット上方を覆う多面体を撮像面とした画像を多面体画像として設定し、前記天球画
像の画素を前記多面体のいずれかの面に投影することにより、前記天球画像を前記多面体
画像に変換する機能と、前記多面体画像から外部物体を画像認識する機能と、
前記外部物体に対応して、ロボットのモーションを選択する機能と、をコンピュータに
発揮させ、
前記画像認識する機能は、前記多面体の複数の面をそれぞれ平行に拡大させることにより複数
の拡大平行面を設定し、前記天球画像の画素を2以上の拡大平行面に多重投影する機能であることを特徴とするロボットの行動制御プログラム。 A function to acquire a celestial image, which is a captured image of the celestial sphere covering the upper part of the robot;
A function of converting the celestial image into the polyhedral image by setting an image with the polyhedron covering the upper part of the robot as an imaging surface as a polyhedral image and projecting the pixels of the celestial sphere image onto one of the surfaces of the polyhedron; a function of image recognition of an external object from the polyhedral image;
causing a computer to exhibit a function of selecting the motion of the robot in response to the external object ;
The image recognition function is performed by expanding the plurality of faces of the polyhedron in parallel.
A robot action control program characterized by a function of setting an enlarged parallel plane and multiple-projecting the pixels of the celestial sphere image onto two or more enlarged parallel planes .
ロボットを包囲する円筒の側面に前記天球画像の画素を投影することにより円筒画像を
形成し、円筒と天球の複数の相対角度に対応する複数の円筒画像の集合を多重円筒画
像として設定することにより、前記天球画像を前記多重円筒画像に変換する機能と、
前記多重円筒画像から外部物体を画像認識する機能と、
前記外部物体に対応して、ロボットのモーションを選択する機能と、をコンピュータに
発揮させることを特徴とするロボットの行動制御プログラム。 A function of acquiring a celestial image, which is a captured image of the celestial sphere covering the upper part of the robot, from a camera capable of simultaneously capturing substantially the entire area above the robot ;
Forming a cylindrical image by projecting the pixels of the celestial image onto the side of a cylinder surrounding the robot, and setting a set of a plurality of cylindrical images corresponding to a plurality of relative angles between the cylinder and the celestial sphere as a multiple cylindrical image. a function of converting the celestial image into the multiple cylindrical image by
a function of image recognition of an external object from the multiple cylindrical image;
A behavior control program for a robot, characterized by causing a computer to exhibit a function of selecting a motion of the robot corresponding to the external object.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017102556 | 2017-05-24 | ||
JP2017102556 | 2017-05-24 | ||
PCT/JP2018/019751 WO2018216710A1 (en) | 2017-05-24 | 2018-05-23 | Image processing device for correcting distortion in omnidirectional image and autonomous travel robot equipped with same |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2018216710A1 JPWO2018216710A1 (en) | 2020-04-09 |
JP7189620B2 true JP7189620B2 (en) | 2022-12-14 |
Family
ID=64396494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019520273A Active JP7189620B2 (en) | 2017-05-24 | 2018-05-23 | An image processing device that corrects the distortion of a celestial image and a robot equipped with it |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7189620B2 (en) |
WO (1) | WO2018216710A1 (en) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000242773A (en) | 1999-02-19 | 2000-09-08 | Fitto:Kk | Image data converting device |
WO2000067959A1 (en) | 1999-05-10 | 2000-11-16 | Sony Corporation | Robot device and method for controlling the same |
JP2001154768A (en) | 1999-11-29 | 2001-06-08 | Nippon Telegr & Teleph Corp <Ntt> | Video display, video display method and recording medium |
JP2004255486A (en) | 2003-02-25 | 2004-09-16 | Honda Motor Co Ltd | Automatic working device and automatic working device control program |
JP2005182826A (en) | 2003-12-23 | 2005-07-07 | Honda Motor Co Ltd | Polyhedron recognition device |
JP2011254436A (en) | 2010-06-04 | 2011-12-15 | Toshiba Alpine Automotive Technology Corp | Mobile object detection device and mobile object detection method |
JP2012198077A (en) | 2011-03-18 | 2012-10-18 | Ricoh Co Ltd | Stereo camera device and parallax image generating method |
JP2012256274A (en) | 2011-06-10 | 2012-12-27 | Panasonic Corp | Image generation device, image generation method, and computer program |
JP2013198062A (en) | 2012-03-22 | 2013-09-30 | Ricoh Co Ltd | Image processing apparatus, image processing method, and imaging apparatus |
-
2018
- 2018-05-23 JP JP2019520273A patent/JP7189620B2/en active Active
- 2018-05-23 WO PCT/JP2018/019751 patent/WO2018216710A1/en active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000242773A (en) | 1999-02-19 | 2000-09-08 | Fitto:Kk | Image data converting device |
WO2000067959A1 (en) | 1999-05-10 | 2000-11-16 | Sony Corporation | Robot device and method for controlling the same |
JP2001154768A (en) | 1999-11-29 | 2001-06-08 | Nippon Telegr & Teleph Corp <Ntt> | Video display, video display method and recording medium |
JP2004255486A (en) | 2003-02-25 | 2004-09-16 | Honda Motor Co Ltd | Automatic working device and automatic working device control program |
JP2005182826A (en) | 2003-12-23 | 2005-07-07 | Honda Motor Co Ltd | Polyhedron recognition device |
JP2011254436A (en) | 2010-06-04 | 2011-12-15 | Toshiba Alpine Automotive Technology Corp | Mobile object detection device and mobile object detection method |
JP2012198077A (en) | 2011-03-18 | 2012-10-18 | Ricoh Co Ltd | Stereo camera device and parallax image generating method |
JP2012256274A (en) | 2011-06-10 | 2012-12-27 | Panasonic Corp | Image generation device, image generation method, and computer program |
JP2013198062A (en) | 2012-03-22 | 2013-09-30 | Ricoh Co Ltd | Image processing apparatus, image processing method, and imaging apparatus |
Also Published As
Publication number | Publication date |
---|---|
WO2018216710A1 (en) | 2018-11-29 |
JPWO2018216710A1 (en) | 2020-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7320239B2 (en) | A robot that recognizes the direction of a sound source | |
CN110024000B (en) | Behavior autonomous robot for changing pupil | |
JP6472113B2 (en) | Autonomous robots and programs that maintain a natural sense of distance | |
JP7177497B2 (en) | Autonomous action robot that looks at the opponent | |
JP6671577B2 (en) | An autonomous robot that identifies people | |
JP7236142B2 (en) | Autonomous action robot | |
JP6517457B2 (en) | Robot wearing a hull | |
JP2019171566A (en) | Robot having soft outer skin | |
JP2019214119A (en) | Joint structure excellent for robot joint | |
JP2020014845A (en) | Autonomous action type robot for receiving guest | |
JP2024045160A (en) | Robot wearing costume | |
JP7189620B2 (en) | An image processing device that corrects the distortion of a celestial image and a robot equipped with it | |
JPWO2019138618A1 (en) | Animal-type autonomous mobiles, how animal-type autonomous mobiles operate, and programs | |
JP7414285B2 (en) | Robots and charging stations and landmark devices for robots |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AA64 | Notification of invalidation of claim of internal priority (with term) |
Free format text: JAPANESE INTERMEDIATE CODE: A241764 Effective date: 20200218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210521 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210521 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220707 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220902 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221101 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221125 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7189620 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |