
    i                     $    S r SSKrSrS rSS jrg)z\
This code is refer from:
https://github.com/whai362/PSENet/blob/python3/models/loss/iou.py
    Ngư>c                 p   US:H  nU R                  U5      n UR                  U5      n/ n[        U5       H  nU R                  S/:X  aG  U R                  UR                  :X  a-  [        R                  " S5      n[        R                  " S5      nOHX:H  R                  X:H  5      R                  S5      nX:H  R                  X:H  5      R                  S5      nUR                  [        R                  " U5      [        R                  " U5      [        -   -  5        M     [        U5      [        U5      -  nU$ )N   r   g        float32)masked_selectrangeshapepaddle	to_tensorlogical_andastype
logical_orappendsumEPSlen)	abmaskn_classvalidmiouiinterunions	            Y/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddleocr/ppocr/utils/iou.py
iou_singler      s    AIE	A	AD7^77qc>agg0$$S)E$$S)Ef))!&199)DEf((088CEFJJu%E):S)@AB  t9s4y DK    c                 L   U R                   S   nU R                  US/5      n UR                  US/5      nUR                  US/5      n[        R                  " U4SS9n[	        U5       H  n[        X   X   X'   U5      Xg'   M     U(       a  [        R                  " U5      nU$ )Nr   r   )dtype)r   reshaper	   zerosr   r   mean)r   r   r   r   reduce
batch_sizeiour   s           r   r&   r&   )   s    J			:r"#A			:r"#A<<R()D
,,
}I
6C:AD!$9  kk#Jr   )   T)__doc__r	   r   r   r&    r   r   <module>r*      s   
 
"r   