论文部分内容阅读
这两年围棋人工智能AlphaGo的出现掀起了新一轮的围棋热潮,线下的围棋比赛越来越多,这对围棋裁判的要求也越来越高。在现在的线下围棋对弈中,对弈的结果一直都是采用传统的人工数子方法进行判定。人工数子的步骤繁琐,消耗的时间长,准确度也不能完全保证。针对这些问题本文提出了一种基于数字图像处理的围棋胜负判定算法对线下围棋对弈的终局图像进行处理,并自动判定对弈结果。该算法对于不同的棋盘大小、不同的对弈规则以及有死子或双活的复杂情况均适用,其可以缩短判定时间,减轻人工裁判的操作负担,还可以保证结果的准确度,为线下围棋对弈结果的判定提出了一个省时省力、可信度高的方法。在围棋对弈终局图像的识别与分析方面,首先使用计算机读取19路、13路、9路三种不同棋盘大小的围棋对弈终局图像并对它们进行透视变换及双线性插值处理,得到仅包含棋盘轮廓内的信息且视角位于棋盘正上方的图像。然后提取预处理图像的灰度分量和红色分量,对黑色棋子进行分割;提取预处理图像的蓝色分量,对白色棋子进行分割。分割时比较了直方图阈值分割法、迭代式阈值分割法以及最大类间方差阈值选择法三种不同的阈值分割方法,并经过形态学处理得到最终分割结果。实验结果表明,预处理图像的红色分量更适合黑色棋子的分割,并且采用直方图阈值分割的方法更能准确地识别和分割出黑色棋子和白色棋子。接下来通过投影的方法找到棋盘中所有交叉点的位置,根据这些交叉点的位置检测出所有黑白棋子的方位并填入二维数组中。在胜负的判定方面,针对中国规则、日韩规则、应氏规则三种不同的围棋规则,设计了三种对应的方法进行死子的处理、复杂双活情况的判定以及剩余交叉点的填充。最后统计相应规则下的棋子总数,根据所设定的对弈条件,判定比赛结果。其中中国规则与应氏规则类似,填充完成后统计总数即可。而日韩规则需统计剩余交叉点以及死子、提子的个数。实验结果表明,三种方法均准确可行。