Doğru nokta yanlış yerde çizilebilir
Bir görsel AI denemesinde model, görüntüdeki işareti x=50 ve y=25 konumunda bildiriyor. Bu noktayı kaynak fotoğrafa doğrudan çizdiğinizde işaret başka yerde kalıyor. Modelin nesneyi yanlış bulmuş olması tek açıklama değildir. Modele verilen görüntü kırpılmış ve küçültülmüşse, modelin koordinat başlangıcı ve ölçeği kaynak fotoğrafınkinden farklıdır. Önce aynı noktayı hangi uzayda tarif ettiğinizi kontrol edin.
Bu örnek sentetik bir dikdörtgen ve tek noktadan oluşur. Gerçek üretim fotoğrafı, kusur tespiti veya makine hareketi yoktur. Kaynak görüntü 800×400 birimdir. Sol üst köşeden x=200, y=100 konumunda başlayan 400×200 bölüm alınır ve 200×100 görüntüye küçültülür. Döndürme, yansıtma, kenar dolgusu ve perspektif dönüşümü uygulanmaz.
| Alan | Genişlik / x | Yükseklik / y | Anlam |
|---|---|---|---|
| Kaynak boyutu | 800 | 400 | Özgün görüntü düzlemi |
| Kırpma başlangıcı | 200 | 100 | Kaynakta sol üst köşe |
| Kırpma boyutu | 400 | 200 | Kaynakta alınan bölüm |
| Model görüntüsü | 200 | 100 | Küçültülmüş çıktı |
| Model noktası | 50 | 25 | Çıktı düzlemindeki işaret |
Koordinatlar sol üstten başlar; x sağa, y aşağı büyür. Sürekli geometrik konum kullanıyoruz; piksel merkezi veya dizi indeksi kuralı tarif etmiyoruz. Kabul edilen model noktası için 0 ≤ x < 200 ve 0 ≤ y < 100 koşulları var. Başka bir araç normalize edilmiş 0–1 aralığı döndürüyorsa bu örneğin sayılarını doğrudan uygulayamazsınız.
Önce ölçeği, sonra başlangıcı geri koyun
Kaynak kırpmanın genişliği model görüntüsünün iki katıdır: 400/200 = 2. Yükseklik oranı da 200/100 = 2. Model noktasının kırpma içindeki konumu bu yüzden 100/50 olur. Fakat kaynak fotoğraftaki başlangıç 0/0 değildir. Kırpma başlangıcını eklediğinizde x=200+100=300 ve y=100+50=150 elde edersiniz.
Kaynak x = kırpma x + model x × kırpma genişliği / model genişliği Kaynak y = kırpma y + model y × kırpma yüksekliği / model yüksekliği Bu örnekte: x = 200 + 50 × 2 = 300; y = 100 + 25 × 2 = 150.
MDN’nin drawImage açıklaması, kaynak kırpmanın konum ve boyutunu hedef çizimin konum ve boyutundan ayrı parametrelerle gösterir. Bu ayrım, görsel hazırlama kaydında yalnızca son görüntü boyutunu tutmanın neden yetmediğini açıklar. Buradaki ters dönüşüm ve sayılar özgün eğitim örneğidir; belirli bir modelin hazır koordinat sözleşmesi değildir.Kaynak: MDN — Canvas drawImage
Yalnızca ölçek uygulayıp başlangıcı unutsaydınız 100/50 sonucunu bulurdunuz. Son görüntüye hiçbir dönüşüm uygulamadan 50/25 kullanmak da yanlış olurdu. Tam kaynak genişliğini model genişliğine bölerek dört katsayısını seçmek üçüncü bir hatadır; model bütün kaynağı değil, 400 birim genişliğindeki kırpmayı gördü.
Model çıktısını dönüşüm kaydıyla eşleyin
Kaynak 800×400; kırpma başlangıcı (200,100), boyutu 400×200; model görüntüsü 200×100. Nokta (50,25). Sol üst başlangıç, x sağa ve y aşağı; döndürme, yansıtma, dolgu yok. Önce model sınırını doğrula. Noktayı kaynak düzlemine dönüştür; kullanılan iki oranı ve başlangıç eklemesini yaz. Sonra ters hesapla model noktasına dön. Gerçek kusur veya model başarısı iddia etme.
| Yöntem | Kaynak diye bildirilen x/y | Karar |
|---|---|---|
| Dönüşüm yok | 50 / 25 | Yanlış düzlem |
| Yalnız kırpma ölçeği | 100 / 50 | Başlangıç eksik |
| Tam kaynak/model oranı | 200 / 100 | Yanlış ölçek kaynağı |
| Kırpma ölçeği ve başlangıç | 300 / 150 | Bu sözleşmeyle doğru |
Noktanın hangi görüntüden geldiği kimlikle de doğrulanmalıdır. Aynı boyuttaki iki farklı kırpma farklı başlangıçlar taşıyabilir. Sadece 200×100 etiketinin eşleşmesi yeterli değildir. Kaynak dosya kimliği, kırpma kaydı ve model girdisi birlikte izlenmeli; dönüşüm başka görüntünün noktasına yanlışlıkla uygulanmamalıdır.
Şekil üzerinde doğru yere çizilmiş görünen bir nokta da tek başına yeterli kabul değildir. Küçük bir görselde yakın konumlar benzer görünebilir. Sayısal dönüşümü ve ters hesabı ayrı yazmak, gözle fark edilmeyen ölçek veya başlangıç hatalarını bulur. Görsel inceleme ile hesap kontrolü birbirini tamamlar.
Ters dönüşüm aynı noktayı vermeli
300/150 kaynak noktasından kırpma başlangıcını çıkarın: 100/50 kalır. Bunları ikiye böldüğünüzde yeniden 50/25 model noktasını bulursunuz. Ayrıca kaynak sonuç kırpmanın içinde olmalıdır: x 200 ile 600, y 100 ile 300 arasındadır. Bu testler verilmeyen bir dönüşümü doğrulamaz; yalnızca açık ölçek ve kayma sözleşmesini sınar.
- Kaynak ve model görüntü kimliğini eşleyin.
- Boyutların sıfırdan büyük olduğunu kontrol edin.
- Kırpmanın kaynak içinde kaldığını doğrulayın.
- Noktayı önce model sınırında, sonra kaynak sınırında sınayın.
- Ters dönüşümle özgün model koordinatına dönün.
Bir çerçeve veya sınırlayıcı kutu aktarılacaksa yalnızca merkez noktasını taşımak yeterli olmayabilir. Kullanılan kutu gösterimi, köşe tanımı ve genişlik/yükseklik sözleşmesi de bilinmelidir. Bu makale tek bir noktayı inceler. Nokta örneğinin doğru olması bütün kutuların veya döndürülmüş nesnelerin doğru işlendiğini kanıtlamaz.
Model noktası sınır dışındaysa onu en yakın kenara sıkıştırarak hatayı gizlemeyin. Geçersiz girdi, boyut uyuşmazlığı veya farklı koordinat sözleşmesi incelemesi gerekir. Kaynağı bilmeden otomatik kırpma düzeltmesi yapmak, geçerli görünen ama yanlış bir konum üretir.
Aynı görüntüde ikinci nokta
Model bu kez 150/75 noktası bildirsin. Kaynak konumunu ve ters dönüşümü hesaplayın. Ayrı bir yanıtta x=200, y=50 geldiğini düşünün. Bu yazının model sınırı sözleşmesine göre ikinci yanıtın neden kabul edilmediğini açıklayın.
150/75 → kaynakta 500/250. Ters dönüşüm: (500−200)/2=150 ve (250−100)/2=75. x=200 noktası 0 ≤ x < 200 sınırını karşılamaz; kaynağa geçerli nokta gibi aktarılmaz.
Görsel AI denemenizde tek bir işaretle başlayın ve bütün hazırlama adımlarını kaydedin. Modelin bulduğu konumu asıl görsele taşırken hangi sayıların neden değiştiği açıkça görülsün.
Kaynaklar ve doğrulama
- MDN — Canvas drawImage
Kaynak kırpma konumu/boyutu ile hedef çizim boyutunun ayrı parametreler olması.
Erişim ve kontrol:
Üretimde Yapay Zekâ
Üretimde Yapay Zekâ eğitiminde görsel hazırlama adımlarını model çıktısıyla birlikte inceleyebilirsiniz. Bir kırpma kaydı ve tek işaretli örnek, konum aktarımını ekipçe tartışmak için yeterlidir.
- Kuruma özel planlanır