Ultralytics YOLO11 🚀 Kullanarak VisionEye Görünümü Nesne Eşleme
VisionEye Nesne Haritalama nedir?
Ultralytics YOLO11 VisionEye, bilgisayarların nesneleri tanımlama ve tam olarak belirleme yeteneği sunarak, insan gözünün gözlemsel hassasiyetini simüle eder. Bu işlevsellik, bilgisayarların belirli bir bakış açısından ayrıntıları gözlemleme şekline çok benzer şekilde, belirli nesneleri ayırt etmesini ve bunlara odaklanmasını sağlar.
Ultralytics YOLO Kullanarak VisionEye Eşleme
# Monitor objects position with visioneye
yolo solutions visioneye show=True
# Pass a source video
yolo solutions visioneye source="path/to/video.mp4"
# Monitor the specific classes
yolo solutions visioneye classes="[0, 5]"
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("visioneye_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize vision eye object
visioneye = solutions.VisionEye(
show=True, # display the output
model="yolo11n.pt", # use any model that Ultralytics support, i.e, YOLOv10
classes=[0, 2], # generate visioneye view for specific classes
vision_point=(50, 50), # the point, where vision will view objects and draw tracks
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or video processing has been successfully completed.")
break
results = visioneye(im0)
print(results) # access the output
video_writer.write(results.plot_im) # write the video file
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
VisionEye
Argümanlar
İşte şunları içeren bir tablo: VisionEye
argümanlar:
Argüman | Tür | Varsayılan | Açıklama |
---|---|---|---|
model |
str |
None |
Ultralytics YOLO Model Dosyasına Giden Yol. |
vision_point |
tuple[int, int] |
(20, 20) |
VisionEye Solution kullanılarak nesnelerin izleneceği ve yolların çizileceği nokta. |
Ayrıca çeşitli araçlardan da faydalanabilirsiniz: track
içindeki argümanlar VisionEye
çözümü:
Argüman | Tür | Varsayılan | Açıklama |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Kullanılacak izleme algoritmasını belirtir, örneğin: bytetrack.yaml veya botsort.yaml . |
conf |
float |
0.3 |
Algılamalar için güven eşiğini ayarlar; daha düşük değerler daha fazla nesnenin izlenmesine olanak tanır ancak yanlış pozitifleri içerebilir. |
iou |
float |
0.5 |
Çakışan algılamaları filtrelemek için Intersection over Union (IoU) eşiğini ayarlar. |
classes |
list |
None |
Sonuçları sınıf indeksine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler. |
verbose |
bool |
True |
İzleme sonuçlarının görüntülenmesini kontrol eder ve izlenen nesnelerin görsel bir çıktısını sağlar. |
device |
str |
None |
Çıkarım için cihazı belirtir (örn. cpu , cuda:0 veya 0 ). Kullanıcıların model yürütme için CPU, belirli bir GPU veya diğer işlem cihazları arasında seçim yapmasına olanak tanır. |
Ayrıca, aşağıda listelenen bazı görselleştirme argümanları da desteklenmektedir:
Argüman | Tür | Varsayılan | Açıklama |
---|---|---|---|
show |
bool |
False |
Eğer True , ek açıklamalı görüntüleri veya videoları bir pencerede görüntüler. Geliştirme veya test sırasında anında görsel geri bildirim için kullanışlıdır. |
line_width |
None or int |
None |
Sınırlayıcı kutuların çizgi genişliğini belirtir. Eğer None , çizgi genişliği, görüntü boyutuna göre otomatik olarak ayarlanır. Netlik için görsel özelleştirme sağlar. |
show_conf |
bool |
True |
Etiketin yanında her algılama için güvenilirlik puanını görüntüler. Modelin her algılama için kesinliği hakkında fikir verir. |
show_labels |
bool |
True |
Görsel çıktıdaki her algılama için etiketleri görüntüler. Algılanan nesnelerin anında anlaşılmasını sağlar. |
VisionEye Nasıl Çalışır
VisionEye, çerçevede sabit bir görüş noktası oluşturarak ve bu noktadan algılanan nesnelere çizgiler çizerek çalışır. Bu, insan görüşünün tek bir bakış açısından birden çok nesneye nasıl odaklandığını simüle eder. Çözüm, gözlemci (görüş noktası) ile sahnedeki nesneler arasındaki uzamsal ilişkinin görsel bir temsilini oluşturarak, çerçeveler arasında nesnelerin tutarlı bir şekilde tanımlanmasını sağlamak için nesne takibi kullanır.
process
VisionEye sınıfındaki method, çeşitli temel işlemleri gerçekleştirir:
- Giriş görüntüsünden izleri (sınırlayıcı kutular, sınıflar ve maskeler) çıkarır
- Sınırlayıcı kutuları ve etiketleri çizmek için bir açıklama aracı oluşturur
- Algılanan her nesne için bir kutu etiketi çizer ve görüş noktasından bir görüş çizgisi oluşturur
- İzleme istatistikleriyle birlikte açıklama eklenmiş görüntüyü döndürür
Bu yaklaşım, özellikle gözetim sistemleri, otonom navigasyon ve etkileşimli kurulumlar gibi mekansal farkındalık ve nesne ilişkisi görselleştirmesi gerektiren uygulamalar için kullanışlıdır.
VisionEye Uygulamaları
VisionEye nesne eşlemesinin çeşitli sektörlerde çok sayıda pratik uygulaması vardır:
- Güvenlik ve Gözetim: Sabit bir kamera konumundan birden fazla ilgi nesnesini izleyin
- Perakende Analitiği: Müşteri hareket düzenlerini mağaza teşhirleriyle ilişkili olarak izleyin.
- Spor Analizi: Bir antrenörün bakış açısıyla oyuncu konumlandırmasını ve hareketini analiz edin
- Otonom Araçlar: Bir aracın çevresindeki nesneleri nasıl "gördüğünü" ve önceliklendirdiğini görselleştirin
- İnsan-Bilgisayar Etkileşimi: Mekansal ilişkilere yanıt veren daha sezgisel arayüzler oluşturun
VisionEye'ı mesafe hesaplama veya hız tahmini gibi diğer Ultralytics çözümleriyle birleştirerek, yalnızca nesneleri izlemekle kalmayıp aynı zamanda onların uzamsal ilişkilerini ve davranışlarını da anlayan kapsamlı sistemler oluşturabilirsiniz.
Not
Herhangi bir sorunuz için, sorularınızı Ultralytics Sorunlar Bölümü'nde veya aşağıda belirtilen tartışma bölümünde paylaşmaktan çekinmeyin.
SSS
Ultralytics YOLO11 ile VisionEye Nesne Eşleme'yi kullanmaya nasıl başlarım?
VisionEye Nesne Eşleme'yi Ultralytics YOLO11 ile kullanmaya başlamak için, öncelikle Ultralytics YOLO paketini pip aracılığıyla yüklemeniz gerekir. Ardından, VisionEye ile nesne algılamayı ayarlamak için belgelerde sağlanan örnek kodu kullanabilirsiniz. Başlamanıza yardımcı olacak basit bir örnek:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("vision-eye-mapping.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init vision eye object
visioneye = solutions.VisionEye(
show=True, # display the output
model="yolo11n.pt", # use any model that Ultralytics support, i.e, YOLOv10
classes=[0, 2], # generate visioneye view for specific classes
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or video processing has been successfully completed.")
break
results = visioneye(im0)
print(results) # access the output
video_writer.write(results.plot_im) # write the video file
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
Nesne haritalama ve izleme için neden Ultralytics YOLO11 kullanmalıyım?
Ultralytics YOLO11, nesne haritalama ve izleme için en iyi seçim olmasını sağlayan hızı, doğruluğu ve entegrasyon kolaylığı ile ünlüdür. Başlıca avantajları şunlardır:
- Son Teknoloji Performansı: Gerçek zamanlı nesne algılamada yüksek doğruluk sunar.
- Esneklik: Algılama, izleme ve mesafe hesaplama gibi çeşitli görevleri destekler.
- Topluluk ve Destek: Sorun giderme ve iyileştirmeler için kapsamlı dokümantasyon ve aktif GitHub topluluğu.
- Kullanım Kolaylığı: Sezgisel API, karmaşık görevleri basitleştirerek hızlı dağıtım ve yinelemeye olanak tanır.
Uygulamalar ve faydalar hakkında daha fazla bilgi için Ultralytics YOLO11 dokümantasyonuna göz atın.
VisionEye'ı Comet veya ClearML gibi diğer makine öğrenimi araçlarıyla nasıl entegre edebilirim?
Ultralytics YOLO11, deney takibi, işbirliği ve yeniden üretilebilirliği artırarak Comet ve ClearML gibi çeşitli makine öğrenimi araçlarıyla sorunsuz bir şekilde entegre olabilir. Başlamak için YOLOv5'i Comet ile nasıl kullanacağınız ve YOLO11'i ClearML ile nasıl entegre edeceğinizle ilgili ayrıntılı kılavuzları izleyin.
Daha fazla keşif ve entegrasyon örnekleri için Ultralytics Entegrasyon Kılavuzumuza göz atın.