CrowdPose 数据集可视化 【visualization the crowdpose dataset】

数据集论文:CrowdPose: Efficient Crowded Scenes Pose Estimation and A New Benchmark

论文解读:https://blog.csdn.net/github_36923418/article/details/88219960

这是AlphaPose,卢策吾团队的最新工作,同时也分享出了这个数据集

代码地址:https://github.com/MVIG-SJTU/AlphaPose/blob/pytorch/doc/CrowdPose.md

数据集地址:https://github.com/MVIG-SJTU/AlphaPose/blob/pytorch/doc/CrowdPose.md

数据集可视化代码:

import cv2
%matplotlib inline
import matplotlib.pyplot as plt 
import json

json_data=open('/storage2/oujie/Crowddataset/json/crowdpose_val.json','r')
json_data=json.load(json_data)

print(json_data.keys())
#dict_keys(['images', 'annotations', 'categories'])

images_list=json_data['images']
annotations_list=json_data['annotations']
categories_list=json_data['categories']

print('images lenth:',len(images_list))
print('annotations lenth:',len(annotations_list))
print('categories lenth:',len(categories_list))

#images lenth: 2000
#annotations lenth: 8527
#categories lenth: 1

print('categories:',categories_list)

#categories: [{'supercategory': 'person', 'id': 1, 'name': 'person', 'keypoints': ####['left_shoulder', 'right_shoulder', 'left_elbow', 'right_elbow', 'left_wrist', #'right_wrist', 'left_hip', 'right_hip', 'left_knee', 'right_knee', 'left_ankle', #'right_ankle', 'head', 'neck'], 'skeleton': [[16, 14], [14, 12], [17, 15], [15, 13], [12, #13], [6, 12], [7, 13], [6, 7], [6, 8], [7, 9], [8, 10], [9, 11]]}]

print(images_list[0].keys())
print(annotations_list[0].keys())

#dict_keys(['file_name', 'id', 'height', 'width', 'crowdIndex'])
#dict_keys(['num_keypoints', 'iscrowd', 'keypoints', 'image_id', 'bbox', 'category_id', 'id'])
vis_id=109132

def find_filename(img_id,meta):
    for block in meta:
        #print(block)
        if block['id']==img_id:
            return block['file_name'],block['crowdIndex']
        continue
    return None,None
def get_annokpts(img_id,meta):
    kpts=[]
    bboxes=[]
    for block in meta:
        if block['image_id']==img_id:
            kpts.append(block['keypoints'])
            bboxes.append(block['bbox'])
        continue
    return kpts,bboxes
def vis_box(img,bboxes):
    for box in bboxes:
        x0,y0,x1,y1=box
        img=cv2.rectangle(img, (x0, y0), (x0+w, y0+h), color=[0,255,0], thickness=2, lineType=cv2.LINE_AA) #12
    return img
def vis_keypoints(img,kpts,crowdIndex):
    links= [[0,2],[1,3],[2,4],[3,5],[6,8],[8,10],[7,9],[9,11],[12,13],[0,13],[1,13],[6,13],[7,13]]
    for kpt in kpts:
        x_=kpt[0::3]
        y_=kpt[1::3]
        v_=kpt[2::3]
        for order1,order2 in links:
            if v_[order1] >0 and v_[order2]>0:
                img=img=cv2.line(img, (x_[order1],y_[order1]), (x_[order2],y_[order2]),color=[100,255,255], thickness=2, lineType=cv2.LINE_AA)
        for x,y,v in zip(x_,y_,v_):
            if int(v) >0:
                img=cv2.circle(
                    img, (int(x),int(y)),
                    radius=3, color=[255,0,255], thickness=-1, lineType=cv2.LINE_AA)
                
    font = cv2.FONT_HERSHEY_SIMPLEX
    img = cv2.putText(img, 'crowdIndex: '+str(crowdIndex), (0, 50), font, 1.2, (0, 0, 0), 2)
        
    return img


file_name,crowdIndex=find_filename(vis_id,images_list)
kpts,bboxes= get_annokpts(vis_id,annotations_list)
img=cv2.imread('/storage2/oujie/Crowddataset/images/'+file_name)

plt.figure(figsize=(12,10))
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.show()

img = vis_box(img,bboxes)
plt.figure(figsize=(12,10))
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.show()

img=vis_keypoints(img,kpts,crowdIndex)
plt.figure(figsize=(12,10))
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.show()

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
KITTI数据集可视化可以使用Mayavi库进行操作。可以根据以下代码对KITTI数据集进行可视化: ```python import mayavi.mlab as mlab dataset = kitti_object(os.path.join(ROOT_DIR, '../dataset/KITTI/object')) data_idx = 10 # Load data from dataset objects = dataset.get_label_objects(data_idx) print("There are %d objects.", len(objects)) img = dataset.get_image(data_idx) img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img_height, img_width, img_channel = img.shape pc_velo = dataset.get_lidar(data_idx)[:,0:3] calib = dataset.get_calibration(data_idx) # Visualization using Mayavi mlab.figure(bgcolor=(0, 0, 0), size=(img_width, img_height)) mlab.points3d(pc_velo[:, 0], pc_velo[:, 1], pc_velo[:, 2], color=(1, 1, 1), mode='point') mlab.imshow(img, figure=mlab.gcf()) mlab.show() ``` 这段代码会根据给定的数据索引,加载对应的图像和点云数据,并使用Mayavi进行可视化展示。点云数据会以白色点的形式显示,而图像则会作为背景显示。这样可以直观地查看KITTI数据集中的图像和对应的点云信息。请确保在代码中设置了正确的数据集路径。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [KITTI数据集可视化(一):点云多种视图的可视化实现](https://blog.csdn.net/weixin_44751294/article/details/127345052)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值