有一些好用的comupter vision libray , 讓寫APP 變得很容易, 今天介紹人物(人臉)識別, 其實只要少少的幾行就可以做到準度可用的APP

   使用python 3.6

0. 安裝visual studio 2019, 2022, 含cmake 的套件

1. 安裝: dlib

    pip install cmake

    pip install dlib

# 如果安裝不成功, 可能是0, 沒安裝好,.. (python 環境下紅色的字, 就是有錯)

2. 安裝: face recognition

   pip install face-recognition

# python 下使用時要用 import face_recognition

3. install opencv-python

#順利的話, 這樣就成功了. 如果還有問題跟0有關. 再想方法解決

 

 

二. 使用方法:

   0. import face_recognition

   1. read ref image files

       picture = face_recognition.load_image_file("path/face1.jpg")

   2. calculate 特徵值 : 得到128 向量

       face_encode= face_recognition.face_encodings(picture)[0]

   3. read 待測影像&calculate 特徵值

       cpicture = face_recognition.load_image_file("path/current_face.jpg")

       cface_encode= face_recognition.face_encodings(picture)[0]

  4. 使用單一測試結果, 或是找referece image files 的特徵值的最小. 就是最match 的人物

       one=[face_encode, face_encode1. face_encode2, face_encode3,face_encode4]

       distance = face_recognition.api.face_distance(one,  cface_encoding)  #可以一次算出 n 個圖片的距離, 之後可以找最小的, 或是平均最小的臉, 可以一個人有數張reference 的圖當golden

       distance 最小值應要< 0.4 信心度才可信任. (除非影像的品質不好, 數字可以到0.45~0.5 就當作識別成功.

# face_recognition_load_image_file 是BGR format, 所以如果是使用 opencv 讀進來的影像要先轉成 BGR. 才可以給face_encodings 使用

           frameBGR = cv.cvtColor(frame,cv.COLOR_RGB2BGR) # import opencv cv

 

 

arrow
arrow
    創作者介紹
    創作者 cianfen 的頭像
    cianfen

    cianfen的部落格

    cianfen 發表在 痞客邦 留言(0) 人氣()