!转载请注明原文地址!——东方旅行者
更多行人重识别文章移步我的专栏:行人重识别专栏
本文目录
- 数据预处理(dataset_preprocess.py)
- 一、数据预处理原因
- 二、数据预处理思路
- 三、代码
数据预处理(dataset_preprocess.py)
一、数据预处理原因
Market1501数据集中训练集使用DPM算法标出的行人框,可能会存在部分低质量数据。可以选用行人检测技术(HOG+SVM)对训练集数据进行筛选,剔除低质量数据。
二、数据预处理思路
- 使用卷积神经网络或者传统机器学习方法构建行人检测器
- 遍历训练集中的数据,使用检测器检测其中的行人。若该训练图片检测出行人框,则保留;否则,删除该图片
三、代码
import os
import os.path as osp
import glob
import cv2
from IPython import embed
"""
dataset_preprocess
使用OpenCV自带的行人检测器对训练图片进行筛选,将那些无法识别出行人的训练图片进行删除
"""
#指定数据集路径
train_dataset_dir='data/test'
# 使用opencv的hog特征进行行人检测
detector = cv2.HOGDescriptor()
detector.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
#获得数据集下图片地址集合
img_paths=glob.glob(osp.join(train_dataset_dir,'*.jpg'))
#开始进行检测处理
for img_path in img_paths:
img = cv2.imread(img_path)#读取图片
#使用行人检测器检测,第一个结果是检测到的行人的坐标,第二个结果是每个行人的置信值
results,weights=detector.detectMultiScale(img,padding=(16,16))
if len(results)==0:
os.remove(img_path)
评论(0)
您还未登录,请登录后发表或查看评论