Multi-task Convolutional Neural Network 训练人脸识别和关键点检测 (python算法步骤)---生成pnet 训练数据

1.读取包围盒数据,并创建好存储目录

anno_file = "./dataset/mouth_train.txt"
#原图片地址
im_dir = "dataset"
#pos,part,neg裁剪图片放置位置
pos_save_dir = "12/positive"
part_save_dir = "12/part"
neg_save_dir = '12/negative'
#PNet数据地址
save_dir = "./12"
if not os.path.exists(save_dir):
    os.mkdir(save_dir)
if not os.path.exists(pos_save_dir):
    os.mkdir(pos_save_dir)
if not os.path.exists(part_save_dir):
    os.mkdir(part_save_dir)
if not os.path.exists(neg_save_dir):
    os.mkdir(neg_save_dir)

f1 = open(os.path.join(save_dir, 'pos_12.txt'), 'w')
f2 = open(os.path.join(save_dir, 'neg_12.txt'), 'w')
f3 = open(os.path.join(save_dir, 'part_12.txt'), 'w')

with open(anno_file, 'r') as f:
    annotations = f.readlines()
print(len(annotations))
print(annotations)

2.将face_train.txt中的数据读入,格式化存储在图片路径记录和包围盒数据数组中

使用numpy的reshape函数对数据进行处理 

#记录pos,neg,part三类生成数
p_idx = 0 # positive
n_idx = 0 # negative
d_idx = 0 # dont care
#记录读取图片数
idx = 0
box_idx = 0

for annotation in tqdm(annotations):

    # 遍历每张照片,从每张照片:
    # 先取出50个negative,保存;
    # 再随机取5个框,若是negative就保存;
    # 再随机取20个框,若是positive或part就保存;

    annotation = annotation.strip().split(' ')
    #image path
    im_p
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值