2023年,肆虐全球的新冠肺炎讓我們的生活按下了暫停鍵,如今全球疫情形式依舊不容樂觀。
由於疫情的影響,人臉口罩檢測系統的開發成為很多人爭相開發的一種演算法。很多公司或者個人都開源了他們很多的**或者sdk。大家在github或者各種平台上都能夠找到很多的資源。
系統 windows 10
語言 python 3.7
第三方庫 opencv
# 1.待**
test_img_path =
["115.png"
]# 2.載入模型
module = hub.module(name=
"pyramidbox_lite_mobile_mask"
)# 3.**
input_dict =
results = module.face_detection(data=input_dict)
執行上述**後我們可以在資料夾detection_result中得到我們的檢測結果
中no mask表示沒有佩戴口罩, no mask旁邊的數字代表可信度。
通過查閱其他開源到csdn的**,我根據上述**,利用opencv第三方庫呼叫膝上型電腦自帶攝像頭,我並利用第三方庫tkinter編寫了gui介面,具體**如下:
from tkinter import
*import cv2 as cv
from pil import image, imagetk
import paddlehub as hub
#攝像機設定
#0是代表攝像頭編號,只有乙個的話預設為0
capture=cv.videocapture(0)
defgetframe()
: ref,frame=capture.read(
) cv.imwrite(tempimagepath,frame)
defclosecamera()
: capture.release(
)#介面相關
window_width=
1280
window_height=
960image_width=
int(window_width*
0.8)
image_height=
int(window_height*
0.8)
imagepos_x=
int(window_width*
0.2)
imagepos_y=
int(window_height*
0.1)
butpos_x=
600butpos_y=
800top=tk(
)top.wm_title(
"mask recognition"
)top.geometry(
str(window_width)
+'x'
+str
(window_height)
)def
tkimage
(module)
: ref,frame=capture.read(
) input_dict=
results = module.face_detection(data=input_dict)
for result in results:
x1=int(result[
'data'][
'left'])
y1=int(result[
'data'][
'top'])
x2=int(result[
'data'][
'right'])
y2=int(result[
'data'][
'bottom'])
k2=result[
'data'][
'label'
]if k2==
'mask'
: frame=cv.rectangle(frame,
(x1,y1)
,(x2,y2),(
0,255,0)
,2) cv.puttext(frame, k2,
(x1 -
5, y1 -10)
, cv.font_hershey_plain,
1.0,(0
,255,0
),1)
else
: frame=cv.rectangle(frame,
(x1,y1)
,(x2,y2),(
0,0,
255),2
) cv.puttext(frame, k2,
(x1 -
5, y1 -10)
, cv.font_hershey_plain,
1.0,(0
,0,255),
1)cvimage = cv.cvtcolor(frame, cv.color_bgr2rgba)
pilimage=image.fromarray(cvimage)
pilimage = pilimage.resize(
(image_width, image_height)
,image.antialias)
tkimage = imagetk.photoimage(image=pilimage)
return tkimage
#控制項定義
canvas =canvas(top,bg=
'white'
,width=image_width,height=image_height)
#繪製畫布
#控制項位置設定
canvas.place(x=imagepos_x,y=imagepos_y)
if __name__==
"__main__"
: module=hub.module(name=
"pyramidbox_lite_mobile_mask"
)while
(true):
picture=tkimage(module)
canvas.create_image(0,
0,anchor=
'nw'
,image=picture)
top.update(
) top.after(
100)
top.mainloop(
) closecamera(
)
執行上述程式後,我們即可得到下述軟體介面,如圖所示:
這些就是我做出來的一些成果,希望對大家有用。
百度飛槳心得Final 總結
在這次課程之後,我說不上對深度學習,機器學習了解了多深。但這次課程是一次敲門磚,帶我走進了ml,dl的大門,了解到了這個領域是怎麼運作的,對具體知識的要求,以及 數學的美。在這裡我想總結一下本課程的主要內容,分享給大家,同時便於自己日後翻看。這個專案可以看作是機器學習界的 hello world 通...
百度飛槳(Paddle)使用初體驗
該平台有大量的課程 比賽可以參與,也有詳細的新手指導,更有免費的gpu可以蹭,詳細內容大家自己開啟就可以看到了 裡面有飛槳框架使用的詳細教程與說明,也可以搜尋飛槳api埠呼叫的說明,很方便啦 飛槳本地部署快速安裝 install quick 本次的課程是cv入門,我作為一條研二狗感到汗顏 馬上就要找...
paddlepaddle百度飛槳學習心得
還有詳細的安裝模組講解,簡單案例,經典案例,高階內容等等 然後是專案裡自己最近嘗試修改過的部分 1.資料打亂 老師提供的案例是先得到訓練集資料的索引,然後將索引打亂,從而達到打亂訓練集資料的目的。打亂訓練集資料的原因是 網路對最近得到的資料的印象較深,除非特殊任務本身對日期等有限制,都會事先打亂訓練...