datasets.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:Cascade-CNN-Face-Detection 作者: gogolgrind 项目源码 文件源码
def get_aflw_face_data(k = 12, on_drive = False):
        dbpath = 'F:\\datasets\\image_data_sets\\faces\\AFLW'
        dbpath = join(dbpath,'aflw.sqlite')
        rfpath = 'F:\\datasets\\image_data_sets\\faces\\AFLW\\img'
        conn = sqlite3.connect(dbpath)
        X = []
        c = 0
        for file_id,x,y,ra,rb,theta in conn.execute('SELECT file_id,x,y,ra,rb,theta FROM Faces NATURAL JOIN FaceEllipse'):
            fpath = join(rfpath,file_id)
            frame = fr.get_frame(fpath)
            x1,y1,x2,y2 = util.ellipse2bbox(a = ra, b = rb, angle = theta, cx = x, cy = y)
            x = x1
            y = y1
            h = abs(y2-y1)
            w = abs(x2-x1)
            no_neg = sp.all(sp.array([x,y,h,w]) > 0) ## ignore a bad data in sql table
            if frame != None and no_neg:
                y,x,w,h = [int(e) for e in (y,x,w,h)]
                face = fr.get_patch(frame,y,x,(w,h))
                face_r,good_example = Datasets.sample_resize(face,k,k)
                if good_example:
                    print('face:',fpath)
                    vec = fr.frame_to_vect(face_r)
                    if not on_drive:
                        X.append(vec)
                        face_flip_r = fr.flip_frame(face_r)
                        vec = fr.frame_to_vect(face_flip_r)
                        X.append(vec)
                    else:
                        for item in Datasets.data_augmentation(frame,y,x,w,h):
                            fr.write_frame('F:\\train_data\\pos\\' + str(c) + '_' + str(file_id)[:-4] + '_' + 'pos',item)
                            c +=1
        X = sp.array(X)
        y = sp.ones(len(X))
        return X,y
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号