Feature Request: Replace Albumentations with torchvision.transforms.v2 for PyTorch pose estimation
Mantenedores costumam responder em até 1 dia
Avaliação
Esta issue ainda não foi avaliada.
Descrição
Is your feature request related to a problem? Please describe.
Albumentations is an external dependency that has slowed down its development (last major release 1.4.3 in late 2023).
Describe the solution you'd like
Replace the current Albumentations-based augmentation system in the PyTorch pose estimation module (deeplabcut/pose_estimation_pytorch/data/transforms.py) with torchvision.transforms.v2.
Benefits:
- Dependency reduction: Fewer external dependencies
- Active development: torchvision.transforms.v2 is actively maintained
- Better integration: Native support for
tv_tensors.KeyPoints,tv_tensors.BoundingBoxes - Performance: Optimized for PyTorch with potential GPU acceleration
Describe alternatives you've considered
- Keep Albumentations: Continue using it, but this relies on an external library with slower development
- Kornia: Another option for differentiable augmentations, but less focused on standard image transforms
- Custom implementation: Implement all transforms from scratch (too much work)
Additional context
Current implementation uses ~15+ Albumentations transforms:
- Resize, LongestMaxSize, HorizontalFlip, Affine, PadIfNeeded
- Equalize, MotionBlur, GaussNoise, CoarseDropout, ElasticTransform
- Custom transforms: HFlip (keypoint-aware), KeypointAwareCrop, KeepAspectRatioResize, etc.
Relevant files: deeplabcut/pose_estimation_pytorch/data/transforms.py- main transforms implementationdeeplabcut/pose_estimation_pytorch/data/preprocessor.pydeeplabcut/pose_estimation_pytorch/data/dataset.py
I'd like to contribute to developing this feature but have some questions about the desired interface:
- Custom transforms vs. built-ins: Should we implement custom DLC-specific transforms (e.g.,
KeypointAwareCropfor cropping around annotated keypoints) using PyTorch, or adapt to use built-in v2 transforms? - API compatibility: Should the config format remain the same (e.g.,
hflip,affine,crop_sampling), or take advantage of v2's declarative API? - Backward compatibility: Should we maintain Albumentations as a fallback, or fully migrate to v2?
Thank you in advance!
Juan
- Linguagem predominante
- Python
- Estrelas
- 5.8k
- Forks
- 1.8k
- Merge médio
- 2d 12h
- PRs com merge (30d)
- 14
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de DeepLabCut/DeepLabCut
-
enhancement gpu pytorch
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 42/100
DeepLabCut/DeepLabCut#3547 · 2 reações ·
Mantenedores costumam responder em até 1 dia
-
[GUI auto-update] Updating to napari-deeplabcut v0.4.0 with uv on py3.12+ may pull the wrong numpy version for numbaTalvez já em andamento @C-Achard assumiu há 10 dias. Abertabug GUI napari-dlc
DeepLabCut/DeepLabCut#3534 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Metric path consistency for top-down, and safer snapshot selection when a metric is undefinedTalvez já em andamento @deruyter92 assumiu há 22 dias. Abertaconfig enhancement metrics pytorch
DeepLabCut/DeepLabCut#3521 · 2 responsáveis ·
Mantenedores costumam responder em até 1 dia
-
PyTorch training metrics incorrectly use multi-animal evaluation for single-animal projectsTalvez já em andamento @C-Achard assumiu há 24 dias. Abertabug metrics pytorch
DeepLabCut/DeepLabCut#3518 · 1 comentário · 1 reação · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
[Task] Improve CI workflowsTalvez já em andamento @C-Achard assumiu há 25 dias. AbertaCI enhancement
DeepLabCut/DeepLabCut#3517 · 1 comentário · 2 responsáveis ·
Mantenedores costumam responder em até 1 dia
Todas as issues de DeepLabCut/DeepLabCut
Issues semelhantes
-
Performance: deprecated DeviceEntry.config_entries access blocks the event loop for tens of secondsAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
tuya/tuya_cloud_ha_bridge#14 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
semantica-agi/semantica#1968 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Mantenedores costumam responder em até 1 dia
-
agent: ready area: submission priority: high type: docs
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
dkritarth/scopewatch#213 ·
Mantenedores costumam responder em até 1 dia
-
Broken link in RELEASE.mdTalvez já em andamento @Jah-yee assumiu hoje. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
sphinx-contrib/httpdomain#143 ·
Mantenedores costumam responder em até 1 dia