設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

用 AI 聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

雷峰網(wǎng) 2022/8/5 13:20:37 責(zé)編:長(zhǎng)河

2016 年,米哈游掏空家底,all in 游戲項(xiàng)目《原神》,追尋轉(zhuǎn)型之路。2020 年全開(kāi)放式冒險(xiǎn)游戲《原神》問(wèn)世引發(fā)游戲圈現(xiàn)象級(jí)熱議,精美的制作,3A 級(jí)的畫(huà)質(zhì),更是讓游戲在 2021 年一度登頂 56 國(guó)排行榜。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

作為一款角色養(yǎng)成類游戲,原神游戲本身還是還是比較肝的,再加上核心玩法較為簡(jiǎn)單,游戲后期版本更新緩慢,游戲時(shí)間久了之后部分玩家難免產(chǎn)生無(wú)聊,卻又“食之無(wú)味,棄之可惜”的感覺(jué)。

言出法隨,語(yǔ)音玩原神

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

在閑著無(wú)聊的時(shí)候,總有一些大佬的腦回路與眾不同,想著整點(diǎn)活。這不,b 站硬核整活區(qū) up 主“薛定諤の彩虹貓”就通過(guò) AI 算法實(shí)現(xiàn)語(yǔ)音控制原神,直接將玩家變成了神奇寶貝訓(xùn)練家,建議游戲改名為“精靈寶可夢(mèng):原神”。

具體戰(zhàn)斗效果,讓我們一起瞅瞅下面的動(dòng)圖。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

隨著系統(tǒng)提示“在 360 秒內(nèi)擊敗 8 只怪物”,4 只火史萊姆來(lái)勢(shì)洶洶。

原神訓(xùn)練家氣定神閑喊出了一句“用戰(zhàn)術(shù)三攻擊中間的火史萊姆”,畫(huà)面內(nèi)出現(xiàn)像戰(zhàn)斗機(jī)一樣的綠色追蹤框。

神里綾華向史萊姆跑去,隨后切換鐘離發(fā)動(dòng)技能“元素戰(zhàn)技?地心”打出 aoe 傷害同時(shí)套盾,隨后凌華再一次登場(chǎng),一招“神里流?霰步”,打出成噸元素傷害,在火史萊姆的爆炸中,結(jié)束戰(zhàn)斗。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

作者還預(yù)設(shè)了不同的戰(zhàn)術(shù)方案。在應(yīng)對(duì)火系深淵法師的時(shí)候。先是一句“攻擊中間的火深淵法師”,角色開(kāi)始自動(dòng)尋怪。

來(lái)到怪物身前時(shí),執(zhí)行戰(zhàn)術(shù)一。迪奧娜以迅雷之速使出“貓爪冰冰”技能打出傷害的同時(shí)向后方位移調(diào)整位置及套盾,再之后神里綾華登場(chǎng),一招霰步欺身上前,打出 combo 傷害。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

不過(guò),在演示過(guò)程中,我們也發(fā)現(xiàn),戰(zhàn)術(shù)啟動(dòng)后的角色,其操作行云流水,非常的絲滑。但是,戰(zhàn)術(shù)還沒(méi)啟動(dòng)之前,卻有點(diǎn)呆呆的,來(lái)自 AI 的仁慈。

那么,這種用嘴打游戲,實(shí)現(xiàn)言出法隨,輔助玩家練就三寸不爛之舌的 AI 是怎樣制作出來(lái)的?

三大 AI 工具,打造智能指令系統(tǒng)

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

視頻作者“薛定諤の彩虹貓”分享了他的方法。實(shí)現(xiàn) AI 語(yǔ)音玩原神,主要涉及到時(shí)下流行的“XVLM+WeNet+STARK”等三大 AI 主流領(lǐng)域。

看到這里,有的小伙伴可能會(huì)表示“說(shuō)得好,這些字母拆開(kāi)來(lái)我都認(rèn)得,拼在一起就是我不認(rèn)識(shí)的樣子了。”

小伙伴們別著急額,接下來(lái)讓我們一起了解下這三個(gè)工具的用處。

在以往,我們要操作游戲角色進(jìn)行近戰(zhàn)的操作邏輯是:1、看到敵方目標(biāo)。2、鎖定目標(biāo),向目標(biāo)角色移動(dòng)。3、發(fā)動(dòng)攻擊。

通過(guò)語(yǔ)音實(shí)現(xiàn)游戲操作,同樣也是需要完成上面 3 個(gè)步驟。讓我們一起拆解一下作者在游戲中的指令,解析這套 AI 的工作流。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

如上圖所示,當(dāng)作者說(shuō)出“用戰(zhàn)術(shù)三攻擊中間的火深淵法師之后”。讓電腦執(zhí)行了“語(yǔ)音指令識(shí)別 —— 圖像識(shí)別目標(biāo) —— 角色行動(dòng)”這三大步驟,整個(gè)過(guò)程有點(diǎn)類似于面向游戲定制了一個(gè)語(yǔ)音助手,就像“嘿,Siri,打開(kāi)原神”。

第一步:語(yǔ)音指令識(shí)別

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

要讓設(shè)備聽(tīng)懂我們的指令,我們就需要一個(gè)翻譯官,將我們說(shuō)的話轉(zhuǎn)變成機(jī)器能夠聽(tīng)得懂的計(jì)算機(jī)語(yǔ)言,WeNet 就是我們和機(jī)器對(duì)話的翻譯官。

WeNet 是一個(gè)面向生產(chǎn)的端到端語(yǔ)音識(shí)別工具包,在單個(gè)模型中,它引入了統(tǒng)一的兩次 two-pass (U2) 框架和內(nèi)置運(yùn)行時(shí)來(lái)處理流式和非流式解碼模式。其語(yǔ)音識(shí)別正確率、實(shí)時(shí)率和延時(shí)性都有著非常出色表現(xiàn),獲得了京東、網(wǎng)易、英偉達(dá)、喜馬拉雅等公司語(yǔ)音識(shí)別項(xiàng)目的采用。

用 WeNet 識(shí)別咱們玩原神的語(yǔ)音指令,需要經(jīng)過(guò)“準(zhǔn)備訓(xùn)練數(shù)據(jù)”“提取可選 cmvn 特征”“生成標(biāo)簽令牌字典”“準(zhǔn)備 WeNet 數(shù)據(jù)格式”“神經(jīng)網(wǎng)格訓(xùn)練”“用訓(xùn)練后的模型識(shí)別 wav 文件”“導(dǎo)出模型”等 6 大步驟。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

上面的東西用大白話講就是,準(zhǔn)備一些音頻文件,同時(shí)標(biāo)注我這些音頻文件講了啥,然后讓機(jī)器去學(xué)習(xí)識(shí)別這些音頻文件并生成標(biāo)簽。上述訓(xùn)練完成以后,以后我們對(duì)機(jī)器說(shuō)話,WeNet 就能把我們的話翻譯成機(jī)器聽(tīng)得懂的話。

第二步:解析語(yǔ)音指令特征

有了 WeNet 的助攻之后,我們實(shí)現(xiàn)了說(shuō)出的話讓機(jī)器聽(tīng)得懂我們說(shuō)的是啥之后,我們還要讓機(jī)器將聽(tīng)到的東西跟畫(huà)面中的東西對(duì)應(yīng)上,這就輪到第二個(gè)工具“X-VLM”登場(chǎng)了。

X-VLM 是一種基于視覺(jué)語(yǔ)言模型(VLM)的多粒度模型,由圖像編碼器、文本編碼器和跨模態(tài)編碼器組成,跨模態(tài)編碼器在視覺(jué)特征和語(yǔ)言特征之間進(jìn)行跨模態(tài)注意,以學(xué)習(xí)視覺(jué)語(yǔ)言對(duì)齊。那具體這個(gè)工具是咋實(shí)現(xiàn)識(shí)別對(duì)象的呢?

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

上圖展示了 X-VLM 的工作流程。圖片左側(cè)為工具視覺(jué)概念的編碼過(guò)程。工具包的圖像編碼器基于 Vision Transformer 實(shí)現(xiàn),輸入的圖片會(huì)被分成 patch 編碼。然后,給出任意一個(gè)邊界框,靈活地通過(guò)取框中所有 patch 表示的平均值獲得區(qū)域的全局表示。接著該全局表示和原本框中所有的 patch 表示按照原本順序整理成序列,作為該邊界框所對(duì)應(yīng)的視覺(jué)概念的表示。

(字我都認(rèn)識(shí),連在一起怎么就是我不認(rèn)識(shí)的樣子了?)

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

怎么文章看著看著變成做閱讀理解了,讓我們?cè)俣嗫磧|眼。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

上面這段話的意思,通俗點(diǎn)講就是將圖片切割成方塊,并且預(yù)組合這些方塊。比如組合成“一個(gè)男人背著背包”的圖片,或者組合成“男人背著背包過(guò)馬路”的圖片。

你要做的就是告訴機(jī)器這些組合和文字的對(duì)應(yīng)關(guān)系,接著讓設(shè)備進(jìn)行機(jī)器學(xué)習(xí)。

通過(guò)這樣的方式獲得圖片本身和圖片中視覺(jué)概念(V1,V2,V3)的編碼。與視覺(jué)概念對(duì)應(yīng)的文本,則通過(guò)文本編碼器一一編碼獲得,例如圖片標(biāo)題、區(qū)域描述、或物體標(biāo)簽。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

這一頓操作下來(lái),小編也被繞暈了。這玩意的作用有點(diǎn)像我們的眼睛,當(dāng)我看到一個(gè)“書(shū)包”,雖然我沒(méi)見(jiàn)過(guò)這個(gè)款式的,但根據(jù)特征提取,我知道這個(gè)東西就是書(shū)包,X-VLM 就是這樣一個(gè)工具。

X-VLM 可以在接收 WeNet 輸出的文本信息后,將圖像中相關(guān)聯(lián)的物件提取出來(lái),實(shí)現(xiàn)語(yǔ)言與視覺(jué)相關(guān)聯(lián)。到這里,我們可以實(shí)現(xiàn)讓電腦知道我們說(shuō)的話指的是圖片里面的啥玩意了。

第三步:追蹤圖像

在使用了 X-VLM 和 WeNet 之后,我們成功讓設(shè)備聽(tīng)得懂咱們說(shuō)的是啥玩意了,接下來(lái)要做的就是實(shí)現(xiàn)“追蹤目標(biāo)”,聽(tīng)起來(lái)是不是很酷炫,有種開(kāi)戰(zhàn)斗機(jī)發(fā)射追蹤導(dǎo)彈的感覺(jué)~

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

相信不少小伙伴們都猜到了,這剩下的最后一個(gè)“STARK”就是用于實(shí)現(xiàn)圖像追蹤功能的 AI 工具

Stark 是最新的 SOTA 跟蹤模型,模型使用了 transformer 來(lái)結(jié)合空間信息以及時(shí)域信息。

模型包括一個(gè) encoder,decoder 以及 prediction head。其中 encoder 接收三個(gè)輸入:當(dāng)前幀圖像,初始目標(biāo)以及一個(gè)動(dòng)態(tài)變化的模板圖片。由于模板圖片在追蹤過(guò)程中是動(dòng)態(tài)變化,不斷更新的,因此 encoder 可以同時(shí)捕獲到目標(biāo)的時(shí)域和空間信息。

獲取目標(biāo)信息以后,工具會(huì)通過(guò)預(yù)測(cè)左上與右下角熱力圖的方式,在每幀圖像中得到一個(gè)最優(yōu)的邊界框,并且可以直接在 GPU 端運(yùn)行。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

簡(jiǎn)單說(shuō)就是,在我們通過(guò) X-VLM 確定要追蹤的目標(biāo)以后,Stark 就像鋼鐵俠 Tony Stark 的追蹤系統(tǒng)一樣,會(huì)記錄對(duì)象在靜止?fàn)顟B(tài)和動(dòng)態(tài)狀態(tài)下的樣子,處理分析之后實(shí)現(xiàn)追蹤動(dòng)態(tài)對(duì)象。

那么,講到這里,我們已經(jīng)基本明白這語(yǔ)音玩原神三大技術(shù)的原理。那角色是怎么動(dòng)起來(lái)執(zhí)行戰(zhàn)術(shù)的呢?

其實(shí)實(shí)現(xiàn)角色自動(dòng)攻擊、釋放技能這一塊,反而是 AI 語(yǔ)音玩原神中最容易實(shí)現(xiàn)的一個(gè)環(huán)節(jié)。這個(gè)功能可以通過(guò)宏指令或者代碼編程來(lái)實(shí)現(xiàn)。小編特意到作者分享的代碼文件中瞄了一眼,下面是部分代碼的展示。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

這一段操作代碼使用 python 寫(xiě)的,邏輯也相當(dāng)?shù)暮?jiǎn)單,就是執(zhí)行一串預(yù)設(shè)好的按鍵指令。上面圖片展示的應(yīng)該是對(duì)應(yīng)戰(zhàn)術(shù)一的操作。其中 key 跟 mouse 后面的數(shù)字或者字母對(duì)應(yīng)了切換角色和釋放技能。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

代碼也解釋了為啥角色執(zhí)行完戰(zhàn)術(shù)之后就杵在原地發(fā)呆,因?yàn)闆](méi)有了后續(xù)的指令和輸入。

總的來(lái)說(shuō),如果有小伙伴想簡(jiǎn)單嘗鮮一下這個(gè) AI 語(yǔ)音玩原神,可以直接下載作者分享的代碼,運(yùn)行程序即可。你只需將英雄陣容及順序設(shè)計(jì)成和作者一樣,就可以達(dá)到作者視頻展示的的效果了。

當(dāng)然,如果小伙伴們想要玩出自己的花樣,也可以直接改這段操作代碼,實(shí)現(xiàn)不同的陣容及技能釋放組合,然后記住自己改的是哪一套戰(zhàn)術(shù)就行了。

當(dāng)然,如果你想把游戲完成比較中二的,像下面這樣的:

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

就決定是你了,神里綾華。(切換角色)

靠近敵人之后使用霰步。(釋放技能)

辛苦你了,綾華,回來(lái)吧。(切換角色)

小編也幫你想好了要改哪些代碼,你把對(duì)應(yīng)切換角色的快捷鍵以及技能鍵替換到操作代碼里面就像了,但同時(shí)你還要錄一段語(yǔ)音到 WeNet,讓它進(jìn)行學(xué)習(xí),知道你在說(shuō)啥。(PS:盡可能用一句話做多點(diǎn)事,因?yàn)?AI 執(zhí)行比較忙,這也是為啥作者要用戰(zhàn)術(shù)一二三的原因)

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

當(dāng)然還有神仙大佬在視頻里給出了其他的建議。比如加入 SLAM 工具,實(shí)現(xiàn) 360° 方位檢測(cè),讓角色能夠在游戲里追蹤不同方位的敵人,自走地圖炮了屬于是。

眼睛、手勢(shì)都能玩,AI 玩游戲姿勢(shì)還有這些

除了 ai 語(yǔ)音玩游戲外,b 站還有很多大佬折騰出了別的玩游戲姿勢(shì)。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

【 圖片來(lái)源:?jiǎn)袅▎袅? 所有者:Jack-Cui 】

Jack-Cui 大佬直接自制 ai,用一個(gè)普通攝像頭加一臺(tái)電腦實(shí)現(xiàn)體感玩街頭霸王。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

【 圖片來(lái)源:?jiǎn)袅▎袅? 所有者:同濟(jì)子豪兄 】

b 站 up 主同濟(jì)子豪兄展示的,用 WebGazer.js,實(shí)現(xiàn)“眼神操控鼠標(biāo)”,通過(guò)眼神來(lái)玩游戲,直接就是眼神殺人術(shù)。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

通過(guò) Mediapipe,用手勢(shì)隔空玩游戲。很有鋼鐵俠操控面板的感覺(jué)了!

AI 技術(shù),在不同的場(chǎng)合有著不同的應(yīng)用。而像語(yǔ)音操控、眼神操控這一類技術(shù),直接的受益人就是一些在生活中存在身體缺陷的人。

用AI聲控玩原神,動(dòng)動(dòng)嘴皮即可打怪,代碼教程已開(kāi)源

【 圖片來(lái)源:?jiǎn)袅▎袅? 所有者:心理咨詢師朱銘駿 】

此前便有一位高位截肢的退役消防員小哥在網(wǎng)上分享了他用嘴巴操作手機(jī)玩原神的視頻,等 AI 語(yǔ)音玩游戲成熟了,他就可以通過(guò)語(yǔ)音更加輕松的在原神的世界游玩。

作者在后期也打算加入“全自動(dòng)刷本、傳送、打怪,領(lǐng)獎(jiǎng)勵(lì)一條龍”的 AI 操作,到時(shí)候我們也將看到一個(gè)更加有趣的場(chǎng)景,讓我們一起拭目以待。

不懂這些算法的小伙伴們也不用擔(dān)心,作者目前已經(jīng)將源碼分享到了 github 上,小伙伴們前往下載安裝之后,根據(jù)咱們上面說(shuō)的,改改操作代碼,體驗(yàn)一把語(yǔ)音玩原神。

源代碼鏈接:https://github.com/ 7eu7d7 / genshin_voice_play

廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:AI,人工智能,原神

軟媒旗下網(wǎng)站: IT之家 最會(huì)買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會(huì)買 要知