我怎樣才能用人工智慧再次見到我的父親? (二)。

Mondo 科技 更新 2024-02-15

如何利用AI再次見到父親(1) 1.在應用程式上實現它。

筆者調研了原生和跨終端的解決方案,以及控制成本的原因,選擇了跨終端 Flutter 的實現。

主頁開發

筆者使用Muke作為協同UI標註平台,在分析布局後,應採用布局方法:

腳手架頁體全貼**,以寬度為瓦片,頭像根據不規則位置採用堆疊布局,預設最多30個位置,隨機顯示底部欄,採用定位方式,弧形背景為**,按鈕加有高架按鈕, 詳情如下(系列文章結束後,原始碼會開源,我會提前發給大家留言)。

收集代理頁面

或者先分析版面,半個彈窗頁面,底部可以傳送文字,整體是乙個對話資訊頁面。

半彈窗使用showmodalbottomsheet在底部彈出,給予一定程度的通透性,對話部分使用列+滾動容器,實現語音模組本身的原生TTS元件,關鍵細節如下:

實時通訊頁面

這是踩坑的開始,當初使用D-ID的時候,Demo是乙個純前端的解決方案,當時還以為都是標準的WebRTC,而且flutter本身也有支援WebRTC的標準元件,沒有過多考慮最後的相容性問題,實現後發現不同的Android版本和iOS版本在支援原生WebRTC,最後決定用H5頁面代替對話,用結束+H5的方式解決相容性問題,關鍵**如下:

其他零散的頁面,難度不大,就不高亮了,以下是伺服器的實現細節。

2.伺服器端實現。

筆者對 J**A、GO 和 Rust 比較熟悉,但因為需要對接不同的模型和第三方 SDK,所以是 Python,而且 Python 服務端語言的成本較低,小規模優勢更多。

語音TTS模組,採用ElevenLab,聲音轉殖能力與科大訊飛相比,Microsoft TTS、火山引擎語音包,對話交流模組效果更好,採用GPT4,多輪對話和角色扮演比對,GLM3文鑫一言通易千問,整體流程效果更好,首先是APP端的語音轉文字, 通過 WebSocket 傳輸到後台,用 GPT4 助手回覆,得到的文字通過 ElevenLab 轉換為語音,最後呼叫 D-ID 用語音驅動**片的唇形(我有一種預感,後期過程會很長)關鍵**邏輯如下(注意一下, 然後開啟它):

其中,GPT4 需要科學地連線到網際網絡,所以我們需要乙個可以與 OpenAI 介面通訊的伺服器(Linux 版本的 Clash 沒有突出顯示,如果需要可以在評論區進行通訊)。

至此,演示版的開發已經完成,下一步就是開始我們的內部投訴環節了。

在APP端、H5端、伺服器端開發後,帶著極大的成就感,我開始和朋友一起進行內部測試:

假朋友A:哥哥,說完,你怎麼不1分鐘回覆。

假朋友B:+1

假朋友C:+1

我:哎呀,我想先把語音轉換成文字,文字給gpt,gpt會回覆我,我還要調整介面生成語音,我會通過語音驅動器說話。

假朋友D:啊,那,為什麼這麼慢?

假朋友 e: +1

假朋友 f: +1

假朋友n:哎呀,辣雞,bug子太多了,你做不到,兄弟,果然產品不能參與研發。

我:。。 於是開始修復各種bug,優化各種優化。

最後,每次將通訊響應縮短到 30 秒,可汗! 速度也非常慢,所以現在有兩種方法,一種是繼續優化,或者自己訓練模型,或者使用MetaHuman超現實模型,另一種是從產品角度改變思維方式。

1.語音驅動嘴型的不同技術研究。

sadtalker:

1西安交通大學 2騰訊人工智慧實驗室 3螞蟻集團 頭像聯合發布的一款模型,讓頭像說話,使用WebUI Colab進行白色賣淫後,發現還是比較慢的,如果質量不高,效果會更差。

w**2lip:

部署 colab 後,對 ** file 的支援更好,同時 GFPGAN 也可以修復不協調的口型,但 ** 支援是通用的,需要自己改造,而且專案更老實,有了 3080,4080 需要自己公升級,並行邏輯也需要增強(看到有人在 B 站變身後效果還可以, 但不可能完全實時,乙個500*500,大約1分鐘**,大約20-30秒的延遲)。

videoretalking:

我個人覺得更像是sadtalker的公升級版,支援固定位置的影象比較好,但是**說話,需要變換,同時解像度要求更高,最後還是延遲的問題,1分鐘**,4080最好效果是13秒。

最後我發現,只要影象效果與真人相關,就不是很好,於是我改變了研究思路,從遊戲建模的角度來衡量自己是否能滿足自己的要求。

MetaHuman:虛幻引擎發布的超寫實數字人,可以驅動整個身體和空間。 不能重蹈D-ID的覆轍,一部iPhone 12(或更新機型)和一台台式電腦可以改造成乙個完整的面部捕捉和動畫解決方案,父親去世時,他沒有留下太多**和聲音,面部表情和身體特徵都是從**和聲音中提取出來的,那就比較麻煩了,別人還得重新開始, 它對還活著的人更友好,可以作為替代方案,例如:將乙個人的**,完成3D後,優化細節並匯入MetaHuman模型。

nvidia omniverse audio2face:

官網介紹:生成式AI可用於從音訊中即時建立面部表情動畫**。 這不就是我在想的嗎,我看了看上手的難度,有點打鼓,然後聯絡了本地版的企業,好吧,我錯了。

伺服器端的主流解決方案都可以搜尋,也可以在國內外論壇上尋求幫助,主流的就是這些,大概花了1周時間,是時候改變思維方式了。

系列文章完成後,相關原型、設計、原始碼、資料庫等將開源。

未完待續。

相關問題答案

    如何使用AI數字人SaaS系統定製專屬模擬數字人?

    AI數字人SaaS系統是一種創新的技術應用,可以以直播的形式將數字人呈現給使用者。它的主要功能之一是能夠定製數字人類。那麼,AI數字人SaaS系統是如何定製數字人的呢?AI數字人直播系統 首先,定製乙個數字人並不像我們想象的那麼難,按照AI數字人SaaS系統的步驟拍乙個綠屏就足夠了。該資料用於生成數...

    如何使用AI繪畫來建立準確而美麗的照片?

    Graphix AI 人工智慧繪畫應用程式。Graphix AI整合了以下主要功能,為了更好地展示App的應用場景和功能,我們以最佳方式一一分解。.文盛圖。你只需要輸入乙個提示,如果你想要乙個更精緻的 輸出,那麼寫乙個否定的提示,你可以選擇你想要的關於主題 影象 動作 身體 衣服 頭髮 臉部 場景 ...

    如何用人工智慧寫論文?這些方法教你一學會就學它

    人工智慧人工智慧 AI 是一種使機器能夠模仿智慧型人類行為的技術。隨著科技的飛速發展,人工智慧正逐漸成為我們生活中重要的一部分生產力,提高生活質量,促進科學研究。人工智慧這個概念可以追溯到上世紀年代。當時,科學家們開始研究如何讓機器像人類一樣思考 習和決策。經過幾十年的研究和開發,今天的人工智慧系統...

    如何用AI寫作?這些方法教你一學會就學它

    人工智慧人工智慧 AI 是一種旨在使機器變得像人一樣的科學技術。隨著科學技術的飛速發展,人工智慧它已成為科學技術領域最引人注目的研究方向。無論是在醫療 金融 交通 教育 娛樂等領域,人工智慧都發揮著重要作用,對人類社會有著巨大的影響。人工智慧的發展離不開大資料的支援。大資料是指非常龐大和複雜的資料集...

    如何用AI寫文案?這些方法教你一學會就學它

    人工智慧人工智慧 AI 作為當今科技領域的一項重要技術,正以前所未有的速度發展和應用。人工智慧這個概念最早是在世紀年代提出的,它指的是模擬人類認知過程和智慧型行為的技術和系統。隨著大資料 雲計算和演算法的快速發展,人工智慧正在迅速融入我們生活和社會的各個領域。人工智慧的進步在許多領域取得了重大突破。...