|
|
# -*- coding:utf-8 -*-
|
|
|
|
|
|
'''
|
|
|
Date:2020.07.03
|
|
|
author: tim
|
|
|
describe: this script is used for transform the other label format(some giver dataset) to the format of ourselves
|
|
|
'''
|
|
|
|
|
|
import os
|
|
|
import json
|
|
|
|
|
|
labelothersPath = "/home/liu/work/dataset/RS_datasets_test" # your original label file path
|
|
|
|
|
|
othersFolderNameList = os.listdir(labelothersPath)
|
|
|
|
|
|
for name in othersFolderNameList:
|
|
|
|
|
|
labelothersNameList = os.listdir(os.path.join(labelothersPath,name,"label"))
|
|
|
for labelFileName in labelothersNameList:
|
|
|
labelInfoNew = []
|
|
|
labelTransedPath = os.path.join(labelothersPath,name,"label_transed")
|
|
|
if not os.path.exists(labelTransedPath):
|
|
|
os.makedirs(labelTransedPath)
|
|
|
with open(os.path.join(labelothersPath,name,"label",labelFileName),'r',encoding='utf8') as fp:
|
|
|
# labelInfo = {'labels':[
|
|
|
# {"centers":{'x':float,"y":float,"z":float},# for ours position
|
|
|
# "size":{'x':float,'y':float,'z':float}, # for ours scale
|
|
|
# "rotation":{"pitch":float,"roll":float,"yaw":float}, # for ours rotation
|
|
|
# "tracker_id" : int # for ours obj_id
|
|
|
# "type": str # for ours obj_type
|
|
|
# }]}
|
|
|
labelInfo = json.load(fp)
|
|
|
infoList = labelInfo["labels"]
|
|
|
# transform the label format to ours
|
|
|
for info in infoList:
|
|
|
infoNew = {}
|
|
|
centers = info["center"]
|
|
|
size = info["size"]
|
|
|
rotation = {}
|
|
|
rotation["x"] = info["rotation"]["pitch"]
|
|
|
rotation["y"] = info["rotation"]["roll"]
|
|
|
rotation["z"] = info["rotation"]["yaw"]
|
|
|
trackerId = info["tracker_id"]
|
|
|
type = info["type"]
|
|
|
infoNew["psr"] = {"position": centers,"scale":size,"rotation":rotation}
|
|
|
infoNew["obj_type"] = type
|
|
|
infoNew["obj_id"] = str(trackerId)
|
|
|
labelInfoNew.append(infoNew)
|
|
|
# write the new info into the new json file
|
|
|
with open (os.path.join(labelTransedPath,labelFileName),"a+") as f :
|
|
|
json.dump(labelInfoNew,f)
|