使用Tensorflow+OpenCV構(gòu)建會玩石頭剪刀布的AI
簡介
這個項目的基礎(chǔ)是深度學(xué)習(xí)和圖像分類,目的是創(chuàng)建一個簡單而有趣的石頭剪刀布游戲。首先,這個項目是我在5月份的COVID19隔離期中無聊的產(chǎn)物,希望當(dāng)你讀到這個時,一切都恢復(fù)正常了。我的目的是通過這篇文章用簡單的術(shù)語向初學(xué)者解釋這個項目的基本原理。讓我們開始吧!在構(gòu)建任何類型的深度學(xué)習(xí)應(yīng)用程序時,有三個主要步驟:收集和處理數(shù)據(jù)建立一個合適的人工智能模型部署使用整個項目都引用了我的Github repo,并與之?dāng)y手并進,所以請做好參考準(zhǔn)備。
收集我們的數(shù)據(jù)
任何深度學(xué)習(xí)模型的基礎(chǔ)都是數(shù)據(jù),任何一位機器學(xué)習(xí)工程師都會同意這一點,在ML中,數(shù)據(jù)遠(yuǎn)比算法本身重要。我們需要收集石頭,布和剪刀的符號圖像,我沒有下載別人的數(shù)據(jù)并在上面進行訓(xùn)練,而是制作了自己的數(shù)據(jù)集,鼓勵你也建立自己的數(shù)據(jù)集。之后嘗試更改數(shù)據(jù)并重新訓(xùn)練模型,以查看數(shù)據(jù)對深度學(xué)習(xí)模型究竟有怎樣的影響。
PATH = os.getcwd()+'\'
cap = cv2.VideoCapture(0)
label = sys.a(chǎn)rgv[1]
SAVE_PATH = os.path.join(PATH, label)
try:
os.mkdir(SAVE_PATH)
except FileExistsError:
pass
ct = int(sys.a(chǎn)rgv[2])
maxCt = int(sys.a(chǎn)rgv[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()

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字