# Auto Annotation

Magic annotation, AI modelleri kullanarak sınırlayıcı kutuları (bounding box) otomatik oluşturmanıza yardımcı olur; böylece veri etiketleme çok daha hızlı olur.

Pratik bir iş akışı için tasarlanmıştır:

1. Modeli ve prompt’ları bir kez yapılandırın
2. Kaliteyi doğrulamak için bir resmi otomatik etiketleyin
3. Tüm veri setini toplu olarak otomatik etiketleyin
4. Hataları gözden geçirip düzeltin

***

## Gereksinimler

{% hint style="info" %}
Magic annotation en hızlı NVIDIA GPU ile çalışır.

* Bir [NVIDIA GPU](/turkish/giris/system-requirements.md) bulunan bir bilgisayara ihtiyacınız var
* [CUDA ve cuDNN](/turkish/baslarken/installation-and-licensing.md#gpu-acceleration-cuda) kurulu olmalıdır
* Gerekli AI modüllerini Module Downloader penceresinden indirin
  {% endhint %}

***

## İlk Bakış

![Magic annotation entry point in the Classes panel](/files/H0x1CVIqfbfJHhQHLCgP)

(Magic annotation'ı ✨ düğmesiyle açın (veya T tuşuna basın).)

Magic annotation'ı iki şekilde açabilirsiniz:

* Mevcut resmi otomatik etiketlemek için `T` tuşuna basın (kaydedilmiş ayarlarınızı kullanır)
* **Classes** panelindeki ✨ düğmesine tıklayarak **Magic annotation** ayarlar penceresini açın

{% hint style="info" %}
Magic annotation'ı ilk kez kullandığınızda, AugeLab Studio sizden ayarlarınızı yapılandırmanızı isteyecektir. Bu ayarlar kaydedilir ve ✨ düğmesine tıklayarak her zaman değiştirilebilir.
{% endhint %}

***

## Başlamadan Önce (Önerilen)

Magic annotation için bir veri setine ve sınıf listesine ihtiyacınız var.

1. Image Annotation Window içinde veri seti klasörünüzü yükleyin
2. `classes.names` dosyanızı yükleyin (veya oluşturun)

Annotation Window’u daha önce kullanmadıysanız, önce ana etiketleme kılavuzunu takip edin.

***

## Magic annotation Penceresini Açma

1. **AI Tools** → **Image Annotation** açın
2. Veri setinizi ve class dosyanızı yükleyin
3. **Classes** panelinde ✨ düğmesine tıklayın

Bu, **Magic annotation Settings** penceresini açar.

![Magic annotation settings dialog](/files/gik63KDRXtb3jGxsw4Hk)

***

## Adım 1 — Model Seçimi

**Model Selection** içinde desteklenen dedektörlerden birini seçin.

### Text-prompt modelleri (özelleştirilmiş sınıflar için önerilir)

Bu modeller sınıf açıklamalarınızı (text prompts) kullanarak nesneleri tespit eder:

* **Grounding DINO Tiny**: iyi bir varsayılan, daha hızlı
* **Grounding DINO Base**: daha doğru, daha ağır (GPU şiddetle önerilir)
* **OWLv2 Base Ensemble**: genel amaçlı iyi model
* **OWLv2 Large Ensemble**: daha doğru, daha ağır (GPU şiddetle önerilir)

Sınıflarınız standart COCO sınıfları değilse veya nesneyi doğal dil ile tanımlamak istiyorsanız bunları kullanın.

### YOLO modelleri (hızlı, fakat sınıf eşleşmesi önemlidir)

YOLO modelleri YOLO/OpenCV DNN özelliği mevcut olduğunda görünür:

* **YOLOv4 (COCO)**
* **YOLOv4 Tiny (COCO)**

Bu modeller metin açıklamaları kullanmaz. COCO sınıf isimlerini kullanırlar.

{% hint style="warning" %}
YOLO (COCO) modelleri için, COCO sınıf isimleri dataset sınıf isimlerinizle **tam olarak** eşleşmelidir.\
Örnek: sınıfınız `person` ise kesinlikle `person` olmalıdır (ör. `human` değil).
{% endhint %}

### Özel YOLOv4 modeli

Kendi YOLOv4 modeliniz varsa, **Custom YOLOv4 Model** seçin ve sağlayın:

* Weights dosyası (`.weights`)
* Config dosyası (`.cfg`)
* Names dosyası (`.names`)

***

## Adım 2 — Eşikleri Ayarlama

### Confidence Threshold

Bir tespitin etiket haline gelmesi için ne kadar emin olması gerektiğini kontrol eder.

* Yüksek değerler → daha az kutu, genelde daha temiz sonuç
* Düşük değerler → daha fazla kutu, ama daha fazla yanlış pozitif

Başlangıç için iyi bir değer **%30**'dur.

### Grounding DINO: Box Threshold ve Text Threshold

Bunlar sadece Grounding DINO modellerinde görünür:

* **Box Threshold**: kutu güvenine ne kadar sıkı davranılacağını belirler
* **Text Threshold**: metin–nesne eşleştirmesinin ne kadar sıkı olacağını belirler

Yönlendirme:

* Çok fazla yanlış kutu varsa → önce **Text Threshold** artırın
* Kutular gevşek veya çok genişse → **Box Threshold** artırın
* Hiç tespit yoksa → eşikleri kademeli düşürün

***

## Adım 3 — Daha İyi Sınıf Açıklamaları Yazma (Text-Prompt Modeller)

Text-prompt model seçtiyseniz, bir **Class Descriptions** tablosu görürsünüz.

![Class descriptions table](/files/p2CIab0ZAyl7n9ZtsYjz)

(Class Descriptions tablosu (prompt olarak kullanılır).)

Neden önemli: açıklama, modelin nesnenizi bulmak için kullandığı prompt’tur.

İyi açıklamalar:

* Görsel ve spesifik olmalı (renk, şekil, malzeme)
* Gerçek görüntülerinize göre tanımlı olmalı (arka plan, aydınlatma, yönelim)

Örnekler:

* `bolt` yerine → `silver bolt on a black conveyor belt`
* `cup` yerine → `white paper cup, top view`
* `label` yerine → `rectangular sticker label on a cardboard box`

Ayrıca kullanabilirsiniz:

* **Use Class Names** ile prompt’ları sınıf isimlerine sıfırlama
* **Clear All** ile baştan başlama

{% hint style="info" %}
İpucu: İki sınıf benzer görünüyorsa, farkı vurgulayacak şekilde açıklamayı özelleştirin.\
Örnek: `scratch on metal surface` vs `oil stain on metal surface`.
{% endhint %}

***

## Adım 4 — Annotation Modunu Seçin (Önemli)

Magic annotation, daha önce etiketlenmiş görüntülerle başa çıkmak için üç modu destekler:

* **Override**: mevcut annotation dosyalarını değiştirir
* **Add**: yeni tespitleri mevcut annotasyonlara ekler
* **Skip**: zaten annotasyonu olan görüntüleri işlemez

Önerilen kullanım:

* Baştan başlıyorsanız veya her şeyi yeniden etiketliyorsanız **Override** seçin
* Mevcut etiketleri *tamamlamak* istiyorsanız **Add** seçin
* Kısmen etiketlenmiş bir dataset’i düzgünleştiriyorsanız ve üzerine yazmak istemiyorsanız **Skip** seçin

***

## Magic annotation'ı Çalıştırma

### Annotate Current (tek resim)

Önce **Annotate Current** kullanın.

Bu, prompt’larınızın iyi olduğunu, eşiklerin makul olduğunu ve kutuların doğru göründüğünü doğrulamak için en güvenli yoldur.

Sonuçlar iyi değilse, prompt/threshold ayarlarını düzeltin ve tekrar deneyin.

### Batch Annotate All (tüm dataset)

Mevcut resim iyi görünüyorsa **Batch Annotate All** tuşuna basın.

İlerleme penceresi şunları gösterir:

* mevcut durum (model yükleniyor / işleniyor)
* ilerleme çubuğu
* kalan tahmini süre (ETA)

Herhangi bir zamanda iptal edebilirsiniz.

![Batch Magic annotation progress dialog](/files/yZQK7qVADLYlhFwAJNNY)

(Batch Magic annotation ilerleme ve ETA.)

***

## Sonuçları Gözden Geçirme ve Düzeltme

Magic annotation etiketlemeyi hızlandırmak içindir; gözden geçirmeyi kaldırmaz.

Otomatik etiketlemeden sonra:

1. Görüntüleri hızlıca tarayarak bariz hataları yakalayın
2. Yanlış kutuları düzeltin (yanlış sınıf, yanlış boyut)
3. Yanlış pozitifleri kaldırın
4. Kaçırılan nesneleri gerekirse manuel ekleyin

Tekrarlayan hatalar görürseniz, durun, prompt/threshold ayarlarını değiştirin ve yeniden çalıştırın.

***

Eğer AI modelleriniz beklediğiniz gibi davranmıyorsa, performansı ayarlamak için bu hızlı düzeltme seçeneklerini deneyin.

<details>

<summary>🚫 "Hiçbir şey etiketlemiyor" (Sıfır Tespit)</summary>

AI çok "çekingen" davranıyorsa genelde eşik veya açıklama sorunudur.

* **Confidence düşürün:** Confidence Threshold’u biraz düşürün (örn. birkaç puan).
* **Metin hassasiyeti:** Grounding DINO için **Text Threshold** değerini düşürün, böylece kelime eşleşmesine daha esnek davranır.
* **Daha spesifik olun:** "part" yerine "silver metal bolt" veya "red plastic cap" gibi görsel tanımları kullanın.
* **Listeleri kontrol edin:** class listenizin gerçekten node ayarlarında yüklü olup olmadığını doğrulayın; boş olmamalı.

</details>

<details>

<summary>📦 "Çok fazla yanlış kutu" (Hayalet Tespitler)</summary>

Ekranınız yanlış pozitiflerle doluysa, modelin "sıkılığı" artırılmalıdır.

* **Confidence artırın:** Confidence Threshold’u yükseltin.
* **Metin sıkılığı:** Text Threshold’u artırarak görüntü ile prompt arasındaki eşleşmeyi sıkılaştırın.
* **Belirsizliği kaldırın:** "object" veya "item" gibi geniş prompt’lardan kaçının. AI gölgeleri "parts" olarak etiketliyorsa, parçanın benzersiz renklerini veya dokusunu açıkça tanımlayın.

</details>

<details>

<summary>❓ "YOLO modeli sınıfımı algılamıyor"</summary>

Standart YOLO modelleri belirli veri setleri üzerinde önceden eğitilmiştir.

* **COCO Standardı:** Temel YOLO modelleri yalnızca 80 COCO kategorisini tanır. Etiketleriniz tam olarak eşleşmelidir (ör. `person`, `cell phone`, `chair`, `bottle`).
* **Özel ihtiyaçlar:** Belirli bir şeyi tespit etmeniz gerekiyorsa (ör. "çizik bir devre kartı"), **Text-Prompt** (Grounding DINO gibi) modele geçin veya **Custom YOLO** eğitimi yapın.

</details>

<details>

<summary>🐌 "İşlem yavaş veya takılıyor"</summary>

Görsel modeller hesaplama açısından maliyetlidir.

* **İlk çalıştırma gecikmesi:** Modeller indirilirken ve belleğe alınırken ilk sefer genelde yavaştır; bu normaldir.
* **Model boyutu:** Grounding DINO Base ve OWLv2 Large yüksek doğruluk sunar fakat "ağırdır". Daha hızlı sonuç için "Tiny" veya "Small" varyantını deneyin.
* **Donanım:** AugeLab'ın **GPU** kullandığından emin olun. Büyük AI modellerini CPU’da çalıştırmak belirgin gecikmeye yol açar.

</details>

***

### 💡 Hâlâ takıldınız mı?

AugeLab Studio içindeki **AI Assistant**'ı deneyin. Kamera görünümünüzü ve kutuların şu an nasıl göründüğünü tarif edin; genellikle eşikler için tam ondalık değer önerebilir.

Eğer isterseniz, size Confidence ve Text eşikleri arasındaki farkı tam olarak açıklayan bir **"Threshold Cheat Sheet"** tablosu oluşturabilirim — ister misiniz?

***

## Notlar

* Magic annotation ayarları `T` tuşuna bastığınızda kaydedilir ve tekrar kullanılır.
* Planınız/izinleriniz offline Magic annotation için sınırlamalar içeriyorsa, araç toplu işleme sırasında limitleri aştığınızda işlemi engelleyebilir.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/turkish/one-cikan-ozellikler/annotate-data-for-object-detection/auto-annoation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
