使用Tensorflow+OpenCV构建会玩石头剪刀布的AI

磐创AI

    
    简介
    这个项目的基础是深度学习和图像分类,目的是创建一个简单而有趣的石头剪刀布游戏。首先,这个项目是我在5月份的COVID19隔离期中无聊的产物,希望当你读到这个时,一切都恢复正常了。我的目的是通过这篇文章用简单的术语向初学者解释这个项目的基本原理。让我们开始吧!在构建任何类型的深度学习应用程序时,有三个主要步骤:收集和处理数据建立一个合适的人工智能模型部署使用整个项目都引用了我的Github repo,并与之携手并进,所以请做好参考准备。
    收集我们的数据
    
    任何深度学习模型的基础都是数据,任何一位机器学习工程师都会同意这一点,在ML中,数据远比算法本身重要。我们需要收集石头,布和剪刀的符号图像,我没有下载别人的数据并在上面进行训练,而是制作了自己的数据集,鼓励你也建立自己的数据集。之后尝试更改数据并重新训练模型,以查看数据对深度学习模型究竟有怎样的影响。
    PATH = os.getcwd()+'\'
    cap = cv2.VideoCapture(0)
    label = sys.argv[1]
    SAVE_PATH = os.path.join(PATH, label)
    try:
    os.mkdir(SAVE_PATH)
    except FileExistsError:
    pass
    ct = int(sys.argv[2])
    maxCt = int(sys.argv[3])+1
    print("Hit Space to Capture Image")
    while True:
    ret, frame = cap.read()
    cv2.imshow('Get Data : '+label,frame[50:350,100:450])
    if cv2.waitKey(1) & 0xFF == ord(' '):
    cv2.imwrite(SAVE_PATH+'\'+label+'{}.jpg'.format(ct),frame[50:350,100:450])
    print(SAVE_PATH+'\'+label+'{}.jpg Captured'.format(ct))
    ct+=1
    if ct >= maxCt:
    break
    cap.release()
    cv2.destroyAllWindows()
    
    
    1  2  3  下一页>