a ne0@sddlmZeddddZeddddZedddd Zed d d Zeddd dZeddddZeddddZ eddddZ eddddZ dS))CfgNodeN)cfgreturncCs2|}tdd|j_tdd|j_tdd|j_dS)zy Add config for additional category-related dataset options - category whitelisting - category mapping T new_allowedN)CNDATASETS CATEGORY_MAPSWHITELISTED_CATEGORIESCLASS_TO_MESH_NAME_MAPPINGr_Cr@/home/alin0222/detectron2/projects/DensePose/densepose/config.pyadd_dataset_category_configsrcCs@|}t|_d|j_d|j_d|j_d|j_d|j_g|j_dS)Niounoneg?TF)rDENSEPOSE_EVALUATIONTYPEZSTORAGEZMIN_IOU_THRESHOLDDISTRIBUTED_INFERENCEZEVALUATE_MESH_ALIGNMENTZMESH_ALIGNMENT_MESH_NAMESr rrradd_evaluation_configs rcCs&|}g|_t|_d|j_d|j_dS) cudaN)BOOTSTRAP_DATASETSrZBOOTSTRAP_MODELWEIGHTSDEVICEr rrradd_bootstrap_config2s r)rcCst}d|_d|_tdd|_d|j_d|j_d|j_g|j_d|j_tdd|j_ t|_ d|j _ d|j _ tdd|_ d|j _d|j _tdd|_d|j_|S) Nrg?Tri@BF)rDATASETRATIO IMAGE_LOADERr BATCH_SIZE NUM_WORKERS CATEGORIESMAX_COUNT_PER_CATEGORYCATEGORY_TO_CLASS_MAPPING INFERENCEINPUT_BATCH_SIZEOUTPUT_BATCH_SIZE DATA_SAMPLERUSE_GROUND_TRUTH_CATEGORIESFILTER)r rrrget_bootstrap_dataset_config;s&   r.cCsF|js dSg}|jD]&}t}|t|||q||_dS)z Bootstrap datasets are given as a list of `dict` that are not automatically converted into CfgNode. This method processes all bootstrap dataset entries and ensures that they are in CfgNode format and comply with the specification N)rr.clonemerge_from_other_cfgrappend)rZbootstrap_datasets_cfgnodes dataset_cfgr rrrload_bootstrap_configXs   r3cCs<|}t|jj_d|jjj_tdd|jjj_d|jjj_d|jjj_d|jjj_d|jjj_ d|jjj_ d|jjj_ tdd i|jjj_ d |jjjj _ d |jjjj _d |jjjj _d |jjjj _tdd i|jjj_d|jjjj_ d |jjjj_d |jjjj_d|jjjj_d|jjjj_d |jjjj_d |jjjj_dS)zK Add configuration options for Continuous Surface Embeddings (CSE) Tr{Gz?g333333?Z EmbeddingLoss?ENABLEDFg?rg?iHg-C6?d@N)rMODELROI_DENSEPOSE_HEADZCSEZ EMBED_SIZEZ EMBEDDERSZEMBEDDING_DIST_GAUSS_SIGMAZGEODESIC_DIST_GAUSS_SIGMAZEMBED_LOSS_WEIGHTZEMBED_LOSS_NAMEZFEATURES_LR_FACTORZEMBEDDING_LR_FACTORZSHAPE_TO_SHAPE_CYCLE_LOSSZWEIGHTZNORM_PZ TEMPERATUREZMAX_NUM_VERTICESZPIX_TO_SHAPE_CYCLE_LOSSZUSE_ALL_MESHES_NOT_GT_ONLYZNUM_PIXELS_TO_SAMPLEZ PIXEL_SIGMAZTEMPERATURE_PIXEL_TO_VERTEXZTEMPERATURE_VERTEX_TO_PIXELr rrradd_densepose_head_cse_configis.        r<cCs|}d|j_t|j_d|jj_d|jj_d|jj_d|jj_d|jj_d|jj_ d|jj_ d |jj_ d |jj_ d |jj_ d|jj_d|jj_d |jj_d |jj_d|jj_d|jj_d|jj_d|jj_d|jj_d|jj_d|jj_d|jj_t|jj_d|jjj_d|jjj_d|jj_d|jj_tddi|jj_d|jjj_ tddi|jj_!d|jjj!_ d|jjj_"dg|j#_$d|j%j&_$t'|dS)z( Add config for densepose head. Trrirp ROIAlignV2gffffff?r9r6r5FGNrZ%DensePoseChartWithConfidencePredictorZ DensePoseChartWithConfidenceLossr7Ziid_isorN)(r: DENSEPOSE_ONrr;NAMEZNUM_STACKED_CONVSZ NUM_PATCHESZ DECONV_KERNELZ CONV_HEAD_DIMZCONV_HEAD_KERNELZUP_SCALEZ HEATMAP_SIZE POOLER_TYPEPOOLER_RESOLUTIONPOOLER_SAMPLING_RATIOZNUM_COARSE_SEGM_CHANNELSZFG_IOU_THRESHOLDZ INDEX_WEIGHTSZ PART_WEIGHTSZPOINT_REGRESSION_WEIGHTSCOARSE_SEGM_TRAINED_BY_MASKSZ DECODER_ONZDECODER_NUM_CLASSESZDECODER_CONV_DIMSZ DECODER_NORMZDECODER_COMMON_STRIDEZDEEPLABNORMZ NONLOCAL_ONZPREDICTOR_NAMEZ LOSS_NAMEZ UV_CONFIDENCEEPSILONZSEGM_CONFIDENCErINPUTZROTATION_ANGLESTESTAUGr<r rrradd_densepose_head_configsL                                 rPcCsH|}t|j_d|jj_t|jj_d|jjj_d|jjj_d|jjj_ddg|jjj_ddg|jjj_ d|jjj_ t|jj_ d|jjj _d|jjj _d|jjj _gd |jjj _gd |jjj _ d|jjj _ t|jj_ d|jjj _d|jjj _d|jjj _gd |jjj _gd |jjj _ d|jjj _ t|jj_ d |jjj _dS)z( Add config for HRNet backbone. @rBASICr SUMr?)rrr)rTrQ)rrrr)rTrQrVrCrCN)rr:ZHRNETZ STEM_INPLANESZSTAGE2Z NUM_MODULESZ NUM_BRANCHESBLOCKZ NUM_BLOCKSZ NUM_CHANNELSZ FUSE_METHODZSTAGE3ZSTAGE4ZHRFPN OUT_CHANNELSr rrradd_hrnet_configs4                  rYcCs,t|t|t|t|t|dS)N)rPrYrrr)rrrradd_densepose_configs rZ) detectron2.configrrrrrr.r3r<rPrYrZrrrrs   5O#