o Kɔfx@sBddlZddlZddlZddlmZddlmZGdddZdS)N) rearrange)MiDaSInferencec@s(eZdZddZejddfddZdS) MidasDetectorcCstdd|_dS)NZ dpt_hybrid) model_type)rcudamodel)selfr 8/data/xianyang/code/FateZero/annotator/midas/__init__.py__init__ szMidasDetector.__init__@g?cCsn|jdksJ|}tt|}|dd}t|d}||d}|}|t |8}|t |}| }|d ddtj}| }tj|tjdddd } tj|tjdddd } t| |} d| ||k<d| ||k<tj| | | gd d } | tj| d d d dd} | dd ddtj} || fWdS1swYdS)Ng_@g?zh w c -> 1 c h wrgo@r)ksize)axisr T)rkeepdimsg?)ndimtorchno_grad from_numpyfloatrrrcloneminmaxcpunumpyclipastypenpuint8cv2SobelCV_32F ones_likestacksum)r input_imageabg_th image_depthdepthZdepth_ptZ depth_imageZdepth_npxyznormalZ normal_imager r r __call__ s.       $zMidasDetector.__call__N)__name__ __module__ __qualname__r r pir1r r r r r sr) r"rr reinopsrapirrr r r r s