Π‘ΡΡΠ»ΠΊΠ° Π΄Π»Ρ ultralytics/data/augment.py
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠΎΡ ΡΠ°ΠΉΠ» Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/data/augment .py. ΠΡΠ»ΠΈ ΡΡ Π·Π°ΠΌΠ΅ΡΠΈΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΠΌΠΎΠ³ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π΅, ΠΎΡΠΏΡΠ°Π²ΠΈΠ² Pull Request π οΈ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ π!
ultralytics.data.augment.BaseTransform
ΠΠ°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΠΡΠΎ ΠΎΠ±ΡΠΈΠΉ ΠΊΠ»Π°ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π½ΡΠΆΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠ»Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π±ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ ΠΊΠ°ΠΊ Ρ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ°ΠΊ ΠΈ Ρ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠ΅ΡΠΎΠ΄Ρ:
ΠΠΌΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
__init__ |
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ BaseTransform. |
apply_image |
ΠΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊ ΡΡΠ»ΡΠΊΠ°ΠΌ. |
apply_instances |
ΠΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΌΠ΅ΡΠΊΠ°Ρ . |
apply_semantic |
ΠΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. |
__call__ |
ΠΡΠΈΠΌΠ΅Π½ΠΈ Π²ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠΊ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΌΠ°ΡΠΊΠ°ΠΌ. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__call__(labels)
ΠΡΠΈΠΌΠ΅Π½ΠΈ Π²ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠΊ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΌΠ°ΡΠΊΠ°ΠΌ.
__init__()
apply_image(labels)
apply_instances(labels)
ultralytics.data.augment.Compose
ΠΠ»Π°ΡΡ Π΄Π»Ρ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__call__(data)
__getitem__(index)
ΠΠΎΠ»ΡΡΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__init__(transforms)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ Compose ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ.
__repr__()
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
__setitem__(index, value)
ΠΠΎΠ»ΡΡΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
append(transform)
ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΡΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠΏΠΈΡΠΊΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ.
insert(index, transform)
ΠΡΡΠ°Π²Π»ΡΠΉ Π½ΠΎΠ²ΡΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ.
ultralytics.data.augment.BaseMixTransform
ΠΠ»Π°ΡΡ Π΄Π»Ρ Π±Π°Π·ΠΎΠ²ΡΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ ΠΌΠΈΠΊΡΠ° (MixUp/Mosaic).
ΠΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²Π·ΡΡΠ° Ρ mmyolo.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__call__(labels)
ΠΡΠΈΠΌΠ΅Π½ΡΠΉ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠΊ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ mixup/mosaic.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__init__(dataset, pre_transform=None, p=0.0)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ BaseMixTransform Ρ Π½Π°Π±ΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ , pre_transform ΠΈ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ.
get_indexes()
ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π΄Π»Ρ ΠΌΠΎΠ·Π°ΠΈΡΠ½ΠΎΠ³ΠΎ Π½Π°ΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ.
ultralytics.data.augment.Mosaic
ΠΠ°Π·Ρ: BaseMixTransform
ΠΠΎΠ·Π°ΠΈΡΠ½ΠΎΠ΅ Π½Π°ΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅.
ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΌΠΎΠ·Π°ΠΈΡΠ½ΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ (4 ΠΈΠ»ΠΈ 9) ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎ ΠΌΠΎΠ·Π°ΠΈΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ Π½Π°Π±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ.
ΠΡΡΠΈΠ±ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
dataset |
ΠΠ°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ , ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΌΠΎΠ·Π°ΠΈΡΠ½ΠΎΠ΅ Π½Π°ΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅. |
|
imgsz |
int
|
Π Π°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (Π²ΡΡΠΎΡΠ° ΠΈ ΡΠΈΡΠΈΠ½Π°) ΠΏΠΎΡΠ»Π΅ ΠΌΠΎΠ·Π°ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 640. |
p |
float
|
ΠΠ΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ·Π°ΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 0-1. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 1,0. |
n |
int
|
Π Π°Π·ΠΌΠ΅Ρ ΡΠ΅ΡΠΊΠΈ, Π»ΠΈΠ±ΠΎ 4 (Π΄Π»Ρ 2Ρ 2), Π»ΠΈΠ±ΠΎ 9 (Π΄Π»Ρ 3Ρ 3). |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 |
|
__init__(dataset, imgsz=640, p=1.0, n=4)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ Π½Π°Π±ΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ , ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ ΠΈ Π³ΡΠ°Π½ΠΈΡΠ΅ΠΉ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
get_indexes(buffer=True)
ΠΠ΅ΡΠ½ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈΠ· Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ .
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
ultralytics.data.augment.MixUp
ΠΠ°Π·Ρ: BaseMixTransform
ΠΠ»Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°ΡΠ³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ MixUp ΠΊ Π½Π°Π±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__init__(dataset, pre_transform=None, p=0.0)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ MixUp Ρ Π½Π°Π±ΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ , pre_transform ΠΈ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ MixUp.
ultralytics.data.augment.RandomPerspective
ΠΡΠΏΠΎΠ»Π½ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΈ Π°ΡΡΠΈΠ½Π½ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°ΠΌΠΎΠΊ, ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠΎΡΠ΅ΠΊ. ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠΎΡΠ΅ΠΊ. ΠΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π²ΠΈΠ³. ΠΠ»Π°ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ»ΠΎΠ²Π½ΠΎ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ.
ΠΡΡΠΈΠ±ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
degrees |
float
|
ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π³ΡΠ°Π΄ΡΡΠΎΠ² Π΄Π»Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ Π²ΡΠ°ΡΠ΅Π½ΠΈΠΉ. |
translate |
float
|
ΠΠΎΠ»Ρ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΉ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ Π΄Π»Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°. |
scale |
float
|
ΠΠ½ΡΠ΅ΡΠ²Π°Π» ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ 0,1 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ 90%-110%. |
shear |
float
|
ΠΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ΄Π²ΠΈΠ³Π° (ΡΠ³ΠΎΠ» Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ ). |
perspective |
float
|
ΠΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ. |
border |
tuple
|
ΠΠΎΡΡΠ΅ΠΆ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠΎΠ·Π°ΠΈΠΊΠΈ. |
pre_transform |
callable
|
Π€ΡΠ½ΠΊΡΠΈΡ/ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. |
ΠΠ΅ΡΠΎΠ΄Ρ:
ΠΠΌΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
affine_transform |
ΠΡΠΈΠΌΠ΅Π½ΠΈ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠΈΡ Π°ΡΡΠΈΠ½Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ. |
apply_bboxes |
Π’ΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΡΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠ΅ Π±ΠΎΠΊΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π°ΡΡΠΈΠ½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ. |
apply_segments |
Π’ΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ ΠΈ ΡΠΎΠ·Π΄Π°ΠΉ Π½ΠΎΠ²ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΌΠΊΠΈ. |
apply_keypoints |
Π’ΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ. |
__call__ |
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ, ΡΠ°ΠΊ ΠΈ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΈΠΌ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡΠΌ. |
box_candidates |
ΠΡΡΠΈΠ»ΡΡΡΡΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΌΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ ΠΏΠΎΡΠ»Π΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 |
|
__call__(labels)
ΠΡΡΠΈΠ½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΌΠΈΡΠ΅Π½ΠΈ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
labels |
dict
|
Π΄ΠΈΠΊΡΠ°Π½Ρ |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__init__(degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, border=(0, 0), pre_transform=None)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ RandomPerspective Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
affine_transform(img, border)
ΠΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π°ΡΡΠΈΠ½Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½Π½ΡΡ Π²ΠΎΠΊΡΡΠ³ ΡΠ΅Π½ΡΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
img |
ndarray
|
ΠΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
border |
tuple
|
Π Π°Π·ΠΌΠ΅ΡΡ Π³ΡΠ°Π½ΠΈΡΡ. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
img |
ndarray
|
Π’ΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. |
M |
ndarray
|
ΠΠ°ΡΡΠΈΡΠ° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ. |
s |
float
|
ΠΠ°ΡΡΡΠ°Π±Π½ΡΠΉ ΡΠ°ΠΊΡΠΎΡ. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
apply_bboxes(bboxes, M)
ΠΡΠΈΠΌΠ΅Π½ΡΠΉ Π°ΡΡΠΈΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ Π±ΠΈΠ±ΠΎΠΊΡΠ°ΠΌ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
bboxes |
ndarray
|
ΡΠΏΠΈΡΠΎΠΊ Π±ΠΈΠ±ΠΎΠΊΡΠΎΠ², ΡΠΎΡΠΌΠ°Ρ xyxy, Ρ ΡΠΎΡΠΌΠΎΠΉ (num_bboxes, 4). |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
M |
ndarray
|
Π°ΡΡΠΈΠ½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
new_bboxes |
ndarray
|
bboxes ΠΏΠΎΡΠ»Π΅ affine, [num_bboxes, 4]. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
apply_keypoints(keypoints, M)
ΠΡΠΈΠΌΠ΅Π½ΠΈ Π°ΡΡΠΈΠ½ ΠΊ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
keypoints |
ndarray
|
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ - [N, 17, 3]. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
M |
ndarray
|
Π°ΡΡΠΈΠ½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
new_keypoints |
ndarray
|
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ Π°ΡΡΠΈΠ½Π°ΠΆΠ°, [N, 17, 3]. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
apply_segments(segments, M)
ΠΡΠΈΠΌΠ΅Π½ΡΠΉ Π°ΡΡΠΈΠ½Ρ ΠΊ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠΉ ΠΈΠ· Π½ΠΈΡ Π½ΠΎΠ²ΡΠ΅ Π±ΠΈΠ±ΠΎΠΊΡΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
segments |
ndarray
|
ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ², [num_samples, 500, 2]. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
M |
ndarray
|
Π°ΡΡΠΈΠ½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
new_segments |
ndarray
|
ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π°ΡΡΠΈΠ½Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, [num_samples, 500, 2]. |
new_bboxes |
ndarray
|
bboxes ΠΏΠΎΡΠ»Π΅ affine, [N, 4]. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
box_candidates(box1, box2, wh_thr=2, ar_thr=100, area_thr=0.1, eps=1e-16)
ΠΡΡΠΈΡΠ»ΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠ² Π² Π±ΠΎΠΊΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°Π±ΠΎΡΠ° ΠΏΠΎΡΠΎΠ³ΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΊΠΎΡΠΎΠ±ΠΎΠΊ Π΄ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΡΠΈΠΊ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠΌ Π½Π° Π΄Π°Π»ΡΠ½Π΅ΠΉΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
box1 |
ndarray
|
ΠΡΠ°Π½ΠΈΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ 4,n Π΄ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΠΊΠ°ΠΊ [x1, y1, x2, y2]. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
box2 |
ndarray
|
ΠΡΠ°Π½ΠΈΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ 4,n ΠΏΠΎΡΠ»Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ [x1, y1, x2, y2]. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
wh_thr |
float
|
ΠΠΎΡΠΎΠ³ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ . ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ 2. |
2
|
ar_thr |
float
|
ΠΠΎΡΠΎΠ³ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΡΡΠΎΡΠΎΠ½. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ 100. |
100
|
area_thr |
float
|
ΠΠΎΡΠΎΠ³ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΏΠ»ΠΎΡΠ°Π΄Π΅ΠΉ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ 0,1. |
0.1
|
eps |
float
|
ΠΠ΅Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΏΡΠΈΠ»ΠΎΠ½, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ 1e-16. |
1e-16
|
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
ndarray
|
ΠΡΠ»Π΅Π²ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠΈΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ°ΠΌΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΠΎΡΠΎΠ³ΠΎΠ². |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
ultralytics.data.augment.RandomHSV
ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΎΡΡΠ΅Π½ΠΊΠ°, Π½Π°ΡΡΡΠ΅Π½Π½ΠΎΡΡΠΈ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (HSV) ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π Π΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½Ρ, Π½ΠΎ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ , ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ hgain, sgain ΠΈ vgain.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__call__(labels)
ΠΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ HSV-ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ .
ΠΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π² Π΄ΠΈΠΊΡΠ΅ 'labels' Π½Π° Π²Ρ ΠΎΠ΄Π΅.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__init__(hgain=0.5, sgain=0.5, vgain=0.5)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠΉ ΠΊΠ»Π°ΡΡ RandomHSV Ρ ΡΡΠΈΠ»Π΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° HSV.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
hgain |
float
|
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·Π±ΡΠΎΡ Π΄Π»Ρ ΠΎΡΡΠ΅Π½ΠΊΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ 0,5. |
0.5
|
sgain |
float
|
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·Π±ΡΠΎΡ Π΄Π»Ρ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ 0,5. |
0.5
|
vgain |
float
|
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·Π±ΡΠΎΡ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ 0,5. |
0.5
|
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
ultralytics.data.augment.RandomFlip
ΠΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΡΠΎΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ.
Π’Π°ΠΊΠΆΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Π²ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ (ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΌΠΊΠΈ, ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΈ Ρ.Π΄.).
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__call__(labels)
ΠΡΠΈΠΌΠ΅Π½ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈ Π»ΡΠ±ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΌΠΊΠΈ ΠΈΠ»ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
labels |
dict
|
Π‘Π»ΠΎΠ²Π°ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΊΠ»ΡΡΠΈ 'img' ΠΈ 'instances'. 'img' - ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠ½ΡΡΡ. 'instances' - ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΌΠΊΠΈ ΠΈ, ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ, ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
dict
|
Π’ΠΎΡ ΠΆΠ΅ Π΄ΠΈΠΊΡ Ρ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠ½ΡΡΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ ΠΏΠΎΠ΄ ΠΊΠ»ΡΡΠ°ΠΌΠΈ 'img' ΠΈ 'instances'. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__init__(p=0.5, direction='horizontal', flip_idx=None)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠ»Π°ΡΡ RandomFlip Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
p |
float
|
ΠΠ΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π±ΡΠ°ΡΡΠ²Π°Π½ΠΈΡ. ΠΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ 0 ΠΈ 1. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - 0,5. |
0.5
|
direction |
str
|
ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΡΠΎΡ. ΠΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ "Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅" ΠΈΠ»ΠΈ "Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅". ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - "Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅". |
'horizontal'
|
flip_idx |
array - like
|
ΠΠ½Π΄Π΅ΠΊΡΠ½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠ½ΡΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠΎΡΠ΅ΠΊ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ. |
None
|
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
ultralytics.data.augment.LetterBox
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π½Π°Π±ΠΈΠ²ΠΊΠ° Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ, ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ², ΠΏΠΎΠ·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__call__(labels=None, image=None)
ΠΠ΅ΡΠ½ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΡΠΈΠΊΠ΅ΡΠΊΠΈ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°ΠΌΠΊΠΎΠΉ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__init__(new_shape=(640, 640), auto=False, scaleFill=False, scaleup=True, center=True, stride=32)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ LetterBox Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
ultralytics.data.augment.CopyPaste
Π Π΅Π°Π»ΠΈΠ·ΡΠΉ Π°ΡΠ³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Copy-Paste, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² ΡΡΠ°ΡΡΠ΅ https://arxiv.org/abs/2012.07177. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Copy-Paste ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__call__(labels)
ΠΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Copy-Paste ΠΊ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
labels |
dict
|
Π‘Π»ΠΎΠ²Π°ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ: - 'img': ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ. - 'cls': ΠΠ΅ΡΠΊΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ. - 'instances': ΠΠ±ΡΠ΅ΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΌΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅, ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ, ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
dict
|
ΠΠΈΠΊΡΠ°Π½Ρ Ρ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ ΠΏΠΎΠ΄ ΠΊΠ»ΡΡΠ°ΠΌΠΈ 'img', 'cls' ΠΈ 'instances'. |
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ
- ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ "ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ" Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ²ΠΎΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΡΡΠΎΠ±Ρ ΡΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ.
- ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ 'labels' Π½Π° ΠΌΠ΅ΡΡΠ΅.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__init__(p=0.5)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠ»Π°ΡΡ CopyPaste Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
p |
float
|
ΠΠ΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°ΡΠ³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Copy-Paste. ΠΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΡ 0 Π΄ΠΎ 1. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - 0,5. |
0.5
|
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
ultralytics.data.augment.Albumentations
Π’ΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π°Π»ΡΠ±ΡΠΌΠΈΠ½Π°ΡΠΈΠΈ.
ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ, Π΄Π΅ΠΈΠ½ΡΡΠ°Π»Π»ΠΈΡΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ. ΠΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°Π·ΠΌΡΡΠΈΠ΅, ΠΌΠ΅Π΄ΠΈΠ°Π½Π½ΠΎΠ΅ ΡΠ°Π·ΠΌΡΡΠΈΠ΅, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΎΡΡΠ΅Π½ΠΊΠΈ ΡΠ΅ΡΠΎΠ³ΠΎ, Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΡ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠ°ΡΡΠ° Histogram Equalization, ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΊΠΎΡΡΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, RandomGamma ΠΈ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΡΠ΅Ρ ΡΠΆΠ°ΡΠΈΡ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__call__(labels)
ΠΠ΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΠΎΠ²Π°ΡΡ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__init__(p=1.0)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ YOLO bbox formatted params.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
ultralytics.data.augment.Format
Π€ΠΎΡΠΌΠΈΡΡΠ΅Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ Π΄Π»Ρ Π·Π°Π΄Π°Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΏΠΎΠ·Ρ. ΠΠ»Π°ΡΡ
ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΡΠ΅Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ collate_fn
Π² PyTorch DataLoader.
ΠΡΡΠΈΠ±ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
bbox_format |
str
|
Π€ΠΎΡΠΌΠ°Ρ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°ΠΌΠΎΠΊ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ 'xywh'. |
normalize |
bool
|
ΠΡΠΆΠ½ΠΎ Π»ΠΈ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΌΠΊΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ True. |
return_mask |
bool
|
ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΠΉ ΠΌΠ°ΡΠΊΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² Π΄Π»Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ False. |
return_keypoint |
bool
|
ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΠΉ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΏΠΎΠ·Ρ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ False. |
mask_ratio |
int
|
ΠΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΠΌΠ°ΡΠΎΠΊ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ 4. |
mask_overlap |
bool
|
ΠΡΠΆΠ½ΠΎ Π»ΠΈ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΠΌΠ°ΡΠΊΠΈ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ True. |
batch_idx |
bool
|
Π‘ΠΎΡ ΡΠ°Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ True. |
bgr |
float
|
ΠΠ΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ BGR. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - 0,0. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 |
|
__call__(labels)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΠΉ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠ»Π°ΡΡΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΌΠΊΠΈ ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ 'collate_fn'.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__init__(bbox_format='xywh', normalize=True, return_mask=False, return_keypoint=False, return_obb=False, mask_ratio=4, mask_overlap=True, batch_idx=True, bgr=0.0)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠ»Π°ΡΡ Format Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
ultralytics.data.augment.RandomLoadText
ΠΡΠΎΠΈΠ·Π²Π΅Π΄ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ Π²ΡΠ±ΠΎΡΠΊΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ² ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π²ΡΠ±ΠΎΡΠΎΠΊ.
ΠΡΡΠΈΠ±ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
prompt_format |
str
|
Π€ΠΎΡΠΌΠ°Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ '{}'. |
neg_samples |
tuple[int]
|
Π Π΅ΠΉΠ½Π΄ΠΆΠ΅Ρ Π΄Π»Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΉ Π²ΡΠ±ΠΎΡΠΊΠΈ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ², ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (80, 80). |
max_samples |
int
|
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ² ΡΠ΅ΠΊΡΡΠ° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - 80. |
padding |
bool
|
ΠΡΠΆΠ½ΠΎ Π»ΠΈ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡ Π΄ΠΎ max_samples. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ False. |
padding_value |
str
|
Π’Π΅ΠΊΡΡ ΠΏΠΎΠ΄ΠΊΠ»Π°Π΄ΠΊΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ "". |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 |
|
__call__(labels)
ΠΠ΅ΡΠ½ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ ΡΠ΅ΠΊΡΡΡ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__init__(prompt_format='{}', neg_samples=(80, 80), max_samples=80, padding=False, padding_value='')
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠ»Π°ΡΡ RandomLoadText Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
ultralytics.data.augment.ClassifyLetterBox
YOLOv8 ΠΠ»Π°ΡΡ LetterBox Π΄Π»Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΡΡ ΡΠ°ΡΡΡΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, T.Compose([LetterBox(size), ToTensor()]).
ΠΡΡΠΈΠ±ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
h |
int
|
Π¦Π΅Π»Π΅Π²Π°Ρ Π²ΡΡΠΎΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. |
w |
int
|
Π¦Π΅Π»Π΅Π²Π°Ρ ΡΠΈΡΠΈΠ½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. |
auto |
bool
|
ΠΡΠ»ΠΈ True, ΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΊΠΎΡΠΎΡΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ stride. |
stride |
int
|
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ stride, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅, ΠΊΠΎΠ³Π΄Π° 'auto' ΡΠ°Π²Π½ΠΎ True. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__call__(im)
ΠΠ·ΠΌΠ΅Π½ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π½Π°Π»ΠΎΠΆΠΈ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ letterbox.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
im |
ndarray
|
ΠΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° numpy ΡΠΎΡΠΌΡ HWC. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
ndarray
|
ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ Π±ΡΠΊΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° numpy. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__init__(size=(640, 640), auto=False, stride=32)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠ»Π°ΡΡ ClassifyLetterBox Ρ ΡΠ΅Π»Π΅Π²ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ, Π°Π²ΡΠΎΡΠ»Π°Π³ΠΎΠΌ ΠΈ stride.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
size |
Union[int, Tuple[int, int]]
|
Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ (Π²ΡΡΠΎΡΠ°, ΡΠΈΡΠΈΠ½Π°) Π΄Π»Ρ letterbox. |
(640, 640)
|
auto |
bool
|
ΠΡΠ»ΠΈ True, ΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΊΠΎΡΠΎΡΠΊΡΡ ΡΡΠΎΡΠΎΠ½Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΡΠ°ΠΉΠ΄Π°. |
False
|
stride |
int
|
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ stride, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅, ΠΊΠΎΠ³Π΄Π° 'auto' ΡΠ°Π²Π½ΠΎ True. |
32
|
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
ultralytics.data.augment.CenterCrop
YOLOv8 ΠΠ»Π°ΡΡ CenterCrop Π΄Π»Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΡΡ ΡΠ°ΡΡΡΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, T.Compose([CenterCrop(size), ToTensor()]).
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__call__(im)
ΠΠ·ΠΌΠ΅Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΠΎΠ±ΡΠ΅Π·Π°ΠΉ ΡΠ΅Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ letterbox.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
im |
ndarray
|
ΠΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° numpy ΡΠΎΡΠΌΡ HWC. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
ndarray
|
ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ±ΡΠ΅Π·Π°Π½Π½ΠΎΠ΅ ΠΏΠΎ ΡΠ΅Π½ΡΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ, Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° numpy. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__init__(size=640)
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° numpy Π² PyTorch tensor .
ultralytics.data.augment.ToTensor
YOLOv8 ΠΠ»Π°ΡΡ ToTensor Π΄Π»Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎ Π΅ΡΡΡ T.Compose([LetterBox(size), ToTensor()]).
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__call__(im)
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° numpy Π² PyTorch tensor , ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΎΡΠ½ΠΎΡΡΡ ΠΈ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
im |
ndarray
|
ΠΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° numpy Ρ ΡΠΎΡΠΌΠΎΠΉ (H, W, C) Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ BGR. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
Tensor
|
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ PyTorch tensor Π² ΡΠΎΡΠΌΠ°ΡΠ΅ float32 ΠΈΠ»ΠΈ float16, Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΊ [0, 1]. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
__init__(half=False)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ YOLOv8 ToTensor Ρ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΠΎΠ»ΡΡΠΎΡΠ½ΠΎΡΡΠΈ.
ultralytics.data.augment.v8_transforms(dataset, imgsz, hyp, stretch=False)
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠΉ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠ°Π·ΠΌΠ΅Ρ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΠΊ Π½Π° YOLOv8 .
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
ultralytics.data.augment.classify_transforms(size=224, mean=DEFAULT_MEAN, std=DEFAULT_STD, interpolation=Image.BILINEAR, crop_fraction=DEFAULT_CROP_FRACTION)
ΠΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ/Π²ΡΠ²ΠΎΠ΄Π°. ΠΠ΄ΠΎΡ Π½ΠΎΠ²Π»Π΅Π½ timm/data/transforms_factory.py.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
size |
int
|
Π Π°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ |
224
|
mean |
tuple
|
ΡΡΠ΅Π΄Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² RGB |
DEFAULT_MEAN
|
std |
tuple
|
ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² RGB |
DEFAULT_STD
|
interpolation |
InterpolationMode
|
Π Π΅ΠΆΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - T.InterpolationMode.BILINEAR. |
BILINEAR
|
crop_fraction |
float
|
ΠΠΎΠ»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π·Π°ΡΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 1.0. |
DEFAULT_CROP_FRACTION
|
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
Compose
|
Π€Π°ΠΊΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
ultralytics.data.augment.classify_augmentations(size=224, mean=DEFAULT_MEAN, std=DEFAULT_STD, scale=None, ratio=None, hflip=0.5, vflip=0.0, auto_augment=None, hsv_h=0.015, hsv_s=0.4, hsv_v=0.4, force_color_jitter=False, erasing=0.0, interpolation=Image.BILINEAR)
ΠΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Ρ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. ΠΠ΄ΠΎΡ Π½ΠΎΠ²Π»Π΅Π½ timm/data/transforms_factory.py.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
size |
int
|
Π Π°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ |
224
|
scale |
tuple
|
ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (0,08, 1,0). |
None
|
ratio |
tuple
|
ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΡΡΠΎΡΠΎΠ½ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (3,/4., 4,/3.) |
None
|
mean |
tuple
|
ΡΡΠ΅Π΄Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² RGB |
DEFAULT_MEAN
|
std |
tuple
|
ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² RGB |
DEFAULT_STD
|
hflip |
float
|
ΠΠ΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΡΠΎΡΠ° |
0.5
|
vflip |
float
|
ΠΠ΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΡΠΎΡΠ° |
0.0
|
auto_augment |
str
|
ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°ΡΠ³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ 'randaugment', 'augmix', 'autoaugment' ΠΈΠ»ΠΈ None. |
None
|
hsv_h |
float
|
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ HSV-ΠΎΡΡΠ΅Π½ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΡΡΠ°ΠΊΡΠΈΡ) |
0.015
|
hsv_s |
float
|
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ HSV-Π½Π°ΡΡΡΠ΅Π½Π½ΠΎΡΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΡΡΠ°ΠΊΡΠΈΡ) |
0.4
|
hsv_v |
float
|
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ HSV-Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (Π΄ΠΎΠ»Ρ) |
0.4
|
force_color_jitter |
bool
|
ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΆΠΈΡΡΠ΅ΡΠ°, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ |
False
|
erasing |
float
|
ΠΠ΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΡΠΈΡΠ°Π½ΠΈΡ |
0.0
|
interpolation |
InterpolationMode
|
Π Π΅ΠΆΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - T.InterpolationMode.BILINEAR. |
BILINEAR
|
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
Compose
|
Π€Π°ΠΊΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/data/augment.py
1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 |
|
Π‘ΠΎΠ·Π΄Π°Π½ΠΎ 2023-11-12, ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ 2024-05-08
ΠΠ²ΡΠΎΡΡ: Burhan-Q (1), Laughing-q (1), glenn-jocher (4)