Select Page
LivePortrait:蒙娜麗莎笑起來

LivePortrait:蒙娜麗莎笑起來

LivePortrait 是一個先進且有趣的影像生成技術,它不僅讓靜態肖像圖片動起來,變得栩栩如生,還能讓用戶在不同的角色之間進行變換,甚至能做到將一位大叔轉變成美女,美女變會跳舞的效果。這項技術目前在GitHub上獲得了10K顆星的高度關注,顯示了它在開源社群中的受歡迎程度。

什麼是 LivePortrait?

LivePortrait 是一個能夠讓靜態人像圖片進行動畫化的技術。該技術的核心是將人臉動作從一個人像轉移到另一個人像上,從而實現讓靜態圖片「動起來」的效果。與傳統的動畫技術相比,LivePortrait 的計算效率更高,並且生成的影像更加自然、流暢。

主要特點

  1. 縫合與重定位控制:LivePortrait 的關鍵特點之一是它的縫合與重定位控制技術。這讓用戶可以將不同的面部特徵縫合到一個目標人像上,並進行動畫化。例如,將一位大叔的臉與美女的臉部特徵進行結合,然後動畫化,達到讓大叔秒變美女的有趣效果。
  2. 高效的處理能力:這個技術使用了一種高效的算法,能夠在較短的時間內生成高質量的動畫效果,適合用於即時應用或者在線處理需求。
  3. 開源社群的熱烈反響:LivePortrait 的 GitHub 項目自發布以來,已經累積了7.9K顆星,成為了開源社群中的一個熱門項目。這顯示了技術人員與開發者對這項技術的認可與支持。

應用場景

LivePortrait 的應用場景非常廣泛,從娛樂到專業用途都有所涉及。舉例來說,它可以用於製作逼真的動畫表情,為虛擬角色賦予生命,或者在影像特效中實現面部交換等功能。其高度的可定製性也讓它成為許多創意工作者的工具首選。

安裝方法

原始項目網址 https://github.com/KwaiVGI/LivePortrait

安裝程式

git clone https://github.com/KwaiVGI/LivePortrait
cd LivePortrait

# create env using conda
conda create -n LivePortrait python=3.9
conda activate LivePortrait

# 安裝相關依賴
pip install -r requirements.txt

下載預訓練資料

# !pip install -U "huggingface_hub[cli]"
huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"

如果不能存取 Huggingface

# !pip install -U "huggingface_hub[cli]"
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"

執行視窗

# For Linux and Windows users
python inference.py

# For macOS users with Apple Silicon (Intel is not tested). NOTE: this maybe 20x slower than RTX 4090
PYTORCH_ENABLE_MPS_FALLBACK=1 python inference.py

指令碼

# source input is an image
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4

# source input is a video ✨
python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d0.mp4

# more options to see
python inference.py -h

超酷的寵物模式

image

先安裝寵物模式

cd src/utils/dependencies/XPose/models/UniPose/ops
python setup.py build install
cd - # equal to cd ../../../../../../../

要使用的時候只需要下

python inference_animals.py -s assets/examples/source/s39.jpg -d assets/examples/driving/wink.pkl --driving_multiplier 1.75 --no_flag_stitching

Huggingface 上使用

https://huggingface.co/spaces/KwaiVGI/LivePortrait

參考資料

將你的Python程式碼改成 web api

現在AI的時代,實在是離不開python,有時候想要快速的驗證程式設計,並且對外服務,給外部的人測試,這時候可以考慮把在 CLI 執行的 python code ,改成 web api,讓外部的人測試看看,改法如下

步驟 1: 安裝 Flask

pip install Flask

步驟 2 : 建立一個 Web APP

可以建立一個名為 webapi.py 的檔案,並且輸入以下程式碼,這樣就可以簡單地把 GraphRAG 的服務對外

from flask import Flask, request, jsonify
import subprocess
import shlex

app = Flask(__name__)

@app.route('/query', methods=['POST'])
def query():
    # 获取请求中的问题
    data = request.json
    question = data.get('question')
    
    if not question:
        return jsonify({'error': 'No question provided'}), 400
    
    # 构建 CLI 命令
    command = f"python -m graphrag.query --root ./ragtest --method local \"{question}\""
    # 安全地处理命令
    args = shlex.split(command)
    
    # 执行命令
    try:
        result = subprocess.run(args, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
        response = result.stdout
        # 假设输出中包含 "SUCCESS:" 和我们需要的答案
        if "SUCCESS:" in response:
            answer = response.split("SUCCESS:")[1].strip()  # 取得成功后的文本作为答案
            return jsonify({'answer': answer})
        else:
            return jsonify({'error': 'Failed to get a valid response from the CLI tool'}), 500
    except subprocess.CalledProcessError as e:
        return jsonify({'error': str(e)}), 500

if __name__ == '__main__':
    app.run(debug=True, port=5000)

步驟 3 : 開啟服務

python webapi.py

步驟 4 : 使用 API

curl -X POST http://localhost:5000/query -H "Content-Type: application/json" -d "{\"question\": \"新修正之勞工特別休假日數有多少?\"}"

延伸閱讀

Luxgen n7 語音指令大全

這裡整理了自己試過可以使用的語音指令,當然一定還有很多指令我沒試出來,有試過的可以分享給我,我也會陸續增刪

音樂相關

  • 播放藍芽音樂
  • 暫停音樂
  • 停止播放
  • 停掉音樂
  • 上一首歌
  • 下一首歌
  • 切換音樂來源成USB
  • 切換音樂來源
  • 打開廣播
  • 啟動廣播
  • 調到FM91.7
  • 上一個頻道
  • 上一個電台
  • 切換下一個電台
  • 播放下一個電台
  • 暫停收音機
  • 播放收音機
  • 把電台加入我的收藏
  • 把電台從我的收藏裡刪除
  • 從收藏中移除電台
  • 降低音量
  • 音量調高
  • 音量靜音
  • 取消靜音

導航指令

  • 開啟導航
  • 退出導航
  • 回到首頁
  • 回到主菜單

系統控制類型

  • 打開藍芽
  • 關閉藍芽
  • 增加螢幕亮度
  • 設定螢幕亮度為最高
  • 降低螢幕亮度
  • 開啟頭燈
  • 關上大燈
  • 打開360度攝像機
  • 關閉360度攝像頭

門窗控制

  • 打開窗戶
  • 窗戶開一半
  • 關閉窗戶
  • 車窗開四分之一
  • 開一點車窗
  • 解鎖車門
  • 解鎖後門
  • 鎖上車門
  • 鎖上後面的門

詢問資訊

  • 剩餘里程?
  • 電池還有多少電?
  • 胎壓是多少?
  • 我能開多遠?
  • 現在幾點?
  • 今天幾號?
  • 我的駕駛模式是?

通訊方法

  • 打電話
  • 我要打電話
  • 顯示通訊
  • 最近的通話紀錄

空調控制

  • 打開冷氣
  • 冷氣調到25度
  • 關閉冷氣
  • 加大冷氣的風量
  • 減少冷氣的風量
  • 冷氣風量設置為5

TURING 用 Stable Diffusion 畫 EV 概念車 – 雨 (rain.tips)