[190ca4]: / utils / __pycache__ / augmentations.cpython-37.pyc

Download this file

129 lines (129 with data), 13.9 kB

B

%öYfyCŃ
@sbdZddlZddlZddlZddlZddlZddlmZ	ddl
mmZddl
mZddlmZmZmZmZmZmZddlmZdZdZGdd	äd	âZeed
fddäZeefd
däZd<ddäZd=ddäZddäZd>ddäZ d?d!d"äZ!d@d#d$äZ"dAd%d&äZ#d'd(äZ$dBd,d-äZ%dd.d/d0ddd1eed
f
d2d3äZ&dCd4d5äZ'Gd6d7äd7âZ(Gd8d9äd9âZ)Gd:d;äd;âZ*dS)Dz
Image augmentation functions
ÚN)┌Image)┌LOGGER┌
check_version┌colorstr┌resample_segments┌segment2box┌
xywhn2xyxy)┌bbox_ioa)g
Îúp=
▀?g╔vżč/Ţ?gľCőlšű┘?)gZd;▀O═?gyÚ&1Č╠?g═╠╠╠╠╠╠?c@s eZdZdddäZd	ddäZdS)
┌AlbumentationsÚÇcCsd|_tdâ}y┤ddl}t|jdddŹ|j||dddd	Ź|jd
dŹ|jd
dŹ|jd
dŹ|j	d
dŹ|j
ddŹ|jddŹ|jddd
Źg}|j
||jddgdŹdŹ|_tá|dáddä|DâííWnHtk
rÍYn6tk
Ér
}ztá|Ť|ŤŁíWdd}~XYnXdS)Nzalbumentations: rz1.0.3T)┌hard)gÜÖÖÖÖÖÚ?g­?)g═╠╠╠╠╠ý?g├§(\Ć┬˝?g)┌height┌width┌scale┌ratio┌pg{«Gßzä?)rÚK)┌
quality_lowerr┌yolo┌class_labels)┌format┌label_fields)┌bbox_paramsz, css"|]}|jr|ŤáddíVqdS)zalways_apply=False, ┌N)r┌replace)┌.0┌xęr˙R/home/iml/Desktop/Talha/yolov5_P2_ROI_HCM_Micro_1000_Github/utils/augmentations.py˙	<genexpr>,sz*Albumentations.__init__.<locals>.<genexpr>)┌	transformr┌albumentationsr┌__version__┌RandomResizedCrop┌Blur┌
MedianBlur┌ToGray┌CLAHE┌RandomBrightnessContrast┌RandomGamma┌ImageCompression┌Compose┌
BboxParamsr┌info┌join┌ImportError┌	Exception)┌self┌size┌prefix┌A┌T┌errr┌__init__s&





"zAlbumentations.__init__š­?cCsr|jrjtáí|krj|j||ddůddůf|ddůdfdŹ}|dtáddät|d|dâDâí}}||fS)	NÚr)┌image┌bboxesrr:cSsg|]\}}|f|ĽĹqSrr)r┌c┌brrr˙
<listcomp>5sz+Albumentations.__call__.<locals>.<listcomp>rr;)r ┌random┌np┌array┌zip)r1┌im┌labelsr┌newrrr┌__call__2s,,zAlbumentations.__call__N)r)r8)┌__name__┌
__module__┌__qualname__r7rFrrrrr
s
r
FcCstj||||dŹS)N)┌inplace)┌TF┌	normalize)r┌mean┌stdrJrrrrL9srLcCsBx<tdâD]0}|ddů|f|||||ddů|f<q
W|S)NÚ)┌range)rrMrN┌irrr┌denormalize>s0rRšÓ?cCsŔ|s|s|rńtjádddí|||gd}tátá|tjíí\}}}|j}tjdd|jdŹ}	|	|ddá	|í}
tá
|	|dddíá	|í}tá
|	|d	ddíá	|í}tátá||
ítá||ítá||ífí}
tj|
tj
|d
ŹdS)NÚ    r9rOrÚ)┌dtypeÚ┤Ú Ú)┌dst)r@r?┌uniform┌cv2┌split┌cvtColor┌
COLOR_BGR2HSVrV┌arange┌astype┌clip┌merge┌LUT┌
COLOR_HSV2BGR)rC┌hgain┌sgain┌vgain┌r┌hue┌sat┌valrVr┌lut_hue┌lut_sat┌lut_val┌im_hsvrrr┌augment_hsvEs(rqTcCsátá||rtjntjí}|rZtjdddŹ}|á|ddůddůdfí|ddůddůdf<n.tá|ddůddůdfí|ddůddůdf<tá||rśtjntjíS)Ng@)Úrr)Z	clipLimitZtileGridSizer)	r\r^┌
COLOR_BGR2YUV┌
COLOR_RGB2YUV┌createCLAHE┌apply┌equalizeHist┌
COLOR_YUV2BGR┌
COLOR_YUV2RGB)rCZclahe┌bgrZyuvr<rrr┌
hist_equalizeUs0.r{cCs*|jddů\}}|ddůddůfátí}|j\}}}}||||d}	xĎ|	áídt|	jdâůD]┤}
||
\}}}
}|||
|}}ttád||íâttád||íâ}}||||||g\}}}}|||ů||
ůf|||ů||ůf<t	j
|||
df||||ggddŹ}qjW||fS)NrYr9gÓ?r)┌axis)┌shapera┌intr5┌argsort┌roundr2r?r[r@┌append)rCrD┌h┌w┌boxes┌x1┌y1┌x2┌y2┌srQ┌x1b┌y1b┌x2b┌y2b┌bh┌bw┌yc┌xc┌x1a┌y1a┌x2a┌y2arrr┌	replicate`s *$(rľęiÇiÇęÚrrÖrÖÚ c	Csó|jddů}t|târ ||f}t|d|d|d|dâ}|sPt|dâ}||f}	tt|d|ââtt|d|ââf}
|d|
d|d|
d}}|r┬tá||ítá||í}}n>|Érd\}}|d|df}
|d|d|d|df}	|d}|d}|dddů|
kÉr6tj||
tj	dŹ}tt|dââtt|dââ}
}tt|dââtt|dââ}}tj
||
|||tj|d	Ź}||	||ffS)
NrYrr9g­?)ggrT)┌
interpolationgÜÖÖÖÖÖ╣?)┌value)r}┌
isinstancer~┌minrÇr@┌modr\┌resize┌INTER_LINEAR┌copyMakeBorder┌BORDER_CONSTANT)rC┌	new_shape┌color┌auto┌	scaleFill┌scaleup┌strider}rir┌	new_unpad┌dw┌dh┌top┌bottom┌left┌rightrrr┌	letterboxqs.
"
(" ""r▒rÚ
šÜÖÖÖÖÖ╣?šęrrc	
Cs~|jd|dd}	|jd|dd}
tádí}|jdd|d<|jdd|d<tádí}tá||í|d<tá||í|d<tádí}
tá||í}tád|d|í}tj|d	|d
Ź|
ddů<tádí}tátá||ítj	dí|d<tátá||ítj	dí|d
<tádí}tád|d|í|
|d<tád|d|í|	|d<|||
||}|ddkÉsĄ|ddkÉsĄ|tádíká
íÉrÓ|Ér┬tj|||
|	fddŹ}ntj||ddů|
|	fddŹ}t
|â}|Érvt
ddä|DââÉot
|â|k}tá|dfí}|Ér╚t|â}xśt|âD]î\}}tát
|âdfí}||ddůddůf<||j}|ÉrÜ|ddůddůf|ddůddůfn|ddůddůf}t||
|	â||<Éq4WÉn^tá|ddfí}|ddůddddddddgfá|ddí|ddůddůf<||j}|ÉrN|ddůddůf|ddůddůfn|ddůddůfá|dí}|ddůddddgf}|ddůddddgf}tá|ádí|ádí|ádí|ádífíád|íj}|ddůddgfád|
í|ddůddgf<|ddůddgfád|	í|ddůddgf<t|ddůddůfj||j|ÉrNdnddŹ}||}|||ddůddůf<||fS)NrrYr9rO)rrY)r9rY)rYr)rYr9)rr)┌angle┌centerrrW)rr9)r9rgÓ?)rÖrÖrÖ)┌dsize┌borderValuecss|]}|áíVqdS)N)┌any)rrrrrr┘sz%random_perspective.<locals>.<genexpr>ÚrrÚÚÚg{«Gßzä?gÜÖÖÖÖÖ╣?)┌box1┌box2┌area_thr)r}r@┌eyer?r[r\┌getRotationMatrix2D┌math┌tan┌pir║┌warpPerspective┌
warpAffine┌len┌zerosr┌	enumerate┌onesr5r┌reshape┌concatenater×┌maxrb┌box_candidates)rC┌targets┌segments┌degrees┌	translater┌shear┌perspective┌borderr
r┌C┌P┌R┌arë┌Sr5┌M┌n┌use_segmentsrErQ┌segment┌xyr┌yrrr┌random_perspectiveŁs`



""
0	 
B<
J4,,0rŃc
Cs\t|â}|ÉrR|ÉrR|j\}}}tá|jtjí}x÷tjt|ât||âdŹD]ě}	||	||	}
}||
d|
d||
d|
df}t	||ddůddůfâ}
|
dká
írLtá||
df|Ľgfdí}|átá||ddůddůf|ddůddůffdíít
á|||	átjígd	d
t
jíqLWt
á|dí}t
á|díátí}||||<|||fS)N)┌krOrYr9r╗rŻg333333Ë?rrT)r9r9r9)r╔r}r@r╩┌uint8r?┌samplerPrÇr	┌allr╬rür\┌drawContoursra┌int32┌FILLED┌flip┌bool)rCrDrĎrrŮrérâr<┌im_new┌j┌lrë┌box┌ioa┌resultrQrrr┌
copy_pasteřs  $:&rˇcCsVtáí|kÉrR|jddů\}}dgddgddgddgdd	gd
}ÉxŘ|D]˘}tádt||âí}tádt||âí}tdtád|í|dâ}	tdtád|í|dâ}
t||	|â}t||
|â}dd
ätdâDâ||
|ů|	|ůf<t|ârZ|dkrZtj	|	|
||gtj
dŹ}
t|
t|ddůddůf||ââ}||dk}qZW|S)NrYgÓ?r9gđ?g└?r╗g░?rrgá?ÚrcSsg|]}táddíĹqS)Ú@Ú┐)r?┌randint)r┌_rrrr>#szcutout.<locals>.<listcomp>rOgŞůŰQŞ×?)rVrŻg333333Ń?)
r?r}r¸r~r¤r×rPr╔r@rA┌float32r	r)rCrDrrérâ┌scalesrë┌mask_h┌mask_w┌xmin┌ymin┌xmax┌ymaxr­r˝rrr┌cutouts 2""rcCsBtjáddí}|||d|átjí}tá||fdí}||fS)Ng@@r9r)r@r?┌betararňr╬)rCrD┌im2┌labels2rirrr┌mixup.srrYÚdš╝ëěŚ▓Ďť<cCsÉ|d|d|d|d}}|d|d|d|d}}	tá||	||	||í}
||k|	|k@||	||||k@|
|k@S)NrYrrOr9)r@┌maximum)r┐r└┌wh_thr┌ar_thrr┴┌eps┌w1┌h1┌w2┌h2┌arrrrrđ6s""rđÚÓ)g{«Gßz┤?g­?)gŔ?gUUUUUU§?gÜÖÖÖÖÖ┘?c

Csvtdâ}
Éyddl}ddlm}t|jdddŹ|rż|j||||dŹg}
|	r^tá|
ŤdŁíqě|dkrx|
|j	|d	Źg7}
|dkrĺ|
|j
|d	Źg7}
|dkrět|âfd
}|
|j|d×Äg7}
n|j
|dŹ|j||dŹg}
|
|j||d
Ź|âg7}
tá|
dáddä|
Dâíí|á|
íStk
Ér<tá|
ŤdŁíYn6tk
Érp}ztá|
Ť|ŤŁíWdd}~XYnXdS)Nzalbumentations: r)┌
ToTensorV2z1.0.3T)r)r
rrrz.auto augmentations are currently not supported)rrO)┌max_size)r
r)rMrNz, css"|]}|jr|ŤáddíVqdS)zalways_apply=False, rN)rr)rrrrrr_sz*classify_albumentations.<locals>.<genexpr>uIÔÜá´ŞĆ not found, install with `pip install albumentations` (recommended))r)rr!┌albumentations.pytorchrrr"r#rr-┌HorizontalFlip┌VerticalFlip┌float┌ColorJitter┌SmallestMaxSize┌
CenterCrop┌	Normalizer.r+r/┌warningr0)┌augmentr2rr┌hflip┌vflipZjitterrMrN┌auto_augr3r4rr5Zcolor_jitterr6rrr┌classify_albumentations>s0
r!cCs8t|tâstd|ŤdŁâétát|âtâtátt	ígíS)Nz ERROR: classify_transforms size z# must be integer, not (list, tuple))
rŁr~┌AssertionErrorr5r+r┌ToTensorr┌
IMAGENET_MEAN┌IMAGENET_STD)r2rrr┌classify_transformshsr&cs&eZdZdçfddä	ZddäZçZS)	┌	LetterBoxęiÇiÇFrÜcs8tâáít|târ||fn|\|_|_||_||_dS)N)┌superr7rŁr~rérârŽrę)r1r2rŽrę)┌	__class__rrr7qs
zLetterBox.__init__csń|jddů\}}tłj|łj|â}t||ât||â}}łjr^çfddä||fDânłjłj}}t||ddât||ddâ}	}
tjłjłjdfd|jdŹ}t	j
|||ft	jdŹ||	|	|ů|
|
|ůf<|S)	NrYc3s$|]}tá|łjíłjVqdS)N)r─┌ceilrę)rr)r1rrr{sz%LetterBox.__call__.<locals>.<genexpr>gÜÖÖÖÖÖ╣?rOrÖ)rV)rŤ)r}r×rérârÇrŽr@┌fullrVr\rárí)r1rC┌imh┌imwrirérâ┌hs┌wsrşr»┌im_outr)r1rrFws**.zLetterBox.__call__)r(FrÜ)rGrHrIr7rF┌
__classcell__rr)r*rr'osr'cs&eZdZdçfddä	ZddäZçZS)rÚÇcs,tâáít|târ||fn|\|_|_dS)N)r)r7rŁr~rérâ)r1r2)r*rrr7äs
zCenterCrop.__init__cCsh|jddů\}}t||â}||d||d}}tj||||ů|||ůf|j|jftjdŹS)NrY)rŤ)r}r×r\rárârérí)r1rCr-r.┌mrşr»rrrrFłs
zCenterCrop.__call__)r3)rGrHrIr7rFr2rr)r*rrésrcs&eZdZdçfddä	ZddäZçZS)r#Fcstâáí||_dS)N)r)r7┌half)r1r5)r*rrr7Ĺs
zToTensor.__init__cCsFtá|ádídddůí}tá|í}|jr2|áín|áí}|d}|S)N)rYrr9rTgÓo@)r@┌ascontiguousarray┌	transpose┌torch┌
from_numpyr5r)r1rCrrrrFĽs

zToTensor.__call__)F)rGrHrIr7rFr2rr)r*rr#Ćsr#)rSrSrS)TF)rŚrśTFTrÜ)rrr▓r│r│r▓r┤rÁ)rS)rS)rYrr│r)r)+┌__doc__r─r?r\┌numpyr@r8┌torchvision.transforms┌
transformsr5Z!torchvision.transforms.functional┌
functionalrK┌PILr┌
utils.generalrrrrrr┌
utils.metricsr	r$r%r
rLrRrqr{rľr▒rŃrˇrrrđr!r&r'rr#rrrr┌<module>sZ !


-
X