gpt4 book ai didi

python opencv : How to use Kalman filter

转载 作者:太空宇宙 更新时间:2023-11-03 21:33:44 27 4
gpt4 key购买 nike

我正在使用 Python 进行人脸识别。

我有以下代码:

from sklearn.externals import joblib
clf = joblib.load('model/svm.pkl')
pca = joblib.load('model/pca.pkl')
face_cascade = cv2.CascadeClassifier("classifier/haarcascade_frontalface_alt.xml")
webcam = cv2.VideoCapture(0)
ret, frame = webcam.read()
while ret:
start = time()
origin = frame
gray = cv2.cvtColor(origin, cv2.COLOR_BGR2GRAY)
cv2.equalizeHist(gray,gray)

faces = face_cascade.detectMultiScale(
origin,
scaleFactor=1.1,
minNeighbors=5,
minSize=(30, 30),
flags=cv2.cv.CV_HAAR_SCALE_IMAGE
)
for (x, y, w, h) in faces:
cv2.rectangle(origin, (x, y), (x+w, y+h), (0, 255, 0), 2)
face = gray[y:y+h , x:x+w]
cv2.equalizeHist(face,face)

face_to_predict = cv2.resize(face,(100, 100),interpolation = cv2.INTER_AREA)

img = face_to_predict.ravel()
principle_components = pca.transform(img)
proba = clf.predict_proba(principle_components) # probability
pred = clf.predict(principle_components)
if proba[0][pred]>0.4:
name = face_profile_names[pred[0]]

因此,此代码运行良好,并且有时会像我预期的那样识别人脸。但这里也有很多弱点:如果我扭头,准确度对我来说太低了。我找到了卡尔曼滤波器来改进我的面部识别,但我没有意识到如何将它与我现有的代码一起使用。

我找到了一些关于使用卡尔曼滤波器的帖子,但在当前情况下如何使用它还不够清楚。一些帖子在这里: Is there any example of cv2.KalmanFilter implementation?

OpenCV Kalman Filter python

所以,我的 principle_components 是一个值矩阵,希望它可以用于我的卡尔曼滤波器的初始化,但我不确定这一点以及之后如何使用这个滤波器......

有什么想法吗?

最佳答案

关于卡尔曼滤波器的 Opencv Python 文档非常糟糕。一个很好的实现示例可以在这里找到: https://raw.githubusercontent.com/tobybreckon/python-examples-cv/master/kalman_tracking_live.py

让很多人感到困惑的一个方面是卡尔曼滤波器没有初始化函数,这很蹩脚。所以过滤器是一个“三角洲”。我的意思是你总是需要用一个初始值来规范化。 measure 应该修正为 measure = measure - initial 和 prediction = prediction + initial。

希望对您有所帮助。

关于 python opencv : How to use Kalman filter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43562972/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com