人臉口罩檢測(含執行程式碼+資料集)Pytorch+TensorRT+Xavier NX
#14
def do_nms(det, boxes, confs, clss):
drop = False
if len(boxes) <= 0:
boxes.append((det[0],det[1],det[2],det[3]))
confs.append(det[4])
clss.append(det[5])
return boxes, confs, clss
for i in range(0,len(boxes)):
bbox = boxes[i]
xx1 = np.maximum(det[0], bbox[0])
yy1 = np.maximum(det[1], bbox[1])
xx2 = np.minimum(det[2], bbox[2])
yy2 = np.minimum(det[3], bbox[3])
w = np.maximum(0.0, xx2-xx1+1)
h = np.maximum(0.0, yy2-yy1+1)
area_det = (det[2]-det[0]+1)*(det[3]-det[1]+1)
area_bbox = (bbox[2]-bbox[0]+1)*(bbox[3]-bbox[1]+1)
inter = w*h
ovr = inter / (area_det + area_bbox - inter)
if ovr > 0.6 and not drop:
if det[4] > confs[i]:
boxes[i] = ((det[0],det[1],det[2],det[3]))
confs[i] = det[4]
clss[i] = det[5]
drop = True
if not drop:
boxes.append((det[0],det[1],det[2],det[3]))
confs.append(det[4])
clss.append(det[5])
return boxes, confs, clss
def _preprocess_trt(img, shape=(300, 300)):
"""Preprocess an image before TRT SSD inferencing."""
img = cv2.resize(img, shape)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
img = img.transpose((2, 0, 1)).astype(np.float32)
img *= (2.0/255.0)
img -= 1.0
return img
def _postprocess_trt(img, output, conf_th, output_layout):
"""Postprocess TRT SSD output."""
img_h, img_w, _ = img.shape
boxes, confs, clss, results = [], [], [],[]
#print(((len(output[1]))/4+1))
#print("len(outputs[0]): "+str(len(output[0]))+" len(outputs[1]): "+str(len(output[1])))
for n in range(0, int((len(output[1]))/4)):
maxScore =跟單網gendan5.com -1000.0000
maxClass = 0
for m in range(0, 4):
score = output[0][n*4+m]
#print(score)
if score < conf_th:
continue
if m <= 0:
continue
if( score > maxScore):
maxScore = score
maxClass = m
#if(maxClass < 0):
# continue
index = int(n)
if maxScore < conf_th:
continue
#print(str(output[1][n*4+0])+" "+str(output[1][n*4+1])+" "+str(output[1][n*4+2])+" "+str(output[1][n*4+3]))
x1 = int(output[1][n*4+0] * img_w)
y1 = int(output[1][n*4+1] * img_h)
x2 = int(output[1][n*4+2] * img_w)
y2 = int(output[1][n*4+3] * img_h)
det = [x1,y1,x2,y2,maxScore,maxClass,n]
boxes, confs, clss = do_nms(det, boxes, confs, clss)
return boxes, confs, clss
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2932460/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 人臉檢測識別,人臉檢測,人臉識別,離線檢測,C#原始碼C#原始碼
- 人臉檢測 二
- 中科視拓免費開放口罩人臉檢測與識別技術
- 透過阿里雲“人臉口罩檢測”能力構建疫情防控能力阿里
- [計算機視覺]人臉應用:人臉檢測、人臉對比、五官檢測、眨眼檢測、活體檢測、疲勞檢測計算機視覺
- 人臉活體檢測
- 前端人臉檢測指南前端
- 人臉檢測的harr檢測函式函式
- 人臉檢測(detection)與人臉校準(alignment)
- JavaScript 檢測程式碼執行時間JavaScript
- opencv視訊人臉檢測OpenCV
- OpenCV 人臉檢測自學(3)OpenCV
- 人臉活體檢測人臉識別:眨眼+張口
- win10 下的YOLOv3 訓練 wider_face 資料集檢測人臉Win10YOLOIDE
- 人臉識別資料集和特點
- iOS 人臉關鍵點檢測iOS
- Android人臉檢測介紹Android
- FaceDetector 人臉檢測追蹤demo
- Python實戰——為人臉照片新增口罩Python
- 基於Emgu CV的人臉檢測程式碼
- 人臉識別之人臉檢測的重要性
- IOS人臉識別開發入門教程--人臉檢測篇iOS
- [深度學習]人臉檢測-Tensorflow2.x keras程式碼實現深度學習Keras
- 騰訊優圖開源人臉檢測演算法DSFD,重新整理兩項資料集紀錄演算法
- Python人臉識別微笑檢測Python
- 視訊人臉檢測——OpenCV版(三)OpenCV
- 圖片人臉檢測——OpenCV版(二)OpenCV
- JavaScript人臉檢測的實現方法JavaScript
- Android API 人臉檢測(Face Detect)AndroidAPI
- 景聯文科技人臉識別資料採集服務(二)——人臉欺詐相關資料
- Java版人臉檢測詳解上篇:執行環境的Docker映象(CentOS+JDK+OpenCV)JavaDockerCentOSJDKOpenCV
- 人臉識別資料集 - BioID Face Database - FaceDBDatabase
- 如何構建自定義人臉識別資料集
- 從零玩轉人臉識別之RGB人臉活體檢測
- OpenCv人臉檢測技術-(實現抖音特效-給人臉戴上墨鏡)OpenCV特效
- canvas+face-api人臉實時檢測CanvasAPI
- 3分鐘內實現人臉檢測
- 人臉識別檢測專案實戰