Python 如何检测特定对象id的性别?
我正在使用OpenVino python代码进行年龄和性别检测。代码在每个帧上运行。Python 如何检测特定对象id的性别?,python,opencv,logic,openvino,Python,Opencv,Logic,Openvino,我正在使用OpenVino python代码进行年龄和性别检测。代码在每个帧上运行。 我有一个.py文件用于质心跟踪和分配objectID。这用于跟踪任何给定会话期间出现的总人数 但是现在,我正试图为上面的代码创建一个GUI,其中显示男性和女性的总数。当一个人来(在我的代码中注册objectID)和去(注销objectID)时,我还希望它增加适当的性别计数 这是我的代码片段: while has_frame: rects=[] frame1 = np.array(
我有一个.py文件用于质心跟踪和分配objectID。这用于跟踪任何给定会话期间出现的总人数 但是现在,我正试图为上面的代码创建一个GUI,其中显示男性和女性的总数。当一个人来(在我的代码中注册objectID)和去(注销objectID)时,我还希望它增加适当的性别计数 这是我的代码片段:
while has_frame:
rects=[]
frame1 = np.array(frame, dtype='uint8')
faces = faceCascade.detectMultiScale(
frame1,
scaleFactor=1.2,
minNeighbors=5,
minSize=(20, 20)
)
for (x,y,w,h) in faces:
cv.rectangle(frame,(x,y),(x+w,y+h),(255,0,0),2)
rects.append((x,y,(x+w),(y+h)))
x = int(x)
y = int(y)
w = int(w)
h = int(h)
if run_age_gender:
cropped_image = frame[y:y+h, x:x+w]
if cropped_image.size > 0:
age_inference.infer(cropped_image)
age, gender = age_inference.get_age_gender_data() #retreives the age and gender
age_gender_text = '{} - {}'.format(age , gender)
cv.putText(frame, age_gender_text, org=((x+w), (y+10)), fontFace=cv.FONT_HERSHEY_PLAIN,
fontScale=1, color=(0, 64, 255), thickness=1, lineType=cv.LINE_AA)
objects,intervals = ct.update(rects) #ct.update references my "centroidtracking.py" file to get objectID and time interval for each objectID (time spent by a given person in front of camera)
for (objectID, centroid) in objects.items():
text = "ID {}".format(objectID)
cv.putText(frame, text, (centroid[0] - 10, centroid[1] - 10),
cv.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
cv.circle(frame, (centroid[0], centroid[1]), 4, (0, 255, 0), -1)
for (objectID, time) in intervals.items():
totaltime+=time
totalppl+=1
text = ("%0.2f" %(totaltime))
self.ui.timetextbox.setPlainText(text)
text2 = ("%d" %(totalppl))
self.ui.ppltextbox.setPlainText(text2)
if cv.waitKey(1) & 0xFF == ord('q'):
break
has_frame, frame = source.read()
frame_id += 1
这只是我的while循环的一个片段,在这里,年龄和性别以及对象ID跟踪都会发生
到目前为止,如果我尝试计数男性/女性,它会增加每帧的计数,并且与被检测的人无关
如果有任何建议让我将两者结合起来,以便对特定ID(个人)进行年龄和性别检测,而不是只在每个帧上运行并在每个帧上检测性别?我建议您参考人员计数器解决方案,可在 有关实现计数器的信息,请参见main.py文件的第91-110行。