成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

AI禁煙可還行!吸煙識別+人臉識別

人工智能
這個項目還有很多可以擴展的地方,比如:我提供的視頻只有單張臉,實際監控中肯定是多張臉。這時候可以用MOT算法進行行人跟蹤,然后再對每個人單獨做吸煙識別。

哈嘍,大家好。

今天給大家分享一個吸煙識別+人臉識別的項目。很多公共場所、生產場所和學校,都有禁煙的要求,做一個禁煙的監控,讓AI自動識別吸煙行為,并識別是誰在吸煙,還是很有必要的。

用目標檢測算法判斷吸煙行為,提取吸煙者的人臉,用人臉識別算法判斷誰在吸煙。思路比較簡單,但細節處理起來還是稍微有些麻煩。

項目用到訓練數據和源碼,都已經打包好了。還是老樣子,評論區獲取。

1. 檢測香煙

我用了 5k 張抽煙的標記數據,作為訓練數據

圖片

放在dataset目錄下。

訓練YOLOv5目標檢測模型。

第一步,復制data/coco128.yaml為smoke.yaml,并修改數據集目錄和類別配置信息

path: ../dataset/smoke # dataset root dir
train: images/train # train images (relative to 'path') 128 images
val: images/test # val images (relative to 'path') 128 images
test: # test images (optional)

# Classes
names:
0: smoke

第二步,復制./models/yolov5s.yaml為smoke.yaml?,修改nc

nc: 1  # number of classes

第三步,下載yolov5s.pt?預訓練模型,放在{yolov5目錄}/weights目錄中

執行下面命令,訓練即可

python ./train.py --data ./data/smoke.yaml --cfg ./models/smoke.yaml --weights ./weights/yolov5s.pt --batch-size 30 --epochs 120 --workers 8 --name smoke --project smoke_s

圖片

訓練完成后可以看到如下輸出:

圖片

準召還湊合。

訓練完成后,可以找到best.pt位置,后面用它來做香煙檢測。

model = torch.hub.load('../28_people_counting/yolov5', 'custom', './weights/ciga.pt', source='local')

results = self.model(img[:, :, ::-1])
pd = results.pandas().xyxy[0]
ciga_pd = pd[pd['class'] == 0]

圖片

能識別到煙后,我們還需要判斷,當前是否正在吸煙。

可以用香煙檢測框與嘴部檢測框計算IOU來判斷,說白了,就是判斷這兩框是否有交集,若有,則認為當前正在吸煙。

圖片

嘴部檢測框,使用人臉關鍵點來識別。

2. 人臉識別

人臉識別算法有很多成熟的模型,我們不需要自己訓練,直接調庫即可。

我這里用的是dlib庫,它可以識別人臉 68 個關鍵點,并根據這 68 個關鍵點,提取人臉特征。

圖片

face_detector = dlib.get_frontal_face_detector()
face_sp = dlib.shape_predictor('./weights/shape_predictor_68_face_landmarks.dat')

dets = face_detector(img, 1)

face_list = []
for face in dets:
l, t, r, b = face.left(), face.top(), face.right(), face.bottom()

face_shape = face_sp(img, face)

face_detector?可以檢測人臉,返回人臉檢測框,face_sp基于人臉檢測框,識別人臉 68 個關鍵點。

從這 68 個關鍵點中,我們便可以獲取到嘴部檢測框,用于判斷是否正在吸煙。

最后,我們還是希望利用人臉識別算法,識別到誰在吸煙。

第一步,提取人臉特征

face_feature_model = dlib.face_recognition_model_v1('./weights/dlib_face_recognition_resnet_model_v1.dat')

face_descriptor = face_feature_model.compute_face_descriptor(img, face_shape)

face_descriptor?根據人臉 68 個關鍵點之間的位置、距離,維每張臉計算出一個特征向量。這個原理類似于我們之前分享的word2vec?或者將視頻映射到N維向量。

第二步,將現有人臉錄入人臉庫。我準備了 3 個影視劇中的吸煙行為

圖片

從視頻中裁剪出人臉,向量化后,寫入人臉數據庫(用文件代替)

圖片

第三步,發生吸煙行為后,我們可以裁剪出吸煙者的人臉,并計算人臉向量,與人臉數據庫的特征進行比對,找到最相似的人臉,返回對應的名字

圖片

def find_face_name(self, face_feat):
"""
人臉識別,計算吸煙者名稱
:param face_feat:
:return:
"""
cur_face_feature = np.asarray(face_feat, dtype=np.float64).reshape((1, -1))

# 計算兩個向量(兩張臉)余弦相似度
distances = np.linalg.norm((cur_face_feature - self.face_feats), axis=1)
min_dist_index = np.argmin(distances)
min_dist = distances[min_dist_index]

if min_dist < 0.3:
return self.face_name_list[min_dist_index]
else:
return '未知'

這個項目還有很多可以擴展的地方,比如:我提供的視頻只有單張臉,實際監控中肯定是多張臉。這時候可以用MOT算法進行行人跟蹤,然后再對每個人單獨做吸煙識別

還有,可以單獨做一個統計區,把識別到的吸煙行為保存,用作警告、處罰的證據。

責任編輯:武曉燕 來源: 渡碼
相關推薦

2021-05-10 11:08:00

人工智能人臉識別

2021-08-26 20:05:22

人臉識別AI人工智能

2022-10-20 09:33:35

2021-03-09 09:20:09

人臉識別人工智能智能手機

2022-09-07 08:37:34

DCGAN圖片AI

2021-12-07 23:00:55

人臉識別安全技術

2020-11-18 09:43:29

人臉識別AI人工智能

2021-05-16 15:32:34

人工智能人臉識別技術

2021-02-03 14:43:40

人工智能人臉識別

2020-11-11 07:25:08

人臉識別AI人工智能

2020-11-06 18:55:56

人臉識別刷臉安全

2021-08-26 10:36:02

人臉識別人工智能技術

2022-10-31 08:47:21

人臉識別按鍵鍵盤

2021-07-01 09:32:14

人臉識別AI人工智能

2024-09-30 06:04:02

人臉識別Python機器學習

2014-05-04 13:39:15

人臉識別算法

2021-03-10 17:22:01

人臉識別人工智能數據

2022-08-19 14:14:13

人工智能人臉識別安全

2021-08-06 09:30:34

人工智能AI人臉識別

2021-04-23 13:03:12

人臉識別人工智能AI
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区在线看 | 91精品久久久久久久久中文字幕 | 91久久国产精品 | 国产在线一区观看 | 色.com| 日韩有码一区 | 99视频在线| 日韩欧美一级片 | 伊人网综合在线 | 日韩免费视频一区二区 | 国产不卡在线 | 精品国产一区二区三区免费 | 99久久精品视频免费 | 免费黄网站在线观看 | 香蕉久久久 | 久久久久九九九女人毛片 | 亚洲综合精品 | 91综合网 | 日韩色视频 | 四虎永久免费地址 | 蜜桃在线一区二区三区 | 视频二区 | 国产成人午夜精品影院游乐网 | 国产目拍亚洲精品99久久精品 | 爱爱视频日本 | 羞羞视频一区二区 | 中文字字幕在线中文乱码范文 | 福利视频一区二区 | 午夜视频网站 | 91亚洲欧美| 精品蜜桃一区二区三区 | 蜜桃视频在线观看免费视频网站www | 真人一级毛片 | 久久久精品久久久 | 成人深夜福利 | 国产精品揄拍一区二区久久国内亚洲精 | 国产在线精品一区 | 精品一区电影 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 四虎国产 | 欧美久久久久 |