人臉活體識別2:Pytorch實現人臉眨眼 張嘴 點頭 搖頭識別(含訓練代碼和數據集)

人臉活體識別2:Pytorch實現人臉眨眼 張嘴 點頭 搖頭識別(含訓練代碼和數據集)

目錄

人臉活體識別2:Pytorch實現人臉眨眼 張嘴 點頭 搖頭識別(含訓練代碼和數據集)

1. 前言

2.人臉活體識別方法

(1)基于人臉動作的檢測??

(2)??基于紅外的活體識別??

(3)基于深度的活體識別??

3.人臉活體識別數據集

?(1)人臉活體識別數據集說明

4.人臉檢測模型

5.人臉活體識別模型訓練

(1)項目安裝

(2)準備數據

(3)人臉活體識別模型訓練(Pytorch)

(4) 可視化訓練過程

(5) 人臉活體識別效果

(6) 一些優化建議

(7) 一些運行錯誤處理方法

6.項目源碼下載

(1)訓練版本

(2)推理版本

7. C++實現人臉活體識別

8. Android實現人臉活體識別


1. 前言

人臉活體識別技術是確保人臉識別系統安全性的關鍵,主要用于區分真實人臉與偽造攻擊(如照片、視頻、3D面具等)。本項目基于深度學習技術,構建了一套高魯棒性的面部活體檢測系統,可精準識別眨眼(閉眼)、張嘴、點頭(低頭)、搖頭(側臉)等生物特征動作,可有效防范照片、視頻、3D面具等偽造攻擊等多種場景,??可應用于金融支付、遠程身份核驗(如銀行開戶)等場景。

本篇是項目《人臉活體識別》系列之《Pytorch實現人臉眨眼 張嘴 點頭 搖頭識別(含訓練代碼和數據集)》;項目基于深度學習框架Pytorch開發一個高精度,可實時的人臉活體識別算法;項目源碼支持模型有Resnet18, Resnet34,Resnet50,Mobilenet以及MobileVit等常見的深度學習模型,用戶也可以自定義自己的模型進行訓練;項目源碼配套了完整的訓練代碼和數據集,配置好開發環境,即可開始訓練。

準確率還挺高的,采用輕量級mobilenet_v2模型的人臉活體識別準確率也可以高達99.9661%左右,滿足業務性能需求。

模型input sizeTest準確率
Mobilenet112×11299.9661
Resnet18112×11299.9322
MobileVit112×11299.9322

先展示一下,Python版本的人臉活體識別Demo效果

? ??? ??

?【尊重原創,轉載請注明出處】https://blog.csdn.net/guyuealian/article/details/148774036


?更多人臉識別和活體識別文章,請參考:

  1. 人臉活體識別1:眨眼 張嘴 點頭 搖頭人臉數據集
  2. 人臉活體識別2:Pytorch實現人臉眨眼 張嘴 點頭 搖頭識別(含訓練代碼和數據集)
  3. 人臉活體識別3:C/C++實現人臉眨眼 張嘴 點頭 搖頭識別(可實時檢測)
  4. 人臉活體識別4:Android實現人臉眨眼 張嘴 點頭 搖頭識別(可實時檢測)
  5. 人臉識別2:InsightFace實現人臉識別Face Recognition(含源碼下載)
  6. 人臉識別3:C/C++ InsightFace實現人臉識別Face Recognition(含源碼)
  7. 人臉識別4:Android InsightFace實現人臉識別Face Recognition(含源碼)

2.人臉活體識別方法

人臉活體識別的方法有很多,如基于人臉動作的活體識別?,基于紅外的活體識別,基于深度的活體識別等等方法。

(1)基于人臉動作的檢測??

? ? 要求用戶配合完成隨機指令動作(如眨眼、點頭、張嘴、搖頭等),通過計算機視覺算法(如光流法、關鍵點跟蹤)分析動作的自然性和時序連貫性。

優點??:實現簡單,能有效抵御照片和靜態視頻攻擊。??

缺點??:依賴用戶配合,體驗較差;可能被高仿動態視頻(如Deepfake)欺騙。

(2)??基于紅外的活體識別??

??? ? ?利用紅外攝像頭捕捉人臉的紅外反射特性或熱輻射分布,如采用紅外光譜分析??,活體皮膚對特定波長紅外光的吸收/反射模式與非活體不同。??

優點??:無需用戶配合,可抵御照片、視頻及部分3D面具攻擊。

缺點??:設備成本較高;受環境溫度影響(如低溫可能降低檢測精度)。

(3)基于深度的活體識別??

? ? 通過3D深度攝像頭(如結構光、ToF)獲取人臉的三維幾何信息(如鼻梁高度、曲面曲率),非活體(照片、屏幕)缺乏真實的深度結構。??

優點??:防御能力最強,可識別高級3D頭套攻擊。

??缺點??:硬件成本高,需專用3D傳感器。

本項目實現方案是采用基于人臉動作的活體識別方法,即先采用通用的人臉檢測模型,進行人臉檢測定位人臉區域,然后按照一定規則裁剪人臉檢測區域,再訓練一個人臉活體識別分類器,完成人臉活體識別的任務。人臉動作主要包含:眨眼(閉眼)、張嘴、點頭(低頭)、搖頭(側臉)。


3.人臉活體識別數據集

?(1)人臉活體識別數據集說明

項目對人臉圖像進行人臉動作標注,人臉動作主要包含:眨眼(閉眼)、張嘴、點頭(低頭)、搖頭(側臉),標注工具:使用labelme或者AnyLabeling(推薦)進行圖片標注。關于人臉活體識別數據集的說明,請參考文章:https://blog.csdn.net/guyuealian/article/details/147820499


4.人臉檢測模型

本項目人臉檢測訓練代碼請參考:https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB?

這是一個基于SSD改進且輕量化后人臉檢測模型,很slim,整個模型僅僅1.7M左右,在普通Android手機都可以實時檢測。人臉檢測方法在網上有一大堆現成的方法可以使用,完全可以不局限我這個方法。

當然可以基于YOLOv5訓練一個人臉檢測模型:人臉檢測和行人檢測2:YOLOv5實現人臉檢測和行人檢測(含數據集和訓練代碼)

?


5.人臉活體識別模型訓練

準備好人臉活體識別數據后,接下來就可以開始訓練活體識別分類模型了;項目模型支持Resnet18, Mobilenet以及MobileVit等常見的深度學習模型,考慮到后續我們需要將人臉活體識別模型部署到Android平臺中,因此項目選擇計算量比較小的輕量化模型mobilenet_v2;如果不用端上部署,完全可以使用參數量更大的模型,如resnet50等模型。

?整套工程項目基本結構如下:

.
├── classifier                 # 訓練模型相關工具
├── configs                    # 訓練配置文件
├── data                       # 訓練數據
├── libs           
│   ├── convertor             # 將模型轉換為ONNX、NCNN等工具
│   ├── detection             # 人臉檢測
│   ├── face_detector.py      # 人臉檢測demo
│   └── README.md               
├── demo.py                    # demo
├── README.md                  # 項目工程說明文檔
├── requirements.txt           # 項目相關依賴包
└── train.py                   # 訓練文件

(1)項目安裝

推薦使用Python3.8或Python3.10,更高版本可能存在版本差異問題,?項目依賴python包請參考requirements.txt,使用pip安裝即可:

# python3.10
beautifulsoup4==4.13.4
bs4==0.0.2
easydict==1.13
imageio==2.37.0
imgaug==0.4.0
loguru==0.7.3
matplotlib==3.10.1
numpy==1.26.4
onnx==1.17.0
onnx-simplifier==0.4.36
onnxruntime==1.21.1
onnxruntime-gpu==1.21.1
opencv-contrib-python==4.11.0.86
opencv-python==4.11.0.86
opencv-python-headless==4.11.0.86
pandas==2.2.3
pillow==10.4.0
pyarrow==19.0.1
PyYAML==6.0.2
requests==2.32.3
scikit-image==0.25.2
scikit-learn==1.6.1
scipy==1.15.2
seaborn==0.13.2
tensorboardX==2.6.2.2
#torch
#torchaudio==2.1.0+cu121
#torchvision==0.16.0+cu121
tqdm==4.67.1
Werkzeug==3.1.3
xmltodict==0.14.2
basetrainer==0.9.5
pybaseutils

項目安裝教程請參考(初學者入門,麻煩先看完下面教程,配置好開發環境):

  • 項目開發使用教程和常見問題和解決方法
  • 視頻教程:1 手把手教你安裝CUDA和cuDNN(1)
  • 視頻教程:2 手把手教你安裝CUDA和cuDNN(2)
  • 視頻教程:3 如何用Anaconda創建pycharm環境
  • 視頻教程:4 如何在pycharm中使用Anaconda創建的python環境
  • 推薦使用Python3.8或Python3.10,更高版本可能存在版本差異問題

(2)準備數據

下載人臉活體識別數據集:Face-Gesture-v1,Face-Gesture-v2,Face-Gesture-v3和Face-Gesture-test,然后解壓

?關于人臉活體識別數據集的使用說明請參考我的一篇博客:?https://blog.csdn.net/guyuealian/article/details/147820499

(3)人臉活體識別模型訓練(Pytorch)

項目在《Pytorch基礎訓練庫Pytorch-Base-Trainer(支持模型剪枝 分布式訓練)》基礎上實現了人臉活體識別分類模型訓練和測試,整套訓練代碼非常簡單操作,用戶只需要將相同類別的圖片數據放在同一個目錄下,并填寫好對應的數據路徑,即可開始訓練了。

訓練框架采用Pytorch,整套訓練代碼支持的內容主要有:

  • 目前支持的backbone有:resnet18,resnet34,resnet50, mobilenet_v2、googlenet以及mobilevit等常見的深度學習模型。其他backbone可以自定義添加
  • 訓練參數可以通過(configs/config.yaml)配置文件進行設置

修改配置文件的數據路徑:configs/?config.yaml?

  • train_data和test_data修改為自己的數據路徑
  • 注意數據路徑分隔符使用【/】,不是【\】
  • 項目不要出現含有中文字符的目錄文件或路徑,否則會出現很多異常!
# 訓練數據集,可支持多個數據集
train_data:- '/path/to/Face-Gesture/Face-Gesture-v1/image'- '/path/to/Face-Gesture/Face-Gesture-v2/image'- '/path/to/Face-Gesture/Face-Gesture-v3/image'
# 測試數據集
test_data: '/path/to/Face-Gesture/Face-Gesture-test/image'
# 類別文件
class_name: [ "face","閉眼","張嘴","低頭","側臉" ]
data_type: "labelme"
train_transform: "train"       # 訓練使用的數據增強方法
test_transform: "val"          # 測試使用的數據增強方法
crop_scale: [ 1.2,1.2 ]
work_dir: "work_space/"        # 保存輸出模型的目錄
net_type: "resnet18"       # 骨干網絡,支持:resnet18/50,mobilenet_v2,googlenet,inception_v3,mobilevit,vit_l_16,vit_b_16
width_mult: 1.0
input_size: [ 112,112 ]        # 模型輸入大小
rgb_mean: [ 0.5, 0.5, 0.5 ]    # for normalize inputs to [-1, 1],Sequence of means for each channel.
rgb_std: [ 0.5, 0.5, 0.5 ]     # for normalize,Sequence of standard deviations for each channel.
batch_size: 64
lr: 0.01                       # 初始學習率
optim_type: "SGD"              # 選擇優化器,SGD,Adam
loss_type: "CrossEntropyLoss"  # 選擇損失函數:支持CrossEntropyLoss,LabelSmooth
momentum: 0.9                  # SGD momentum
num_epochs: 120                # 訓練循環次數
num_warn_up: 10                 # warn-up次數
num_workers: 8                 # 加載數據工作進程數
weight_decay: 0.0005           # weight_decay,默認5e-4
scheduler: "multi-step"        # 學習率調整策略:multi-step,cosine
milestones: [ 30,50,100 ]       # 下調學習率方式
gpu_id: [ 0 ]                  # GPU ID
log_freq: 100                   # LOG打印頻率
progress: True                 # 是否顯示進度條
pretrained: True               # 是否使用pretrained模型
finetune: False                # 是否進行finetune

開始訓練,在終端輸入:?

python train.py -c configs/config.yaml 

???

訓練完成后,訓練集的Accuracy在99.0%以上,測試集的Accuracy在99.0%左右

(4) 可視化訓練過程

訓練過程可視化工具是使用Tensorboard,在終端(Terminal)輸入命令:

使用教程,請參考:項目開發使用教程和常見問題和解決方法

# 需要安裝tensorboard==2.5.0和tensorboardX==2.1
# 基本方法
tensorboard --logdir=path/to/log/
# 例如
tensorboard --logdir=tensorboard --logdir=/home/PKing/nasdata/release/tmp/PyTorch-Classification-Trainer/work_space/resnet18_1.0_112_112_CrossEntropyLoss_20250506_181748_8970/log

可視化效果?

??????

???????

(5) 人臉活體識別效果

訓練完成后,訓練集的Accuracy在99%以上,測試集的Accuracy在97.5%左右,下表給出已經訓練好的三個模型,其中mobilenet_v2的測試集準確率可以達到97.8682%,googlenet的準確率可以達到98.4496%,resnet18的準確率可以達到98.2558%

模型input sizeTest準確率
Mobilenet112×11299.9661
Resnet18112×11299.9322
MobileVit112×11299.9322
  • 測試圖片文件
# 測試圖片文件(目錄)
python demo.py -c work_space/mobilenet_v2_1.0_112_112_CrossEntropyLoss_20250430_182131_2868/config.yaml -m work_space/mobilenet_v2_1.0_112_112_CrossEntropyLoss_20250430_182131_2868/model/best_model_119_99.9661.pth --image_dir data/test_images
  • 測試視頻文件
# 測試視頻文件(path/to/video.mp4 測試視頻文件,如*.mp4,*.avi等)
python demo.py -c work_space/mobilenet_v2_1.0_112_112_CrossEntropyLoss_20250430_182131_2868/config.yaml -m work_space/mobilenet_v2_1.0_112_112_CrossEntropyLoss_20250430_182131_2868/model/best_model_119_99.9661.pth --video_file data/test-video.mp4
  • 測試攝像頭
# 測試攝像頭(video_file填寫USB攝像頭ID)
python demo.py -c work_space/mobilenet_v2_1.0_112_112_CrossEntropyLoss_20250430_182131_2868/config.yaml -m work_space/mobilenet_v2_1.0_112_112_CrossEntropyLoss_20250430_182131_2868/model/best_model_119_99.9661.pth --video_file 0
下面是人臉活體識別效果展示:

? ??

(6) 一些優化建議

?如果想進一步提高模型的性能,可以嘗試:

  1. ??增加訓練的樣本數據: 建議根據自己的業務場景,采集相關數據,比如采集多個人的活體識別的數據,提高模型泛化能力;
  2. 使用參數量更大的模型: 本教程使用的是mobilenet_v2模型,屬于比較輕量級的分類模型,采用更大的模型(如resnet50),理論上其精度更高,但推理速度也較慢。
  3. 嘗試不同數據增強的組合進行訓練
  4. 增加數據增強: 已經支持: 隨機裁剪,隨機翻轉,隨機旋轉,顏色變換等數據增強方式,可以嘗試諸如mixup,CutMix等更復雜的數據增強方式
  5. 樣本均衡: 原始數據活體識別類別數據并不均衡,類別face的樣本數據偏多,而其他類別數據偏少,這會導致訓練的模型會偏向于樣本數較多的類別。建議進行樣本均衡處理。
  6. 清洗數據集:原始數據已經進行人工清洗了,但依然存在一些模糊的,低質的,模棱兩可的樣本;建議你,在訓練前,再次清洗數據集,不然會影響模型的識別的準確率。
  7. 調超參: 比如學習率調整策略,優化器(SGD,Adam等)
  8. 損失函數: 目前訓練代碼已經支持:交叉熵,LabelSmoothing,可以嘗試FocalLoss等損失函數

(7) 一些運行錯誤處理方法

  • 大部分異常都可以看這里解決:項目開發使用教程和常見問題和解決方法?

  • 項目不要出現含有中文字符的目錄文件或路徑,否則會出現很多異常!!!!!!!!?


6.項目源碼下載

如需下載項目源碼,請WX關注【AI吃大瓜】,回復【活體識別】即可下載

(1)訓練版本

  1. 提供人臉活體識別數據集:Face-Gesture-v1,Face-Gesture-v2,Face-Gesture-v3和Face-Gesture-test,總數50000+的人臉活體識別數據。

  2. 支持自定義數據集進行訓練

  3. 提供人臉活體識別模型訓練代碼:train.py
  4. 提供人臉活體識別模型測試代碼:demo.py,支持眨眼(閉眼)、張嘴、點頭(低頭)、搖頭(側臉)動作識別,識別準確率可以高達99.9661%左右
  5. Demo支持圖片,視頻和攝像頭測試
  6. 項目支持模型:resnet18,resnet34,resnet50, mobilenet_v2、googlenet以及mobilevit等常見的深度學習模型。
  7. 項目源碼自帶訓練好的模型文件,無需重新訓練,可直接運行測試: python?demo.py
  8. 在普通電腦CPU/GPU上可以實時檢測和識別

(2)推理版本

推理版本不含訓練代碼和數據集

  1. 提供人臉活體識別模型測試代碼:demo.py,支持眨眼(閉眼)、張嘴、點頭(低頭)、搖頭(側臉)動作識別,識別準確率可以高達99.9661%左右
  2. Demo支持圖片,視頻和攝像頭測試
  3. 項目支持模型:resnet18,resnet34,resnet50, mobilenet_v2、googlenet以及mobilevit等常見的深度學習模型。
  4. 項目源碼自帶訓練好的模型文件,無需重新訓練,可直接運行測試: python?demo.py
  5. 在普通電腦CPU/GPU上可以實時檢測和識別

7. C++實現人臉活體識別

參考文章:人臉活體識別3:C/C++實現人臉眨眼 張嘴 點頭 搖頭識別(可實時檢測)


8. Android實現人臉活體識別

參考文章:人臉活體識別4:Android實現人臉眨眼 張嘴 點頭 搖頭識別(可實時檢測)

? ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/86747.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86747.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86747.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Webpack 自定義插件開發指南:構建流程詳解與實戰開發全攻略

一. webpack打包流程 開發 Webpack 插件的第一步,就是明確:我的插件要接入 Webpack 構建流程的哪個階段,解決什么問題。 了解流程之前首先要了解插件的兩個核心概念:compiler,compilation 1. compiler:全局…

本地部署Dify+Ragflow及使用(一)

概念說明 RAGflow: 吃透知識:將企業文檔(如技術白皮書)解析為結構化知識片段。精準檢索:當用戶提問時,從知識庫中召回最相關內容。 模型供應商: 提供大腦:為 Dify 提供生成答案的模…

2025.06.24【R語言】|clusterProfiler安裝與常見報錯FAQ全解

文章目錄 一、clusterProfiler安裝方法1. Bioconductor官方推薦2. Conda安裝(個人推薦 適合服務器/依賴復雜環境)3. 檢查安裝 二、常見依賴包安裝三、常見報錯與解決方案1. 報錯:could not find function "bitr"2. 報錯&#xff1a…

【轉】PostgreSql的鏡像地址

docker.io/postgres 項目中國可用鏡像列表 | 高速可靠的 Docker 鏡像資源 docker.io/postgrest/postgrest:v12.2.8 linux/amd64 docker.io17.34MB2025-04-04 13:14 346 docker.io/postgrest/postgrest:v12.2.12 linux/amd64 docker.io17.38MB2025-05-27 22:02 79 docker.io…

爬蟲005----Selenium框架

在總結爬蟲 🕷 框架之前,先總結一下selenium框架,也可以說是selenium庫,在自動化測試中是老生常談了(長時間??不用,已經忘記了,實際測試工作中做UI自動化的也很少了,上次搞UI自動化…

記一次 Kafka 磁盤被寫滿的排查經歷

開篇扯犢子 今天踏進辦公聽到不是同事的早安,而是“有一個好消息,一個壞消息,你想聽哪個?” 我一愣,心想“大早上,就要玩刺激的嗎?” 但是還是淡定的回復說“無所謂,哥什么場面沒見…

python多線程:各線程的輸出在控制臺中同一行原因分析

代碼例子 import threading import timedef error_worker():print("子線程開始")time.sleep(1)raise Exception("子線程出錯了!")t threading.Thread(targeterror_worker) t.start()print("主線程繼續執行,不受子線程異常影響…

Promptify與ReActAgent

一、Promptify 定位:NLP 任務的「自動化流水線」 1. 解決什么問題? 傳統 LLM 應用開發痛點: 反復調試:需手工編寫/調整 prompt 格式(如調整分隔符、示例數量)兼容性差:不同模型需重寫適配代碼…

如何將視頻從 iPhone 發送到 Android 設備

如果您想將視頻從 iPhone 發送到 Android 設備,尤其是視頻尺寸較大時,您需要一種高效的傳輸方法。本文將為您提供 7 種實用方法,讓您輕松發送大型視頻文件或短視頻片段,并且不會損失視頻質量。 第 1 部分:如何通過 iRe…

Stable Diffusion入門-ControlNet 深入理解 第四課:風格遷移與重繪控制模型——讓AI也有“藝術天賦”!

大家好,歡迎回到 Stable Diffusion入門-ControlNet 深入理解 系列的第四課! 如果你還沒有看過上一課,趕緊補課哦:Stable Diffusion入門-ControlNet 深入理解 第三課。 上一課我們講解了 ControlNet 結構類模型,今天我…

國產鴻蒙系統開放應用側載,能威脅到Windows地位嗎?

上個月華為正式發布了 HarmonyOS PC 操作系統,關于生態方面大家其實一直蠻擔心。 例如不兼容Windows應用、不支持應用側載等。 不過,在最近舉行的華為開發者大會 2025 電腦分論壇上,華為終端 BG 平板與 PC 產品線總裁(朱懂東&am…

Linux登錄檢查腳本

登錄檢查腳本 提高兼容性(適應不同Linux發行版)增強可視化效果和可讀性增加關鍵資源警戒提示優化表格對齊和顏色使用添加系統安全狀態檢查 #!/bin/bash# 改進版系統登錄提示腳本 # 優化點:兼容性增強、資源警戒提示、表格美化、安全狀態檢查…

jenkinsfile調用groovy

先決條件 gitlab存放jenkinsfile以及groovy代碼,jenkins我個人使用的是2.486具體的部署方法自己搞定,一堆文檔. gitlab創建一個devops8項目組以及my-jenkins-demo2項目用于演示過程 創建群組 這里已經創建好相關群組. 進入群組創建新項目 創建一個空白項目 配置項目選項 說明…

Ubuntu20.04離線安裝Realtek b852無線網卡驅動

最近有個項目,需要在 Ubuntu20.04 LTS 下開發,首先是安裝 Linux,我們可以從下面的網址下載: https://releases.ubuntu.com/20.04/ 本以為一切順利,結果剛開始就給我整不會了。我的電腦是聯想設計師GeekPro7&#xff…

1 Studying《Computer Architecture A Quantitative Approach》5-7

目錄 5 Thread-Level Parallelism 5.1 Introduction 5.2 Centralized Shared-Memory Architectures 5.3 Performance of Symmetric Shared-Memory Multiprocessors 5.4 Distributed Shared-Memory and Directory-Based Coherence 5.5 Synchronization: The Basics 5.6 M…

融智興科技: RFID超高頻柔性抗金屬標簽解析

在當今科技飛速發展的時代, RFID技術憑借其獨特的優勢,在眾多領域得到了廣泛應用。然而,在金屬環境中,傳統RFID標簽往往面臨著諸多挑戰,如信號干擾、識別距離短等問題。融智興科技推出的RFID 超高頻柔性抗金屬標簽&…

PHP Error: 深入解析與解決策略

PHP Error: 深入解析與解決策略 引言 PHP作為世界上最流行的服務器端腳本語言之一,在全球范圍內被廣泛使用。然而,在PHP的開發過程中,錯誤處理是一個非常重要的環節。本文將深入探討PHP錯誤處理的相關知識,包括錯誤類型、錯誤配置、錯誤日志以及常見的錯誤解決策略。 PH…

零基礎langchain實戰二:大模型輸出格式化成json

零基礎langchain實戰一:模型、提示詞和解析器-CSDN博客 書接上文 大模型輸出格式化 在下面例子中:我們需要將大模型的輸出格式化成json。 import os from dotenv import load_dotenvload_dotenv() # 加載 .env 文件 api_key os.getenv("DEEPS…

高通手機跑AI系列之——人臉變化算法

環境準備 手機 測試手機型號:Redmi K60 Pro 處理器:第二代驍龍8移動--8gen2 運行內存:8.0GB ,LPDDR5X-8400,67.0 GB/s 攝像頭:前置16MP后置50MP8MP2MP AI算力:NPU 48Tops INT8 &&…

TortoiseSVN 安裝教程

前言 TortoiseSVN 是一款流行的 免費開源 的 Subversion (SVN) 客戶端,專門為 Windows 操作系統 設計。它通過 Windows 資源管理器集成 提供直觀的圖形化界面,使用戶可以輕松管理版本控制的文件和目錄,無需使用命令行。 主要特點 資源管理器…