class AprilTag – AprilTag nesnesi

apriltag nesnesi, Image.find_apriltags() tarafından döndürülen bir attrtuple nesnesidir. Her örnek, çözülmüş bir AprilTag’i tanımlar: sınırlayıcı kutusu, alt piksel ağırlık merkezi, aile/id, çözücü kalite ölçütleri, tespit edilen dört köşe ve – Image.find_apriltags() fonksiyonuna içsel parametreler sağlandığında – kamera çerçevesindeki 6 serbestlik dereceli (6-DoF) bir poz tahmini.

Alanlara öznitelik adıyla (tag.id) veya indeksle (tag[0]) erişilebilir. Nesnenin herkese açık bir yapıcısı yoktur.

class image.apriltag

Lütfen bu nesneyi oluşturmak için Image.find_apriltags() fonksiyonunu çağırın.

Sınırlayıcı kutu ve köşeler

x

Sınırlayıcı kutunun sol üst x koordinatı, piksel cinsinden. Tamsayı. İndeks [0].

y

Sınırlayıcı kutunun sol üst y koordinatı, piksel cinsinden. Tamsayı. İndeks [1].

w

Sınırlayıcı kutu genişliği, piksel cinsinden. Tamsayı. İndeks [2].

h

Sınırlayıcı kutu yüksekliği, piksel cinsinden. Tamsayı. İndeks [3].

cx

Ağırlık merkezi x koordinatı, tamsayıya yuvarlanmış. Tamsayı. İndeks [4].

cy

Ağırlık merkezi y koordinatı, tamsayıya yuvarlanmış. Tamsayı. İndeks [5].

cxf

Alt piksel float olarak ağırlık merkezi x koordinatı. İndeks [9].

cyf

Alt piksel float olarak ağırlık merkezi y koordinatı. İndeks [10].

corners

Etiketin tespit edilen dört köşesi için (x, y) tamsayı demetlerinden oluşan 4’lü demet; sol üst köşeden başlayarak saat yönünde sıralanmıştır. İndeks [21].

area

Sınırlayıcı kutunun alanı (w * h). Tamsayı. İndeks [22].

rect

Sınırlayıcı kutunun (x, y, w, h) 4’lü demeti. Image.draw_rectangle() veya Image.crop() gibi çizim/kırpma yöntemlerine doğrudan geçirmeye uygundur. İndeks [23].

Tanımlama

id

Etiketin kendi ailesi içindeki sayısal kimliği. Geçerli aralık aileye bağlıdır (örn. TAG36H11 için 0 – 586). Tamsayı. İndeks [6].

family

Sayısal aile tanımlayıcısı; şunlardan biri:

Tamsayı. İndeks [7].

name

Dize olarak aile adı, örn. "TAG36H11". İndeks [8].

Eşleşme kalitesi

decision_margin

Etiket eşleşmesinin 0.0 – 1.0 aralığındaki kalitesi; 1.0 en iyisidir. Düşük güvenilirlikli tespitleri reddetmek için bunu kullanın. Float. İndeks [12].

hamming

Çözücünün bu etiket için kabul ettiği bit hatası sayısı. Ailenin düzeltme yeteneğiyle sınırlandırılmıştır:

  • TAG16H5 -> en fazla 0 bit hatası

  • TAG25H9 -> en fazla 3 bit hatası

  • TAG36H10 -> en fazla 3 bit hatası

  • TAG36H11 -> en fazla 4 bit hatası

Daha düşük olması daha iyidir. Tamsayı. İndeks [13].

goodness

Etiketin 0.0 – 1.0 aralığındaki görüntü kalitesi; 1.0 en iyisidir. Yayınlanan aygıt yazılımında (firmware) şu anda her zaman 0.0’dır (alttaki çözücü artık bu ölçütü hesaplamamaktadır). Float. İndeks [14].

Poz tahmini

Aşağıdaki öteleme ve dönme alanları yalnızca Image.find_apriltags() fonksiyonu fx, fy, cx ve cy kamera içsel parametreleriyle çağrıldığında doldurulur. İçsel parametreler olmadan değerleri 0.0’dır. Etiketin 1 birim genişliğinde olduğu varsayılır; dolayısıyla ötelemeler “etiket genişlikleri” cinsindendir – metrik mesafeleri elde etmek için gerçek dünyadaki etiket boyutuyla ölçekleyin.

x_translation

Kameradan X ötelemesi (sol-sağ), etiket genişlikleri cinsinden. Float. İndeks [15].

y_translation

Kameradan Y ötelemesi (yukarı-aşağı), etiket genişlikleri cinsinden. Float. İndeks [16].

z_translation

Kameradan Z ötelemesi (ileri-geri), etiket genişlikleri cinsinden. Float. İndeks [17].

x_rotation

X ekseni etrafında dönme (pitch), radyan cinsinden. Float. İndeks [18].

y_rotation

Y ekseni etrafında dönme (yaw), radyan cinsinden. Float. İndeks [19].

z_rotation

Z ekseni etrafında dönme (roll), radyan cinsinden. rotation ile aynı değer – x_rotation ve y_rotation ile simetri için çoğaltılmıştır. Float. İndeks [20].

rotation

Etiketin görüntü düzlemi içindeki dönmesi, radyan cinsinden. z_rotation ile eşittir. Float. İndeks [11].