Point Tracking
Bilgisayarlı görüde nokta takibinin temellerini keşfet. Ultralytics YOLO26 ve gelişmiş AI modellerinin robotik ve VFX için hassas hareketleri nasıl takip ettiğini öğren.
Nokta takibi, bir video dizisindeki ardışık kareler boyunca belirli, yerelleştirilmiş noktaların (örneğin pikseller veya belirgin özellikler) hareketini tahmin etmeyi ve takip etmeyi içeren bilgisayarlı görüde temel bir görevdir. Sınırlayıcı kutular veya segmentasyon maskeleri kullanarak tüm varlıkların genel konumunu izleyen nesne takibinin aksine nokta takibi, çok daha hassas, piksel altı düzeyde bir ayrıntıya odaklanır. Bu kesin konumlar arasındaki karşılıkları tanımlayarak ve sürdürerek yapay zeka (AI) sistemleri, karmaşık hareket analizi gerektiren gelişmiş video anlama görevlerini gerçekleştirebilir.
Nokta Takibini Anlamak#
Dinamik bir sahnede noktaları doğru bir şekilde takip etmek oldukça zordur. İzlenen noktalar sıklıkla occlusions (nesnelerin kameranın görüş alanını geçici olarak engellediği durumlar) nedeniyle zorluk yaşar veya field of view dışına tamamen çıkabilirler. Ek olarak, aydınlatma değişiklikleri, perspektif kaymaları ve hızlı hareketler bir noktanın görsel görünümünü büyük ölçüde değiştirebilir.
Geçmişte, Lucas-Kanade optical flow gibi klasik algoritmalar bu görevlerin üstesinden geliyordu. Ancak modern yaklaşımlar güçlü deep learning mimarilerini kullanmaktadır. Google DeepMind's TAPIR (Tracking Any Point with Initialization and Refinement) ve Meta AI's CoTracker3 gibi büyük araştırma kuruluşlarının son yenilikleri bu alanı kökten değiştirdi. Noktaları bağımsız olarak izleyen eski yöntemlerin aksine, CoTracker3 gibi modeller aynı nesneye ait noktalar arasındaki fiziksel bağımlılıklardan yararlanarak birden fazla noktanın ortak takibini gerçekleştirmek için transformers kullanır. Bu son teknoloji modeller ayrıca, büyük ölçüde azaltılmış veri gereksinimleriyle son derece doğru sistemler eğitmek için gerçek dünya videoları üzerinde pseudo-labeling kullanır.
Nokta Takibi ve İlgili Görevler#
Yakından ilişkili olsalar da, nokta takibi diğer bilgisayarlı görü görevlerinden önemli ölçüde farklıdır:
- Object Tracking: Tüm nesnelere (örneğin bir kişi veya araba) benzersiz kimlikler atar ve onları takip eder. Ultralytics YOLO26 gibi object detection modellerine büyük ölçüde güvenir.
- Pose Estimation: Rastgele pikseller yerine belirli semantik anahtar noktaları (insan eklemleri gibi) takip eder. Point tracking ile benzerlikleri paylaşsa da, pose estimation nesnenin yapısal çerçevesinin anlamsal bir anlaşılmasını gerektirir.
Gerçek Dünya Uygulamaları#
Nokta takibi, çeşitli ileri düzey uygulamalar için kritik bir kolaylaştırıcıdır:
- 3D Reconstruction and Structure-from-Motion (SfM): Sistemler, farklı kamera açıları veya video kareleri genelinde belirli özellikleri takip ederek derinliği çıkarabilir ve augmented reality (AR) haritalandırması için gerekli olan ortamların doğru 3B yeniden oluşturmalarını oluşturabilir.
- Robotics and Autonomous Navigation: Otonom araçlar ve robotlar, çevrelerine göre hareketlerini anlamak, trajectories hesaplamak ve karmaşık dinamik ortamlarda güvenli bir şekilde gezinmek için (genellikle visual odometry aracılığıyla) point tracking kullanır.
- Video Editing and Special Effects: Profesyonel görsel efekt (VFX) yazılımı, titrek görüntüleri sabitlemek veya computer-generated imagery (CGI) öğelerini fiziksel bir sahnedeki hareketli nesnelere sorunsuz bir şekilde sabitlemek için büyük ölçüde point tracking özelliğine güvenir.
Ultralytics ile Anahtar Noktaları Takip Etme#
Genel point tracker'lar rastgele görsel pikselleri takip ederken, ultralytics paketinin pose tracking yeteneklerini kullanarak belirli yapısal anahtar noktaları (bir kişinin gözleri, omuzları veya bilekleri gibi) takip edebilirsin. Önerilen YOLO26 modeli, hareket analizi için ideal olan yüksek hızlı, uçtan uca anahtar nokta takibi sağlar.
from ultralytics import YOLO
# Load the recommended YOLO26 pose model for keypoint tracking
model = YOLO("yolo26n-pose.pt")
# Perform pose tracking on a video stream to follow human keypoints over time
results = model.track(source="video.mp4", stream=True)
# Iterate through the stream to process temporal keypoint tracking data
for frame_result in results:
# Each keypoint maintains its association across frames
print(f"Tracked {len(frame_result.keypoints)} human skeletons in current frame.")Computer vision iş akışlarını ölçekli olarak dağıtırken, Ultralytics Platform data annotation, model eğitimi ve kesintisiz deployment için kolaylaştırılmış bir çözüm sunarak çeşitli edge ve bulut ortamlarında güvenilir performans sağlar.






