我正在使用模拟nes游戏(f1赛车手)的镜头训练亚历山大,以进一步让它自己玩游戏。
现在,虽然我正在捕捉训练数据,但在灰色像素值(如同相同区域的浅黄色到黑色)时,游戏的背景正在发生重大变化。是否有一个函数(可能是cv2?)或算法让我比较像素值(如果可能的话,在特定区域)?
也许我完全错了,这确实有助于网络减少一些,有些提示会很好,因为我甚至不确定这是不是真正的噪音 - 我必须要测试。到目前为止,我只将它们转换为灰色,将它们调整为160 * 120并平衡所需输出的帧数(大部分是向前)。
董事会告诉我,经过220/1700次训练后,网络停止获得准确率(~75%),并且损失也停止下降。图片示例:
答案 0 :(得分:0)
我正在处理图像,如下所示:
screen = grab_screen(region=(100, 100, 348, 324))
processed_img = cv2.cvtColor(screen, cv2.COLOR_BGR2GRAY)
processed_img = cv2.Canny(processed_img, threshold1=200, threshold2=300)
kernel = np.ones((2, 2), np.uint8)
processed_img = cv2.dilate(processed_img, kernel,iterations = 1)
processed_img = processed_img[120:248, :]
processed_img = cv2.resize(processed_img, (160, 60))
这给了我一个相当不错的结果。
原始图片(来自流):
旧图像处理(仅限rgb2gray):
处理后的新图像:
培训结果: 橙色线...用旧图像训练 蓝线...用新处理的图像进行训练