0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

請問如何在OriginBot上實(shí)現(xiàn)人臉識別呢?

新機(jī)器視覺 ? 來源:古月居 ? 2024-01-22 16:24 ? 次閱讀

人臉識別

大家在生活中經(jīng)常會看到在我們進(jìn)入商城時,門口會有相機(jī)在拍攝我們,并且會統(tǒng)計有多少人數(shù)進(jìn)入商店,它是如何進(jìn)行人數(shù)量統(tǒng)計的呢?

這就是是計算機(jī)視覺領(lǐng)域的一項關(guān)鍵技術(shù)——人臉識別,它使計算機(jī)系統(tǒng)能夠自動檢測、識別和驗(yàn)證圖像或視頻中的人臉。

人臉識別通過分析圖像中的人臉特征來執(zhí)行各種視覺任務(wù)。因?yàn)槠渲匾?,所以解決方法很多,如卷積神經(jīng)網(wǎng)絡(luò)(CNN)、級聯(lián)分類器等來提取和比對人臉特征。這些算法能夠處理各種光照、姿勢和表情條件下的人臉,從而實(shí)現(xiàn)高度準(zhǔn)確的識別。

硬件環(huán)境

OriginBot智能機(jī)器人

PC:Ubuntu (≥20.04) + ROS2 (≥Foxy)

代碼

 import cv2
  import cv_bridge
  import rclpy
  from rclpy.node import Node
  from sensor_msgs.msg import Image


  class FaceDetection(Node):
    def __init__(self):
      super().__init__('face_detection')
      self.classifier_path = "haarcascade_frontalface_default.xml"


      self.bridge = cv_bridge.CvBridge()
      self.face_cascade = cv2.CascadeClassifier(self.classifier_path)
      self.image_sub = self.create_subscription(Image, '/image_raw', self.image_callback, 10)
      self.pub = self.create_publisher(Image, '/camera/process_image', 10)


    def image_callback(self, msg):
      image = self.bridge.imgmsg_to_cv2(msg, 'bgr8')
      gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
      faces = self.face_cascade.detectMultiScale(
        gray,
        scaleFactor=1.2,
        minNeighbors=3,
        minSize=(20, 20)
      )


      if len(faces) > 0:
        for (x, y, w, h) in faces:
          cv2.rectangle(image, (x, y), (x + w, y + h), (255, 0, 0), 2)


      self.pub.publish(self.bridge.cv2_to_imgmsg(image, 'bgr8'))


  def main(args=None):
    rclpy.init(args=args)
    face_detection = FaceDetection()
    rclpy.spin(face_detection)
    face_detection.destroy_node()
    rclpy.shutdown()


  if __name__ == '__main__':
    main()

代碼分析

?Haar Cascade 分類器:Haar Cascade 分類器是一種對象檢測器,通過訓(xùn)練來識別特定的對象,這里主要用于人臉檢測。

self.classifier_path = “haarcascade_frontalface_default.xml” 指定了已經(jīng)訓(xùn)練好的人臉分類器的路徑。

?ROS2節(jié)點(diǎn)初始化:rclpy.init(args=args) 和 rclpy.shutdown() 分別用于初始化和關(guān)閉ROS2節(jié)點(diǎn)。

?圖像訂閱和發(fā)布:
self.image_sub = self.create_subscription(Image, ‘/image_raw’, self.image_callback, 10) 用于訂閱原始圖像。

self.pub = self.create_publisher(Image, ‘/camera/process_image’, 10) 用于發(fā)布處理后的圖像。

?圖像處理回調(diào)函數(shù):image_callback(self, msg) 處理訂閱的圖像,首先將ROS消息轉(zhuǎn)換為OpenCV圖像。

?將圖像轉(zhuǎn)換為灰度圖像:gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)。

?使用 Haar Cascade 分類器檢測人臉:faces = self.face_cascade.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=3, minSize=(20, 20))。

?如果檢測到人臉,用矩形標(biāo)記出來:cv2.rectangle(image, (x, y), (x + w, y + h), (255, 0, 0), 2)。最后,將處理后的圖像發(fā)布出去:self.pub.publish(self.bridge.cv2_to_imgmsg(image, ‘bgr8’))。

?ROS2節(jié)點(diǎn)主函數(shù):def main(args=None): 主函數(shù)初始化節(jié)點(diǎn),并通過 rclpy.spin(face_detection) 進(jìn)行節(jié)點(diǎn)的運(yùn)行。

灰度圖像的重要性:

簡要說明

使用opencv實(shí)現(xiàn)人臉識別已經(jīng)是一個特別成熟的技術(shù)了,這里拋磚引玉希望大家出一個更nice的版本呀!

1、為什么要使用 Haar Cascade 分類器進(jìn)行人臉檢測,Haar Cascade分類器的幾個參數(shù)是什么含義?

Haar Cascade 分類器是一種經(jīng)過訓(xùn)練的對象檢測器,特別適用于檢測面部特征,如人臉和眼睛。它具有高度準(zhǔn)確的檢測性能,因此廣泛用于計算機(jī)視覺任務(wù)。Haar Cascade 分類器的優(yōu)勢在于它可以在不同尺度和旋轉(zhuǎn)下檢測對象,而且速度相對較快。

scaleFactor 參數(shù)用于指定每個圖像尺度上要縮小圖像的比例。這使得分類器能夠檢測不同尺寸的對象,而不僅僅適用于特定尺寸的對象。通過在不同尺寸上運(yùn)行分類器,可以檢測到遠(yuǎn)處和近處的對象,使檢測更加全面。

minNeighbors 參數(shù)用于指定檢測到目標(biāo)后,要保留的鄰近目標(biāo)的最小數(shù)量。這有助于去除重疊的檢測結(jié)果。較大的值會過濾掉一些檢測結(jié)果,以確保只返回高置信度的檢測結(jié)果。這有助于減少誤報。

2、為什么需要將輸入圖像轉(zhuǎn)換為灰度圖像?

Haar Cascade 分類器通常在灰度圖像上運(yùn)行,因?yàn)榛叶葓D像只包含亮度信息,而不包含顏色信息。這簡化了圖像處理,并使分類器能夠更好地識別對象的邊緣和紋理特征。此外,灰度圖像的計算量更小,因此處理速度更快。







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標(biāo)題:如何在OriginBot上實(shí)現(xiàn)人臉識別

文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    人臉識別技術(shù)原理解析

    概念:哪一部分?jǐn)?shù)據(jù)是水杯,哪一部分是書本,哪一部分是人臉,這是視覺模式識別中的粗分類問題?! 《?b class='flag-5'>人臉識別,需要在所有機(jī)器認(rèn)為是人臉的那部分?jǐn)?shù)
    發(fā)表于 12-23 23:17

    你周圍有人臉識別嗎?

    什么地方?該怎么用?今天就給大家普及一下人臉識別的知識。人臉識別應(yīng)用在家居和小區(qū)發(fā)面,想到安全,大家肯定第一時間都會想到所住地方的安全。首
    發(fā)表于 06-30 13:54

    加密芯片在人臉識別算法的保護(hù)與應(yīng)用

    引爆人臉識別的市場。那什么是人臉識別,具體有什么作用?
    發(fā)表于 10-24 10:57

    LabVIEW人臉識別設(shè)計

    五一來臨之際,炎炎夏日到處車水馬龍,是不是在家好好學(xué)習(xí)的最佳時機(jī)?所以第二期,LabVIEW人臉識別設(shè)計“3天挑戰(zhàn)賽”,五一3天時間完成挑戰(zhàn)學(xué)費(fèi)全額退款!3天get新技能,是不是比吃雞還劃算。在
    發(fā)表于 04-28 10:00

    【AI技能解析】人臉識別是怎么做到的?

    識別支付場景】人臉識別這么火,那么它到底是怎么實(shí)現(xiàn)?看大牛為您解鎖人臉
    發(fā)表于 03-16 11:25

    如何去實(shí)現(xiàn)一種基于PCA算法的人臉識別程序

    如何去實(shí)現(xiàn)一種基于PCA算法的人臉識別程序?基于IAR開發(fā)環(huán)境的CC1110F32的調(diào)試程序怎樣去編寫?
    發(fā)表于 11-04 07:02

    在嵌入式開發(fā)板如何用opencv調(diào)用caffe模型進(jìn)行人臉識別并截圖

    在嵌入式開發(fā)板如何用opencv調(diào)用caffe模型進(jìn)行人臉識別并截圖?其代碼該如何去實(shí)現(xiàn)
    發(fā)表于 12-27 06:56

    何在Core-1126-JD4搭建一套類似的服務(wù)完成云人臉識別

    何在Core-1126-JD4搭建一套類似的服務(wù)完成云人臉識別
    發(fā)表于 02-21 07:19

    如何實(shí)現(xiàn)基于ncnn的RK3399的mtcnn人臉檢測?

    何在RK3399燒錄安卓系統(tǒng)?如何實(shí)現(xiàn)基于ncnn的RK3399的mtcnn人臉檢測?
    發(fā)表于 03-04 07:29

    如何對RK3399的HDMI進(jìn)行人臉識別

    如何對RK3399的HDMI進(jìn)行人臉識別?如何對識別結(jié)果進(jìn)行模糊化處理?
    發(fā)表于 03-07 12:48

    何在OpenHarmony使用SeetaFace2人臉識別庫?

    何在OpenHarmony使用SeetaFace2人臉識別庫?簡介相信大部分同學(xué)們都已了解或接觸過OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)了,
    發(fā)表于 08-22 17:46

    用dlib實(shí)現(xiàn)人臉識別的技巧

    很多人都認(rèn)為人臉識別是一項非常難以實(shí)現(xiàn)的工作,看到名字就害怕,然后心懷忐忑到網(wǎng)上一搜,看到網(wǎng)上N頁的教程立馬就放棄了。這些人里包括曾經(jīng)的我自己。其實(shí)如果如果你不是非要深究其中的原理,只是要實(shí)現(xiàn)
    的頭像 發(fā)表于 11-01 16:45 ?2.7w次閱讀

    人臉識別技術(shù)原理與實(shí)現(xiàn)方式

    隨著大數(shù)據(jù)時代的到來,“人臉”也將成為數(shù)據(jù)的一部分,人臉識別如何實(shí)現(xiàn)?本文將為大家從人臉檢測、人臉
    發(fā)表于 02-05 11:16 ?2w次閱讀
    <b class='flag-5'>人臉</b><b class='flag-5'>識別</b>技術(shù)原理與<b class='flag-5'>實(shí)現(xiàn)</b>方式

    人臉識別門禁系統(tǒng)如何安裝?

    人臉識別技術(shù)的應(yīng)用越來越廣泛,尤其在門禁系統(tǒng)中的應(yīng)用可以說如火如荼,那么現(xiàn)在的門禁系統(tǒng)一般都需要增加人臉識別功能了,人臉
    發(fā)表于 03-29 15:15 ?1w次閱讀
    <b class='flag-5'>人臉</b><b class='flag-5'>識別</b>門禁系統(tǒng)如何安裝<b class='flag-5'>呢</b>?

    人臉識別是什么_人臉識別技術(shù)原理

    人臉識別是什么,人臉識別技術(shù)原理是如何的,它又是若何一步步實(shí)現(xiàn)的,人臉
    發(fā)表于 09-27 15:49 ?5457次閱讀
    <b class='flag-5'>人臉</b><b class='flag-5'>識別</b>是什么_<b class='flag-5'>人臉</b><b class='flag-5'>識別</b>技術(shù)原理