by Rain Chu | 6 月 27, 2024 | AI , 人臉辨識 , 影片製作 , 語音合成
Fusion Lab 又有新款力作,Hallo AI 可以讓用戶僅需提供一張照片和一段語音,就能讓照片中的人物進行說話、唱歌甚至進行動作,為數字內容創作帶來了革命性的突破。
主要功能介紹:
語音動畫同步 :用戶只需上傳一張照片及一段WAV格式的英語語音,Hallo AI就能使照片中的人物按語音內容進行動作,包括說話和唱歌。
動作自然流暢 :結合精確的面部識別和動作捕捉技術,保證人物動作的自然流暢,令人印象深刻。
技術框架:
音頻處理 :使用Kim_Vocal_2 MDX-Net的vocal removal模型分離語音。
面部分析 :透過insightface進行2D和3D的臉部分析。
面部標記 :利用mediapipe的面部檢測和mesh模型進行精確標記。
動作模組 :AnimateDiff的動作模組為動作生成提供支持。
影像生成 :StableDiffusion V1.5和sd-vae-ft-mse模型協同工作,用於生成和調整圖像細節。
聲音向量化 :Facebook的wav2vec模型將WAV音頻轉換為向量數據。
安裝方法
盡量採用 Linux 平台,我這邊測試成功的有 Ubuntu 20 WSL 版本,就可以簡單三個步驟,部過前提要記得先安裝好 WSL CUDA 支援
1.建立虛擬環境
conda create -n hallo python=3.10
conda activate hallo
2.安裝相關的依賴
pip install -r requirements.txt
pip install .
3.要有 ffmpeg 支援
4.測試與驗證
python scripts/inference.py --source_image examples/reference_images/1.jpg --driving_audio examples/driving_audios/1.wav
最近更新:
在🤗Huggingface空間克隆了一個Gradio演示。
新增Windows版本、ComfyUI界面、WebUI和Docker模板。
參考資料
Hallo GitHub
Hallo Model
大神開發的Windows介面
Hallo 線上版本
Hallo Docker版
影片跳舞合成
by Rain Chu | 11 月 8, 2023 | AI , 人臉辨識 , 圖型處理 , 影片製作 , 繪圖
Rope以其令人矚目的功能,站在了這場技術革新的前沿。這款AI工具不僅能夠輕鬆去除臉部遮擋,更整合了多種高清化算法,讓處理速度快如閃電。然而,在介紹如何安裝和使用Rope之前,我們必須提醒每一位用戶:這項強大的技術應當用於正當的創造和學術研究,千萬別拿去做壞事。現在,讓我們詳細了解如何在您的本地設備上安裝並運行Rope。
安裝必要軟體
在開始使用Rope之前,需要先安裝一些必要的軟體:
安裝Python
安裝FFmpeg
FFmpeg是處理影片不可或缺的組件,可以通過命令行進行安裝,或是參考我之前的ffmpeg教學 。
Nvidia顯卡安裝CUDA
為了充分發揮Rope的性能,Nvidia顯卡用戶應安裝CUDA 11.8 ,這對於AI運算至關重要。
安裝Rope
安裝了必要的軟體後,便可以開始安裝Rope:
下載Rope壓縮包
安装visual studio 2022
創建虛擬環境
使用Python建立一個新的虛擬環境,這有助於管理依賴包和版本。
python -m venv venv
啟動虛擬環境
透過命令行啟動虛擬環境,準備安裝Rope。
call venv\scripts\activate.bat
安裝依賴包
在虛擬環境中,使用pip指令安裝Rope需要的所有依賴包。
pip install -r requirements.txt
如果安裝失敗,要先執行下面的指令
pip install –no-cache-dir -r requirements.txt
pip uninstall onnxruntime onnxruntime-gpu
pip install onnxruntime-gpu==1.15.0
下載換臉模型
透過這些步驟,您可以在本地機器上成功安裝和配置Rope,並開始進行高效的臉部轉換。隨著AI技術的快速發展,Rope提供了一個既方便又強大的工具,使創意和創新更加無限。
操作指南:如何使用Rope進行批量換臉
請先確認安裝 Rope 已經成功,接著,遵循以下步驟來執行Rope的批量換臉功能:
打開命令提示字元
進入Rope的本地根目錄
激活虛擬環境
通過執行call venv\Scripts\activate.bat
指令來激活Rope的Python虛擬環境。
運行Rope主程式
使用python run.py --execution-provider cuda
指令,開始執行批量換臉處理。
自定義選項:提升處理質量與效率
Rope提供多個可選參數來滿足用戶的特定需求:
面部增強
加入face_enhancer
選項,可以對換臉後的面部進行增強處理,使其更加清晰細緻。
python run.py –execution-provider cuda face_enhancer
調整輸出視頻質量
使用--video-quality
選項並指定一個0到50的數值(數值越小,輸出質量越高)。
python run.py –execution-provider cuda –video-quality 1
指定內存使用
若需要管理程序的內存使用,可透過--max-memory
選項設定最大內存限制。
python run.py –execution-provider cuda –max-memory 16
指定執行線程
對於較老的Nvidia顯卡,可使用--execution-threads
來指定執行線程數,以達到最佳運行效能。
python run.py –execution-provider cuda –execution-threads 2
預設是4
使用方法可以看YT
Rope又一款强大的一键换脸AI!可消除脸部遮挡,多种高清化算法,飞一般的处理速度!本地安装与参数使用详解。 – YouTube
解除roop检测深度换脸 – YouTube https://www.youtube.com/watch?v=YH4hB3wmRcQ
roop新奇用法:一键直播换脸、批量换图 – YouTube
Rope 分支
https://github.com/Hillobar/Rope/
https://github.com/s0md3v/sd-webui-roop
by Rain Chu | 9 月 4, 2022 | AI , Tool , 人臉辨識 , 圖型處理 , 語音分離 , 語音辨識
一家很有趣的南韓AI公司,秉持著南韓娛樂產業的基底,在北京、加州以及東京都設有分公司,專注再利用AI解決虛擬真人溝通的解決方案,我想有別於日本的二次元文化,南韓更專注於解決真實偶像翅膀硬了就會飛的問題,我想這會是公司的一個大痛點,常常董事會中的討論是為何我要花大錢捧一個人?我想這會是解方。
DeepBrian AI 官網
https://www.deepbrainai.io/
官網有三個主要的解決方案
AI Human AI Studios AI Kiosk
AI Human – 從建立自己的偶像開始
https://www.deepbrainai.io/product/ai-human
可以把多個虛擬人放於你的教育、Youtube、FB上,自由使用
AI Studio – 輸入文字就可以讓虛擬主播替你代言
https://www.deepbrainai.io/product/ai-studios
可以試用看看,https://aistudios.com/demo ,目前預設都是南韓人的臉
AI Studio 的收費方式
AI Kiosk – 把虛擬人放到自助機器中
https://www.deepbrainai.io/product/ai-kiosk
by Rain Chu | 3 月 17, 2022 | AI , Tool , 人臉辨識 , 語音辨識
還記得 2013 年,我用圖形演算法寫了一個跟電視裡面的 Show Girl 玩剪刀、石頭、布,贏的就拿到 Candy ,是真的會從螢幕後面跑出一粒糖果的那種遊戲,靈感來源自於 Candy Crush ,只是我的是真實版本,不能線上玩得,2013 年寫這樣的軟體應該是很厲害的那種,2022 年居然不需要再寫程式碼就可以自己訓練模型,只要在短短的程式碼去呼叫就可以使用它了,What!
2013年版本的圖形辨識手部完玩剪刀、石頭、布
來看看年輕版本的我
Teachable Machine 介紹
Images,圖像分類器,https://medium.com/@warronbebster/4bfffa765866 Sounds,聲音分類器,https://medium.com/@warronbebster/4212fd7f3555 Poses,人體的姿勢分辨器,https://medium.com/@warronbebster/f4f6116f491
Teachable Machine Images
Images 可以很快速且簡易的製作圖像分類器,比起 Microsoft Azure Custom vision 要來的簡單些,但功能要來的少一些,最大的好處是支援 tensorflow 以及 https://www.tensorflow.org/js,這樣可以很快速且方便的讓我把模型放在 Edge 端。
Teachable Machine Sounds
聲音分類器比較難懂,可以看看強者學弟林智源它們公司的產品,簡單的說明,他是可以讓記者在訪問火箭升空的現場時,還可以分離人聲以及火箭的噪音的服務,如果你也想要自行訓練模型的話,就是要用到這個功能了。
迪威智能,https://dwave.cc/
Teachable Machine Poses
一個跟 Processing 、 Kinect 、 OpenNI 類似功能的應用服務,回想在 2011 年拿下微軟的 kinect for windows 第一屆的無限可能獎,說起會拿這個獎也很意外,那天比賽時後其實只取前三名,我在等到第一名公布後都沒有自己的名字後,突然間評審說還有一個跟第一名實在無法區分的獎項,是由評審們討論出來要加開的,叫做無限可能獎,才又找我原本失落的心,不枉費我前一天沒睡覺在開發這套看電子結婚照,還可以虛空把照片抓到自己手機的軟體。
我在 2:19 秒,Motion Welcome
Kinect MotionWelcome Demo
Teachable Machine 的輸出
這是最關鍵的一環,可以輸出各種模型給各種市面上的終端設備使用,Android、Coral、Raspberry Pi、Intel Vino等,這也是我覺得最強大的部分,也是最能說服我採用 Teachable Machine 的功能
Teachable Machine 應用
Teachable Machine 官網
https://teachablemachine.withgoogle.com/
寫在最後,下一次要示範一下如何在 raspberry pi 中,如果大家有想看的題目可以留言給我
by Rain Chu | 3 月 14, 2022 | AI , OpenCV , Python , Raspberry Pi , 人臉辨識
辦公室打卡到底要用甚麼方法最好,是員工卡嗎?還是手機APP定位?還是用打卡鐘?在2020年之後一定是跟你說生物辨識最好,因為又有疫情影響,大家最愛的是「人臉辨識」系統,非接觸,難造假,順便量體溫,噴個酒精,一切都這麼美好,但是只有千金難買好系統,一套好用的人臉辨識系統加上網動輒1萬元台幣,這時工程師的我們一定要自己DIY來一個「人臉辨識」打卡下。
Raspberry Pi 4 的 OpenCV 4 準備
採用 opencv_facerecognition 解決方案
https://github.com/mickey9801/opencv_facerecognition
首先安裝相關的依賴以及DB
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install python3-opencv python3-picamera python3-numpy python3-pil
sudo apt-get install sqlitebrowser
下載 opencv_facerecognition,並且解開壓縮
cd ~
wget https://github.com/mickey9801/opencv_facerecognition/archive/refs/heads/master.zip
unzip master
cd opencv_facerecognition-master/
設定環境人臉辨識的資料以及環境
等等會用到 haarcascade_frontalface_default.xml ,不要用 OpenCV 3版本的,要用之前安裝的版本,我將路徑放在下方
# 複製 xml
cp ~/opencv/data/haarcascades/haarcascade_frontalface_default.xml ~/opencv_facerecognition-master/haarcascade_frontalface_default.xml
# 設定環境
python3 setup.py
擷取人臉用來訓練圖像
如果你是用 usb webcam 可以執行 recordface_webcam.py ,如果是用 PiCam 就用 python3 recordface_picam.py,此時會先問你的名字,提供完名字後,會開啟相機,當相機偵測到人臉時候,按下 「f」 鍵,就會開始抓取 30 張人像,放在 dataset 下
python3 recordface_webcam.py # for using webcam
python3 recordface_picam.py # for using PiCam v2
訓練人臉的圖像
在我們的系統中 OpenCV4,要修改 trainer.py 中的程式碼以符合現況
找到 recognizer = cv2.face.createLBPHFaceRecognizer() 把它改成 recognizer = cv2.face.LBPHFaceRecognizer_create()
#recognizer = cv2.face.createLBPHFaceRecognizer() # or
recognizer = cv2.face.LBPHFaceRecognizer_create()
開始訓練,訓練完畢後會在目錄中取得一個 recognizer 目錄,裡面存放訓練後的資料
開始辨識人臉
有了訓練資料後,就可以開始測試準度了,開始前記得也要改一下程式碼,符合現況
找到 Setup LBPH recognizer for face recognition,更改成下面的程式碼
# Setup LBPH recognizer for face recognition
#recognizer = cv2.face.createLBPHFaceRecognizer() # or LBPHFaceRecognizer_create()
recognizer = cv2.face.LBPHFaceRecognizer_create()
# Load training data
#recognizer.load(fname) # change to read() for LBPHFaceRecognizer_create()
recognizer.read(fname)
存檔後執行 detector_picam.py,就可以在辦公室打卡了
python3 detector_webcam.py # for using webcam
python3 detector_picam.py # for using PiCam v2
未來,再補影片~~相信OpenCV的安裝一定很多困難,只能說關關難關關過~~
近期留言