【深度學習實戰—8】:基于MediaPipe的人臉檢測

?博客主頁:王樂予🎈
?年輕人要:Living for the moment(活在當下)!💪
🏆推薦專欄:【圖像處理】【千錘百煉Python】【深度學習】【排序算法】

目錄

  • 😺一、MediaPipe概述
  • 😺二、MediaPipe人臉檢測概述
  • 😺三、程序實現
  • 😺四、檢測結果

😺一、MediaPipe概述

MediaPipe 是一款由 Google Research 開發并開源的多媒體機器學習模型應用框架。

MediaPipe目前支持的解決方案(Solution)及支持的平臺如下圖所示:
在這里插入圖片描述

😺二、MediaPipe人臉檢測概述

MediaPipe 人臉檢測器可以檢測圖片或視頻中的人臉。可以使用此任務在幀中定位人臉和面部特征。此任務使用可處理單張圖片或連續圖片流的機器學習 (ML) 模型。該任務會輸出人臉位置以及以下面部關鍵點:左眼、右眼、鼻尖、嘴巴、左眼區域和右眼區域。

MediaPipe人臉檢測所用模型是BlazeFace的變體,BlazeFace 是谷歌19年提出的一種針對移動 GPU 推斷進行優化的輕量級且精確的人臉檢測器。

BlazeFace: Sub-millisecond Neural Face Detection on Mobile GPUs

😺三、程序實現

import cv2
import mediapipe as mpmp_face_detection = mp.solutions.face_detection
face_detection = mp_face_detection.FaceDetection(min_detection_confidence=0.5, model_selection=1)cap = cv2.VideoCapture('../test.mp4')while cap.isOpened():success, image = cap.read()# Convert color space because MediaPipe requires images in RGB formatimage = cv2.cvtColor(cv2.flip(image, 1), cv2.COLOR_BGR2RGB)# Perform facial detectionresults = face_detection.process(image)# Convert back to BGR so that OpenCV can display imagesimage = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)# Draw detected facial bounding boxesif results.detections:for detection in results.detections:mp_drawing = mp.solutions.drawing_utilsmp_drawing.draw_detection(image, detection, mp_drawing.DrawingSpec(thickness=4, circle_radius=2, color=(48, 255, 159)))cv2.imshow('MediaPipe Face Detection', image)if cv2.waitKey(1) & 0xFF == ord('q'):breakcap.release()
cv2.destroyAllWindows()

😺四、檢測結果

在這里插入圖片描述

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

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

相關文章

軟件3班20240527

JDK 版本與 Tomcat 的 兼容性

rk3568_spinlock

文章目錄 前言1、spinlock是什么?2、自旋鎖實驗2.1源碼2.2 結果圖總結前言 本文記錄在rk3568開發板做的自旋鎖實驗。通過自旋鎖控制state變量來限制只有一個應用程序來打開驅動設備。 1、spinlock是什么? spinlock稱為自旋鎖,如果獲取不到資源,就只能一直傻傻地等待資源被…

實現銷售與客流雙增長!看看社區零售“排隊王”如何成為頂流?

5月18日至5月26日,北京華聯BHGMall燃情推出了一年一度的2024 Need(你的)BHGDay,接棒“五一”熱潮,獻禮“520”,通過韓式俯拍機、人生四宮格拍攝大賽、真合拍星派對、超級品牌日等豐富多彩的線上線下活動&am…

Python心得(待補充)

Python編程習慣 打開jupyter notebook,用于測試一些小的代碼塊或者函數 Python學習的一些好網站 對于內容少的可以看一遍 對于內容多的,可以當工具書檢索使用 下列網站的知識涵蓋度由淺到深,可以按照(暫定)順序逐個進行檢索,即先…

dynamic與指針

C類型父類與子類的轉換--dynamic_cast - ren_zhg1992 - 博客園 (cnblogs.com) #include <iostream> using namespace std;class Base { public:Base() {};virtual void Show() { cout << "This is Base calss"; } }; class Derived :public Base { publ…

迷你手持小風扇哪個牌子質量好又實惠?這五款不踩雷推薦!

每年夏天&#xff0c;迷你手持小風扇作為消暑神器都會成為市場上的熱銷產品。然而&#xff0c;由于選購經驗有限&#xff0c;許多消費者在面對眾多品牌和型號時&#xff0c;往往難以判斷哪個牌子的迷你小風扇既質量好又價格實惠。在追求性價比的同時&#xff0c;我們也不應忽視…

【設計模式】JAVA Design Patterns——Data Access Object(數據訪問對象模式)

&#x1f50d;目的 對象為某種類型的數據庫或其他持久性機制提供了抽象接口。 &#x1f50d;解釋 真實世界例子 有一組客戶數據需要持久化到數據庫中。 我們需要整個額外的增刪改查操作以便操作客戶數據。 通俗描述 DAO是我們通過基本持久性機制提供的接口。 維基百科 在計算機…

【云原生】kubernetes中的認證、權限設置---RBAC授權原理分析與應用實戰

?? 歡迎大家來到景天科技苑?? &#x1f388;&#x1f388; 養成好習慣&#xff0c;先贊后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者簡介&#xff1a;景天科技苑 &#x1f3c6;《頭銜》&#xff1a;大廠架構師&#xff0c;華為云開發者社區專家博主&#xff0c;…

基于UDP的TFTP文件傳輸-實現網盤上傳下載功能

數據傳輸模式&#xff1a;octet(二進制模式) #include<head.h> char* down_up_request(char* buf,char* filename,int rw,int sockfd,struct sockaddr_in in); int download(struct sockaddr_in in,char* filename,char* buf,int sockfd); int upload(struct sockaddr_in…

Flask教程4:Flask數據交互

文章目錄 使用flask處理表單flash閃現的使用Flask實現文件上傳Session的使用為什么session比cookie安全?設置session獲取session的值刪除session的值或清空session所有內容 使用flask處理表單 傳統的前端通用表單&#xff0c;需要前后端共同完成操作&#xff0c;前端需要使用…

百川大模型拿下國產第一,AI助手「百小應」上線,比Kimi強不少

最近幾天&#xff0c;國內 AI 創業公司正在連續刷新大模型的能力上限。 5 月 22 日&#xff0c;百川智能發布最新一代基座大模型 Baichuan 4&#xff0c;同時推出了首款 AI 助手「百小應」。 相較 1 月份發布的 Baichuan 3&#xff0c;新一代模型在各項能力上均有大幅提升&am…

如何與“病態”的人建立友誼:一種基于理解與接納的視角

在我們的生活中&#xff0c;我們經常會遇到一些行為舉止讓我們感到不適或難以理解的人。這些人可能因為他們的某些行為被標簽為“病態”&#xff0c;但真的應該如此簡單地對他們進行評判嗎&#xff1f;本文將探討如何與被視為“病態”的人建立友誼&#xff0c;以及為什么這種接…

分塊優化思想

適用場景 將長區間&#xff08;n&#xff09;的順序枚舉查詢優化至 n \sqrt{n} n ?個塊的順序枚舉&#xff0c;這樣單次查詢枚舉的數量會直接從O&#xff08;n&#xff09;降低至O&#xff08; n \sqrt{n} n ?&#xff09;。 實現手段&#xff1a; &#xff08;1&#xff09…

【云擎未來,智信天下】移動云服務器Docker部署+遠程連接Redis

文章目錄 引言&#xff1a; 移動云&#xff1a;云擎未來&#xff0c;智信天下一、什么是Redis&#xff1f;二、Redis 與其他 key-value 存儲有什么不同&#xff1f;Redis 架構 三、環境準備四、部署流程使用Redis Desktop Manager遠程連接操作數據庫總結與未來展望云擎未來&…

安卓Bug總結

為什么寫這篇文章 安卓十年開發遇到過得Bug做一個總結&#xff0c;大同小異&#xff0c;總結教訓。 這里存放BUG目錄列表 文章列表內容關鍵字Gradle常見問題及總結包括以下問題&#xff1a;gradle插件與gradle home版本關系錯誤、Gradle下載太慢、Executionfailed forJetifyTr…

java nio FileChannel堆內堆外數據讀寫全流程分析及使用(附詳細流程圖)

這里是小奏,覺得文章不錯可以關注公眾號小奏技術 背景 java nio中文件讀寫不管是普通文件讀寫&#xff0c;還是基于mmap實現零拷貝&#xff0c;都離不開FileChannel這個類。 隨便打開RocketMQ 源碼搜索FileChannel 就可以看到使用頻率 kafka也是 所以在java中文件讀寫FileCh…

CRC校驗(循環冗余校驗 Cyclic Redundancy Check)(以Modbus通信為例)

文章目錄 CRC校驗在Modbus通信中的應用介紹CRC校驗的基本原理校驗原理核心多項式 CRC在Modbus通信中的實際應用數據格式校驗流程1. 發送方&#xff1a;計算數據包&#xff08;不包括CRC校驗碼&#xff09;的CRC校驗碼&#xff0c;然后將校驗碼附加到數據包的末尾。2. 接收方&am…

集合的概述

java集合框架(Java Collections Framework)為開發者提供了一系列通用容器&#xff0c;所謂容器就是可以容納其他對象的對象&#xff0c;在jdk1.2開始&#xff0c;就提供了通用容器。 1.Java集合框架的概述 容器是用于容納其他對象的對象&#xff0c;因此基本數據類型無法直接使…

聚數力 以數興 | 與“閩”同行,共話數字未來

閩江之畔&#xff0c;數智騰飛。5月24日&#xff0c;第七屆數字中國建設峰會在海峽國際會展中心盛大舉辦。本屆展會的主題是“釋放數據要素價值&#xff0c;發展新質生產力”&#xff0c;由國家發展改革委、國家數據局、福建省人民政府等單位共同主辦&#xff0c;福州市人民政府…

SVD求解Ax=0

源于計算機視覺life的LiDAR視覺IMU多傳感器融合SLAM&#xff1a;原理推導源碼逐行詳解項目實戰 SVD求解Ax0 首先&#xff0c;我們需要了解四元數的基本概念。四元數是由三個虛部和一個實部組成的復數擴展&#xff0c;可以用來表示三維空間中的旋轉。四元數的乘法規則如下&…