HOI项目no_frills_hoi_det执行过程

下载HICO-Det数据集

将从HICO-Det网站下载的数据集存储到hico_clean文件夹中

这些数据文件(版本0160224)包括

图像和标注(.tar.gz)

HOIs列表(.txt)

Verbs列表(.txt)

Objects列表(.txt)

对下载的tar.gz文件使用下面的命令来提取图片和标注

tar xvzf -C

-C标志指定了所提取文件存储的目标路径

经过这一步之后ls -l data_symlinks/hico_clean的输出结果应该是

anno_bbox.mat

anno.mat

hico_list_hoi.txt

hico_list_obj.txt

hico_list_vb.txt

images

README 

tools

处理HICO-Det文件

HICO-Det数据集包含以.mat和.txt文件形式存储的图像和标注数据。使用下面的命令将这些文件转换成json文件,并存储到hico_processed文件夹中

bash data/hico/process.sh

 process.sh文件分别调用下面的文件:
data/hico/split_ids.py:将样本id划分为train, val, train_val(train和val的并集),以及test集

data/hico/hoi_cls_count.py:统计每一个HOI类别的训练样本数

训练和评估都需要划分好的片段。类计数仅用于评估,以计算基于可训练样本所生成的HOI类别组的mAP

执行物体检测

自己创建

Step 1: 准备运行faster-rcnn所需的数据

python -m exp.detect_coco_objects.run --exp exp_detect_coco_objects_in_hico

执行上面的命令将在hico_exp/detect_coco_objects_in_hico中生成faster_rcnn_im_in_out.json文件,该文件指定运行目标检测器的图片路径,以及保存结果的目标位置路径

对每张具有唯一的图片,物体检测器将下面的文件写到hico_processed/faster_rcnn_boxes文件夹中:

  • _scores.npy
  • _boxes.npy
  • _fc7.npy
  • _nms_keep_indices.npy

Step 2: 运行faster-rcnn

这一步需要前一步生成的faster_rcnn_im_in_out.json文件。Faster-RCNN pytorch实现中包含一个脚本文件,获取json文件,并将输出以指定格式写到hico_processed文件夹中

在Faster-RCNN pytorch实现中执行下面的命令:

python -m tools.extract_boxes_scores_features --im_in_out_json

来提取检测到的边界框,物体类别分数,nms保留ids,以及在下游应用程序中可能用到的最有一层特性

保存了faster-rcnn特征后,使用下面的命令将所有的特征写到单独的hdf5文件中

python -m exp.hoi_classifier.data.write_faster_rcnn_feats_to_hdf5

Step 3: 从所有预测中为每个物体种类选择候选框

对每张图片,Faster-RCNN预测多达300个区域的类分数(针对80个COCO类)和框回归偏差(每一类)。在这一步中,对每个COCO类,通过运行以下命令,在非极大值抑制后挑选10个高置信度预测:

python -m exp.detect_coco_objects.run --exp exp_select_and_evaluate_confident_boxes_in_hico

这将在hico_exp/select_confident_boxes_in_hico目录中生成selected_coco_cls_dets.h5py文件

运行人体姿态检测器

通过将下面命令中的替代为train2015和test2015来提取姿态

./build/examples/openpose/openpose.bin --face --hand --num_gpu 2 --num_gpu_start 6 --display 0 --render_pose 0\
    --image_dir \
    --write_json \

训练HOI分类器 

Step 1: 从候选物体,缓存框和姿态特征中生成HOI候选对象

bash exp/hoi_classifier/scripts/preprocess.sh 

Step 2: 训练模型 

按要求修改exp/hoi_classifier/scripts/train.sh中的标志并执行:

bash exp/hoi_classifier/scripts/train.sh

这将在hico_exp/hoi_classifier中生成factors_rcnn_det_prob_appearance_boxes_and_object_label_human_pose文件夹 

评价模型

Step 1: 选择评价的模型

可以根据在tensorboard中记录的验证损失来选择模型,通常选择大约在30000次迭代的模型

Step 2: 对测试集进行预测

bash exp/hoi_classifier/scripts/eval.sh

这将生成一个pred_hoi_dets.hdf5文件

Step 3: 计算mAPs

bash exp/hico_eval/compute_map.sh

Step 4: 可视化

排名最高的检测结果

可视化600种HOI类别中排名最高的检测结果

bash exp/hoi_classifier/scripts/visualize.sh

这将为训练实验目录中的每一个HOI生成vis/top_boxes_per_hoi_wo_inference/__/ 目录,每个目录都有一些.png文件以及可视化.png文件的index.html文件

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章