(四)基于keras的多目標人臉識別之模型測試

github地址:https://github.com/haoxinl/face_detect

博客地址:http://haoxinl.club/2018/02/19/face-detect-4/

前言

本文主要介紹模型的測試旭从,主要分為圖片測試與視頻測試兩部分。

正文

圖片測試

代碼如下:

import cv2
from  train_model import Model
from  read_data import read_name_list

class img_reader(object):
    def __init__(self):
        self.model = Model()
        self.model.load()
        self.img_size = 128


    def build_img(self):
        face_cascade = cv2.CascadeClassifier('C:\pylearning\ml&dl\\face_detect\config\haarcascade_frontalface_alt.xml')
        #讀取dataset數(shù)據(jù)集下的子文件夾名稱
        name_list = read_name_list('face')

        img=cv2.imread('test.jpg')

        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #圖像灰化
        faces = face_cascade.detectMultiScale(gray, 1.3, 5)#識別人臉

        for (x, y, w, h) in faces:
            ROI = gray[x:x + w, y:y + h]
            ROI = cv2.resize(ROI, (self.img_size, self.img_size), interpolation=cv2.INTER_LINEAR)
            label,prob = self.model.predict(ROI)  #利用模型對cv2識別出的人臉進行比對
            if prob >0.8:    #如果模型認為概率高于70%則顯示為模型中已有的label
                show_name = name_list[label]
            else:
                show_name = 'Stranger'
            cv2.putText(img, show_name, (x, y - 20), cv2.FONT_HERSHEY_SIMPLEX, 1, 255, 2)  #顯示名字
            img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
        cv2.imwrite('new.jpg',img)#在人臉區(qū)域畫一個正方形出來
        cv2.imshow("face", img)
        cv2.waitKey(0)

與獲取人臉時的操作幾乎相同,不多介紹

視頻測試

import cv2
from  train_model import Model
from  read_data import read_name_list

class Camera_reader(object):
    #在初始化camera的時候建立模型珍语,并加載已經(jīng)訓(xùn)練好的模型
    def __init__(self):
        self.model = Model()
        self.model.load()
        self.img_size = 128

    def build_camera(self):
        #opencv文件中人臉級聯(lián)文件的位置藤乙,用于幫助識別圖像或者視頻流中的人臉
        face_cascade = cv2.CascadeClassifier('C:\pylearning\ml&dl\\face_detect_v0\config\haarcascade_frontalface_alt.xml')
        #讀取dataset數(shù)據(jù)集下的子文件夾名稱
        name_list = read_name_list('face')

        #打開攝像頭并開始讀取畫面
        cameraCapture = cv2.VideoCapture('C:\pylearning\ml&dl\\face_detect_v0\data_script\output3.mp4')
        success, frame = cameraCapture.read()

        while success and cv2.waitKey(1) == -1 :
             success, frame = cameraCapture.read()
             gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #圖像灰化
             faces = face_cascade.detectMultiScale(gray, 1.3, 5)#識別人臉

             for (x, y, w, h) in faces:
                ROI = gray[x:x + w, y:y + h]
                ROI = cv2.resize(ROI, (self.img_size, self.img_size), interpolation=cv2.INTER_LINEAR)
                label,prob = self.model.predict(ROI)  #利用模型對cv2識別出的人臉進行比對
                if prob >0.85:    #如果模型認為概率高于70%則顯示為模型中已有的label
                    show_name = name_list[label]
                else:
                    show_name = 'Stranger'
                cv2.putText(frame, show_name, (x, y - 20), cv2.FONT_HERSHEY_SIMPLEX, 1, 255, 2)  #顯示名字
                frame = cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2)  #在人臉區(qū)域畫一個正方形出來
             cv2.imshow("Camera", frame)

        cameraCapture.release()
        cv2.destroyAllWindows()

結(jié)語

至此迁客,所有的內(nèi)容都已經(jīng)結(jié)束了起惕,我們已經(jīng)成功實現(xiàn)了一個多目標人臉識別器盅粪,不過接下來的路還很長柜与,一起加油吧场躯!
至于內(nèi)容的問題,本項目只提供一個思路旅挤,具體細節(jié)肯定不甚清楚踢关,有一定基礎(chǔ)后比較適合閱讀,還清多多包涵粘茄。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末签舞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子柒瓣,更是在濱河造成了極大的恐慌儒搭,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芙贫,死亡現(xiàn)場離奇詭異搂鲫,居然都是意外死亡,警方通過查閱死者的電腦和手機磺平,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門魂仍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拣挪,你說我怎么就攤上這事擦酌。” “怎么了菠劝?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵赊舶,是天一觀的道長。 經(jīng)常有香客問我,道長笼平,這世上最難降的妖魔是什么园骆? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮寓调,結(jié)果婚禮上遇伞,老公的妹妹穿的比我還像新娘。我一直安慰自己捶牢,他們只是感情好鸠珠,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著秋麸,像睡著了一般渐排。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上灸蟆,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天驯耻,我揣著相機與錄音,去河邊找鬼炒考。 笑死可缚,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的斋枢。 我是一名探鬼主播帘靡,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼瓤帚!你這毒婦竟也來了描姚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤戈次,失蹤者是張志新(化名)和其女友劉穎轩勘,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體怯邪,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡绊寻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了悬秉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澄步。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖搂捧,靈堂內(nèi)的尸體忽然破棺而出驮俗,到底是詐尸還是另有隱情懂缕,我是刑警寧澤允跑,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響聋丝,放射性物質(zhì)發(fā)生泄漏索烹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一弱睦、第九天 我趴在偏房一處隱蔽的房頂上張望百姓。 院中可真熱鬧,春花似錦况木、人聲如沸垒拢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽求类。三九已至,卻和暖如春屹耐,著一層夾襖步出監(jiān)牢的瞬間尸疆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工惶岭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留寿弱,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓按灶,卻偏偏與公主長得像症革,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鸯旁,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容