项目实训(八)---封装后端视频人脸检测相关代码

2021SC@SDUSC

这一部分主要进行的工作是把视频中人脸识别部分代码进行封装,对外提供接口。

目录

代码完善:

文件存储结构:

对外接口:​

测试:

结果规范:


代码完善:

1.这里设计了存储结构,规范了结果保存形式。

2.从单个视频处理,改进成文件夹下遍历处理gif

3.判断处理单个或者多个人物,进行不同的处理

4.抽取代码中散落的各种地址,以传参形式,进行统一处理

文件存储结构:

我们商讨的文件存储结构如图:

项目实训(八)---封装后端视频人脸检测相关代码_第1张图片

Resources下的文件结构是我这部分的,结构如下:

项目实训(八)---封装后端视频人脸检测相关代码_第2张图片

对外接口:

def main(id,name,root_path,resources_path,path_GIF,path_orignalVideo):
    getFaceDB(id,name,root_path,resources_path)
    #判断faceS下有几个文件夹    
    path_1=root_path+'/Resources/faceS'
    people = os.listdir(path_1)
    #如果一个,调用原视频
    if len(people)==1:
        face_recognition(id, path_orignalVideo, root_path, resources_path)
    else:
        # 如果多于一个,遍历gif目录处理
        gif = os.listdir(path_GIF)
        for i in gif:
            path_gif = path_GIF + '/' + i
            face_recognition(id, path_gif, root_path, resources_path)

测试:

def start(id,name):
#整个Resource所在文件夹
    root_path=r'C:/Users/DELL/Desktop/Face_Recognition-master'
#人脸预测器的位置 && python程序所在地址
    resources_path=os.path.abspath("") + "\Resources\\"
#关键帧后gif所在位置
    path_Gif=path = root_path + '/Resources/gif'
#原视频所在位置
    path_orignalVideo=r'C:\Users\DELL\Desktop\Face_Recognition-master\Resources\shipin.mp4'
#测试
    main(id,name,root_path,resources_path,path_Gif,path_orignalVideo)

结果规范:

封装后进行了测试,其中遇到部分路径没有规范好的问题,在测试中进行了解决。

不同于前面只是打印出来结果,这里对结果进行了一个规范化的存储:

单人物:记录gif的地址和目标人物出现次数,结果存储成.csv。

 多人物:记录整个影片,目标的多个人物出现的时间点,存储成json,返回前端。

你可能感兴趣的:(目标检测)