CN107909889B - 一种基于视觉引导的五子棋人机对弈实验教学系统 - Google Patents

一种基于视觉引导的五子棋人机对弈实验教学系统 Download PDF

Info

Publication number
CN107909889B
CN107909889B CN201711178473.0A CN201711178473A CN107909889B CN 107909889 B CN107909889 B CN 107909889B CN 201711178473 A CN201711178473 A CN 201711178473A CN 107909889 B CN107909889 B CN 107909889B
Authority
CN
China
Prior art keywords
chessboard
chess
camera
robot
edge
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
Application number
CN201711178473.0A
Other languages
English (en)
Other versions
CN107909889A (zh
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.)
Shaanxi University of Science and Technology
Original Assignee
Shaanxi University of Science and Technology
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 Shaanxi University of Science and Technology filed Critical Shaanxi University of Science and Technology
Priority to CN201711178473.0A priority Critical patent/CN107909889B/zh
Publication of CN107909889A publication Critical patent/CN107909889A/zh
Application granted granted Critical
Publication of CN107909889B publication Critical patent/CN107909889B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/02Chess; Similar board games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/22Social work or social welfare, e.g. community support activities or counselling services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Child & Adolescent Psychology (AREA)
  • Human Resources & Organizations (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)

Abstract

一种基于视觉引导的五子棋人机对弈实验教学系统,首先,进行机器视觉系统的搭建,对工作区域的图像进行实时的采集。进行数字图像处理算法的设计,包括相机标定以及棋子的识别和定位算法;其次,设计五子棋人机对弈算法,对采集到的当前棋盘局势进行分析,并计算出最佳的机器人落子位置;最后,利用Visual Studio的MFC开发上位机,把机器人的落子位置发送给机器人,由机器人完成落子动作,上位机还可以对工作区域进行监控,可与机器人实时通信以及显示整个系统的运行状态,本发明具有提高了算法的效率的特点。

Description

一种基于视觉引导的五子棋人机对弈实验教学系统
技术领域
本发明涉及五子棋人机对弈系统技术领域,特别涉及一种基于视觉引导的五子棋人机对弈实验教学系统。
背景技术
“人工智能之父”图灵在1950年曾说:“下棋是很抽象的活动,是机器可以和人竞争的纯智能领域之一。”目前大多数研究人员都致力于研究基于计算机或手机的博弈软件,然而这些软件不具备对弈的真实环境,长时间使用会让人产生视觉疲劳,甚至产生厌恶感。而五子棋人机对弈实验演示系统能模仿真实对弈环境,可提高下棋者对机器人和人工智能的兴趣。目前国内外对人机对弈机器人的研究相对较少,处于起步阶段。例如文章应用于实验教学的五子棋人机对弈系统,完成了对弈系统的搭建,但其图像处理算法效果不好,没有给出具体的算法实现方法和机器人控制方法。文章五子棋对弈机器人移动平台的研究,虽然建立了五子棋人机对弈系统,但并没有说明对弈算法的实现,采用了铁制的棋子用户体验不好。文章基于LabVIEW的五子棋机器人棋盘识别,只给出棋盘识别方法没有整个系统的搭建方法。
发明内容
为了克服上述现有技术的不足,本发明的目的在于提供一种基于视觉引导的五子棋人机对弈实验教学系统,在于利用机器视觉和智能搜索算法实现五子棋人机对弈系统的搭建,提高学生对机器人和人工智能的学习兴趣,为学生提供一个实验平台,提高了算法的效率。
为了实现上述目的,本发明采用的技术方案是:
一种基于视觉引导的五子棋人机对弈实验教学系统,包括以下步骤,
Step1、安装工业相机,将相机安装在棋盘区域的正上方,调整相机的焦距使整个棋盘区域处在相机的视野范围内,采用韩国IMI tech Amazon2系列工业相机,在包含相机类库的情况下,通过实例化相机句柄类来读取相机的数据,最终获取棋盘当前局势的图片;
Step2、进行相机标定主要通过相机对不同方位的标定板进行拍照,使用标定算子完成标定,得到摄像机的参数,由于棋盘位于同一平面,所以只对标定板图像采集一次,用图像坐标算出标定板图像的大小除以已知的标定板的实际距离,就可以得到相机的外参,即图像坐标上每个像素在世界坐标系下对应的实际距离m,然后对棋盘进行标定,确定棋盘的中心点在图像中的坐标(X0,Y0);
Step3、棋子图像识别及定位算法的设计
第一步,用户完成下棋动作后,相机对棋盘区域进行拍照,采用背景相减法用当前图像减去用户下棋前棋盘区域图像;
第二步,使用Sobel算子对上一步得到的图像进行处理可以返回X和Y方向的像素灰度值,可初步得到棋子的边缘位置;
第三步,细化边缘,搜索边缘梯度方向的局部极大值,抑制非极大值边缘,即跟踪边缘方向的左右像素,如果当前像素的灰度值小于左、右像素灰度值,则抑制当前像素灰度;
第四步,提取和连接边缘,经过前面的处理后可能会有少量的非边缘像素被包含到结果中,所以要通过选取阈值进行取舍,设置两个阈值其中一个为高阈值TH另外一个为低阈值TL,则有对于任意边缘像素低于TL的则丢弃,对于任意边缘像素高于TH的则保留,任意边缘像素值在TL与TH之间的,如果能通过边缘连接到一个像素大于TH而且边缘所有像素大于最小阈值TL的则保留,否则丢弃;
第五步,通过上一步可得到棋子精确的边缘,计算边缘区域的平均灰度G,若G小于50则棋子为黑棋,若G大于200则棋子为白棋,根据边缘区域可以得到棋子中心点的坐标(X1,Y1);
第六步,计算棋子在棋盘上的位置,五子棋棋盘的网格宽度为L,棋子在棋盘中的位置为
Step4、五子棋人机对弈AI算法设计,五子棋AI对弈算法采用估值函数完成对当前棋局的分析,然后利用改进的极大极小搜索算法搜索出机器人落子的位置,为了判断棋局对双方的优劣,建立了一个估值函数对棋局进行估值分析,将当前棋局每点的估值之和作为当前棋局的估值,对于五子棋,一点的好或坏,与其周围四个方向的情况有关,这四个方向为:纵向、横向、左上至右下、右上至左下,每个方向的情况有:死一、死二、死三、死四;单/双活一、单/双活二、单/双活三、单/双活四、五子相连,每种情况都有对应评分,四方向评分相加即为该点评分或者估值,利用估值函数对博奕树的每一个局面进行评分,然后通过极大极小搜索在博奕树中为机器人寻找最佳的走法,传统的极大极小搜索算法,对博奕树中的每个分支都要进行搜索,算法复杂,搜索时间较长,针对此问题,结合五子棋的实际下棋情况对算法进行了如下改进:
当棋盘中心范围12*12范围无子时,AI选择棋盘中心点落子;
在考虑一方的可下点集时,并非将整个棋盘上的空点都作为可下点,而是将棋盘上有子点周围6*6的范围的并集作为可下点集;
在当前点为AI可赢点时,不进行搜索,直接落子;
对棋局估值时,不对棋盘每点进行估值求和,而是对当前棋盘落子位置周围3*3的范围的并集中的空白点进行估值求和;
采用两层搜索深度,假设落子在所有可下的点,对棋局进行分析。然后假设对手再下一步,再进行分析。最终利用极大极小搜索算法,搜索得到机器人得分最高而用户得分最低的下法;
Step5、机器人落子设计,利用Visual Studio的MFC开发完成上位机的设计,如图2所示,把对弈算法得到的机器人最佳落子位置通过上位机的Socket通信发送给机器人,机器人抓取棋子完成落子动作。
本发明的有益效果:
本发明可以实现人机对弈的功能,为学生搭建了一个实验平台,大大提高学生对人工智能学习的兴趣。
附图说明
图1为本发明系统总体组成框图。
图2为本发明上位机界面。
具体实施方式
下面结合附图对本发明作进一步详细说明。
如图1所示:一种基于视觉引导的五子棋人机对弈实验教学系统,包括以下步骤,
Step1、安装工业相机,将相机安装在棋盘区域的正上方,调整相机的焦距使整个棋盘区域处在相机的视野范围内,采用韩国IMI tech Amazon2系列工业相机,在包含相机类库的情况下,通过实例化相机句柄类来读取相机的数据,最终获取棋盘当前局势的图片;
Step2、进行相机标定主要通过相机对不同方位的标定板进行拍照,使用标定算子完成标定,得到摄像机的参数,由于棋盘位于同一平面,所以只对标定板图像采集一次,用图像坐标算出标定板图像的大小除以已知的标定板的实际距离,就可以得到相机的外参,即图像坐标上每个像素在世界坐标系下对应的实际距离m,然后对棋盘进行标定,确定棋盘的中心点在图像中的坐标(X0,Y0);
Step3、棋子图像识别及定位算法的设计
第一步,用户完成下棋动作后,相机对棋盘区域进行拍照,采用背景相减法用当前图像减去用户下棋前棋盘区域图像;
第二步,使用Sobel算子对上一步得到的图像进行处理可以返回X和Y方向的像素灰度值,可初步得到棋子的边缘位置;
第三步,细化边缘,搜索边缘梯度方向的局部极大值,抑制非极大值边缘,即跟踪边缘方向的左右像素,如果当前像素的灰度值小于左、右像素灰度值,则抑制当前像素灰度;
第四步,提取和连接边缘,经过前面的处理后可能会有少量的非边缘像素被包含到结果中,所以要通过选取阈值进行取舍,设置两个阈值其中一个为高阈值TH另外一个为低阈值TL,则有对于任意边缘像素低于TL的则丢弃,对于任意边缘像素高于TH的则保留,任意边缘像素值在TL与TH之间的,如果能通过边缘连接到一个像素大于TH而且边缘所有像素大于最小阈值TL的则保留,否则丢弃;
第五步,通过上一步可得到棋子精确的边缘,计算边缘区域的平均灰度G,若G小于50则棋子为黑棋,若G大于200则棋子为白棋,根据边缘区域可以得到棋子中心点的坐标(X1,Y1);
第六步,计算棋子在棋盘上的位置,五子棋棋盘的网格宽度为L,棋子在棋盘中的位置为
Step4、五子棋人机对弈AI算法设计,五子棋AI对弈算法采用估值函数完成对当前棋局的分析,然后利用改进的极大极小搜索算法搜索出机器人落子的位置,为了判断棋局对双方的优劣,建立了一个估值函数对棋局进行估值分析,将当前棋局每点的估值之和作为当前棋局的估值,对于五子棋,一点的好或坏,与其周围四个方向的情况有关,这四个方向为:纵向、横向、左上至右下、右上至左下,每个方向的情况有:死一、死二、死三、死四;单/双活一、单/双活二、单/双活三、单/双活四、五子相连,每种情况都有对应评分,四方向评分相加即为该点评分或者估值,利用估值函数对博奕树的每一个局面进行评分,然后通过极大极小搜索在博奕树中为机器人寻找最佳的走法,传统的极大极小搜索算法,对博奕树中的每个分支都要进行搜索,算法复杂,搜索时间较长,针对此问题,结合五子棋的实际下棋情况对算法进行了如下改进:
当棋盘中心范围12*12范围无子时,AI选择棋盘中心点落子;
在考虑一方的可下点集时,并非将整个棋盘上的空点都作为可下点,而是将棋盘上有子点周围6*6的范围的并集作为可下点集;
在当前点为AI可赢点时,不进行搜索,直接落子;
对棋局估值时,不对棋盘每点进行估值求和,而是对当前棋盘落子位置周围3*3的范围的并集中的空白点进行估值求和;
采用两层搜索深度,假设落子在所有可下的点,对棋局进行分析。然后假设对手再下一步,再进行分析。最终利用极大极小搜索算法,搜索得到机器人得分最高而用户得分最低的下法;
Step5、机器人落子设计,利用Visual Studio的MFC开发完成上位机的设计,如图2所示,把对弈算法得到的机器人最佳落子位置通过上位机的Socket通信发送给机器人,机器人抓取棋子完成落子动作。
首先,进行机器视觉系统的搭建,对工作区域的图像进行实时的采集。进行数字图像处理算法的设计,包括相机标定以及棋子的识别和定位算法。
其次,设计五子棋人机对弈算法,对采集到的当前棋盘局势进行分析,并计算出最佳的机器人落子位置。
最后,利用Visual Studio的MFC开发上位机,把机器人的落子位置发送给机器人,由机器人完成落子动作。上位机还可以对工作区域进行监控,可与机器人实时通信以及显示整个系统的运行状态。
针对人工智能复杂、抽象、学习难度大等问题,为了提高学生对机器人和人工智能的学习兴趣,设计了基于视觉引导的五子棋人机对弈实验演示系统,通过机器视觉系统对棋子进行准确的识别和定位,对传统的Alpha-Beta五子棋收索算法进行了改进,提高了算法的效率。

Claims (1)

1.一种基于视觉引导的五子棋人机对弈实验教学系统,其特征在于,包括以下步骤,
Step1、安装工业相机,将相机安装在棋盘区域的正上方,调整相机的焦距使整个棋盘区域处在相机的视野范围内,在包含相机类库的情况下,通过实例化相机句柄类来读取相机的数据,最终获取棋盘当前局势的图片;
Step2、进行相机标定主要通过相机对不同方位的标定板进行拍照,使用标定算子完成标定,得到摄像机的参数,由于棋盘位于同一平面,所以只对标定板图像采集一次,用图像坐标算出标定板图像的大小除以已知的标定板的实际距离,就可以得到相机的外参,即图像坐标上每个像素在世界坐标系下对应的实际距离m,然后对棋盘进行标定,确定棋盘的中心点在图像中的坐标(X0,Y0);
Step3、棋子图像识别及定位算法的设计
第一步,用户完成下棋动作后,相机对棋盘区域进行拍照,采用背景相减法用当前图像减去用户下棋前棋盘区域图像;
第二步,使用Sobel算子对上一步得到的图像进行处理可以返回X和Y方向的像素灰度值,可初步得到棋子的边缘位置;
第三步,细化边缘,搜索边缘梯度方向的局部极大值,抑制非极大值边缘,即跟踪边缘方向的左右像素,如果当前像素的灰度值小于左、右像素灰度值,则抑制当前像素灰度;
第四步,提取和连接边缘,经过前面的处理后可能会有少量的非边缘像素被包含到结果中,所以要通过选取阈值进行取舍,设置两个阈值其中一个为高阈值TH另外一个为低阈值TL,则有对于任意边缘像素低于TL的则丢弃,对于任意边缘像素高于TH的则保留,任意边缘像素值在TL与TH之间的,如果能通过边缘连接到一个像素大于TH而且边缘所有像素大于最小阈值TL的则保留,否则丢弃;
第五步,通过上一步可得到棋子精确的边缘,计算边缘区域的平均灰度G,若G小于50则棋子为黑棋,若G大于200则棋子为白棋,根据边缘区域可以得到棋子中心点的坐标(X1,Y1);
第六步,计算棋子在棋盘上的位置,五子棋棋盘的网格宽度为L,棋子在棋盘中的位置为
Step4、五子棋人机对弈AI算法设计,五子棋AI对弈算法采用估值函数完成对当前棋局的分析,然后利用改进的极大极小搜索算法搜索出机器人落子的位置,为了判断棋局对双方的优劣,建立了一个估值函数对棋局进行估值分析,将当前棋局每点的估值之和作为当前棋局的估值,对于五子棋,一点的好或坏,与其周围四个方向的情况有关,这四个方向为:纵向、横向、左上至右下、右上至左下,每个方向的情况有:死一、死二、死三、死四;单/双活一、单/双活二、单/双活三、单/双活四、五子相连,每种情况都有对应评分,四方向评分相加即为该点评分或者估值,利用估值函数对博奕树的每一个局面进行评分,然后通过极大极小搜索在博奕树中为机器人寻找最佳的走法;
Step5、机器人落子设计,把Step4中对弈算法得到的机器人最佳落子位置通过上位机的Socket通信发送给机器人,机器人抓取棋子完成落子动作;
所述的Step4中极大极小搜索算法为:
当棋盘中心范围12*12范围无子时,AI选择棋盘中心点落子;
在考虑一方的可下点集时,并非将整个棋盘上的空点都作为可下点,而是将棋盘上有子点周围6*6的范围的并集作为可下点集;
在当前点为AI可赢点时,不进行搜索,直接落子;
对棋局估值时,不对棋盘每点进行估值求和,而是对当前棋盘落子位置周围3*3的范围的并集中的空白点进行估值求和;
采用两层搜索深度,假设落子在所有可下的点,对棋局进行分析,然后假设对手再下一步,再进行分析,最终利用极大极小搜索算法,搜索得到机器人得分最高而用户得分最低的下法。
CN201711178473.0A 2017-11-23 2017-11-23 一种基于视觉引导的五子棋人机对弈实验教学系统 Active CN107909889B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711178473.0A CN107909889B (zh) 2017-11-23 2017-11-23 一种基于视觉引导的五子棋人机对弈实验教学系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711178473.0A CN107909889B (zh) 2017-11-23 2017-11-23 一种基于视觉引导的五子棋人机对弈实验教学系统

Publications (2)

Publication Number Publication Date
CN107909889A CN107909889A (zh) 2018-04-13
CN107909889B true CN107909889B (zh) 2019-12-17

Family

ID=61847237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711178473.0A Active CN107909889B (zh) 2017-11-23 2017-11-23 一种基于视觉引导的五子棋人机对弈实验教学系统

Country Status (1)

Country Link
CN (1) CN107909889B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110807969A (zh) * 2019-11-28 2020-02-18 深圳市华兴鼎盛科技有限公司 一种机器视觉识别教学系统及教学方法
CN111260513B (zh) * 2020-01-13 2023-12-19 深圳研略科技有限公司 少儿围棋教学互联管理系统
CN111659124B (zh) * 2020-05-27 2023-05-02 太原理工大学 一种用于对弈的智能鉴别系统
CN113209599A (zh) * 2021-05-19 2021-08-06 上海宏弈源软件科技有限公司 基于机器人交互的对弈方法及系统、设备、可读介质
CN113893520A (zh) * 2021-10-26 2022-01-07 上海冠之尧科技有限公司 一种基于视觉和触觉的交互系统及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7591722B2 (en) * 2003-09-08 2009-09-22 Igt Gaming device having board and converting chip game
CN105426969A (zh) * 2015-08-11 2016-03-23 浙江大学 一种非完备信息的博弈策略生成方法
CN106485329A (zh) * 2016-09-27 2017-03-08 珠海格力智能装备有限公司 人机对弈的处理方法及装置
CN106426165A (zh) * 2016-09-29 2017-02-22 陕西科技大学 一种人机对弈五子棋机器人控制方法

Also Published As

Publication number Publication date
CN107909889A (zh) 2018-04-13

Similar Documents

Publication Publication Date Title
CN107909889B (zh) 一种基于视觉引导的五子棋人机对弈实验教学系统
CN106924961B (zh) 一种智能象棋对弈控制方法及系统
CN111136669B (zh) 一种基于全局视觉的下棋机器人及其控制方法
CN109045676B (zh) 一种象棋识别学习算法和基于该算法的机器人智动化系统与方法
CN108389231B (zh) 基于棋盘表面图像的棋子定位识别方法及系统
CN101794384B (zh) 基于人体轮廓图提取与分组运动图查询的投篮动作识别
CN110648362B (zh) 一种双目立体视觉的羽毛球定位识别与姿态计算方法
CN107392157A (zh) 一种基于机器视觉的中国象棋比赛智能虚拟直播方法
CN102729250A (zh) 象棋开局摆棋系统和方法
CN108133471A (zh) 一种自然光照条件下基于人工蜂群算法的农业移动机器人导航路径提取方法及装置
CN109684941A (zh) 一种基于matlab图像处理荔枝果实采摘区域划分方法
CN102194233A (zh) 果园林间导航线提取方法
Liu et al. Robotic picking in dense clutter via domain invariant learning from synthetic dense cluttered rendering
US20210304411A1 (en) Map construction method, apparatus, storage medium and electronic device
CN103218826B (zh) 基于Kinect的抛体检测、三维定位与轨迹预测方法
Juang Humanoid robots play chess using visual control
CN111198563B (zh) 一种用于足式机器人动态运动的地形识别方法及系统
Wang et al. Human behavior imitation for a robot to play table tennis
Zhu et al. Object recognition and localization algorithm base on NAO Robot
Wang et al. A binocular stereo vision system of fruits picking robots based on embedded system
Chen et al. Object recognition and localization based on kinect camera in complex environment
Morio et al. Agricultural worker behavioral recognition system for intelligent worker assistance
Foo Design and develop of an automated tennis ball collector and launcher robot for both able-bodied and wheelchair tennis players-ball recognition systems.
Subekti et al. Design and implementation of machine vision for board game in lumen social robot system
CN113723475B (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
GR01 Patent grant
GR01 Patent grant