Cross-platform graphical installer with Docker support.
Project description
📦 transforms_fake
Gera imagens sintéticas realistas para treinar modelos de segmentação de forma inteligente, simples e divertida.
✨ O que é?
transforms_fake é uma biblioteca Python que cria novas imagens e máscaras automaticamente a partir de outras já rotuladas (com máscaras). Ideal para segmentação de imagens, especialmente quando você não tem muitos dados rotulados.
Ao contrário de bibliotecas como Albumentations, que apenas transformam o que já existe (flip, blur, crop etc), esta aqui cria novos exemplos inserindo objetos reais com contexto em outras imagens de forma automática.
Imagine pegar um tomate de uma imagem, girar um pouco e colar ele em outro canto da mesma ou de outra imagem. Isso, com máscaras e sem sofrimento. É isso que a transforms_fake faz. 🍅📸✨
🎯 Motivacão
Quantas vezes você já quis treinar um modelo, mas não tinha dados suficientes? E se fosse possível multiplicar seus dados sem perder realismo?
transforms_fake nasce dessa necessidade: aumentar conjuntos de dados de forma contextual e realista, focando em segmentação.
📌 Exemplos Visuais
Original:
Após transforms_fake:
Veja como objetos foram reposicionados de forma realista, mantendo a coerência com máscaras!
🧠 Como funciona?
- Lê imagens e máscaras (por exemplo, PNG com canal alpha ou imagens separadas)
- Detecta instâncias rotuladas
- Faz "recorte" do objeto com base na máscara
- Reinsere em outra região da imagem (com opções de rotação, flip, escala etc)
- Atualiza a máscara automaticamente
✅ Recursos
| Recurso | Suporte |
|---|---|
| Copy-paste com máscaras | ✅ |
| Rotação, flip, escala contextual | ✅ |
| Inserção em outra imagem | ✅ |
| Suporte a PyTorch e FastAI | ✅ |
| Atualização de máscaras automática | ✅ |
| Exporta como dataset (imagens + labels) | ✅ |
🚀 Instalação
pip install transforms_fake
Ou diretamente do GitHub (versão mais recente):
pip install git+https://github.com/THOTIACORP/transforms_fake.git
🧪 Exemplo de uso
from transforms_fake import main
main(
input_dir="./meu_dataset",
output_dir="./dataset_aumentado",
num_augmented=50,
rotate=True,
flip=True,
paste_in_different_images=True
)
🧱 Estrutura sugerida
meu_dataset/
├── images/
│ ├── img1.png
│ └── img2.png
└── masks/
├── img1_mask.png
└── img2_mask.png
🤖 Comparativo com Albumentations
| Recurso | Albumentations | transforms_fake |
|---|---|---|
| Transformar imagem original | ✅ | ✅ |
| Gera novas instâncias realistas | ❌ | ✅ |
| Manipula objetos individuais | ❌ | ✅ |
| Reutiliza máscaras para colagem | ❌ | ✅ |
| Modo interativo (com GUI opcional) | ❌ | ✅ (em breve) |
🔬 Comparativo com a Sinapsis
| 🔧 Recurso | Sinapsis Tools (Albumentations Wrappers) | transforms_fake |
|---|---|---|
| Rotação, flip, elastic, warp | ✅ | ✅ |
| Suporte a máscaras & keypoints | ✅ | ✅ |
| Copy-paste por objeto (instância) | ❌ | ✅ |
| Geração de imagens sintéticas realistas | ❌ | ✅ |
| Interface gráfica / demo (web ou GUI) | ✅ (Gradio/webapp) | ✅ (GUI Qt - em desenvolvimento) |
👵 Para a Tia Maria entender
Imagina que você tem uma foto de uma banana. Agora, você quer treinar um computador pra reconhecer bananas, mas só tem 3 fotos. Com essa biblioteca, você pode:
- Copiar a banana da primeira imagem,
- Girar um pouco,
- Colar em outro canto,
- E repetir!
Agora o computador acha que você tem 50 fotos diferentes. 🍌🧠
📚 Documentação (em breve)
Enquanto isso, veja os exemplos em examples/ ou explore os notebooks.
🛠 Requisitos
- Python 3.8+
- OpenCV
- NumPy
- Pillow
- matplotlib (opcional)
- PyQt5 (futuro suporte a modo visual)
👨💻 Contribuindo
Pull requests são bem-vindos! Para bugs, abra uma issue. Para sugestões, nos mande um email ou crie uma discussão.
✉️ Contato
THOTIACORP - GitHub | email: founder@thotiacorp.com.br
👉 Licença
GNU GENERAL PUBLIC LICENSE - use, copie, melhore!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file transforms_fake-0.1.1.tar.gz.
File metadata
- Download URL: transforms_fake-0.1.1.tar.gz
- Upload date:
- Size: 46.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e88e4f0e59af0c2208aa36dad6797c70e41f7482029e479ae028b9b295062ff
|
|
| MD5 |
ea10d6dec471886fdd42bdcf8979ac86
|
|
| BLAKE2b-256 |
b72953a57eb629fb1840da77196cfe4689d4b46d62c078d94bf3ff8f234a51d7
|
File details
Details for the file transforms_fake-0.1.1-py3-none-any.whl.
File metadata
- Download URL: transforms_fake-0.1.1-py3-none-any.whl
- Upload date:
- Size: 35.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86f0930bf11a6c2b4a24197f4df73383363a52a9a3d4d52ddbbf5d56630bd04e
|
|
| MD5 |
fc86ef3ec7205b358b55eda46b8d7325
|
|
| BLAKE2b-256 |
fa903f143e2cda3a9d1c9946bf67441b054370a9f7f7d2853788f9ad52d359ec
|