CN114821177A - 图像处理方法、装置、电子设备、对弈机器人及存储介质 - Google Patents

图像处理方法、装置、电子设备、对弈机器人及存储介质 Download PDF

Info

Publication number
CN114821177A
CN114821177A CN202210476238.6A CN202210476238A CN114821177A CN 114821177 A CN114821177 A CN 114821177A CN 202210476238 A CN202210476238 A CN 202210476238A CN 114821177 A CN114821177 A CN 114821177A
Authority
CN
China
Prior art keywords
image
chess
moved
neural network
chess piece
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.)
Withdrawn
Application number
CN202210476238.6A
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.)
Shenzhen Sensetime Technology Co Ltd
Original Assignee
Shenzhen Sensetime Technology Co Ltd
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 Shenzhen Sensetime Technology Co Ltd filed Critical Shenzhen Sensetime Technology Co Ltd
Priority to CN202210476238.6A priority Critical patent/CN114821177A/zh
Publication of CN114821177A publication Critical patent/CN114821177A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Image Processing (AREA)

Abstract

本实施例公开了一种图像处理方法、装置、电子设备、对弈机器人和计算机存储介质,该方法包括:获取第一图像,所述第一图像表示国际象棋的棋盘和各棋子的图像;利用神经网络对所述第一图像进行处理,确定所述第一图像中每个棋子的属性数据,所述属性数据包括检测框和棋子类别;所述神经网络是根据样本图像集和标注信息训练得到的;所述样本图像集中的每个图像表示所述棋盘和各棋子的样本图像;所述标注信息包括所述样本图像中每个棋子的标注的属性数据;根据所述第一图像中每个棋子的属性数据,生成决策信息,所述决策信息用于指示所述棋盘中的待移动棋子以及所述第一图像中所述待移动棋子的目的位置。

Description

图像处理方法、装置、电子设备、对弈机器人及存储介质
技术领域
本公开涉及但不限于计算机视觉处理技术,尤其涉及一种图像处理方法、装置、对弈机器人和计算机存储介质。
背景技术
在相关技术中,基于计算机视觉处理技术的对弈机器人具有成本低,精度高,交互性更好的优势,然而,上述对弈机器人可以通过文字识别技术识别中国象棋的棋子,由于国际象棋的棋子上并不存在文字信息,因此,上述对弈机器人无法通过文字识别技术识别图像中国际象棋的棋子,进而,不能实现对弈机器人对国际象棋的棋局的准确决策。
发明内容
本公开实施例至少提供了一种图像处理方法、装置、对弈机器人和计算机存储介质。
本公开实施例提供了一种图像处理方法,该方法可以包括:获取第一图像,所述第一图像表示国际象棋的棋盘和各棋子的图像;利用神经网络对所述第一图像进行处理,确定所述第一图像中每个棋子的属性数据,所述属性数据包括检测框和棋子类别;所述神经网络是根据样本图像集和标注信息训练得到的;所述样本图像集中的每个图像表示所述棋盘和各棋子的样本图像;所述标注信息包括所述样本图像中每个棋子的标注的属性数据;根据所述第一图像中每个棋子的属性数据,生成决策信息,所述决策信息用于指示所述棋盘中的待移动棋子以及所述第一图像中所述待移动棋子的目的位置。
在一些实施例中,所述方法还包括:在所述第一图像是图像采集设备采集的图像的情况下,确定所述图像采集设备的相机坐标系与机械臂的基座坐标系的第一变换关系;在生成所述决策信息后,所述方法还包括:根据所述待移动棋子的检测框在所述第一图像中的位置、以及所述第一变换关系,确定所述基座坐标系中所述待移动棋子的起点位置;根据所述目的位置、以及所述第一变换关系,确定所述基座坐标系中所述待移动棋子的终点位置;控制所述机械臂在所述起点位置抓取所述待移动棋子,并在所述终点位置放置所述待移动棋子。
可以看出,本公开实施例可以根据待移动棋子的检测框在第一图像中的位置、以及第一图像中待移动棋子的目的位置,分别确定出基座坐标系中待移动棋子的起点位置和终点位置,由于该起点位置和终点位置是基座坐标系中的位置,而基座坐标系是根据机械臂的基座的平面确定的坐标系,因此,有利于机械臂根据起点位置和终点位置准确地抓取棋子和放置棋子。
在一些实施例中,所述确定所述图像采集设备的相机坐标系与机械臂的基座坐标系的第一变换关系,包括:响应于所述第一图像为所述图像采集设备拍摄的俯视图像,根据所述图像采集设备与所述机械臂的基座的相对位置,确定所述第一变换关系。
可以看出,在第一图像是图像采集设备拍摄的俯视图像的情况下,无需通过手眼标定的方式确定第一变换关系,而是可以根据图像采集设备与机械臂的基座的相对位置,确定第一变换关系,因此,具有简单易实现的特点。
在一些实施例中,所述方法还包括:在所述第一图像是双目相机采集的图像的情况下,获取所述第一图像中各摆棋位置的深度信息;在生成所述决策信息后,所述方法还包括:根据所述待移动棋子的检测框在所述第一图像中的位置、以及所述待移动棋子所处在的摆棋位置的深度信息,确定三维空间坐标系中所述待移动棋子的起点位置;根据所述目的位置、以及所述目的位置所处在的摆棋位置的深度信息,确定所述三维空间坐标系中所述待移动棋子的终点位置;控制所述机械臂在所述起点位置抓取所述待移动棋子,并在所述终点位置放置所述待移动棋子。
可以看出,在第一图像是双目相机采集的图像的情况下,无需预先确定第一变换关系,而是可以根据待移动棋子所处在的摆棋位置的已知深度信息、以及目的位置所处在的摆棋位置的已知深度信息,确定基座坐标系中待移动棋子的起点位置和终点位置,因此,在一定程度上可以更加简单地确定基座坐标系中待移动棋子的起点位置和终点位置。
在一些实施例中,所述根据所述第一图像中每个棋子的属性数据,生成决策信息,包括:根据所述每个棋子的检测框在所述第一图像中的位置、以及所述每个棋子的棋子类别,确定所述第一图像中的棋子分布信息;根据所述棋子分布信息和所述国际象棋的对弈规则,确定所述待移动棋子和所述待移动棋子的行棋策略;根据所述待移动棋子和所述待移动棋子的行棋策略,生成所述决策信息。
可以看出,本公开实施例可以根据每个棋子的检测框在第一图像中的位置、以及每个棋子的棋子类别,准确地确定第一图像中的棋子分布信息;从而,根据准确得出的棋子分布信息,可以准确地确定待移动棋子和待移动棋子的行棋策略,进而可以生成准确的决策信息。
在一些实施例中,在获取所述第一图像后,所述方法还包括:通过对所述第一图像进行角点检测,确定所述第一图像中的棋盘图像;所述利用神经网络对所述第一图像进行处理,确定所述第一图像中每个棋子的属性数据,包括:利用神经网络对所述棋盘图像进行处理,确定所述棋盘图像中每个棋子的属性数据。
可以看出,本公开实施例可以利用神经网络对第一图像中的棋盘图像进行处理,由于无需针对第一图像的全部图像区域进行处理,因此,在一定程度上降低了神经网络处理的数据量,提高了神经网络的图像处理效率。
在一些实施例中,所述神经网络是采用以下步骤训练得到的:将所述样本图像集中的每个样本图像输入至所述神经网络,利用所述神经网络对所述每个样本图像进行处理,得到所述每个样本图像中每个棋子的属性数据;根据所述每个样本图像中每个棋子的属性数据、以及所述标注信息,调整所述神经网络的网络参数值。
可以看出,在本公开实施例中,通过预先训练神经网络,可以使训练完成的神经网络能够识别第一图像中棋子的属性数据,进而,有利于较为准确地生成决策信息。
在一些实施例中,在对所述神经网络进行训练之前,所述方法还包括:利用图像采集设备采集至少两种数据采集状态下的所述棋盘的图像,得到初始图像集;所述数据采集状态是根据以下至少一项确定的:光照强度、棋盘的位置、棋子的位姿、图像采集设备拍摄所述棋盘的拍摄位姿;对所述初始图像集进行预处理,得到所述样本图像集,或者,将所述初始图像集确定为所述样本图像集。
可以看出,本公开实施例可以至少两种数据采集状态下的棋盘的图像,生成初始图像集,从而,根据初始图像集得到样本图像集,即,本公开实施例可以根据至少两种数据采集状态下的棋盘的图像,生成样本图像集,因此,样本图像集的图像可以更加全面地反映不同数据采集状态下的棋盘的图像,在基于样本图像集训练神经网络的情况下,有利于使训练完成的神经网络能够识别各种数据采集状态下的棋盘图像,从而,提升了神经网络处理各类图像的准确性。
在一些实施例中,所述对所述初始图像集进行预处理,得到所述样本图像集,包括以下任意一项:在所述初始图像集中将不符合图像质量要求的图像删除,得到所述样本图像集;基于所述初始图像集中图像的属性,对所述初始图像集进行数据增强,得到所述样本图像集;在所述初始图像集中将不符合图像质量要求的图像删除,得到数据筛选后的图像集;基于所述数据筛选后的图像集中图像的属性,对所述数据筛选后的图像集进行数据增强,得到所述样本图像集。
可以看出,本公开实施例通过将初始图像集中将不符合图像质量要求的图像删除,可以准确地实现数据筛选,将不符合图像质量要求的图像删除,从而可以得到符合图像质量要求的样本图像集,在基于样本图像集训练神经网络的情况下,有利于使训练完成的神经网络能够准确地处理棋盘图像;本公开实施例通过将图像集进行数据增强,有利于得到全面丰富的样本图像集,在基于样本图像集训练神经网络的情况下,有利于提升训练完成的神经网络处理各类棋盘图像的鲁棒性。
本公开实施例还提供了一种图像处理装置,该装置可以包括:获取模块,用于获取第一图像,所述第一图像表示国际象棋的棋盘和各棋子的图像;第一处理模块,用于利用神经网络对所述第一图像进行处理,确定所述第一图像中每个棋子的属性数据,所述属性数据包括检测框和棋子类别;所述神经网络是根据样本图像集和标注信息训练得到的;所述样本图像集中的每个图像表示所述棋盘和各棋子的样本图像;所述标注信息包括所述样本图像中每个棋子的标注的属性数据;第二处理模块,用于根据所述第一图像中每个棋子的属性数据,生成决策信息,所述决策信息用于指示所述棋盘中的待移动棋子以及所述第一图像中所述待移动棋子的目的位置。
可以看出,由于神经网络是根据样本图像集和标注信息训练得到的,而样本图像集中的图像为国际象棋的棋盘和各棋子的图像,标注信息包括国际象棋的每个棋子的标注的属性数据,因此,预先训练的神经网络可以较为准确地识别国际象棋的棋子的属性数据,进而,根据国际象棋的棋子的属性数据,可以较为准确地生成相应的决策信息。
在一些实施例中,所述第二处理模块,还用于在所述第一图像是图像采集设备采集的图像的情况下,确定所述图像采集设备的相机坐标系与机械臂的基座坐标系的第一变换关系;所述第二处理模块,还用于根据所述待移动棋子的检测框在所述第一图像中的位置、以及所述第一变换关系,确定所述基座坐标系中所述待移动棋子的起点位置;根据所述目的位置、以及所述第一变换关系,确定所述基座坐标系中所述待移动棋子的终点位置;控制所述机械臂在所述起点位置抓取所述待移动棋子,并在所述终点位置放置所述待移动棋子。
可以看出,本公开实施例可以根据待移动棋子的检测框在第一图像中的位置、以及第一图像中待移动棋子的目的位置,分别确定出基座坐标系中待移动棋子的起点位置和终点位置,由于该起点位置和终点位置是基座坐标系中的位置,而基座坐标系是根据机械臂的基座的平面确定的坐标系,因此,有利于机械臂根据起点位置和终点位置准确地抓取棋子和放置棋子。
在一些实施例中,所述第二处理模块,用于确定所述图像采集设备的相机坐标系与机械臂的基座坐标系的第一变换关系,包括:响应于所述第一图像为所述图像采集设备拍摄的俯视图像,根据所述图像采集设备与所述机械臂的基座的相对位置,确定所述第一变换关系。
可以看出,在第一图像是图像采集设备拍摄的俯视图像的情况下,无需通过手眼标定的方式确定第一变换关系,而是可以根据图像采集设备与机械臂的基座的相对位置,确定第一变换关系,因此,具有简单易实现的特点。
在一些实施例中,所述第二处理模块,还用于在所述第一图像是双目相机采集的图像的情况下,获取所述第一图像中各摆棋位置的深度信息;
所述第二处理模块,还用于在生成所述决策信息后,根据所述待移动棋子的检测框在所述第一图像中的位置、以及所述待移动棋子所处在的摆棋位置的深度信息,确定三维空间坐标系中所述待移动棋子的起点位置;根据所述目的位置、以及所述目的位置所处在的摆棋位置的深度信息,确定所述三维空间坐标系中所述待移动棋子的终点位置;控制所述机械臂在所述起点位置抓取所述待移动棋子,并在所述终点位置放置所述待移动棋子。
可以看出,在第一图像是双目相机采集的图像的情况下,无需预先确定第一变换关系,而是可以根据待移动棋子所处在的摆棋位置的已知深度信息、以及目的位置所处在的摆棋位置的已知深度信息,确定基座坐标系中待移动棋子的起点位置和终点位置,因此,在一定程度上可以更加简单地确定基座坐标系中待移动棋子的起点位置和终点位置。
在一些实施例中,所述第二处理模块,用于根据所述第一图像中每个棋子的属性数据,生成决策信息,包括:根据所述每个棋子的检测框在所述第一图像中的位置、以及所述每个棋子的棋子类别,确定所述第一图像中的棋子分布信息;根据所述棋子分布信息和所述国际象棋的对弈规则,确定所述待移动棋子和所述待移动棋子的行棋策略;根据所述待移动棋子和所述待移动棋子的行棋策略,生成所述决策信息。
可以看出,本公开实施例可以根据每个棋子的检测框在第一图像中的位置、以及每个棋子的棋子类别,准确地确定第一图像中的棋子分布信息;从而,根据准确得出的棋子分布信息,可以准确地确定待移动棋子和待移动棋子的行棋策略,进而可以生成准确的决策信息。
在一些实施例中,所述第一处理模块,用于还用于通过对所述第一图像进行角点检测,确定所述第一图像中的棋盘图像;所述第一处理模块,用于利用神经网络对所述第一图像进行处理,确定所述第一图像中每个棋子的属性数据,包括:利用神经网络对所述棋盘图像进行处理,确定所述棋盘图像中每个棋子的属性数据。
可以看出,本公开实施例可以利用神经网络对第一图像中的棋盘图像进行处理,由于无需针对第一图像的全部图像区域进行处理,因此,在一定程度上降低了神经网络处理的数据量,提高了神经网络的图像处理效率。
在一些实施例中,上述图像处理装置还包括训练模块,所述训练模块,用于采用以下步骤训练神经网络:将所述样本图像集中的每个样本图像输入至所述神经网络,利用所述神经网络对所述每个样本图像进行处理,得到所述每个样本图像中每个棋子的属性数据;根据所述每个样本图像中每个棋子的属性数据、以及所述标注信息,调整所述神经网络的网络参数值。
可以看出,在本公开实施例中,通过预先训练神经网络,可以使训练完成的神经网络能够识别第一图像中棋子的属性数据,进而,有利于较为准确地生成决策信息。
在一些实施例中,所述训练模块,还用于在对所述神经网络进行训练之前,利用图像采集设备采集至少两种数据采集状态下的所述棋盘的图像,得到初始图像集;所述数据采集状态是根据以下至少一项确定的:光照强度、棋盘的位置、棋子的位姿、图像采集设备拍摄所述棋盘的拍摄位姿;对所述初始图像集进行预处理,得到所述样本图像集,或者,将所述初始图像集确定为所述样本图像集。
可以看出,本公开实施例可以至少两种数据采集状态下的棋盘的图像,生成初始图像集,从而,根据初始图像集得到样本图像集,即,本公开实施例可以根据至少两种数据采集状态下的棋盘的图像,生成样本图像集,因此,样本图像集的图像可以更加全面地反映不同数据采集状态下的棋盘的图像,在基于样本图像集训练神经网络的情况下,有利于使训练完成的神经网络能够识别各种数据采集状态下的棋盘图像,从而,提升了神经网络处理各类图像的准确性。
在一些实施例中,所述训练模块,用于对所述初始图像集进行预处理,得到所述样本图像集,包括以下任意一项:在所述初始图像集中将不符合图像质量要求的图像删除,得到所述样本图像集;基于所述初始图像集中图像的属性,对所述初始图像集进行数据增强,得到所述样本图像集;在所述初始图像集中将不符合图像质量要求的图像删除,得到数据筛选后的图像集;基于所述数据筛选后的图像集中图像的属性,对所述数据筛选后的图像集进行数据增强,得到所述样本图像集。
可以看出,本公开实施例通过将初始图像集中将不符合图像质量要求的图像删除,可以准确地实现数据筛选,将不符合图像质量要求的图像删除,从而可以得到符合图像质量要求的样本图像集,在基于样本图像集训练神经网络的情况下,有利于使训练完成的神经网络能够准确地处理棋盘图像;本公开实施例通过将图像集进行数据增强,有利于得到全面丰富的样本图像集,在基于样本图像集训练神经网络的情况下,有利于提升训练完成的神经网络处理各类棋盘图像的鲁棒性。
本公开实施例还提供了一种电子设备,该电子设备包括图像采集设备、处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序以执行上述任意一种图像处理方法。
本公开实施例还提供了一种对弈机器人,该对弈机器人包括用于抓取待移动棋子的机械臂,还包括上述任意一种图像处理装置或上述任意一种电子设备。
本公开实施例还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种图像处理方法。
可以看出,在本公开实施例中,由于神经网络是根据样本图像集和标注信息训练得到的,而样本图像集中的图像为国际象棋的棋盘和各棋子的图像,标注信息包括国际象棋的每个棋子的标注的属性数据,因此,预先训练的神经网络可以较为准确地识别国际象棋的棋子的属性数据,进而,根据国际象棋的棋子的属性数据,可以较为准确地生成相应的决策信息。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1为本公开实施例中对弈机器人、棋盘以及相机的位置示意图;
图2为本公开实施例的一种图像处理方法的流程示意图;
图3为本公开实施例中生成决策信息的流程图;
图4为本公开实施例的另一种图像处理方法的流程示意图;
图5为本公开实施例的又一种图像处理方法的流程示意图;
图6为本公开实施例中神经网络的训练方法的流程图;
图7为本公开实施例中确定样本图像集的流程图;
图8为本公开实施例的图像处理装置的结构示意图;
图9为本公开实施例中电子设备的一种硬件实体示意图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面结合附图和实施例对本公开的技术方案进一步详细阐述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
所涉及的术语“第一/第二/第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二/第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开的目的,不是旨在限制本公开。
为了更好地理解本公开实施例的技术方案,下面先对相关技术中的对弈机器人进行说明。
随着机器人相关技术的发展,机器人的成本得到了有效的下降,同时,其可靠性和安全性得到了进一步提升;基于计算机视觉处理技术的中国象棋对弈机器人已经在市场中崭露头角。
对于中国象棋而言,中国象棋的棋子上存在文字信息,并且中国象棋的每类棋子都是圆形的棋子,因此,对弈机器人可以通过单目红绿蓝(Red Green Blue,RGB)相机采集中国象棋的棋盘图像,并通过文字识别技术识别棋盘图像中的棋子;由于中国象棋的各棋子的高度是一致的,因而,便于通过对棋盘和相机的标定来确定象棋的棋子在棋盘的位置。
对于国际象棋而言,由于国际象棋的棋子上并不存在文字信息,并且,国际象棋中不同类型的棋子的高度并不相同,国际象棋中不同类型的棋子的尺寸也不相同,因此,在采用RGB相机采集国际象棋的棋盘图像后,难以从棋盘图像中准确地对国际象棋的棋子进行识别和定位,进而,不利于对弈机器人对国际象棋的棋局进行准确地决策。
本公开实施例提出了一种图像处理方法,可以应用于对弈机器人中,对弈机器人可以包括处理器和用于抓取物体的机械臂;示例性地,处理器用于控制机械臂的工作状态,机械臂的末端可以设置有吸盘或夹具等器件。上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital SignalProcessor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field-ProgrammableGate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。
本公开实施例中,上述图像处理方法也可以应用于电子设备中,电子设备可以是对弈机器人中的一部分,也可以是与对弈机器人形成通信连接的其它设备,在电子设备是与对弈机器人形成通信连接的其它设备的情况下,电子设备可以包括对应机器人的上位机和云端设备中的至少一项;电子设备可以包括处理器;在电子设备是与对弈机器人形成通信连接的其它设备的情况下,电子设备可以通过数据线、网络或其它传输方式与对弈机器人进行数据交互。
对弈机器人或电子设备中可以设置图像采集设备,对弈机器人的处理器可以控制对弈机器人的图像采集设备采集图像;在电子设备是与对弈机器人形成通信连接的其它设备的情况下,电子设备可以控制图像采集设备采集图像。
示例性地,参照图1,对弈机器人中的机械臂101用于抓取棋盘102中的棋子,对弈机器人中的图像采集设备103用于拍摄棋盘102的图像;棋盘102可以是国际象棋的棋盘。图像采集设备103可以是单目RGB相机或双目RGB相机;在一些实施例中,参照图1,图像采集设备103可以由支架固定在棋盘102的正上方,图像采集设备103可以垂直拍摄棋盘102和各棋子。
图2为本公开实施例的一种图像处理方法的流程图,如图2所示,该流程可以包括:
步骤201:获取第一图像,第一图像表示国际象棋的棋盘和各棋子的图像。
本公开实施例中,第一图像可以是图像采集设备采集的图像,图像采集设备可以朝向棋盘设置,用于至少拍摄棋盘的图像,示例性地,图像采集设备的拍摄区域还可以包括棋盘的周围区域。在一些实施例中,第一图像也可以是在对弈机器人或电子设备的存储器中存储的图像。
步骤202:利用神经网络对第一图像进行处理,确定第一图像中每个棋子的属性数据,属性数据包括检测框和棋子类别;神经网络是根据样本图像集和标注信息训练得到的;样本图像集中的每个图像表示棋盘和各棋子的样本图像;标注信息包括样本图像中每个棋子的标注的属性数据。
在一些实施例中,可以在获取第一图像之前,从本地存储区域或网络获取样本图像集;在一些实施例中,可以针对国际象棋的棋盘中的每种棋子分布信息,通过对国际象棋的棋盘进行拍摄,得到样本图像集;这里,国际象棋的棋盘上存在棋子,棋子分布信息表示棋盘上每类棋子的位置分布信息。本公开实施例中,样本图像集中的不同图像可以对应不同的棋子分布信息。
本公开实施例中,检测框可以是矩形检测框或其它形状的检测框,在检测框内的棋子为第一棋子的情况下,检测框在第一图像中的位置可以反映出第一棋子在棋盘中的位置;国际象棋的棋子类别可以包括黑方的王、黑方的后、黑方的车、黑方的象、黑方的马、黑方的兵,白方的王、白方的后、白方的车、白方的象、白方的马和白方的兵。
在一些实施例中,在获取样本图像集后,可以针对样本图像集中的每个图像,标注每个棋子的检测框以及每个棋子的棋子类别,从而得到标注信息;示例性地,可以采用棋子类别的类别标识标注棋子类别。
本公开实施例中,在确定样本图像集和标注信息后,可以根据样本图像集和上述标注信息训练神经网络,得到训练完成的神经网络;这里,并不对上述神经网络的架构进行限定,例如,上述神经网络的网络架构可以包括YOLO(You Only Look Once)网络、残差网络(ResNet)或其它网络架构。
在得到训练完成的神经网络后,可以将第一图像输入至训练完成的神经网络,利用训练完成的神经网络对第一图像进行处理;训练完成的神经网络输出第一图像中每个棋子的属性数据。
步骤203:根据第一图像中每个棋子的属性数据,生成决策信息,决策信息用于指示棋盘中的待移动棋子以及第一图像中待移动棋子的目的位置。
可以看出,由于神经网络是根据样本图像集和标注信息训练得到的,而样本图像集中的图像为国际象棋的棋盘和各棋子的图像,标注信息包括国际象棋的每个棋子的标注的属性数据,因此,预先训练的神经网络可以较为准确地识别国际象棋的棋子的属性数据,进而,根据国际象棋的棋子的属性数据,可以较为准确地生成相应的决策信息。
本公开的一些实施例中,在获取第一图像之后,还可以通过对第一图像进行角点检测,确定第一图像中的棋盘图像。
这里,角点是图像中的重要特征,对帮助理解和分析图像有重要的作用。角点在保留图像重要特征的同时,可以有效地减少信息的数据量。角点检测是计算机视觉系统中获得图像特征的一种方法,本公开实施例中,上述角点检测方法可以是基于灰度图像的角点检测方法、基于二值图像的角点检测方法或基于轮廓曲线的角点检测方法。示例性地,可以基于OpenCV视觉库对第一图像进行角点检测。
本公开实施例中,通过对第一图像进行角点检测,可以确定棋盘的四个角点,从而确定国际象棋的棋盘在第一图像的位置,即可以确定第一图像中的棋盘图像。
在确定第一图像中的棋盘图像后,可以利用神经网络对棋盘图像进行处理,确定棋盘图像中每个棋子的属性数据。
可以看出,本公开实施例可以利用神经网络对第一图像中的棋盘图像进行处理,由于无需针对第一图像的全部图像区域进行处理,因此,在一定程度上降低了神经网络处理的数据量,提高了神经网络的图像处理效率。
本公开的一些实施例中,参照图3,根据第一图像中每个棋子的属性数据生成决策信息的流程,可以包括:
步骤301:根据每个棋子的检测框在第一图像中的位置、以及每个棋子的棋子类别,确定第一图像中的棋子分布信息。
可以理解地,每个棋子的检测框在第一图像中的位置可以反映每个棋子在棋盘中的位置,因此,根据每个棋子的检测框在第一图像中的位置、以及每个棋子的棋子类别,可以准确地确定第一图像中的棋子分布信息。
步骤302:根据棋子分布信息和国际象棋的对弈规则,确定待移动棋子和待移动棋子的行棋策略。
本公开实施例中,国际象棋的对弈规则可以是标准的国际象棋的对弈规则,根据国际象棋的对弈规则,可以确定每个棋子允许的每种移动方式。待移动棋子的行棋策略用于表征待移动棋子的一种移动方式。
在一些实施例中,可以根据上述棋子分布信息、以及国际象棋的对弈规则,以提高对弈胜率为目的,确定待移动棋子和待移动棋子的行棋策略。
步骤303:根据待移动棋子和待移动棋子的行棋策略,生成决策信息。
本公开实施例中,在确定待移动棋子的行棋策略后,可以根据待移动棋子的行棋策略表征的移动方式,确定待移动棋子的移动路径,这里,移动路径的起点可以通过待移动棋子的检测框的位置确定,移动路径的终点为待移动棋子的目的位置;即,根据移动路径的终点可以确定第一图像中待移动棋子的目的位置,从而,可以生成决策信息。
可以看出,本公开实施例可以根据每个棋子的检测框在第一图像中的位置、以及每个棋子的棋子类别,准确地确定第一图像中的棋子分布信息;从而,根据准确得出的棋子分布信息,可以准确地确定待移动棋子和待移动棋子的行棋策略,进而可以生成准确的决策信息。
本公开的一些实施例中,在第一图像是图像采集设备采集的图像的情况下,确定所述图像采集设备的相机坐标系与机械臂的基座坐标系的第一变换关系。
这里,相机坐标系可以是以图像采集设备的成像平面中心为原点,x、y轴位于成像平面的坐标系,相机坐标系的z轴为垂直于成像平面的轴;基座坐标系可以是以机械臂的基座底面的中心点为原点,x、y轴位于基座底面所在平面的坐标系;基座坐标系的z轴为垂直于基座底面所在平面的轴。
在一些实施例中,可以通过对图像采集设备和机械臂进行手眼标定,确定第一变换关系,即,第一变换关系为标准手眼标定变换关系。
在一些实施例中,响应于第一图像是图像采集设备拍摄的俯视图像,可以根据图像采集设备与机械臂的基座的相对位置,确定第一变换关系。
这里,在图像采集设备的镜头垂直朝向于棋盘的中心点时,图像采集设备拍摄的第一图像为俯视图像;响应于第一图像是图像采集设备拍摄的俯视图像,可以根据图像采集设备与基座坐标系的原点的相对位置,通过几何运算求解出相机坐标系与基座坐标系的第一变换关系。
示例性地,响应于第一图像是图像采集设备拍摄的俯视图像,第一变换关系可以包括相机坐标系与基座坐标系之间的旋转变换关系和平移变换关系,旋转变换关系和平移变换关系可以通过旋转平移(Rotate Translate,RT)矩阵表示。
可以看出,在第一图像是图像采集设备拍摄的俯视图像的情况下,无需通过手眼标定的方式确定第一变换关系,而是可以根据图像采集设备与机械臂的基座的相对位置,确定第一变换关系,因此,具有简单易实现的特点。
在一些实施例中,参照图4,本公开实施例的另一种图像处理方法的流程可以包括:
步骤401:获取第一图像,第一图像表示国际象棋的棋盘和各棋子的图像。
步骤402:利用神经网络对第一图像进行处理,确定第一图像中每个棋子的属性数据。
步骤403:根据第一图像中每个棋子的属性数据,生成决策信息。
这里,步骤401至步骤403的实现方式与步骤201至步骤203的实现方式相同。
步骤404:根据待移动棋子的检测框在第一图像中的位置、以及第一变换关系,确定基座坐标系中待移动棋子的起点位置。
这里,待移动棋子的检测框在第一图像中的位置可以是待移动棋子的检测框的任意一个边缘在第一图像中的位置;示例性地,在待移动棋子的检测框为矩形检测框的情况下,待移动棋子的检测框在第一图像中的位置可以是待移动棋子的检测框的上边缘、下边缘、左边缘或右边缘在第一图像中的位置。
在一些实施例中,第一变换关系可以通过第一坐标变换矩阵表示,待移动棋子的检测框在第一图像中的位置可以通过第一坐标数据表示,基座坐标系中待移动棋子的起点位置可以通过第二坐标数据表示;这样,可以将第一坐标数据与第一坐标变换矩阵相乘,得到第二坐标数据,即,可以确定基座坐标系中待移动棋子的起点位置。
步骤405:根据目的位置、以及第一变换关系,确定基座坐标系中待移动棋子的终点位置。
在一些实施例中,第一图像中待移动棋子的目的位置可以通过第三坐标数据表示,基座坐标系中待移动棋子的终点位置可以通过第四坐标数据表示,这样,可以将第三坐标数据与第一坐标变换矩阵相乘,得到第四坐标数据,即,可以确定基座坐标系中待移动棋子的终点位置。
需要说明的是,本公开实施例并不对步骤404和步骤405的执行顺序进行限定。
步骤406:控制机械臂在起点位置抓取待移动棋子,在终点位置放置待移动棋子。
本公开实施例中,在确定基座坐标系中待移动棋子的起点位置和终点位置后,可以根据上述起点位置和终点位置对机械臂进行逆运动学求解,从而确定机械臂的可执行指令。这里,逆运动学是决定要达成所需要的姿势所要设置的关节可活动对象的参数的过程,根据上述起点位置和终点位置对机械臂进行逆运动学求解,可以确定机械臂的关节活动参数,并且,根据上述起点位置和终点位置,还可以确定机械臂的运动轨迹;即,机械臂的可执行指令可以指示机械臂的关节活动参数和运动轨迹。
在一些实施例中,在确定机械臂的可执行指令后,可以控制机械臂执行所述可执行指令,使得机械臂在起点位置抓取待移动棋子,并在终点位置放置待移动棋子。
可以看出,本公开实施例可以根据待移动棋子的检测框在第一图像中的位置、以及第一图像中待移动棋子的目的位置,分别确定出基座坐标系中待移动棋子的起点位置和终点位置,由于该起点位置和终点位置是基座坐标系中的位置,而基座坐标系是根据机械臂的基座的平面确定的坐标系,因此,有利于机械臂根据起点位置和终点位置准确地抓取棋子和放置棋子。
本公开的一些实施例中,在第一图像是双目相机采集的图像的情况下,获取第一图像中各摆棋位置的深度信息。
这里,双目相机表示采用双目立体视觉技术的图像采集设备,针对双目相机采集的第一图像,可以确定第一图像中各个位置的深度信息;深度信息用于反映第一图像中每个像素点对应的实际位置与双目相机的距离。
本公开的一些实施例中,参照图5,本公开实施例的又一种图像处理方法的流程可以包括:
步骤501:获取第一图像,第一图像表示国际象棋的棋盘和各棋子的图像。
步骤502:利用神经网络对第一图像进行处理,确定第一图像中每个棋子的属性数据。
步骤503:根据第一图像中每个棋子的属性数据,生成决策信息。
这里,步骤501至步骤503的实现方式与步骤201至步骤203的实现方式相同。
步骤504:根据待移动棋子的检测框在第一图像中的位置、以及待移动棋子所处在的摆棋位置的深度信息,确定三维空间坐标系中待移动棋子的起点位置。
这里,三维空间坐标系可以是机械臂的基座坐标系或其它的三维空间坐标系。由于第一图像中每个像素点的深度信息可以表征该像素点对应的实际位置与图像采集设备的距离,因此,根据每个摆棋位置在第一图像中的位置、以及每个摆棋位置与图像采集设备的距离,可以在三维空间坐标系中确定出各个摆棋位置的相对位置关系,进而,可以计算出三维空间坐标系中各个摆棋位置的坐标;在三维空间坐标系的各个摆棋位置的坐标中,可以确定待移动棋子所处在的摆棋位置的坐标,待移动棋子所处在的摆棋位置的坐标为三维空间坐标系中待移动棋子的起点位置。
步骤505:根据目的位置、以及目的位置所处在的摆棋位置的深度信息,确定三维空间坐标系中待移动棋子的终点位置。
这里,可以根据目的位置、以及目的位置所处在的摆棋位置的深度信息,并参照三维空间坐标系中待移动棋子的起点位置的计算方式,计算出三维空间坐标系中待移动棋子的终点位置。
需要说明的是,本公开实施例并不对步骤504和步骤505的执行顺序进行限定。
步骤506:控制所述机械臂在起点位置抓取待移动棋子,并在终点位置放置待移动棋子。
这里,步骤506与步骤406的实现方式相同。
可以看出,在第一图像是双目相机采集的图像的情况下,无需预先确定第一变换关系,而是可以根据待移动棋子所处在的摆棋位置的已知深度信息、以及目的位置所处在的摆棋位置的已知深度信息,确定基座坐标系中待移动棋子的起点位置和终点位置,因此,在一定程度上可以更加简单地确定基座坐标系中待移动棋子的起点位置和终点位置。
下面通过附图示例性地说明上述神经网络的训练过程。
图6为本公开实施例的神经网络的训练方法的流程图,如图6所示,该流程可以包括:
步骤601:获取样本图像集和标注信息。
步骤602:将样本图像集中的每个样本图像输入至神经网络,利用神经网络对每个样本图像进行处理,得到每个样本图像中每个棋子的属性数据。
步骤603:根据每个样本图像中每个棋子的属性数据、以及标注信息,调整神经网络的网络参数值。
对于本步骤的实现方式,示例性地,可以根据每个样本图像中每个棋子的属性数据、以及上述标注信息,确定神经网络的损失;根据神经网络的损失,调整神经网络的网络参数值。
步骤604:判断网络参数值调整后的神经网络是否满足训练结束条件,如果否,则重新执行步骤601至步骤604;如果是,则执行步骤605。
本公开实施例中,训练结束条件可以是训练神经网络时的迭代次数达到设定次数,或者,网络参数值调整后的神经网络对图像的处理满足设定的精度需求;这里,设定次数和设定的精度需求可以是预先设置的参数;示例性地,设定的精度需求与神经网络的损失相关,例如,设定的精度需求可以是上述神经网络的损失小于设定阈值,设定阈值可以根据实际应用需求预先设置。
步骤605:将网络参数值调整后的神经网络作为训练完成的神经网络。
在实际应用中,步骤601至步骤605可以利用上述处理器实现。
可以看出,在本公开实施例中,通过预先训练神经网络,可以使训练完成的神经网络能够识别第一图像中棋子的属性数据,进而,有利于较为准确地生成决策信息。
本公开的一些实施例中,参照图7,确定样本图像集的流程可以包括:
步骤701:利用图像采集设备采集至少两种数据采集状态下的棋盘的图像,得到初始图像集;数据采集状态是根据以下至少一项确定的:光照强度、棋盘的位置、棋子的位姿、图像采集设备拍摄棋盘的拍摄位姿;
这里,棋子的位姿可以表示棋子的位置和棋子的旋转角度;拍摄位姿包括图像采集设备拍摄棋盘的拍摄角度和拍摄位置。
可以看出,本公开实施例可以利用图像采集设备采集不同光照强度下棋盘的图像;在一些实施例中,还可以将棋盘的不同位置、棋子的不同位姿或图像采集设备拍摄棋盘的不同拍摄位姿作为不同的数据采集状态。
步骤702:对初始图像集进行预处理,得到所述样本图像集,或者,将初始图像集确定为样本图像集。
可以看出,本公开实施例可以至少两种数据采集状态下的棋盘的图像,生成初始图像集,从而,根据初始图像集得到样本图像集,即,本公开实施例可以根据至少两种数据采集状态下的棋盘的图像,生成样本图像集,因此,样本图像集的图像可以更加全面地反映不同数据采集状态下的棋盘的图像,在基于样本图像集训练神经网络的情况下,有利于使训练完成的神经网络能够识别各种数据采集状态下的棋盘图像,从而,提升了神经网络处理各类图像的准确性。
本公开的一些实施例中,可以在初始图像集中将不符合图像质量要求的图像删除,得到样本图像集。
示例性地,可以根据图像的分辨率确定图像质量要求,图像质量要求可以是图像的分辨率高于预设分辨率。这样,通过在初始图像集中将不符合图像质量要求的图像删除,有利于将不清晰的图像剔除。
本公开的一些实施例中,可以基于初始图像集中图像的属性,对初始图像集进行数据增强,得到样本图像集。
本公开实施例中,图像的属性可以是图像的颜色、对比度、图像的区域等;相应地,在第一个示例中,可以通过随机变换初始图像集中图像的颜色,对初始图像集进行数据增强;在第二个示例中,可以通过随机变换初始图像集中图像的对比度,对初始图像集进行数据增强;在第三个示例中,可以通过对初始图像集中图像进行随机区域的截取,对初始图像集进行数据增强;在第四个示例中,可以采用马赛克(Mosaic)数据增强方法对初始图像集进行数据增强。
本公开的一些实施例中,在初始图像集中将不符合图像质量要求的图像删除,得到数据筛选后的图像集;基于数据筛选后的图像集中图像的属性,对数据筛选后的图像集进行数据增强,得到所述样本图像集。
这里,可以参照对初始图像集进行数据增强的方式,对数据筛选后的图像集进行数据增强。
可以看出,本公开实施例通过将初始图像集中将不符合图像质量要求的图像删除,可以准确地实现数据筛选,将不符合图像质量要求的图像删除,从而可以得到符合图像质量要求的样本图像集,在基于样本图像集训练神经网络的情况下,有利于使训练完成的神经网络能够准确地处理棋盘图像;本公开实施例通过将图像集进行数据增强,有利于得到全面丰富的样本图像集,在基于样本图像集训练神经网络的情况下,有利于提升训练完成的神经网络处理各类棋盘图像的鲁棒性。
下面通过一个应用场景的实施例对上述图像处理方法进行示例性说明。在该应用场景中,图像采集设备为单目RGB相机,第一图像是单目RGB相机在俯视视角拍摄的俯视图像;本公开实施例提出了一种处理棋盘的俯视图像的国际象棋机器人对弈系统,实现了基于单目RGB相机采集的棋盘图像的国际象棋对弈。
国际象棋机器人对弈系统包括国际象棋的棋盘和各棋子,还包括对弈机器人;其中,对弈机器人包括机械臂、单目RGB相机和运算单元,运算单元为上述处理器;运算单元可以采用通用串行总线(Universal Serial Bus,USB)或其与机械臂进行通讯,也可以采用USB与单目RGB相机进行通讯;当然,运算单元也可以采用其它通讯方式与机械臂或单目RGB相机。在一些实施例中,机械臂基座、相机和棋盘三者之间的相对位置可以固定不变。
在一些实施例中,在获取样本图像集后,可以基于样本图像集和标注信息对神经网络进行训练,得到训练完成的神经网络;这里,神经网络可以是基于深度学习框架的神经网络,例如,例如,神经网络可以是YOLOv5神经网络或其它深度神经网络。标注信息中的棋子类别可以包括黑方的王、黑方的后、黑方的车、黑方的象、黑方的马、黑方的兵,白方的王、白方的后、白方的车、白方的象、白方的马和白方的兵。
在得到训练完成的神经网络后,可以将训练完成的神经网络量化,然后将量化后的神经网络部署在上述运算单元中。
通过对棋盘、机械臂和单目RGB相机进行手眼标定,可以确定图像采集设备的相机坐标系与机械臂的基座坐标系的第一变换关系;在采用单目RGB相机拍摄得到第一图像后,单目RGB可以将第一图像传输至运算单元。
在运算单元中,可以根据训练完成的神经网络对第一图像进行处理,从而确定第一图像中每个棋子的检测框和棋子类别,即,实现对第一图像中棋子的识别和定位。
在运算单元中,可以采用国际象棋对弈引擎分析第一图像中每个棋子的检测框和棋子类别,得到分析结果;然后,可以根据分析结果生成决策信息。在生成决策信息后,可以根据前述记载的内容,确定机械臂的可执行指令;将机械臂的可执行指令传输至机械臂。机械臂通过执行可执行指令,可以在起点位置抓取待移动棋子,并在终点位置放置待移动棋子。
在机械臂执行上述可执行指令后,可以重复执行步骤201至步骤203、以及确定机械臂的可执行指令、控制机械臂执行该可执行指令的步骤,直至完成一局国际象棋的对弈,或者,完成国际象棋的棋盘的相关处理,例如,国际象棋的棋盘的相关处理可以是棋局初始化过程,棋局初始化过程可以是按照国际象棋的标准开局进行摆棋的过程,也可以是按照国际象棋的预设残局进行摆棋的过程。
可以看出,本公开实施例基于单目RGB相机的俯视视角,搭建了国际象棋机器人对弈系统;与采集双目相机采集棋盘图像的方案相比,有效降低了硬件成本,降低了系统的复杂程度,提升了系统的交互性,并可以在对弈机器人中预留接口,以便于进一步开发更多有趣的应用。
本公开实施例可以使用深度神经网络来识别和定位国际象棋的棋子,从而在提升棋子的识别精度和定位精度的基础上,可以提高深度神经网络处理图像的效率,提升了用户体验。
基于前述的实施例,本公开实施例提供一种图像处理装置,该装置包括的各单元、以及各单元所包括的各模块,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。
图8为本公开实施例的图像处理装置的结构示意图,如图8所示,该装置包括获取模块801、第一处理模块802和第二处理模块803,其中,
获取模块801,用于获取第一图像,所述第一图像表示国际象棋的棋盘和各棋子的图像;
第一处理模块802,用于利用神经网络对所述第一图像进行处理,确定所述第一图像中每个棋子的属性数据,所述属性数据包括检测框和棋子类别;所述神经网络是根据样本图像集和标注信息训练得到的;所述样本图像集中的每个图像表示所述棋盘和各棋子的样本图像;所述标注信息包括所述样本图像中每个棋子的标注的属性数据;
第二处理模块803,用于根据所述第一图像中每个棋子的属性数据,生成决策信息,所述决策信息用于指示所述棋盘中的待移动棋子以及所述第一图像中所述待移动棋子的目的位置。
在一些实施例中,所述第二处理模块803,还用于在所述第一图像是图像采集设备采集的图像的情况下,确定所述图像采集设备的相机坐标系与机械臂的基座坐标系的第一变换关系;所述第二处理模块803,还用于根据所述待移动棋子的检测框在所述第一图像中的位置、以及所述第一变换关系,确定所述基座坐标系中所述待移动棋子的起点位置;根据所述目的位置、以及所述第一变换关系,确定所述基座坐标系中所述待移动棋子的终点位置;控制所述机械臂在所述起点位置抓取所述待移动棋子,并在所述终点位置放置所述待移动棋子。
可以看出,本公开实施例可以根据待移动棋子的检测框在第一图像中的位置、以及第一图像中待移动棋子的目的位置,分别确定出基座坐标系中待移动棋子的起点位置和终点位置,由于该起点位置和终点位置是基座坐标系中的位置,而基座坐标系是根据机械臂的基座的平面确定的坐标系,因此,有利于机械臂根据起点位置和终点位置准确地抓取棋子和放置棋子。
在一些实施例中,所述第二处理模块803,用于确定所述图像采集设备的相机坐标系与机械臂的基座坐标系的第一变换关系,包括:响应于所述第一图像为所述图像采集设备拍摄的俯视图像,根据所述图像采集设备与所述机械臂的基座的相对位置,确定所述第一变换关系。
可以看出,在第一图像是图像采集设备拍摄的俯视图像的情况下,无需通过手眼标定的方式确定第一变换关系,而是可以根据图像采集设备与机械臂的基座的相对位置,确定第一变换关系,因此,具有简单易实现的特点。
在一些实施例中,所述第二处理模块803,还用于在所述第一图像是双目相机采集的图像的情况下,获取所述第一图像中各摆棋位置的深度信息;
所述第二处理模块803,还用于在生成所述决策信息后,根据所述待移动棋子的检测框在所述第一图像中的位置、以及所述待移动棋子所处在的摆棋位置的深度信息,确定三维空间坐标系中所述待移动棋子的起点位置;根据所述目的位置、以及所述目的位置所处在的摆棋位置的深度信息,确定所述三维空间坐标系中所述待移动棋子的终点位置;控制所述机械臂在所述起点位置抓取所述待移动棋子,并在所述终点位置放置所述待移动棋子。
可以看出,在第一图像是双目相机采集的图像的情况下,无需预先确定第一变换关系,而是可以根据待移动棋子所处在的摆棋位置的已知深度信息、以及目的位置所处在的摆棋位置的已知深度信息,确定基座坐标系中待移动棋子的起点位置和终点位置,因此,在一定程度上可以更加简单地确定基座坐标系中待移动棋子的起点位置和终点位置。
在一些实施例中,所述第二处理模块803,用于根据所述第一图像中每个棋子的属性数据,生成决策信息,包括:根据所述每个棋子的检测框在所述第一图像中的位置、以及所述每个棋子的棋子类别,确定所述第一图像中的棋子分布信息;根据所述棋子分布信息和所述国际象棋的对弈规则,确定所述待移动棋子和所述待移动棋子的行棋策略;根据所述待移动棋子和所述待移动棋子的行棋策略,生成所述决策信息。
可以看出,本公开实施例可以根据每个棋子的检测框在第一图像中的位置、以及每个棋子的棋子类别,准确地确定第一图像中的棋子分布信息;从而,根据准确得出的棋子分布信息,可以准确地确定待移动棋子和待移动棋子的行棋策略,进而可以生成准确的决策信息。
在一些实施例中,所述第一处理模块802,用于还用于通过对所述第一图像进行角点检测,确定所述第一图像中的棋盘图像;所述第一处理模块802,用于利用神经网络对所述第一图像进行处理,确定所述第一图像中每个棋子的属性数据,包括:利用神经网络对所述棋盘图像进行处理,确定所述棋盘图像中每个棋子的属性数据。
可以看出,本公开实施例可以利用神经网络对第一图像中的棋盘图像进行处理,由于无需针对第一图像的全部图像区域进行处理,因此,在一定程度上降低了神经网络处理的数据量,提高了神经网络的图像处理效率。
在一些实施例中,上述图像处理装置还包括训练模块,所述训练模块,用于采用以下步骤训练神经网络:将所述样本图像集中的每个样本图像输入至所述神经网络,利用所述神经网络对所述每个样本图像进行处理,得到所述每个样本图像中每个棋子的属性数据;根据所述每个样本图像中每个棋子的属性数据、以及所述标注信息,调整所述神经网络的网络参数值。
可以看出,在本公开实施例中,通过预先训练神经网络,可以使训练完成的神经网络能够识别第一图像中棋子的属性数据,进而,有利于较为准确地生成决策信息。
在一些实施例中,所述训练模块,还用于在对所述神经网络进行训练之前,利用图像采集设备采集至少两种数据采集状态下的所述棋盘的图像,得到初始图像集;所述数据采集状态是根据以下至少一项确定的:光照强度、棋盘的位置、棋子的位姿、图像采集设备拍摄所述棋盘的拍摄位姿;对所述初始图像集进行预处理,得到所述样本图像集,或者,将所述初始图像集确定为所述样本图像集。
可以看出,本公开实施例可以至少两种数据采集状态下的棋盘的图像,生成初始图像集,从而,根据初始图像集得到样本图像集,即,本公开实施例可以根据至少两种数据采集状态下的棋盘的图像,生成样本图像集,因此,样本图像集的图像可以更加全面地反映不同数据采集状态下的棋盘的图像,在基于样本图像集训练神经网络的情况下,有利于使训练完成的神经网络能够识别各种数据采集状态下的棋盘图像,从而,提升了神经网络处理各类图像的准确性。
在一些实施例中,所述训练模块,用于对所述初始图像集进行预处理,得到所述样本图像集,包括以下任意一项:在所述初始图像集中将不符合图像质量要求的图像删除,得到所述样本图像集;基于所述初始图像集中图像的属性,对所述初始图像集进行数据增强,得到所述样本图像集;在所述初始图像集中将不符合图像质量要求的图像删除,得到数据筛选后的图像集;基于所述数据筛选后的图像集中图像的属性,对所述数据筛选后的图像集进行数据增强,得到所述样本图像集。
可以看出,本公开实施例通过将初始图像集中将不符合图像质量要求的图像删除,可以准确地实现数据筛选,将不符合图像质量要求的图像删除,从而可以得到符合图像质量要求的样本图像集,在基于样本图像集训练神经网络的情况下,有利于使训练完成的神经网络能够准确地处理棋盘图像;本公开实施例通过将图像集进行数据增强,有利于得到全面丰富的样本图像集,在基于样本图像集训练神经网络的情况下,有利于提升训练完成的神经网络处理各类棋盘图像的鲁棒性。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上述方法实施例描述的方法,对于本公开装置实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
需要说明的是,本公开实施例中,如果以软件功能模块的形式实现上述的图像处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本公开各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本公开实施例不限制于任何特定的硬件、软件或固件,或者硬件、软件、固件三者之间的任意结合。
本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种图像处理方法中的部分或全部步骤。所述计算机可读存储介质可以是瞬时性的,也可以是非瞬时性的。
本公开实施例提供一种计算机程序,包括计算机可读代码,在所述计算机可读代码在计算机设备中运行的情况下,所述计算机设备中的处理器执行用于实现上述任意一种图像处理方法中的部分或全部步骤。
本公开实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述图像处理方法中的部分或全部步骤。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一些实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一些实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
这里需要指出的是:上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考。以上设备、存储介质、计算机程序及计算机程序产品实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于设备、存储介质、计算机程序及计算机程序产品实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
需要说明的是,图9为本公开实施例中电子设备的一种硬件实体示意图,如图9所示,电子设备900可以包括:存储器901、处理器902、图像采集设备903以及存储在存储器901上并可在处理器902上运行的计算机程序;其中,
所述处理器902用于运行所述计算机程序以执行上述任意一种图像处理方法。
在实际应用中,上述存储器901可以是易失性存储器(volatile memory),例如随机存取存储器(Random Access Memory,RAM);或者非易失性存储器(non-volatilememory),例如ROM,快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器902提供指令和数据。
本公开实施例还提供了一种对弈机器人,该对弈机器人包括用于抓取待移动棋子的机械臂,还包括上述任意一种图像处理装置或上述任意一种电子设备。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本公开的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本公开的各种实施例中,上述各步骤/过程的序号的大小并不意味着执行顺序的先后,各步骤/过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本公开所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本公开各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本公开上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本公开各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本公开的实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。

Claims (13)

1.一种图像处理方法,其特征在于,所述方法包括:
获取第一图像,所述第一图像表示国际象棋的棋盘和各棋子的图像;
利用神经网络对所述第一图像进行处理,确定所述第一图像中每个棋子的属性数据,所述属性数据包括检测框和棋子类别;所述神经网络是根据样本图像集和标注信息训练得到的;所述样本图像集中的每个图像表示所述棋盘和各棋子的样本图像;所述标注信息包括所述样本图像中每个棋子的标注的属性数据;
根据所述第一图像中每个棋子的属性数据,生成决策信息,所述决策信息用于指示所述棋盘中的待移动棋子以及所述第一图像中所述待移动棋子的目的位置。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一图像是图像采集设备采集的图像的情况下,确定所述图像采集设备的相机坐标系与机械臂的基座坐标系的第一变换关系;
在生成所述决策信息后,所述方法还包括:
根据所述待移动棋子的检测框在所述第一图像中的位置、以及所述第一变换关系,确定所述基座坐标系中所述待移动棋子的起点位置;
根据所述目的位置、以及所述第一变换关系,确定所述基座坐标系中所述待移动棋子的终点位置;
控制所述机械臂在所述起点位置抓取所述待移动棋子,并在所述终点位置放置所述待移动棋子。
3.根据权利要求2所述的方法,其特征在于,所述确定所述图像采集设备的相机坐标系与机械臂的基座坐标系的第一变换关系,包括:
响应于所述第一图像为所述图像采集设备拍摄的俯视图像,根据所述图像采集设备与所述机械臂的基座的相对位置,确定所述第一变换关系。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一图像是双目相机采集的图像的情况下,获取所述第一图像中各摆棋位置的深度信息;
在生成所述决策信息后,所述方法还包括:
根据所述待移动棋子的检测框在所述第一图像中的位置、以及所述待移动棋子所处在的摆棋位置的深度信息,确定三维空间坐标系中所述待移动棋子的起点位置;
根据所述目的位置、以及所述目的位置所处在的摆棋位置的深度信息,确定所述三维空间坐标系中所述待移动棋子的终点位置;
控制所述机械臂在所述起点位置抓取所述待移动棋子,并在所述终点位置放置所述待移动棋子。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述第一图像中每个棋子的属性数据,生成决策信息,包括:
根据所述每个棋子的检测框在所述第一图像中的位置、以及所述每个棋子的棋子类别,确定所述第一图像中的棋子分布信息;
根据所述棋子分布信息和所述国际象棋的对弈规则,确定所述待移动棋子和所述待移动棋子的行棋策略;
根据所述待移动棋子和所述待移动棋子的行棋策略,生成所述决策信息。
6.根据权利要求1至5任一项所述的方法,其特征在于,在获取所述第一图像后,所述方法还包括:通过对所述第一图像进行角点检测,确定所述第一图像中的棋盘图像;
所述利用神经网络对所述第一图像进行处理,确定所述第一图像中每个棋子的属性数据,包括:
利用神经网络对所述棋盘图像进行处理,确定所述棋盘图像中每个棋子的属性数据。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述神经网络是采用以下步骤训练得到的:
将所述样本图像集中的每个样本图像输入至所述神经网络,利用所述神经网络对所述每个样本图像进行处理,得到所述每个样本图像中每个棋子的属性数据;
根据所述每个样本图像中每个棋子的属性数据、以及所述标注信息,调整所述神经网络的网络参数值。
8.根据权利要求1至7任一项所述的方法,其特征在于,在对所述神经网络进行训练之前,所述方法还包括:
利用图像采集设备采集至少两种数据采集状态下的所述棋盘的图像,得到初始图像集;所述数据采集状态是根据以下至少一项确定的:光照强度、棋盘的位置、棋子的位姿、图像采集设备拍摄所述棋盘的拍摄位姿;
对所述初始图像集进行预处理,得到所述样本图像集,或者,将所述初始图像集确定为所述样本图像集。
9.根据权利要求8所述的方法,其特征在于,所述对所述初始图像集进行预处理,得到所述样本图像集,包括以下任意一项:
在所述初始图像集中将不符合图像质量要求的图像删除,得到所述样本图像集;
基于所述初始图像集中图像的属性,对所述初始图像集进行数据增强,得到所述样本图像集;
在所述初始图像集中将不符合图像质量要求的图像删除,得到数据筛选后的图像集;基于所述数据筛选后的图像集中图像的属性,对所述数据筛选后的图像集进行数据增强,得到所述样本图像集。
10.一种图像处理装置,其特征在于,所述装置包括:
获取模块,用于获取第一图像,所述第一图像表示国际象棋的棋盘和各棋子的图像;
第一处理模块,用于利用神经网络对所述第一图像进行处理,确定所述第一图像中每个棋子的属性数据,所述属性数据包括检测框和棋子类别;所述神经网络是根据样本图像集和标注信息训练得到的;所述样本图像集中的每个图像表示所述棋盘和各棋子的样本图像;所述标注信息包括所述样本图像中每个棋子的标注的属性数据;
第二处理模块,用于根据所述第一图像中每个棋子的属性数据,生成决策信息,所述决策信息用于指示所述棋盘中的待移动棋子以及所述第一图像中所述待移动棋子的目的位置。
11.一种电子设备,其特征在于,包括图像采集设备、处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序以执行权利要求1至9任一项所述的图像处理方法。
12.一种对弈机器人,其特征在于,包括用于抓取待移动棋子的机械臂,还包括权利要求10所述的图像处理装置或权利要求11所述的电子设备。
13.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9任一项所述的图像处理方法。
CN202210476238.6A 2022-04-29 2022-04-29 图像处理方法、装置、电子设备、对弈机器人及存储介质 Withdrawn CN114821177A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210476238.6A CN114821177A (zh) 2022-04-29 2022-04-29 图像处理方法、装置、电子设备、对弈机器人及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210476238.6A CN114821177A (zh) 2022-04-29 2022-04-29 图像处理方法、装置、电子设备、对弈机器人及存储介质

Publications (1)

Publication Number Publication Date
CN114821177A true CN114821177A (zh) 2022-07-29

Family

ID=82512084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210476238.6A Withdrawn CN114821177A (zh) 2022-04-29 2022-04-29 图像处理方法、装置、电子设备、对弈机器人及存储介质

Country Status (1)

Country Link
CN (1) CN114821177A (zh)

Similar Documents

Publication Publication Date Title
US9595108B2 (en) System and method for object extraction
CN104249371B (zh) 信息处理装置和信息处理方法
JP5453000B2 (ja) 対象物を3dデジタル化するための方法及び装置
JP4497772B2 (ja) 画像処理装置
JP4309439B2 (ja) 対象物取出装置
CN109146947B (zh) 海洋鱼类三维图像获取及处理方法、装置、设备及介质
JP2021522591A (ja) 三次元実物体を実物体の二次元のスプーフと区別するための方法
CN109079788B (zh) 一种基于人形机器人的国际象棋下棋方法及人形机器人
CN115816460B (zh) 一种基于深度学习目标检测与图像分割的机械手抓取方法
CN109271023B (zh) 一种基于三维对象外形轮廓徒手手势动作表达的选择方法
CN112348890B (zh) 一种空间定位方法、装置及计算机可读存储介质
CN117124302B (zh) 一种零件分拣方法、装置、电子设备及存储介质
Xie et al. Chess piece recognition using oriented chamfer matching with a comparison to cnn
CN111652110A (zh) 一种图像处理方法、装置、电子设备及存储介质
CN111079470A (zh) 人脸活体检测的方法和装置
CN116524022B (zh) 偏移数据计算方法、图像融合方法、装置及电子设备
Zannatha et al. Monocular visual self-localization for humanoid soccer robots
CN117037062A (zh) 一种目标物体抓取方法、系统、电子设备及存储介质
CN114821177A (zh) 图像处理方法、装置、电子设备、对弈机器人及存储介质
WO2023142555A1 (zh) 数据处理方法和装置、计算机设备、存储介质及计算机程序产品
KR20090110348A (ko) 물체 형상 생성 방법, 물체 형상 생성 장치 및 프로그램
JP2022551885A (ja) 物体の把持点の三次元位置、ローカル参照フレーム及び把持パターンを求める方法及びシステム
CN115841668A (zh) 一种双目视觉苹果识别以及精准定位的方法
CN114782534A (zh) 图像处理方法、装置、电子设备、对弈机器人及存储介质
CN109895095B (zh) 一种训练样本的获取方法、装置和机器人

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20220729