iT邦幫忙

0

opencv人臉偵測問題

  • 分享至 

  • xImage

我使用opencv dnn進行人臉偵測
模型為res10_300x300_ssd_iter_140000.caffemodel
但是為何模型輸出的結果*原圖寬、高
有可能會出現超出範圍的狀況
有人有遇過這問題嗎

看更多先前的討論...收起先前的討論...
沒有code,可能要通靈
joujg iT邦新手 5 級 ‧ 2022-01-27 08:40:13 檢舉
modelPath = "D:\\Lepton\\Examples\\version\\deploy.prototxt.txt"
weightPath = "D:\\Lepton\\Examples\\version\\res10_300x300_ssd_iter_140000.caffemodel"
def caffemodel(imagePath):
image = cv2.imread(imagePath)
image = cv2.resize(image,(429,572))
net = cv2.dnn.readNetFromCaffe(modelPath, weightPath)
net.setPreferableTarget(cv2.dnn.DNN_TARGET_CPU)
confidence = 0.5 # 置信度参数
(h, w) = image.shape[:2] #获取图像的高和宽,用于画图
blob = cv2.dnn.blobFromImage(image, 1.0, (300, 300), (104.0, 177.0, 123.0))
net.setInput(blob)
detections = net.forward() # 预测结果
for j in range(0, detections.shape[2]):
# 获得置信度
res_confidence = detections[0, 0, j, 2]
# 过滤掉低置信度的像素
if res_confidence > confidence :
# 获得框的位置
box = detections[0, 0, j, 3:7] * np.array([w, h, w, h])
(startX, startY, endX, endY) = box.astype("int")
print((startX, startY, endX, endY))
cv2.rectangle(image, (startX, startY), (endX, endY), (10,10,10), 2)
cv2.putText(image, "caffemodel", (0,20), cv2.FONT_HERSHEY_SIMPLEX,
1, (25, 100, 25), 1, cv2.LINE_AA)
cv2.imshow("show", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
抱歉這我的code
coede中detections[0, 0, j, 3:7](浮點數)是模型預測出來的人臉座標
detections[0, 0, j, 3:7] * np.array([w, h, w, h]) 最原始圖片的寬高就是人臉座標位置
理論上detections[0, 0, j, 3:7]的值應該都要在0-1之間不是嗎@@
但是人臉在邊界或是快速移動狀況下常會出現超過的狀況
joujg iT邦新手 5 級 ‧ 2022-01-27 08:58:23 檢舉
我是參考下面兩文章:
1.https://www.pyimagesearch.com/2018/02/26/face-detection-with-opencv-and-deep-learning/
2.https://ithelp.ithome.com.tw/articles/10263735#response-321038
#太過模糊,小於設定的confidence,直接不處理
if res_confidence < confidence :
continue
影片或攝影時,因為有快速移動所導致模糊的情況,因此低於設定confidence的不要處理,不然可能就會有例外情況發生。
https://www.gushiciku.cn/pl/gvud/zh-tw 詳細可以參考這篇
joujg iT邦新手 5 級 ‧ 2022-01-27 13:31:04 檢舉
但是我現在輸入的是照片不是影片
而且那個超出範圍的bounding box confidence有0.8= =
這張照片的確就是用攝影機快速晃動拍的,
拍攝過程中有發現超出範圍我就存下來
會不會是模型的問題?
我用這個模型可以跑出來
官方的github
https://github.com/opencv/opencv/tree/master/samples/dnn/face_detector
joujg iT邦新手 5 級 ‧ 2022-01-27 14:08:25 檢舉
對的!
模型問題
https://ithelp.ithome.com.tw/articles/10263735
我問這篇文的作者他有提到確認看看模型、權重是否依樣
我就按照他的下載
結果就都沒超出範圍這問題了(目前測試啦
感謝您~
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答