Grafikler / görüntülerdeki noktaları tanımlamak için makine öğrenimi teknikleri var mı?


8

Aşağıdaki 3 parselde gösterildiği gibi her aracın zaman içindeki yanal konumu ve şerit numarası için verilerim ve aşağıdaki örnek verilerim var.

resim açıklamasını buraya girin

> a
   Frame.ID   xcoord Lane
1       452 27.39400    3
2       453 27.38331    3
3       454 27.42999    3
4       455 27.46512    3
5       456 27.49066    3

Yanal konum zaman içinde değişir, çünkü bir insan sürücü aracın konumu üzerinde mükemmel bir kontrole sahip değildir. Şerit değiştirme manevrası, yanal pozisyon büyük ölçüde değiştiğinde başlar ve varyasyon tekrar 'normal' olduğunda sona erer. Bu doğrudan verilerden tanımlanamaz. Şerit değiştirme süresini tahmin etmek için şerit değiştirme manevrasının başlangıç ​​ve bitiş noktalarını belirlemek için her aracın grafiğine elle bakmalıyım. Ama veri setinde binlerce aracım var. Beni bu noktaları tanımlamak için eğitilebilecek ilgili herhangi bir görüntü analizi / makine öğrenme algoritmasına yönlendirir misiniz? R'de çalışıyorum. Şimdiden teşekkürler.


Şerit değiştirme manevralarını manuel olarak sınıflandırdığınızda ne yaptığınızı matematiksel olarak tanımlamaya çalıştınız mı? Şerit konumu işlevinin durağandan sıfıra yakın bir gradyanından sonra da gradyanın büyüklüğünde büyük bir artış olup, sıfır sıfıra yakın bir başka döneme veya verilerin sonuna yol açan bir değişiklik mi arıyorsunuz?
image_doctor

Denememiz gereken birkaç orijinal resim var mı?
image_doctor

Eksen ve ölçekler, örnek görüntüler arasında özellikle tutarlı olmayan efsanelerdir, grafikleri standartlaştırmanın bir yolu var mı, yoksa görüntü oluşturma üzerinde herhangi bir kontrolünüz yok mu?
image_doctor

1
Evet, değişim şeridi manevrasının sonunu tanımlamak istediğinizi anlıyorum, ancak her seferinde aracın şeridine zaten sahipseniz, bu değişiklikleri tespit etmek zor değildir. Aracın artık şerit değiştirmediğini düşünmemiz gerektiğini belirleyerek başlayacağım (örneğin, aynı şeritte belirli bir süre geçtikten sonra). Aracın aynı şeridi tuttuğu segmentleri tespit etmek için bir pencere kullanabilirsiniz ve bu segmentlerin başlangıcındaki ve sonundaki noktalar sırasıyla "şerit değişiminin başlangıcı" ve "şerit değişiminin sonu" nu tanımlar.
Robert Smith

1
Harika. Kökeni ve hedef şeridi olmadığını düşündüm, ancak her zaman sahipseniz, çözümünüz çalışmalı ve ayrıca şerit değişikliği tanımını oluşturmak için zaten sahip olduğunuz verileri kullanmalıdır.
Robert Smith

Yanıtlar:


2

Yüzeyde ilk türev bunu yapardı. Bununla birlikte, gösterdiğiniz verilerde çok fazla gürültü vardır, bu nedenle ilk türevi biraz gürültüsüz bir şekilde veya en azından titremeyi ortadan kaldıran ve büyük türev değişikliğini koruyan bir frekans alanı içinde değerlendirmenin bir yoluna ihtiyacımız var.

Dalgacık analizi bunu sizin için başarabilir, özellikle de bir Gaussian'ın ilk türevini annenin dalgacık olarak kullanırsanız. R'nin bazı iyi dalgacık paketleri var ( yeni başlayanlar için r-project.org adresine bakın ). Dalgacık dönüşümünü kısa ölçeklerde yaparsanız, direksiyondaki titreşim bitlerinin yerleri belirlenir. Daha büyük ölçeklerde (yani daha düşük frekansta) yaparsanız, küçük şeritleri değil, yalnızca şerit kaymalarını bulabilirsiniz.

Dönüşümü makul bir veri kümesiyle eğitirseniz, şerit değişikliklerine karşılık gelen bir ölçek veya ölçek aralığı tanımlayabilmeniz gerekir. Ancak, bunu anlamadıysanız, bu O (n ^ 2) gibi bir şeydir, bu nedenle hesaplama zamanından tasarruf etmek için ölçek aralığını biraz daraltmaya çalışın.


1

Görünüşe göre gürültü türevinden birkaç saniye daha yüksek bir süre için arama yapabilirsiniz. Sadece her zaman adımından sonuncuya (veya bir öncekinden) sonlu farkın mutlak değerini hesaplayın ve bir dizi yüksek değer bekleyin. O zaman şerit değişikliği meydana gelir.


Aslında ilk etapta bunu yaptım. Sorun, fark eşiği ve "yüksek" değerlerin çok öznel olmasıdır, çünkü her aracın yolculuğu farklıdır.
umair durrani

1

Değişiklik noktası paketini deneyin . Benzer bir durumda kullandım.

Değişim noktası analizi, iki "rejim" arasındaki değişiklikleri tespit eden yöntemlerin istatistiksel adıdır. Şeritte kalan bir araba, şeridin orta noktasında gradyan 0 olan bir çizgidir. Şeritte araba sürmek için istatistiksel bir modeli kolayca takabilirsiniz. Bir araba değiştirme şeridi, 0 olmayan bir eğime sahip bir çizgi boyunca ilerliyor. Değişim noktası analizi ve değişim noktası paketi, bir model y=a' (straight and level) toy = a + bx` den (yukarı veya aşağı) değiştiğinde noktayı belirlemek için tam olarak ihtiyacınız olan şeydir.


Bu aslında sadece bağlantıya verilen bir cevaptır ve SE'de cesaretini kırma eğilimindedir. Belki ne olduğunu ve neden yararlı olduğunu ayrıntılandırabilirsiniz.
Sean Owen

@AlbertoD Paylaştığınız vinyetin arkaik dili, değişim noktası analizi kavramında yeni olan biri için yararlı değildir.
umair durrani

@AlbertoD Lütfen davanızda cp paketini nasıl kullandığınıza dair herhangi bir örnek verebilir misiniz?
umair durrani
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.