CN115280096A - 基于由多个照相机拍摄到的图像来生成物体表面的位置信息的三维测定装置 - Google Patents

基于由多个照相机拍摄到的图像来生成物体表面的位置信息的三维测定装置 Download PDF

Info

Publication number
CN115280096A
CN115280096A CN202180019075.2A CN202180019075A CN115280096A CN 115280096 A CN115280096 A CN 115280096A CN 202180019075 A CN202180019075 A CN 202180019075A CN 115280096 A CN115280096 A CN 115280096A
Authority
CN
China
Prior art keywords
image
block
contour
pixel
pixels
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.)
Pending
Application number
CN202180019075.2A
Other languages
English (en)
Inventor
井航太
吉田顺一郎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Publication of CN115280096A publication Critical patent/CN115280096A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/02Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
    • G01B21/04Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
    • G01B21/047Accessories, e.g. for positioning, for tool-setting, for measuring probes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B5/00Measuring arrangements characterised by the use of mechanical techniques
    • G01B5/004Measuring arrangements characterised by the use of mechanical techniques for measuring coordinates of points
    • G01B5/008Measuring arrangements characterised by the use of mechanical techniques for measuring coordinates of points using coordinate measuring machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

提供一种物体表面的位置信息的精度得到提高的三维测定装置。控制装置(2)具备对第一照相机(31)拍摄到的第一图像和第二照相机(32)拍摄到的第二图像进行处理的处理部(51)。处理部(51)进行块匹配的控制。预先决定了与块匹配的得分有关的第一判定值和比第一判定值大的第二判定值。处理部(51)使用第一判定值生成第一距离图像,使用第二判定值生成第二距离图像。处理部(51)在与工件的轮廓对应的区域中,采用第一距离图像中包含的像素的距离信息,在与轮廓对应的区域以外的区域中,采用第二距离图像中包含的像素的距离信息,来生成合成距离图像。

Description

基于由多个照相机拍摄到的图像来生成物体表面的位置信息 的三维测定装置
技术领域
本发明涉及基于由多个照相机拍摄到的图像来生成物体表面的位置信息的三维测定装置。
背景技术
在以往的技术中,已知有利用视觉传感器拍摄图像,并基于得到的图像来检测物体表面的位置信息的三维测定装置。作为检测3维位置的视觉传感器,已知有包含2台2维照相机的立体照相机。在由立体照相机拍摄到的图像的处理中,基于由一方的照相机拍摄到的图像和由另一方的照相机拍摄到的图像中的物体位置的视差,计算从立体照相机到物体的距离。另外,能够基于到物体的距离以及2台照相机的位置,计算设定在物体表面的测定点的3维的位置。
在立体照相机的图像的处理中,需要以与一方的照相机拍摄到的图像中包含的物体的位置对应的方式,检测另一方的照相机拍摄到的图像中包含的物体的位置。因此,已知一种控制,其在一个图像中设定预定大小的块,搜索另一个图像中的与该块对应的位置(例如,日本特开2001-82927号公报)。这样的方法因为对每个块进行搜索而被称为块匹配。
现有技术文献
专利文献
专利文献1:日本特开2001-82927号公报
发明内容
发明要解决的课题
在立体照相机的图像处理中,在进行块匹配的情况下,用一方的照相机拍摄第一图像,用另一方的照相机拍摄第二图像。判定在第一图像中选定的块是否与在第二图像中选定的块对应。该块包含多个像素。在第二图像中存在与第一图像的块对应的块的情况下,针对块中包含的像素计算视差。
在使用块匹配来计算距离图像等表面的位置信息的控制中,有时难以准确地测定物体的小的台阶、物体彼此之间的微小的间隙、或者物体的细小的形状等的轮廓。例如,在利用立体照相机生成距离图像的情况下,有时物体的小的台阶或物体彼此之间的间隙等消失。或者,有时在物体的小的台阶或物体彼此间的间隙等中无法取得准确的距离信息。这样,在立体照相机中存在以下问题:在图像中的形状的变化细微的部分,难以准确地取得物体表面的位置信息。
用于解决课题的手段
本公开的第一方式的三维测定装置具备:视觉传感器,其包含拍摄第一图像的第一照相机以及拍摄第二图像的第二照相机;以及轮廓检测传感器,其用于检测物体的轮廓。三维测定装置具备基于第一图像以及第二图像来检测物体表面的位置信息的处理部。处理部包含轮廓检测部,该轮廓检测部基于轮廓检测传感器的输出来检测物体的轮廓。处理部包含块搜索部,该块搜索部在第一图像中设定由包含所选定的1个选定像素的多个像素构成的选定块,在第二图像中搜索与选定块对应的特定块。处理部包含计算部,该计算部基于选定块中的选定像素的位置与特定块中的与选定像素对应的特定像素的位置之间的视差,来计算像素的距离信息。处理部包含生成部,该生成部生成包含多个像素的距离信息的物体表面的位置信息。处理部包含对在互不相同的条件下生成的物体表面的位置信息进行合成的合成部。块搜索部计算对选定块中包含的像素的值与特定块中包含的像素的值之间的差的大小或者差的平方值进行累计而得到的累计值。块搜索部在累计值小于预先决定的判定值的情况下,判定为特定块中包含的像素与选定块中包含的像素对应。块搜索部在累计值超过预先决定的判定值的情况下或者未检测到与选定块对应的特定块的情况下,设定是无效像素的信息来作为选定像素的距离信息。预先确定了与累计值相关的第一判定值和比第一判定值大的与累计值相关的第二判定值。块搜索部、计算部以及生成部使用第一图像、第二图像以及第一判定值来生成第一表面的位置信息,使用第一图像、第二图像以及第二判定值来生成第二表面的位置信息。合成部基于轮廓检测部检测出的轮廓来设定与轮廓对应的区域,针对与轮廓对应的区域中包含的像素,采用第一表面的位置信息中包含的像素的距离信息,针对与轮廓对应的区域以外的区域中包含的像素,采用第二表面的位置信息中包含的像素的距离信息,由此生成将第一表面的位置信息和第二表面的位置信息合成后的表面的位置信息。
本公开的第二方式的三维测定装置具备:视觉传感器,其包含拍摄第一图像的第一照相机以及拍摄第二图像的第二照相机;以及轮廓检测传感器,其用于检测物体的轮廓。三维测定装置具备基于第一图像以及第二图像来检测物体表面的位置信息的处理部。处理部包含轮廓检测部,该轮廓检测部基于轮廓检测传感器的输出来检测物体的轮廓。处理部包含块搜索部,该块搜索部在第一图像中设定由包含所选定的1个选定像素的多个像素构成的选定块,在第二图像中搜索与选定块对应的特定块。处理部包含计算部,该计算部基于选定块中的选定像素的位置和特定块中的与选定像素对应的特定像素的位置之间的视差,生成像素的距离信息。处理部包含生成部,该生成部生成包含多个像素的距离信息的物体表面的位置信息。处理部包含对在互不相同的条件下生成的物体表面的位置信息进行合成的合成部。预先决定了第一选定块和与第一选定块相比包含更多像素的第二选定块。块搜索部、计算部以及生成部使用第一图像、第二图像以及第一选定块来生成第一表面的位置信息,使用第一图像、第二图像以及第二选定块来生成第二表面的位置信息。合成部基于轮廓检测部检测出的轮廓来设定与轮廓对应的区域,针对与轮廓对应的区域中包含的像素,设定第一表面的位置信息中包含的像素的距离信息,针对与轮廓对应的区域以外的区域中包含的像素,设定第二表面的位置信息中包含的像素的距离信息,由此生成将第一表面的位置信息和第二表面的位置信息合成后的表面的位置信息。
发明效果
根据本公开的方式,能够提供一种物体表面的位置信息的精度提高的三维测定装置。
附图说明
图1是实施方式的机器人装置的立体图。
图2是机器人装置的框图。
图3是实施方式的视觉传感器的概略图。
图4是第一图像中的选定块和第二图像中的搜索区域以及搜索块的图。
图5是对搜索与选定块对应的特定块的控制的第一工序进行说明的选定块以及搜索区域的图。
图6是对搜索与选定块对应的特定块的控制的第二工序进行说明的选定块以及搜索区域的图。
图7是对利用视觉传感器拍摄工件的例子进行说明的视觉传感器和工件的立体图。
图8是拍摄工件而得到的距离图像的例子。
图9是由机器人装置的第一照相机拍摄到的2维图像。
图10是设定用于从2维图像中检测轮廓的对比度阈值的方法的流程图。
图11是实施方式中的第一控制的流程图。
图12是对与轮廓对应的区域进行说明的图像的放大图。
图13是生成合成距离图像的控制的流程图。
图14是通过第一控制生成的距离图像。
图15是通过比较例的控制生成的距离图像。
图16是设定第一得分的判定值的方法的流程图。
图17是实施方式中的第二控制的流程图。
图18是设定第一选定块的块尺寸的方法的流程图。
图19是通过第二控制生成的距离图像。
具体实施方式
参照图1至图19,对实施方式中的三维测定装置进行说明。本实施方式的三维测定装置具备视觉传感器,该视觉传感器包含拍摄第一图像的第一照相机和拍摄第二图像的第二照相机。三维测定装置基于第一图像和第二图像来生成物体表面的位置信息。特别是生成包含在物体表面设定的3维的测定点的信息的位置信息。
图1是本实施方式的机器人装置的立体图。图2是本实施方式的机器人装置的框图。参照图1以及图2,机器人装置3具备抓持工件61、62的机械手5、以及移动机械手5的机器人1。机器人装置3具备控制机器人装置3的控制装置2。机器人装置3具备视觉传感器30,该视觉传感器30用于生成与作为物体的工件61、62的表面对应的3维的测定点的位置信息。
本实施方式的工件61、62是长方体状的瓦楞纸箱。机械手5是抓持或释放工件61、62的末端执行器。本实施方式的机械手5是通过吸附来抓持工件61、62表面的吸附机械手。作为安装在机器人1的末端执行器,不限于该方式,能够采用与机器人装置3进行的作业对应的任意的作业工具。例如,作为末端执行器,能够采用用于实施焊接的作业工具或将密封材料涂布在工件表面的作业工具等。即,本实施方式的三维测定装置能够应用于进行任意作业的机器人装置。
本实施方式的机器人1是包含多个关节部18的多关节机器人。机器人1包含上部臂11和下部臂12。下部臂12由旋转基座13支承。旋转基座13由基座14支承。机器人1包含与上部臂11的端部连结的腕部15。腕部15包含固定机械手5的凸缘16。机器人1的构成部件形成为绕着预先决定的驱动轴旋转。作为机器人,不限于该方式,可采用能够使作业工具移动的任意的机器人。
图3表示本实施方式的照相机的概略图。本实施方式的视觉传感器30是包含第一照相机31和第二照相机32的立体照相机。照相机31、32是能够拍摄2维图像的2维照相机。作为照相机31、32,能够采用具备CCD(Charge-Coupled Device:电荷耦合器件)传感器或CMOS(Complementary Metal-Oxide Semiconductor:互补金属氧化物半导体)传感器等拍摄元件的任意的照相机。2台照相机31、32相互分离地配置。预先决定了2台照相机31、32的相对位置。将本实施方式的2台照相机31、32配置为各个照相机31、32的光轴相互平行。本实施方式的视觉传感器30包含朝向工件61、62投影条纹图案等图案光的投影仪33。照相机31、32以及投影仪33配置在壳体34的内部。
参照图1和图2,视觉传感器30由支承构件66支承。本实施方式的视觉传感器30的位置是固定的。视觉传感器30配置在能够拍摄工件61、62的位置。
三维测定装置通过对视觉传感器30取得的图像进行处理,能够以距离图像或三维地图的形式生成物体表面的位置信息。距离图像是通过图像来表现物体表面的位置信息的图像。在距离图像中,通过各个像素的浓度或颜色来表示物体表面的位置或距视觉传感器30的距离。另一方面,三维地图通过与像素对应的物体表面的测定点的坐标值(x,y,z)的集合来表现物体表面的位置信息。在本实施方式中,作为物体表面的位置信息,以距离图像为例进行说明。
本实施方式的机器人1包含对上部臂11等构成部件进行驱动的机器人驱动装置21。机器人驱动装置21包含用于驱动上部臂11、下部臂12、旋转基座13以及腕部15的多个驱动电动机。机械手5包含驱动机械手5的机械手驱动装置22。本实施方式的机械手驱动装置22通过空气压驱动机械手5。机械手驱动装置22包含用于对吸附垫的内部空间进行减压的泵以及电磁阀等。
控制装置2控制机器人1以及机械手5。控制装置2具备运算处理装置(计算机),该运算处理装置(计算机)包含作为处理器的CPU(Central Processing Unit,中央处理单元)。运算处理装置具有经由总线与CPU相互连接的RAM(Random Access Memory:随机存取存储器)以及ROM(Read Only Memory:只读存储器)等。本实施方式的机器人装置3基于动作程序41自动地搬运工件61、62。机器人驱动装置21以及机械手驱动装置22由控制装置2控制。
控制装置2包含存储与机器人装置3的控制相关的信息的存储部42。存储部42能够由易失性存储器、非易失性存储器、或者硬盘等能够存储信息的存储介质构成。向控制装置2输入为了进行机器人1的动作而预先生成的动作程序41。动作程序41存储在存储部42。
控制装置2包含发送动作指令的动作控制部43。动作控制部43基于动作程序41向机器人驱动部44发送用于驱动机器人1的动作指令。机器人驱动部44包含对驱动电动机进行驱动的电路。机器人驱动部44基于动作指令向机器人驱动装置21供电。另外,动作控制部43将驱动机械手驱动装置22的动作指令发送给机械手驱动部45。机械手驱动部45包含驱动泵等的电路。机械手驱动部45基于动作指令向泵等供电。
动作控制部43相当于按照动作程序41进行驱动的处理器。处理器读入动作程序41,实施在动作程序41中规定的控制,由此作为动作控制部43发挥功能。
机器人1包含用于检测机器人1的位置以及姿势的状态检测器。本实施方式中的状态检测器包含安装在机器人驱动装置21的各驱动轴的驱动电动机的位置检测器23。根据位置检测器23的输出,检测机器人1的位置以及姿势。作为状态检测器,不限于安装在驱动电动机的位置检测器,能够采用可检测机器人1的位置以及姿势的任意的检测器。
控制装置2包含作为由作业者手动操作机器人装置3的操作盘的示教操作盘49。示教操作盘49包含输入与机器人1、机械手5以及视觉传感器30相关的信息的输入部49a。输入部49a由键盘以及拨盘等部件构成。示教操作盘49包含显示与机器人装置3的控制相关的信息的显示部49b。显示部49b由液晶显示面板等显示面板构成。
在本实施方式的机器人装置3中,设定有在机器人1的位置以及姿势发生了变化时不动的世界坐标系71。在图1所示的例子中,在机器人1的基座14配置世界坐标系71的原点。世界坐标系71也被称为基准坐标系。在世界坐标系71中,原点的位置被固定,并且坐标轴的朝向被固定。即使机器人1的位置以及姿势变化,世界坐标系71的位置以及姿势也不变化。
另外,在机器人装置3中设定有工具坐标系72,该工具坐标系72具有在作业工具的任意位置设定的原点。工具坐标系72的位置以及姿势与机械手5一起变化。在本实施方式中,工具坐标系72的原点被设定为工具前端点。而且,在机器人装置3中,对视觉传感器30设定有照相机坐标系73。照相机坐标系73是原点固定在视觉传感器30的坐标系。
若机器人1的位置以及姿势变化,则工具坐标系72的原点的位置以及姿势变化。例如,机器人1的位置与工具前端点的位置(工具坐标系72的原点的位置)对应。另外,机器人1的姿势与工具坐标系72相对于世界坐标系71的姿势对应。
本实施方式的机器人装置3包含检测工件61、62的三维测定装置。在本实施方式中,控制装置2作为三维测定装置发挥功能。三维测定装置包含:视觉传感器30;轮廓检测传感器,其用于检测工件61、62的轮廓;以及处理部51,其基于第一照相机31拍摄到的第一图像和第二照相机32拍摄到的第二图像来检测工件61、62的表面的位置信息。
轮廓检测传感器能够采用在2维图像中能够检测物体的台阶部、凹部、凸部以及外缘等的轮廓的任意的传感器。在本实施方式中,视觉传感器30的第一照相机31作为轮廓检测传感器发挥功能。基于第一照相机31拍摄到的2维的第一图像,检测工件61、62的表面的轮廓。根据该结构,除了视觉传感器30之外不需要配置轮廓检测传感器,能够简化三维测定装置的结构。也可以将第二照相机32用作轮廓检测传感器。或者,作为轮廓检测传感器,也可以将视觉传感器30以外的2维照相机等配置在机器人装置。
处理部51包含基于轮廓检测传感器的输出来检测物体的轮廓的轮廓检测部52。处理部51包含块搜索部53,该块搜索部53在第一图像中设定由多个像素构成的选定块,并在第二图像中搜索与选定块对应的特定块。处理部51包含计算部54,该计算部54基于选定块中的选定像素的位置和特定块中的与选定像素对应的特定像素的位置之间的视差,来计算像素的距离信息。处理部51包含生成部55,该生成部55生成包含多个像素的距离信息的物体表面的位置信息。处理部51包含合成部56,该合成部56将在互不相同的条件下生成的物体表面的位置信息进行合成。
另外,处理部51包含向视觉传感器30发送拍摄图像的指令的拍摄控制部57。处理部51包含动作指令部58,该动作指令部58基于合成后的物体表面的位置信息,生成驱动机器人1的动作指令。
上述的处理部51相当于按照动作程序41进行驱动的处理器。特别是,轮廓检测部52、块搜索部53、计算部54、生成部55以及合成部56各自的单元相当于按照动作程序41进行驱动的处理器。另外,拍摄控制部57和动作指令部58相当于按照动作程序41进行驱动的处理器。处理器读入动作程序41,实施动作程序41中规定的控制,由此作为各个单元发挥功能。
本实施方式的机器人装置3在机械手5抓持工件61、62之前,基于视觉传感器30的输出生成工件61、62的距离图像。拍摄控制部57向视觉传感器30发送拍摄图像的指令。处理部51基于由视觉传感器30的第一照相机31及第二照相机32拍摄到的图像,生成工件61、62的表面的位置信息。例如,通过照相机坐标系73来生成表面的位置信息。处理部51能够根据照相机坐标系73相对于世界坐标系71的位置和姿势,将由照相机坐标系73表现的表面的位置信息转换为由世界坐标系71表现的表面的位置信息。
处理部51的动作指令部58基于工件61的表面的位置信息,检测工件61的表面的形状以及位置。动作指令部58向动作控制部43发送机器人1的动作指令,使得能够通过机械手5抓持工件61的表面。动作控制部43在基于动作指令变更了机器人1的位置以及姿势之后,利用机械手5抓持工件61。然后,机器人1基于动作程序41将工件61搬运至目标位置。接着,机器人装置3在基于工件62的表面的位置信息抓持了工件62之后,搬送工件62。这样,机器人装置3能够检测工件61、62的位置来搬送工件61、62。
接着,对利用本实施方式的三维测定装置生成距离图像的控制进行说明。本实施方式的三维测定装置在相互不同的多个条件下生成距离图像,并生成将多个距离图像合成后的合成距离图像。
图4表示由第一照相机拍摄到的第一图像以及由第二照相机拍摄到的第二图像。视觉传感器30利用第一照相机31拍摄第一图像77。视觉传感器30利用第二照相机32拍摄第二图像78。第一图像77及第二图像78是2维图像。各个图像77、78由多个像素构成。在各个图像77、78中设定有以图像中的预先决定的点为原点的屏幕坐标系74。由屏幕坐标系74表现的图像中的位置与在各个照相机31、32的内部配置的摄像元件中的位置对应。
图5表示对进行块匹配时的第一工序进行说明的选定块以及搜索块的图。在图5中示出了在第一图像77中设定的选定块81以及在第二图像78中设定的搜索区域84的放大图。参照图2、图4以及图5,处理部51的块搜索部53将第一图像77中包含的像素85中的1个像素选定为选定像素85a。块搜索部53设定包含选定像素85a以及选定像素85a周围的像素85的选定块81。
在本实施方式的选定块81中,设定为多个像素85包围选定像素85a。在图5所示的选定块81中,在第一图像77的横向(屏幕坐标系74的Y轴方向)上选择3个像素85,在纵向上选择3个像素85。作为选定块81的大小的块尺寸不限于该方式,能够包含任意个数的像素。另外,在本实施方式中,在选定块81的中央配置有选定像素85a,但不限于该方式,选定像素85a能够配置在选定块81的任意的位置。
块搜索部53进行在第二图像78中搜索与选定块81对应的特定块82的块匹配的控制。在各个像素85设定了将浓度、亮度或颜色的信息等数值化后的像素的值。块搜索部53从第二图像78中搜索这些像素的值良好地对应的块。然后,块搜索部53将该块设定为特定块82。
块搜索部53为了检测与选定块81对应的特定块82而在第二图像78中设定搜索区域84。关于搜索区域84,例如能够设定通过与选定块81相同的位置且与核线平行的区域。搜索区域84的高度能够设为与选定块81的高度相同。在本实施方式中,在第二图像78中,以在屏幕坐标系74的Y轴的方向上延伸的方式设定搜索区域84。块搜索部53在搜索区域84中选定搜索块83。搜索块83的形状以及大小能够设定为与选定块81的大小以及形状相同。
在图5所示的例子中,在搜索区域84中设定有搜索块83a。本实施方式中的块搜索部53通过SAD(Sum of Absolute Difference,绝对误差和)法实施块匹配。块搜索部53基于搜索块83a中包含的像素86的值与选定块81中包含的像素85的值来计算得分SC1。得分是在各个块81、83a中对相互对应的像素之间的像素值的差的大小进行累计而得到的累计值。该得分也被称为匹配得分。在图5所示的例子中,得分SC1通过以下的式(1)来计算。
SC1==|5-4|+|3-3|+|4-4|+|5-5|+|6-7|+|5-3|+|6-6|+|8-8|+|8-7|=5…(1)
接着,如箭头101所示,块搜索部53沿着搜索区域84移动搜索块83的位置。在本实施方式中,以一个像素86的宽度的距离挪动搜索块83。作为移动搜索块83的距离,不限于该方式,也可以是2个以上的像素的宽度的距离。
图6表示对正在进行块匹配时的第二工序进行说明的选定块以及搜索块的图。参照图5和图6,块搜索部53通过挪动搜索块83来设定搜索块83b。块搜索部53基于选定块81中包含的像素85的值以及搜索块83b中包含的像素86的值来计算得分SC2。在图6所示的例子中,得分SC2成为以下的式(2)。
SC2=|5-3|+|3-4|+|4-8|+|5-7|+|6-3|+|59|+|6-8|+|8-7||+|8-10|=21…(2)
如此,块搜索部53一边沿着搜索区域84挪动搜索块83的位置,一边计算得分。块搜索部53将搜索块83从搜索区域84的一端移动到另一端。块搜索部53一边一点一点地挪动搜索块83的位置,一边计算各个搜索块83的位置处的得分。在本实施方式中,得分越小,越判定为搜索块83更好地对应于选定块81。在上述的例子中,判断为图5所示的搜索块83a比图6所示的搜索块83b更好地对应于选定块81。
块搜索部53将各个搜索块83的位置中的得分最低的位置的搜索块83设定为与选定块81对应的特定块82。如此,块搜索部53能够将选定块81中包含的像素85的值接近的搜索块83设定为特定块82。
块搜索部也可以计算对选定块中包含的像素的值与搜索块中包含的像素的值之间的差的平方值进行累计而得到的累计值,来作为得分。该方法被称为SSD(Sum ofSquared Difference,平方差和)法。在该方法中,得分的值越小,能够判断为2个块越良好对应。
这样,块搜索部53通过进行块匹配,能够搜索与选定块81最佳地对应的特定块82。接着,块搜索部53将通过选定块81以及特定块82计算出的得分与预先决定的判定值进行比较。在本实施方式中,预先决定了针对得分的判定值。块搜索部53在得分小于判定值的情况下,判定为特定块82中包含的像素86与选定块81中包含的像素85对应。块搜索部53在特定块82中选定与选定像素85a对应的特定像素。在将图5所示的搜索块83a设定为特定块82的情况下,配置在搜索块83a中央的像素成为特定像素。
另一方面,块搜索部53在得分为判定值以上的情况下,判断为特定块82未与选定块81充分对应。块搜索部53设定是无效像素的信息来作为选定像素85a的距离信息。无效像素是指不包含具体的距离以及具体的测定点的位置等信息的像素。另外,块搜索部53在未检测到与选定块对应的特定块的情况下,设定是无效像素的信息来作为选定像素的距离信息。
块搜索部53能够将第一图像77中包含的全部像素选定为选定像素,实施与上述同样的控制。对第一图像77中包含的像素85设定特定块82以及特定像素。或者,将像素85设定为无效像素。另外,块搜索部53也可以对配置在第一图像77的预先决定的区域内的像素实施与上述同样的控制。
接着,计算部54计算选定块81中的选定像素85a的位置与特定块82中的特定像素的位置的视差。计算部54基于该视差,计算从视觉传感器30到物体表面的距离。特别是,计算部54计算到选定像素85a以及特定像素所对应的物体表面的测定点为止的距离。另外,计算部54也可以基于计算出的距离来计算物体表面的测定点的位置。该测定点的位置能够通过照相机坐标系73来计算。
计算部54对第一图像77的各个像素85设定像素的距离信息。像素的距离信息例如是从视觉传感器30到测定点的距离或测定点的位置的信息等。此外,如上所述,像素的距离信息包含是无效像素的信息。此外,像素的距离信息是与测定点的位置相关的信息,因此相当于测定点的距离信息。
生成部55使用各个像素的距离信息,生成包含多个像素的距离信息的物体表面的位置信息。在这里的例子中,生成部55根据从视觉传感器30到物体的距离来设定像素的颜色的浓度。通过对各个像素设定与距离对应的浓度的图像,能够生成距离图像。
图7表示用于对距离图像的例子进行说明的视觉传感器以及工件的立体图。在该例中,在台架67的表面配置有工件63。将工件63配置为相对于台架67的表面倾斜。台架67的表面相对于视觉传感器30的照相机31、32的光轴垂直地延伸。通过对视觉传感器30的照相机31、32拍摄到的图像进行处理,如箭头102、103所示,能够检测在工件63的表面设定的测定点的距离信息。
图8表示由图7的视觉传感器得到的距离图像。参照图7和图8,在这里的例子中,以与视觉传感器30的距离越远颜色越浓的方式生成距离图像91。在工件63的表面,越接近视觉传感器30颜色越淡。台架67的表面位于远处的位置,因此对像素设定了最浓的颜色。
在与工件63的外缘对应的区域中,作为像素的距离信息而设定了是无效像素的信息。由无效像素形成了无效像素区域97。在这里的例子中,以不对无效像素赋予颜色的方式生成距离图像91。另外,在台架67的外侧的区域也形成了无效像素区域97。
然而,在块搜索部53进行的块匹配中,若将得分的判定值设定得大,则残存很多未被设定为无效像素的特定块。其结果,包含具体的距离等信息的像素的个数变多。然而,在工件的台阶部或外缘等块匹配的可靠性低的部分也设定包含具体的距离等信息的像素。其结果,距离图像的可靠性降低。例如,在工件的外缘、凸部、凹部或台阶部等,有时会生成轮廓消失的距离图像。
另一方面,在将得分的判定值设定得小时,如果选定块中的多个像素的值与特定块中的多个像素的值不是接近的值,则选定像素被设定为无效像素。即,块匹配的可靠性低的部分被设定为无效像素。工件的台阶部或外缘等部分是可靠性低的部位,被设定为无效像素。通过该无效像素生成无效像素区域,能够检测工件的外缘或台阶部等细小的轮廓。但是,当在整个图像上使得分的判定值变小来执行块匹配时,包含具体的距离等信息的像素的数量减少。例如,存在用于检测物体表面的位置的测定点的个数变少的问题。
在本实施方式的第一控制中,预先决定了与得分相关的第一判定值和比第一判定值大的第二判定值。然后,使用第一判定值生成第一距离图像,使用第二判定值生成第二距离图像。第一距离图像相当于第一表面的位置信息,第二距离图像相当于第二表面的位置信息。基于作为轮廓检测传感器的第一照相机的图像来预先检测物体的轮廓。并且,对于与物体的轮廓对应的区域中包含的像素,采用第一距离图像中包含的像素的距离信息。对于与轮廓对应的区域以外的区域中包含的像素,采用第二距离图像中包含的像素的距离信息。这样,生成将第一距离图像和第二距离图像合成后的合成距离图像。
在此,对轮廓检测部52检测工件61、62的轮廓的控制进行说明。图9示出了在本实施方式的机器人装置3中由第一照相机31拍摄到的2维的图像。在检测工件61、62的轮廓的控制中,不使用投影仪33地拍摄2维的图像96。即,在工件61、62的表面未产生由投影仪33生成的条纹图案等图案。图像96中包含工件61的图像和工件62的图像。在工件61与工件62之间存在微小的间隙。该间隙的部分变暗。处理部51的轮廓检测部52使用图像96来检测工件61、62的轮廓。更详细而言,轮廓检测部52检测图像96中的轮廓的像素的位置。
本实施方式的轮廓检测部52首先使用索贝尔滤波器对图像96的各个像素进行处理。对于通过索贝尔滤波器进行了处理的图像,选择彼此相邻的2个像素。然后,计算2个像素彼此之间的亮度梯度。即,计算针对2个像素的对比度。然后,在对比度超过预先决定的对比度的阈值的情况下,判别为该像素是物体的轮廓。
图10表示设定用于检测物体轮廓的对比度的阈值的方法的流程图。作业者能够通过变更对比度的阈值并观察实际生成的轮廓的图像,来设定对比度的阈值。
在步骤111中,作业者将对比度的阈值设定为任意的值。例如根据经验法则设定对比度的阈值。接着,在步骤112中,作业者通过操作示教操作盘49,利用第一照相机31拍摄2维的图像。
在步骤113中,轮廓检测部52对图像进行索贝尔滤波器的处理。轮廓检测部52基于对比度的阈值来检测成为轮廓的像素。轮廓检测部52例如生成对成为轮廓的像素赋予了黑色以外的颜色的图像。在步骤114中,示教操作盘49的显示部49b将轮廓的图像与图像96重叠显示。在步骤115中,作业者观察轮廓的图像,判定是否包含了所期望的轮廓。在步骤115中,在未得到所期望的轮廓的情况下,工序返回到步骤111。
在步骤111中,作业者设定新的对比度的阈值。例如,在对比度的阈值大的情况下,如果彼此相邻的像素中的亮度梯度不大,则不被检测为轮廓。在轮廓的图像中未显示清楚的轮廓的情况下,作业者能够减小对比度的阈值。例如,在没有以工件61、62彼此之间的间隙变得清楚的方式显示轮廓的情况下,作业者能够减小对比度的阈值。与此相反,在轮廓过多的情况下,作业者能够增大对比度的阈值。然后,重复进行步骤112至步骤115的工序。
在步骤115中,在得到了所期望的轮廓的情况下,作业者能够采用此时的对比度的阈值。这样,作业者能够设定对比度的阈值。
另外,2维图像中的轮廓检测不限于该方式,能够通过任意的方法进行检测。例如,可以通过对2维照相机得到的图像进行2值化,来检测轮廓。
图11表示本实施方式的第一控制的流程图。参照图2和图11,处理部51的拍摄控制部57在步骤131中利用第一照相机31拍摄第一图像。另外,拍摄控制部57利用第二照相机32拍摄第二图像。
接着,在步骤132中,轮廓检测部52使用由第一照相机31拍摄到的第一图像来检测物体的轮廓。在本实施方式中,在检测物体的轮廓时使用第一图像,但不限于该方式,也可以使用第二图像来检测轮廓。
另外,作业者设定第一得分的判定值以及第二得分的判定值并存储在存储部42。将第二得分的判定值设定为大于第一得分的判定值。
在步骤133中,处理部51使用预先决定的第一得分的判定值、第一图像以及第二图像,生成第一距离图像。更具体而言,块搜索部53在第一图像中设定选定块。块搜索部53在第二图像中检测与选定块最对应的特定块。在此,块搜索部53在得分为第一得分的判定值以上的情况下,设定是无效像素的信息来作为选定块的选定像素的距离信息。计算部54针对无效像素以外的像素,计算与工件表面的测定点对应的像素的距离信息。生成部55通过合并多个像素的距离信息来生成第一距离图像。在步骤134中,与步骤133同样地,处理部51使用第二得分的判定值、第一图像以及第二图像来生成第二距离图像。
在步骤135中,合成部56基于轮廓检测部52检测出的工件61、62的轮廓来设定与轮廓对应的区域。更具体而言,合成部56取得成为轮廓的像素,在成为轮廓的像素的周围设定与轮廓对应的区域。然后,合成部56确定与工件61、62的轮廓对应的区域中包含的像素和与轮廓对应的区域以外的区域中包含的像素。
图12是示出了与轮廓对应的像素的图像的放大图。图12所示的图像例如是由第一照相机31拍摄到的图像的放大图。该图像由多个像素87构成。轮廓检测部52检测成为轮廓的像素87a的位置。在这里的例子中,像素87a呈直线状排列。经过像素87a的形状的重心即中央点87aa的线89相当于物体的轮廓线。合成部56对于线89将宽度d的区域设定为与轮廓对应的区域。宽度d能够由作业者预先设定。例如,宽度d能够设定数个像素的长度。
合成部56确定与轮廓对应的区域中包含的像素87b和与轮廓对应的区域以外的区域中包含的像素87c。此时,能够判定为一部分配置在与轮廓对应的区域内的像素87d配置在与轮廓对应的区域内。或者,也可以判定为一部分配置在与轮廓对应的区域内的像素87d配置在与轮廓对应的区域以外的区域。
在图12所示的例子中,成为轮廓的像素87a沿着多个像素87排列的方向呈直线状排列,但不限于该方式。成为轮廓的像素有时在相对于多个像素排列的方向倾斜的方向上排列。或者,存在成为轮廓的像素呈曲线状排列的情况。在这样的情况下,也能够基于成为轮廓的像素,通过任意的方法来设定与轮廓对应的区域。例如,计算将彼此相邻的成为轮廓的像素的中央点彼此连结的直线。然后,在相对于将中央点彼此连结的直线垂直的方向上设定宽度d的区域。通过对各个成为轮廓的像素实施该控制,能够设定与轮廓对应的区域。或者,从成为轮廓的各个像素的中央点在预定的方向上设定宽度d的区域。而且,从中央点在与预定的方向垂直的方向上设定宽度d的区域。通过对各个成为轮廓的像素实施该控制,能够设定与轮廓对应的区域。
参照图11,在步骤136中,合成部56基于第一距离图像、第二距离图像以及与轮廓对应的区域来生成合成距离图像。
图13表示合成部生成合成距离图像的控制的流程图。在步骤141中,合成部56例如选择第一照相机31拍摄到的第一图像中包含的1个像素。在步骤142中,合成部56判定1个像素是否配置在与轮廓对应的区域内部。在步骤142中,在1个像素配置在与轮廓对应的区域内部的情况下,控制转移到步骤143。
在步骤143中,合成部56针对与轮廓对应的区域中包含的像素,采用第一距离图像中包含的像素的距离信息。即,合成部56在第一距离图像中检测与1个像素对应的像素。合成部56将1个像素的距离信息设定为第一距离图像的像素的距离信息。在第一距离图像的像素的距离信息是无效像素的信息时,将1个像素设定为无效像素。
在步骤142中,在1个像素配置在与轮廓对应的区域的外侧时,控制转移到步骤144。在步骤144中,合成部56对于配置在与轮廓对应的区域以外的区域的像素,采用第二距离图像中的像素的距离信息。在第二距离图像的像素的距离信息是无效像素的信息时,将1个像素设定为无效像素。
接着,在步骤145中,合成部56判定是否对所有像素设定了距离信息。在步骤145中在至少一个像素未设定距离信息的情况下,控制转移到步骤141。然后,在步骤141中选择另一像素,重复进行步骤142到步骤145的控制。这样,对所有像素设定距离信息。
在步骤145中,在对所有像素设定了距离信息的情况下,控制转移到步骤146。在步骤146中,合成部56生成将各个像素的距离信息合并后的合成距离图像。
图14表示在第一控制中生成的合成距离图像的例子。在距离图像92中,以颜色的浓度来表现像素的距离信息。此外,无效像素未被着色。在存在于工件61与工件62之间的间隙,生成了由无效像素构成的无效像素区域97。另外,在各个工件61、62上表面的边缘部以外的区域中,无效像素少,在各个像素的距离信息中包含具体的距离或位置的信息。即,在工件61、62上表面的边缘部以外的区域中检测到很多测定点。
图15表示比较例的距离图像的例子。在比较例的距离图像93中,针对所有像素,将进行块匹配时的得分的判定值设定得大。例如,距离图像93是使用第二得分的判定值而生成的第二距离图像。在该例子中,对很多像素设定了包含具体的距离或位置信息的距离信息。即,检测到很多测定点。然而,在存在于工件61与工件62之间的间隙中,也设定了包含具体的距离或位置信息的距离信息。因此,在距离图像93中,存在于工件61与工件62之间的间隙消失。这样,在工件61、62的外缘等部分,像素的距离信息的可靠性变低。
参照图14,与此相对,在本实施方式的第一控制中,在与轮廓对应的区域中将得分的判定值设定得小,因此在与工件61、62的外缘对应的区域中发现了由无效像素构成的无效像素区域97。清楚地表现了第一工件61与第二工件62之间的间隙。这样,能够明确地分离第一工件61和第二工件62。
处理部51的动作指令部58能够检测出存在2个工件61、62。另外,在各个工件61、62的上表面的离开外缘的区域检测到很多测定点。因此,动作指令部58能够基于很多测定点的距离信息来驱动机器人1。例如,动作指令部58能够驱动机器人1,使得将机械手5配置在工件61的上表面的重心位置。
这样,在第一控制中,判断各个像素是否包含在与轮廓对应的区域中,对各个像素中的每一个像素,设定第一距离图像中的像素的距离信息或第二距离图像中的像素的距离信息。因此,在轮廓所在的区域中,通过无效像素能够得到细微的形状清楚的距离图像。另一方面,在轮廓所在的区域以外的区域中,由于采用了使用大的得分的判定值的距离图像中的距离信息,所以能够得到很多测定点。能够提供一种物体表面的位置信息的精度得到提高的三维测定装置。
在图16中对本实施方式中的第一得分的判定值的设定方法进行说明。第一得分的判定值以及第二得分的判定值能够由作业者一边观察实际生成的距离图像一边进行设定。例如,作业者可通过生成进行实际作业的工件的距离图像来设定得分的判定值。
在步骤121中,作业者设定第一得分的判定值。例如,作业者基于经验法则来设定任意的第一得分的判定值。在步骤122中,作业者通过操作示教操作盘49,利用第一照相机31和第二照相机32拍摄图像。
在步骤123中,处理部51基于第一得分的判定值、第一图像以及第二图像来生成距离图像。在步骤124中,示教操作盘49的显示部49b显示距离图像。例如,显示图15所示的距离图像。
在步骤125中,作业者判定是否得到了所期望的距离图像。在此,为了设定第一得分的判定值,判定在工件61、62彼此之间是否形成了无效像素区域97。若使得分的判定值过大,则无效像素区域97变少或消失。另一方面,若使得分的判定值过小,则在工件61、62的外缘的区域以外的区域中也会产生很多无效像素区域97。其结果,与工件61、62的表面对应的包含具体的距离等信息的像素的个数变少。即,在工件61、62的上表面设定的测定点的个数变少。
在步骤125中,在未得到所期望的距离图像的情况下,工序返回到步骤121。然后,作业者设定其他的第一得分的判定值。作业者观察距离图像,以在工件的外缘以及台阶部等的轮廓产生无效像素区域97的方式变更第一得分的判定值。例如,作业者在工件61、62彼此之间未产生无效像素区域97的情况下,将第一得分的判定值设定得小。另外,作业者在形成了很多无效像素区域97的情况下,将第一得分的判定值设定得大。然后,作业者反复进行步骤122至步骤125的工序。在步骤125中,在生成了所期望的距离图像的情况下,能够采用此时的第一得分的判定值。
关于第二得分的判定值,能够通过与图16同样的方法来设定。作业者在步骤125中,判定在距离图像中与工件61、62的上表面对应的区域中是否存在很多设定了具体的距离等信息的像素。在通过第二得分的判定值生成的距离图像中,在工件61、62彼此之间未发现无效像素区域也没关系。将第二得分的判定值设定为大于第一得分的判定值。处理部51能够使用这样设定的第一得分以及第二得分来生成合成距离图像。
接着,对本实施方式的第二控制进行说明。在第二控制中,变更块尺寸来拍摄多个距离图像,从而代替变更得分的判定值来拍摄多个距离图像。然后,将以块尺寸相互不同的方式形成的多个距离图像进行合成来生成合成距离图像。
参照图4以及图5,当增大块尺寸使得进行块匹配时的选定块81以及搜索块83包含很多像素时,因为对很多像素彼此的差进行累计,所以计算视差的精度降低。另外,在减小了块尺寸的情况下,在像素的值缓慢变化的区域中,有时难以进行块匹配。例如,存在检测出很多得分相同的搜索块的情况。
在第二控制中,作业者预先决定第一选定块和包含比第一选定块更多的像素的第二选定块。即,作业者决定块尺寸相互不同的选定块。第一选定块的块尺寸比第二选定块的块尺寸小。例如,作为第一选定块,能够采用3行以及3列的块。另外,作为第二选定块,能够采用9行以及9列的块。
图17表示第二控制的流程图。参照图2以及图17,步骤131以及步骤132与第一控制中的控制相同(参照图11)。在步骤153中,块搜索部53、计算部54以及生成部55使用第一图像、第二图像以及第一选定块来生成第一距离图像。块搜索部53使用第一选定块以及与第一选定块相同的块尺寸的搜索块来实施块匹配的控制。
在步骤154中,块搜索部53、计算部54以及生成部55使用第一图像、第二图像以及第二选定块来生成第二距离图像。块搜索部53使用第二选定块以及与第二选定块相同的块尺寸的搜索块来实施块匹配的控制。
接着,在步骤135中,与第一控制同样地,合成部56取得由轮廓检测部52检测出的成为工件61、62的轮廓的像素。合成部56基于成为轮廓的像素来设定与轮廓对应的区域。合成部56确定与轮廓对应的区域中包含的像素以及与轮廓对应的区域以外的区域中包含的像素(参照图11以及图12)。
在步骤156中,合成部56生成合成距离图像。合成部56针对与轮廓对应的区域中包含的像素,设定通过第一选定块生成的第一距离图像中包含的像素的距离信息。另一方面,在与轮廓对应的区域以外的区域中包含的像素,设定通过第二选定块生成的第二距离图像中包含的像素的距离信息。如此,对各个像素设定第一距离图像中包含的像素的距离信息或第二距离图像中包含的像素的距离信息,由此能够生成合成距离图像。
图18表示设定第一选定块的块尺寸的方法的流程图。作业者能够一边观察实际生成的距离图像一边设定第一选定块的块尺寸。在步骤161中,作业者设定第一选定块。作业者基于经验等以任意的块尺寸设定第一选定块。在步骤162中,作业者通过操作示教操作盘49,利用第一照相机31和第二照相机32拍摄图像。在步骤163中,处理部51使用第一选定块生成距离图像。而且,示教操作盘49的显示部49b显示距离图像。
在步骤165中,作业者判定是否得到了所期望的距离图像。在通过第一选定块生成的第一距离图像中,优选清楚地显示了工件的外缘或台阶部等的轮廓。例如,若增大块尺寸,则工件61、62的轮廓变得不清晰。另外,存在工件61、62彼此之间的间隙消失的情况。另一方面,如果使块尺寸过小,则有时会检测出所期望的轮廓以外的轮廓。
在步骤165中,在未得到所期望的距离图像的情况下,工序转移到步骤161。在步骤161中,作业者设定变更了块尺寸的第一选定块。例如,在工件61、62彼此之间的间隙不清晰的情况下,能够设定减小了块尺寸的第一选定块。然后,作业者反复进行步骤162至步骤165。在步骤165中,在得到了所期望的距离图像的情况下,能够采用此时的块尺寸的第一选定块。
关于第二选定块的块尺寸,也能够通过与图18同样的方法来设定。例如,作业者在步骤161、165中能够以工件61、62彼此之间的间隙的轮廓变得不清晰的方式设定第二选定块的块尺寸。
图19表示通过第二控制拍摄到的距离图像。在工件61、62的外缘所在的区域中,采用通过块尺寸小的第一选定块生成的第一距离图像中包含的像素的距离信息。例如,在存在工件61与工件62之间的间隙的区域中,采用第一距离图像的像素的距离信息。因此,在距离图像94中,明确地示出了工件61的外缘以及工件62的外缘。特别是通过像素的浓度的差明确地表示了工件61与工件62之间的间隙。
另一方面,在工件61、62的轮廓以外的区域中,采用以块尺寸大的第二块尺寸生成的第二距离图像的像素的距离信息。在工件61、62的上表面的中央部,采用了第二距离图像的像素的距离信息。因此,设定了距离信息准确的很多测定点。另外,即使是2维图像中的亮度或浓度等像素值的梯度小的区域,也能够检测出准确的工件61、62的表面的位置信息。
其他控制与第一控制相同,因此在此不重复说明。
本实施方式的视觉传感器30固定在支承构件66,但不限于该方式。能够通过可拍摄工件的方式配置视觉传感器。例如,视觉传感器也可以通过与机器人的腕部一体移动的方式固定在腕部。在该情况下,能够预先计算机器人中的照相机坐标系的位置。而且,能够基于机器人的位置以及姿势,将在照相机坐标系中生成的物体表面的位置信息变换为世界坐标系。
本实施方式的视觉传感器30包含2台2维照相机,但不限于该方式。视觉传感器也可以包含3台以上的2维照相机。通过3维传感器包含3台以上的照相机,即使一部分图像因光晕等而不清晰,也能够基于其他照相机拍摄到的图像来生成物体表面的位置信息。另外,本实施方式的视觉传感器具备投影仪,但不限于该方式。视觉传感器也可以不具备投影仪。
在本实施方式中,控制机器人的控制装置作为对视觉传感器的图像进行处理的处理部发挥功能,但不限于该方式。处理部也可以由与控制机器人的控制装置不同的运算处理装置(计算机)构成。例如,可以将作为处理部发挥功能的平板终端与控制机器人的控制装置连接。
本实施方式的三维测定装置配置在机器人装置,但不限于该方式。三维测定装置能够配置在任意的装置。
在上述的各个控制中,能够在不变更功能以及作用的范围内适当地变更步骤的顺序。
上述的实施方式能够适当组合。在上述的各图中,对相同或相等的部分标注了相同的附图标记。上述的实施方式是例示,并不限定发明。另外,在实施方式中,包含保护范围所示的实施方式的变更。
附图标记的说明
2 控制装置
23 位置检测器
30 视觉传感器
31 第一照相机
32 第二照相机
51 处理部
52 轮廓检测部
53 块搜索部
54 计算部
55 生成部
56 合成部
61、62、63 工件
77 第一图像
78 第二图像
81 选定块
82 特定块
85、86、87 像素
85a 选定像素
87a、87b、87c 像素
91、92、93、94 距离图像
96 图像
97 无效像素区域。

Claims (3)

1.一种三维测定装置,其特征在于,具备:
视觉传感器,其包含拍摄第一图像的第一照相机和拍摄第二图像的第二照相机;
轮廓检测传感器,其用于检测物体的轮廓;
处理部,其基于第一图像和第二图像来检测物体表面的位置信息,
所述处理部包含:
轮廓检测部,其基于所述轮廓检测传感器的输出来检测物体的所述轮廓;
块搜索部,其在第一图像中设定由包含所选定的1个选定像素的多个像素构成的选定块,在第二图像中搜索与选定块对应的特定块;
计算部,其根据选定块中的选定像素的位置和特定块中的与选定像素对应的特定像素的位置之间的视差,来计算像素的距离信息;
生成部,其生成包含多个像素的距离信息的物体表面的位置信息;以及
合成部,其将在互不相同的条件下生成的物体表面的位置信息进行合成,
所述块搜索部计算对选定块中包含的像素的值与特定块中包含的像素的值之间的差的大小或所述差的平方值进行累计而得到的累计值,在所述累计值小于预先决定的判定值的情况下,判定为特定块中包含的像素与选定块中包含的像素对应,在所述累计值超过预先决定的判定值的情况下或未检测到与选定块对应的特定块的情况下,设定是无效像素的信息来作为选定像素的距离信息,
预先决定了与所述累计值相关的第一判定值和比第一判定值大的与所述累计值相关的第二判定值,
所述块搜索部、所述计算部和所述生成部使用第一图像、第二图像以及第一判定值来生成第一表面的位置信息,并且使用第一图像、第二图像以及第二判定值来生成第二表面的位置信息,
所述合成部基于所述轮廓检测部检测出的所述轮廓来设定与所述轮廓对应的区域,针对与所述轮廓对应的区域中包含的像素,采用第一表面的位置信息中包含的像素的距离信息,针对与所述轮廓对应的区域以外的区域中包含的像素,采用第二表面的位置信息中包含的像素的距离信息,由此生成将第一表面的位置信息和第二表面的位置信息合成后的表面的位置信息。
2.一种三维测定装置,其特征在于,具备:
视觉传感器,其包含拍摄第一图像的第一照相机和拍摄第二图像的第二照相机;
轮廓检测传感器,其用于检测物体的轮廓;以及
处理部,其基于第一图像和第二图像来检测物体表面的位置信息,
所述处理部包含:
轮廓检测部,其基于所述轮廓检测传感器的输出来检测物体的所述轮廓;
块搜索部,其在第一图像中设定由包含所选定的1个选定像素的多个像素构成的选定块,在第二图像中搜索与选定块对应的特定块;
计算部,其根据选定块中的选定像素的位置和特定块中的与选定像素对应的特定像素的位置之间的视差,来生成像素的距离信息;
生成部,其生成包含多个像素的距离信息的物体表面的位置信息;以及
合成部,其将在互不相同的条件下生成的物体表面的位置信息进行合成,
预先决定了第一选定块和包含比第一选定块更多像素的第二选定块,
所述块搜索部、所述计算部以及所述生成部使用第一图像、第二图像以及第一选定块来生成第一表面的位置信息,并使用第一图像、第二图像以及第二选定块来生成第二表面的位置信息,
所述合成部基于所述轮廓检测部检测出的所述轮廓来设定与所述轮廓对应的区域,针对与所述轮廓对应的区域中包含的像素,设定第一表面的位置信息中包含的像素的距离信息,针对与所述轮廓对应的区域以外的区域中包含的像素,设定第二表面的位置信息中包含的像素的距离信息,由此生成将第一表面的位置信息和第二表面的位置信息合成后的表面的位置信息。
3.根据权利要求1或2所述的三维测定装置,其特征在于,
所述轮廓检测传感器是第一照相机或第二照相机。
CN202180019075.2A 2020-03-05 2021-02-26 基于由多个照相机拍摄到的图像来生成物体表面的位置信息的三维测定装置 Pending CN115280096A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020038173 2020-03-05
JP2020-038173 2020-03-05
PCT/JP2021/007347 WO2021177163A1 (ja) 2020-03-05 2021-02-26 複数のカメラにて撮像された画像に基づいて物体の表面の位置情報を生成する三次元測定装置

Publications (1)

Publication Number Publication Date
CN115280096A true CN115280096A (zh) 2022-11-01

Family

ID=77613040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180019075.2A Pending CN115280096A (zh) 2020-03-05 2021-02-26 基于由多个照相机拍摄到的图像来生成物体表面的位置信息的三维测定装置

Country Status (5)

Country Link
US (1) US20230129785A1 (zh)
JP (1) JP7448633B2 (zh)
CN (1) CN115280096A (zh)
DE (1) DE112021001440T5 (zh)
WO (1) WO2021177163A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4060981A4 (en) * 2020-01-09 2023-01-18 Sony Group Corporation IMAGE PROCESSING DEVICE, IMAGE PROCESSING METHOD AND IMAGING DEVICE
US20230419523A1 (en) * 2022-06-28 2023-12-28 Zebra Technologies Corporation Method, System and Apparatus for Photometric Stereo Reconstruction of a Surface

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3513219B2 (ja) * 1994-07-12 2004-03-31 キヤノン株式会社 対応点マッチング方法および装置
JP3524826B2 (ja) * 1999-09-16 2004-05-10 日本電信電話株式会社 三次元画像処理方法、装置、および三次元画像処理プログラムを記録した記録媒体
JP5071866B2 (ja) * 2008-06-03 2012-11-14 富士フイルム株式会社 距離測定装置および方法並びにプログラム
JP5782766B2 (ja) 2011-03-18 2015-09-24 株式会社リコー 画像処理装置、画像処理方法、及び画像処理プログラム
JP5955291B2 (ja) * 2013-09-30 2016-07-20 富士重工業株式会社 フィルタリング装置および環境認識システム

Also Published As

Publication number Publication date
US20230129785A1 (en) 2023-04-27
WO2021177163A1 (ja) 2021-09-10
DE112021001440T5 (de) 2023-02-09
JPWO2021177163A1 (zh) 2021-09-10
JP7448633B2 (ja) 2024-03-12

Similar Documents

Publication Publication Date Title
US9672630B2 (en) Contour line measurement apparatus and robot system
CN105666505B (zh) 具备扩展现实对应显示器的机器人系统
US6031941A (en) Three-dimensional model data forming apparatus
EP1788345A1 (en) Image processing device and image processing method performing 3d measurement
KR20060132454A (ko) 화상 처리 장치
CN115280096A (zh) 基于由多个照相机拍摄到的图像来生成物体表面的位置信息的三维测定装置
KR20080029548A (ko) 실사기반 이동기기 제어 방법 및 장치
US11625842B2 (en) Image processing apparatus and image processing method
US20060008268A1 (en) Three-dimensional image processing apparatus, optical axis adjusting method, and optical axis adjustment supporting method
US9595095B2 (en) Robot system
JPH055041B2 (zh)
JP6621351B2 (ja) レーザー加工用の画像処理装置及び画像処理方法
JP5858773B2 (ja) 3次元計測方法、3次元計測プログラム及びロボット装置
JP2007071835A (ja) 画像測定装置用パートプログラム生成装置、画像測定装置用パートプログラム生成方法、及び画像測定装置用パートプログラム生成用プログラム
US20220331972A1 (en) Robot Image Display Method, Recording Medium, And Robot Image Display System
JP7049220B2 (ja) 画像取得装置および画像取得装置の作動方法
JPH08313217A (ja) 非接触画像計測システム
JP6979885B2 (ja) 3d形状のオートトレース方法及び測定機
CN111522299B (zh) 机械控制装置
JP2004254960A (ja) 視線方向検出装置および視線方向検出方法
CN114902281A (zh) 图像处理系统
JP2580516B2 (ja) 実時間3次元運動測定装置およびその方法
JP2004072240A (ja) 撮像装置とそれを用いた追尾システムおよびスキャナ
CN111522295B (zh) 机械控制装置
JP2012154672A (ja) 画像処理方法、プログラム、および画像処理装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination