Exemple #1
0
def find_xmls_with_minimal_size_of_this_cate(xmlDir, cate):
    allXmls = FILES.get_sorted_files(xmlDir)
    MinW = 9999
    MinH = 9999
    MinA = MinW * MinH
    for xml in allXmls:
        xmlPath = os.path.join(xmlDir, xml)
        wMinPath = os.path.join(tarDir, '{}_wMin.xml'.format(cate))
        hMinPath = os.path.join(tarDir, '{}_hMin.xml'.format(cate))
        aMinPath = os.path.join(tarDir, '{}_aMin.xml'.format(cate))
        txts = TXT.read_txt(xmlPath)
        soup = BeautifulSoup(txts, "xml")
        objs = soup.find_all('object')
        for obj in objs:
            name = obj.find('name').get_text()
            if name == cate:
                xmin = int(obj.find('xmin').get_text())
                xmax = int(obj.find('xmax').get_text())
                ymin = int(obj.find('ymin').get_text())
                ymax = int(obj.find('ymax').get_text())
                width = xmax - xmin
                height = ymax - ymin
                area = width * height
                if width < MinW:
                    MinW = width
                    shutil.copy(xmlPath, wMinPath)
                if height < MinH:
                    MinH = height
                    shutil.copy(xmlPath, hMinPath)
                if area < MinA:
                    MinA = area
                    shutil.copy(xmlPath, aMinPath)
    print("cate: {} MinW={}, MinH={}, MinA={}".format(cate, MinW, MinH, MinA))
Exemple #2
0
def find_most_cates_with_cate(xmlDir, cate, savedCates):
    maxCates = 0
    allXmls = FILES.get_sorted_files(xmlDir)
    for xml in allXmls:
        labelDict = {}
        xmlPath = os.path.join(xmlDir, xml)
        tarPath = os.path.join(tarDir, xml)
        txts = TXT.read_txt(xmlPath)
        soup = BeautifulSoup(txts, "xml")
        objs = soup.find_all('object')
        for obj in objs:
            name = obj.find('name').get_text()  # find函数只找到第一个相关的内容
            if name not in labelDict.keys():
                labelDict[name] = 1
            else:
                labelDict[name] += 1
        if cate in labelDict.keys():
            if len(labelDict) > maxCates:
                maxCates = len(labelDict)
                maxXml = xmlPath
                maxTar = tarPath
                maxAddCates = labelDict.keys()
    print("maxXml={}, maxTar={}".format(maxXml, maxTar))
    shutil.copy(maxXml, maxTar)
    for maxAddCate in maxAddCates:
        savedCates.append(maxAddCate)
Exemple #3
0
def copy_files_refer_dir(FileDir, FileForm, ReferDir, xmlTar):
    allRefers = FILES.get_sorted_files(ReferDir)
    for refer in allRefers:
        file = refer.split('.')[0] + FileForm
        sourPath = os.path.join(FileDir, file)
        tarPath = os.path.join(xmlTar, file)
        try:
            shutil.copy(sourPath, tarPath)
        except:
            pass
Exemple #4
0
def remove_xml():

    imgs = [x for x in FILES.get_sorted_files(imgDir)]
    xmls = [x for x in FILES.get_sorted_files(xmlDir)]

    # print(imgs)
    # remove xml
    count = 0
    for xml in tqdm(xmls):
        find_img_name = xml.replace(xmlType, imgType)
        # print(find_img_name)
        if find_img_name in imgs:
            pass
            # print('save %s'%xml)
        else:
            print('del %s' % xml)
            os.remove(os.path.join(xmlDir, xml))
            count += 1
    print("remove {} xmls.\n".format(count))
Exemple #5
0
def remove_img():

    imgs = [x for x in FILES.get_sorted_files(imgDir)]
    xmls = [x for x in FILES.get_sorted_files(xmlDir)]

    # print(imgs)
    # remove img
    count = 0
    for img in tqdm(imgs):
        find_xml_name = img.replace(imgType, xmlType)
        # print(find_img_name)
        if find_xml_name in xmls:
            pass
            # print('save %s'%img)
        else:
            print('del %s' % img)
            os.remove(os.path.join(imgDir, img))
            count += 1
    print("remove {} imgs.\n".format(count))
Exemple #6
0
def sample_random(sampleDir,tarDir,remainNum):
    allFiles=FILES.get_sorted_files(sampleDir)
    random.shuffle(allFiles)
    count=0
    for file in allFiles:
        if count<remainNum:
            filePath=os.path.join(sampleDir,file)
            tarPath=os.path.join(tarDir,file)
            shutil.move(filePath,tarPath)
        count+=1    
Exemple #7
0
def sample_files(sampleDir, tarDir, remainNum):
    allFiles = FILES.get_sorted_files(sampleDir)
    filesCount = len(allFiles)
    REMRATE = filesCount / remainNum
    remRate = REMRATE
    count = int(REMRATE) + 1
    fileNum = 0
    for file in allFiles:
        if count - remRate > 0:
            filePath = os.path.join(sampleDir, file)
            tarPath = os.path.join(tarDir, file)
            shutil.copy(filePath, tarPath)
            fileNum += 1
            remRate += REMRATE
        count += 1
Exemple #8
0
def move_xmls_with_cates(xmlDir, cates):
    allXmls = FILES.get_sorted_files(xmlDir)
    ii = 0
    for xml in allXmls:
        xmlPath = os.path.join(xmlDir, xml)
        tarPath = os.path.join(tarDir, xml)
        txts = TXT.read_txt(xmlPath)
        soup = BeautifulSoup(txts, "xml")
        objs = soup.find_all('object')
        for obj in objs:
            name = obj.find('name').get_text()
            if name in cates:
                shutil.move(xmlPath, tarPath)
                ii += 1
                break
Exemple #9
0
def find_all_cates(xmlDir):
    labelDict = {}
    allXmls = FILES.get_sorted_files(xmlDir)
    for xml in allXmls:
        xmlPath = os.path.join(xmlDir, xml)
        txts = TXT.read_txt(xmlPath)
        soup = BeautifulSoup(txts, "xml")
        objs = soup.find_all('object')
        for obj in objs:
            name = obj.find('name').get_text()  # find函数只找到第一个相关的内容
            if name not in labelDict.keys():
                labelDict[name] = 1
            else:
                labelDict[name] += 1
    return labelDict.keys()
Exemple #10
0
def filter_xmls_without_cates(xmlDir, cates):
    allXmls = FILES.get_sorted_files(xmlDir)
    for xml in allXmls:
        xmlPath = os.path.join(xmlDir, xml)
        tarPath = os.path.join(tarDir, xml)
        txts = TXT.read_txt(xmlPath)
        soup = BeautifulSoup(txts, "xml")
        objs = soup.find_all('object')
        noTruck = 1
        for obj in objs:
            name = obj.find('name').get_text()
            if name in cates:
                noTruck = 0
                break
        if noTruck == 1:
            shutil.copy(xmlPath, tarPath)
Exemple #11
0
def filter_short_cates(xmlDir, cates):
    allXmls = FILES.get_sorted_files(xmlDir)
    for xml in allXmls:
        xmlPath = os.path.join(xmlDir, xml)
        tarPath = os.path.join(tarDir, xml)
        txts = TXT.read_txt(xmlPath)
        soup = BeautifulSoup(txts, "xml")
        objs = soup.find_all('object')
        for obj in objs:
            name = obj.find('name').get_text()
            if name in cates:
                bndb = obj.find("bndbox")
                xsize = int(bndb.find('xmax').text) - int(
                    bndb.find('xmin').text)
                ysize = int(bndb.find('ymax').text) - int(
                    bndb.find('ymin').text)
                if xsize > ysize * 0.9:
                    shutil.copy(xmlPath, tarPath)
                    break
Exemple #12
0
def filter_lack_helmet(xmlDir):
    personCates = ['person']
    helmetCates = ['red', 'yellow', 'blue', 'white', 'orange']
    allXmls = FILES.get_sorted_files(xmlDir)
    for xml in allXmls:
        numPer = 0
        numHel = 0
        xmlPath = os.path.join(xmlDir, xml)
        lackPath = os.path.join(tarDir, xml)
        txts = TXT.read_txt(xmlPath)
        soup = BeautifulSoup(txts, "xml")
        objs = soup.find_all('object')
        for obj in objs:
            name = obj.find('name').get_text()
            if name in personCates:
                numPer += 1
            elif name in helmetCates:
                numHel += 1
            else:
                print("Lack of category {} set in function filter_lack_helmet".
                      format(name))
        if numPer > numHel:
            shutil.copy(xmlPath, lackPath)
Exemple #13
0
# encoding=utf8
import os
import shutil
from basicFun import FILES
from tqdm import tqdm
if __name__ == "__main__":
    count=0
    srcDir=r"/DATACENTER4/hao.yang/project/Qin/data/imgs/safe/safe_CFMXX_img_divided/"
    tarDir=r"/DATACENTER4/hao.yang/project/Qin/data/imgs/safe/safe_FMXX_img/"
    allJpgs=[x for x in FILES.list_all_filePaths(srcDir) if '.jpg' in x]
    FILES.mkdir(tarDir)
    for jpgPath in tqdm(allJpgs):
        shutil.copy(jpgPath,os.path.join(tarDir,jpgPath.split('/')[-1]))
        count+=1
    print("copy jpgs:",count)
Exemple #14
0
    REMRATE = filesCount / remainNum
    remRate = REMRATE
    count = int(REMRATE) + 1
    fileNum = 0
    for file in allFiles:
        if count - remRate > 0:
            filePath = os.path.join(sampleDir, file)
            tarPath = os.path.join(tarDir, file)
            shutil.copy(filePath, tarPath)
            fileNum += 1
            remRate += REMRATE
        count += 1


memberRoot = '/disk2/hao.yang/project/Qin/data/xmls/guide'
members = FILES.get_sub_dirs(memberRoot)
for member in members:
    sampleRoot = os.path.join(memberRoot, member)
    tarRoot = os.path.join(memberRoot, member + '_sample')
    FILES.mkdir(tarRoot)
    dirNames = FILES.get_sub_dirs(sampleRoot)
    for dirName in dirNames:
        sampleDir = os.path.join(sampleRoot, dirName)
        tarDir = os.path.join(tarRoot, dirName)
        FILES.mkdir(tarDir)
        sample_files(sampleDir, tarDir, 2000)
# xmlDir=r"E:\factory\voc\add_data\summary\rawImg\Tank_jl"
# jpgDir=r"E:\research\lackLabel\voc\img4206"
# xmlTar=r"E:\factory\voc\add_data\summary\rawImg\Tank_jl_lite"
# jpgTar=r"E:\research\lackLabel\voc\img2103_1"
# remainNum=70
Exemple #15
0
import os
import shutil
from basicFun import FILES
import random
def copy_files_refer_dir(FileDir,FileForm,ReferDir,xmlTar):
    allRefers=FILES.get_sorted_files(ReferDir)
    for refer in allRefers:
        file=refer.split('.')[0]+FileForm
        sourPath=os.path.join(FileDir,file)
        tarPath=os.path.join(xmlTar,file)
        try:
            shutil.copy(sourPath,tarPath)
        except:
            pass
def sample_random(sampleDir,tarDir,remainNum):
    allFiles=FILES.get_sorted_files(sampleDir)
    random.shuffle(allFiles)
    count=0
    for file in allFiles:
        if count<remainNum:
            filePath=os.path.join(sampleDir,file)
            tarPath=os.path.join(tarDir,file)
            shutil.move(filePath,tarPath)
        count+=1    
srcDir='/DATACENTER4/hao.yang/project/Qin/data/xmls/safe/safe_FMXX_23743_total/'
tarDir='/DATACENTER4/hao.yang/project/Qin/data/xmls/safe/safe_FMXX_23743_test/'
FILES.mkdir(tarDir)
sample_random(srcDir,tarDir,5000)
Exemple #16
0
    tree = ET.ElementTree(file=path)
    root = tree.getroot()
    # XML.chag_label(root,labelDict) # 修改label名称
    # root=XML.del_tag(root,names) # 删除指定label
    root = XML.save_tag(root, names)  # 只保留指定label
    # root=XML.thresh_size(path,root,sizeThresh,sizeThreshNames)
    XML.write_xml(tree, path)


if __name__ == "__main__":
    count = 0
    xmlDir = '/DATACENTER4/hao.yang/project/Qin/data/xmls/checkout/pos_use_pos/'
    print(xmlDir)
    names = ['pos_free', 'pos_use']
    # names=['yellow','blue','other','security','red','gray']
    # names=['truck','oilgun','motorcycle','bus','tanker','vehicle']
    # names=['yellow','blue','other','security','red','gray','truck','oilgun','motorcycle','bus']
    # labelDict={'oilgun':'vehicle','motorcycle':'vehicle','bus':'vehicle','truck':'vehicle'}
    labelDict = {'tanker': 'vehicle', 'bus': 'oilgun', 'truck': 'oilgun'}
    sizeThresh = (60, 60)
    sizeThreshNames = ['clamp_on']
    allXmls = [x for x in FILES.get_sorted_files(xmlDir) if ".xml" in x]
    for xml in tqdm(allXmls):
        xmlPath = os.path.join(xmlDir, xml)
        try:
            regular_xml(xmlPath, xml.split('.')[0])
        except:
            print('{} regular_wh failed'.format(xmlPath))
            continue
    print('Totally regular wh {} xmls'.format(count))
Exemple #17
0
                    bbox.append(bndbox['xmin'])
                    #y
                    bbox.append(bndbox['ymin'])
                    #w
                    bbox.append(bndbox['xmax'] - bndbox['xmin'])
                    #h
                    bbox.append(bndbox['ymax'] - bndbox['ymin'])
                    addAnnoItem(object_name, current_image_id,
                                current_category_id, bbox)


if __name__ == '__main__':
    xml_path = '/media/kevin/办公/xizang/testdataset/1028/val_/'
    jsonDir = './{}/'.format('val')
    print(xml_path)
    FILES.mkdir(jsonDir)
    if jsonDir:
        if xml_path[-1] == '/':
            xmlName = xml_path.split('/')[-2]
        else:
            xmlName = xml_path.split('/')[-1]
        json_file = os.path.join(jsonDir, xmlName + '.json')
    else:
        if xml_path[-1] == '/':
            json_file = xml_path[:-1] + '.json'
        else:
            json_file = xml_path + '.json'
    setCatItem(labelmap)
    parseXmlFiles(xml_path)
    json.dump(coco, open(json_file, 'w'))
Exemple #18
0
    else:
        return 0
    if box_share:
        overlapArea=float(get_area(box_share))
        aArea=float(get_area(int_box_a))
        return (overlapArea/aArea)
def get_area(areaBox):
    ha=areaBox[3]-areaBox[1]
    wa=areaBox[2]-areaBox[0]
    return(ha*wa)
if __name__=="__main__":
    time_sta=time.time()
    augNameList=['close','cover','open']
    xmlDir=r"/DATACENTER2/yh/detectron/caffe2/train/safebox/faster_voc/11469/xml_1713"
    tarDir=r"/DATACENTER2/yh/detectron/caffe2/train/safebox/faster_voc/11469/xml_1713_aug"
    FILES.mkdir(tarDir)
    allXmls=[x for x in FILES.get_sorted_files(xmlDir) if ".xml" in x]
    cur=0
    bgn=800 #包含
    end=1900 #包含
    for xml in allXmls:
        cur+=1
        # print(cur) #第cur个文件
        if cur>=bgn and cur<=end:
            xmlPath=xmlDir+'/'+xml
            tarXmlPath=tarDir+'/'+xml
            shutil.copy(xmlPath,tarXmlPath)
            BBOXES=XML.read_object(xmlPath)
            for augRate_xmin in range(0,5):
                augValue_xmin=augRate_xmin*0.02
                for augRate_xmax in range(0,5):
Exemple #19
0
# encoding=utf8
import os
from basicFun import FILES
if __name__ == "__main__":
    count = 0
    rmvDir = r"/DATACENTER3/yh/detectron/caffe2/detect/factory/people_longVideoAll/"
    referDirRoot = r"/DATACENTER3/yh/detectron/caffe2/detect/factory"
    # referDirNames=["tankClose","tankNoPipe","tankPipe","terribleCover"]
    referDirNames = ["outXml"]
    referType = ".xml"
    rmvType = ".jpg"
    # referDirNames=["1","2","3"]
    allRmvs = [x for x in FILES.get_sorted_files(rmvDir)]
    for referDirName in referDirNames:
        referDir = referDirRoot + '/' + referDirName
        allRefers = [
            x for x in FILES.get_sorted_files(referDir) if referType in x
        ]
        # 审核为.jpg形成列表
        for rmv in allRmvs:
            if (rmv.split('.')[0] + referType) not in allRefers:
                removePath = rmvDir + '/' + rmv.split('.')[0] + rmvType
                # removePath=rmvDir+'/'+rmv
                os.remove(removePath)
                count += 1
    print("cancel {} files={}\n".format(rmvType, count))
# trade_zhangbabeilu_total
# featureArea=(639,421,681,490)
# safe_XiWan
# featureArea=(843,253,1049,481)
# 适用于卸油口全局去重的阈值
SIMIBOUND = 0.99
# 适用于保险柜小区域去重的阈值
# SIMIBOUND=0.8
jpgRoot = r"/disk2/hao.yang/project/Qin/data/preProcess/extractFrame/0522_XiWan_b/"
# if jpgRoot[-1]=='/':
#     dstRoot=jpgRoot[:-1]+"Unique"+str(int(SIMIBOUND*1000))
# else:
#     dstRoot=jpgRoot+"Unique"+str(int(SIMIBOUND*1000))
# dstRoot=jpgRoot.replace('0505','0505removedSimilarityFrame')
dstRoot = jpgRoot.replace('extractFrame', 'removedSimilarityFrame')
rootsName = FILES.get_sub_dirs(jpgRoot)
# rootsName=[1]
startdir = 1  #从第startdir开始,处理完第enddir结束(包含enddir)
enddir = 43  #注意作为开始的startdir第一帧无事件
# 需定义的参数:
if __name__ == "__main__":
    # IMG.info()
    start = time.time()
    count = 1
    resume = 1
    dirCount = 1
    FILES.mkdir(dstRoot)
    for rootName in rootsName:
        dirpath = os.path.join(jpgRoot, rootName)
        # dirpath="/DATACENTER5/hao.yang/dataRoom/Qin/park/caotan/longVideoFrames/8/"
        if os.path.exists(dirpath):
Exemple #21
0
import os, shutil
from basicFun import FILES
dir1 = r"/disk2/hao.yang/project/Qin/data/preProcess/tolabelImg/0501/safe_cashbox_FengShi_simulate/"
des1 = r"/disk2/hao.yang/project/Qin/data/preProcess/tolabelImg/0501/safe_cashbox_FengShi_simulate_img/"
dir2 = '/disk2/hao.yang/project/Qin/data/preProcess/tolabelImg/0501/xml/'
des2 = '/disk2/hao.yang/project/Qin/data/preProcess/tolabelImg/0501/labeled_tube_px/'
FILES.mkdir(des1)
FILES.mkdir(des2)
preTitle = 'safe_cashbox_FengShi_simulate_'
endTitle = ''
i = 0
filelist = FILES.get_sorted_files(dir1)
for file in filelist:
    if ".jpg" in file:
        newfileName = '%06d' % i
        # newfileName=file
        # shutil.copy(os.path.join(dir1,file),os.path.join(des1,preTitle+newfileName+endTitle+".jpg"))
        shutil.copy(os.path.join(dir1, file),
                    os.path.join(des1, preTitle + file))
        if os.path.exists(
                os.path.join(
                    dir2, 'unload_FengShi_tube_simulate_' + newfileName +
                    endTitle + ".xml")):
            shutil.copy(
                os.path.join(
                    dir2, 'unload_FengShi_tube_simulate_' + newfileName +
                    endTitle + ".xml"),
                os.path.join(des2, preTitle + file.replace('.jpg', ".xml")))
        else:
            print(file, "no xml")
        i += 1
Exemple #22
0
        sourPath = os.path.join(FileDir, file)
        tarPath = os.path.join(xmlTar, file)
        try:
            shutil.copy(sourPath, tarPath)
        except:
            pass


sites = ['FengShi', 'MingDeMen', 'XiWan']
for site in sites:
    for isle in range(1, 6):
        outXmlDir = "/disk2/hao.yang/project/Qin/data/imgs/isle/{}/isle{}_{}_img/".format(
            site, isle, site)
        volume = 1000
        partition = 1
        allFiles = FILES.get_sorted_files(outXmlDir)
        random.shuffle(allFiles)
        count = 0
        for file in allFiles:
            if count < volume + volume * (partition - 1) * 0.2:
                count += 1
            else:
                # exit()
                # break
                partition += 1
                count = 0
            # tar_outXmlDir='{}_partition{}'.format(outXmlDir,partition)
            pDir = '/disk2/hao.yang/project/Qin/data/labelTask/isles/p{}'.format(
                partition)
            FILES.mkdir(pDir)
            tar_outXmlDir = '/disk2/hao.yang/project/Qin/data/labelTask/isles/p{}/{}_isle{}'.format(
    XML.write_xml(tree,xmlPath)     
def add_new_cates(xmlPath,referPath,addCates):
    addBoxes=XML.read_objects(referPath)
    tree = ET.ElementTree(file=xmlPath)
    root = tree.getroot()
    root=XML.del_tag(root,addCates)
    # print(addBoxes)
    for box in addBoxes:
        if box['name'] in addCates:
            root=XML.add_tag(root,box)
    XML.write_xml(tree,xmlPath)           
if __name__=="__main__":
    # imgDir=r"F:\gasStation\tank\regular_dataset\SanJiang_tankbox\checked\no_pipe"
    xmlDir=r'/disk2/hao.yang/project/Qin/data/xmls/guide/complete/guide_FMXX_8000_complete/'
    referRoot='/disk2/hao.yang/project/Qin/data/xmls/guide/complete/oilstation/'
    referDirs=FILES.get_sub_dirs(referRoot)
    for dirName in referDirs:
        referDir=os.path.join(referRoot,dirName)
    # referPath=r'F:\gasStation\tank\regular_dataset\SanJiang_tankbox\tank\SanJiang_refer_9.xml'
    # addCates=['car','motorcycle','truck','bus']
    # addCates=['blue','yellow','other','security','red']
    # addCates=['tank_close','tank_open']
    # addCates=['cashbox_close','cashbox_open']
        addCates=['gun_in','gun_out']
        allXmls=[x for x in FILES.get_sorted_files(xmlDir) if ".xml" in x]
        for xml in allXmls:
            xmlPath=os.path.join(xmlDir,xml)
            referPath=os.path.join(referDir,xml)
            if os.path.exists(referPath):
                add_cates(xmlPath,referPath,addCates)
Exemple #24
0
#encoding=utf-8
import os
import shutil
from basicFun import FILES
if __name__ == "__main__":
    kind = 'door_close'
    referXml = "/DATACENTER5/hao.yang/dataRoom/Qin/safe/caotan/referXml/{}.xml".format(
        kind)
    xmlDir = "/DATACENTER5/hao.yang/dataRoom/Qin/safe/caotan/labels_door/"
    imgDir = "/DATACENTER5/hao.yang/dataRoom/Qin/safe/caotan/safe_door_classified_all/{}".format(
        kind)
    allfiles = [x for x in FILES.get_sorted_files(imgDir)]
    for file in allfiles:
        newPath = os.path.join(xmlDir, file.split('.')[0] + '.xml')
        shutil.copy(referXml, newPath)
Exemple #25
0
#encoding=utf-8
import os
import shutil
import time
from basicFun import FILES
jpgRoot=r"/DATACENTER2/yh/dataRoom/gasStation/tank/train/sj18JunFrames"
if __name__=="__main__":
    remainNum=500
    start = time.time()
    jpgDirs=FILES.get_sub_dirs(jpgRoot)
    for dirName in jpgDirs:
        jpgDir=jpgRoot+'/'+dirName
        allJpgs=FILES.get_sorted_files(jpgDir)
        jpgCount=len(allJpgs)
        if jpgCount>3000:
            for jpg in allJpgs[remainNum:]:
                jpgPath=os.path.join(jpgDir,jpg)
                os.remove(jpgPath)

# def removeRemain(rmdir,remainNum):
#   allFiles=FILES.get_sorted_files(rmdir)
#   filesCount=len(rmdir)
#   for 
#   remRate=REMRATE
#   # print(rmRate)
#   count=int(REMRATE)+1
#   fileNum=0
#   for file in allFiles:
#       if count-remRate>0:
#           filePath=dirDir+'/'+file
#           tarPath=tarDir+'/'+file
Exemple #26
0
            ymins.append(ymin)
            xmaxs.append(xmax)
            ymaxs.append(ymax)
    return img, labels, xmins, ymins, xmaxs, ymaxs


if __name__ == "__main__":
    task = 'safe'
    showType = 'all'
    WTS_PATH = getattr(COCO, 'model_{}'.format(task))
    CFG_PATH = WTS_PATH.replace('.pkl', '.yaml')
    modelName = WTS_PATH.split('/')[-1].split('.')[0]
    labelmap = getattr(COCO, 'labelmap_{}'.format(task))
    inImg = '/DATACENTER4/hao.yang/project/Qin/data/imgs/safe/safe_FMXX_img/'
    tarXmlDir = '/DATACENTER4/hao.yang/project/Qin/data/xmls/safe/modelXml_safe_FMXX'
    FILES.rm_mkdir(tarXmlDir)
    referXml = "/DATACENTER4/hao.yang/common/refer.xml"
    if hasattr(COCO, 'showNames_{}'.format(task)):
        showNames = getattr(COCO, 'showNames_{}'.format(task))[showType]
    else:
        showNames = []
    countNothing = 0
    font = cv2.FONT_HERSHEY_SIMPLEX
    testModel = modelTool.modelTool()
    testModel.initModel(CFG_PATH, WTS_PATH, labelmap)
    paletteSet = [(247, 79, 223), (0, 255, 255), (255, 247, 0), (200, 130, 2),
                  (255, 255, 255), (30, 170, 180), (102, 0, 204),
                  (44, 125, 222), (0, 255, 0), (1, 208, 169), (130, 232, 255),
                  (204, 153, 255), (0, 0, 192), (134, 225, 1), (142, 208, 169),
                  (115, 160, 110)]
    palette = {}
Exemple #27
0
from basicFun import FILES
imgRoot='/DATACENTER4/hao.yang/project/Qin/data/imgs/isle/imgs_isle_17312_divide/'
allImg=FILES.list_all_files(imgRoot)
print(len(allImg))
Exemple #28
0
#encoding=utf8
#由于文件夹中只标注了部分refer,因此按照xx.refer复制已标注的xx.jpg和xx.refer到新的文件夹
#单文件夹
import os
import shutil
import time
from basicFun import FILES
if __name__=="__main__":
    count=0    
    start=time.time()
    operators=['gs','hs','px','tsy','zxy','yy','wzx','lf','dxj']
    referDir1="/DATACENTER6/hao.yang/dataRoom/Qin/trade/labelTask_phone/labels_phone/"
    referForm=".xml"
    allRefers=[x for x in FILES.get_files(referDir1) if referForm in x]#审核为.refer形成列表
    # dirName='safe_close'
    for operator in operators:
        count=0
        # referDir2=referDir1.replace('door_close','door_open')
        sourDir="/DATACENTER6/hao.yang/dataRoom/Qin/trade/labelTask_phone/{}".format(operator)
        sourForm=".jpg"
        tarDir='/DATACENTER6/hao.yang/dataRoom/Qin/trade/labelTask_phone/abandon/'
        # tarDir=os.path.join(tarDir,operator)
        tarForm=".jpg"
        FILES.mkdir(tarDir)
        allImgs=[x for x in FILES.get_files(sourDir) if sourForm in x]
        for img in allImgs:
            if img.replace(sourForm,referForm) not in allRefers:
                sour=img.split('.')[0]+sourForm
                tar=img.split('.')[0]+tarForm
                sourPath=os.path.join(sourDir,sour)
                tarPath=os.path.join(tarDir,tar)
Exemple #29
0
#二级目录下的jpg文件复制到一个文件夹
import os
import shutil
import time
from basicFun import FILES
if __name__=="__main__":
    timeStart=time.clock()
    roots="/DATACENTER4/hao.yang/project/Qin/data/preProcess/extractFrame/"
    rootsName=['0706_checkout']
    for rootName in rootsName:
        rootdir=os.path.join(roots,rootName)
        tardir=os.path.join(roots,rootName+"All") #不用创建
        print(rootdir,tardir)
        i=1
        if os.path.exists(rootdir):
            FILES.mkdir(tardir)
            alldirs=FILES.get_sub_dirs(rootdir)
            for dirName in alldirs:
                if 'test' in dirName:
                    continue
                dirpath=os.path.join(rootdir,dirName)
                # print(dirpath)
                alljpg=sorted([x for x in FILES.get_files(dirpath) if ".jpg" in x])#审核为.jpg形成列表
                for jpg in alljpg:
                    # rename
                    # newJpg=dirpath.split("/")[-1]+str("%06d"%i)+".jpg"
                    newJpg='{}_{}'.format(dirName,jpg)
                    # newJpg=jpg
                    i+=1
                    oldpath=os.path.join(dirpath,jpg)
                    newpath=os.path.join(tardir,newJpg)
     'hole': 0.3,
     'tube': 0.3,
     'gray': -10,
     'vehicle': 1
 }
 forceFetch = []
 print(weight)
 imgDir = '/disk2/hao.yang/project/Qin/data/preProcess/extractFrame/0525/0525_unload_total/0525_unloadAll_total_spec/'
 xmlDir = '/disk2/hao.yang/project/Qin/data/preProcess/extractFrame/0525/0525_unload_total/0525_unloadAll_total_spec/'
 if imgDir[-1] == '/':
     abandonDir = imgDir[:-1] + "_abandon"
     difDir = imgDir[:-1] + "_dif"
 else:
     abandonDir = imgDir + "_abandon"
     difDir = imgDir + "_dif"
 FILES.rm_mkdir(abandonDir)
 FILES.rm_mkdir(difDir)
 allXmls = [x for x in FILES.get_sorted_files(xmlDir) if '.xml' in x]
 begin = 0
 labelNumber = 0
 difNumber = 0
 resume = 0
 for xmlName in tqdm(allXmls):
     checkName = xmlName
     if resume < 0:
         resume += 1
         continue
     if begin == 0:
         baseName = checkName
         begin = 1
         continue