Kalibrasyon

Görme İşleme kodu için sayıların çoğu teorik olarak belirlenebilse de, genellikle deneysel olarak ölçmek ve ardından koda geri girmek için en iyi olan birkaç parametre vardır (tipik olarak kalibrasyon olarak bilinen bir işlem). Bu makale, NI Vision Assistant kullanılarak Renk (maskeleme) ve Görüş Açısı (mesafe) için nasıl kalibrasyon yapılacağını gösterecektir. C ++ veya Java kullanıyorsanız ve henüz NI Vision Assistant’ı yüklemediyseniz, NI Vision Assistant’ı Yükleme makalesine bakın.

Enable Snapshots-Anlık Görüntüleri Etkinleştir

AXIS Camera's web interface.

Axis kamerasından anlık görüntüler yakalamak için, önce Enstantane düğmesini etkinleştirmelisiniz. Bir web tarayıcısı açın ve kamera adresine göz atın (10.TE.AM.11), istenirse Kullanıcı Adı / Şifre kombinasyonunu FRC / FRC’yi girin, ardından Kurulum-> Canlı Görüntü Yapılandırması-> Düzen’i tıklayın. Anlık görüntü düğmesini göstermek için onay kutusunu tıklayın ve ardından Kaydet’i tıklayın.

Kamera Ayarlarını Kontrol Edin

Video & Image Setting page.

Görüntü akışını programınızda nasıl yakaladığınıza bağlı olarak, kamerada kaydedilenden ve Canlı Görüntüde kullanılandan farklı bir çözünürlük, kare hızı ve / veya sıkıştırma akışı yapmak mümkün olabilir. Herhangi bir kalibrasyon yapmadan önce, kameradaki ayarların kodunuzdaki ayarlarla eşleştiğini doğrulamanız önerilir. Kameradaki ayarları kontrol etmek için ekranın sol tarafındaki Video ve Görüntü başlığına tıklayın, ardından Video ve Görüntü seçeneğine tıklayın.

Görüntüleri Yakala

Camera image after clicking the "Live View" button.

Canlı Görünüm sayfasına dönmek için Canlı Görünüm düğmesine tıklayın ve şimdi bir Anlık Görüntü düğmesi görmelisiniz. Bu düğmeyi tıklamak, statik görüntü yakalamanın olduğu bir açılır pencere açar. Bu resme sağ tıklayın, Resmi Farklı Kaydet’i seçin ve istediğiniz konumu ve dosya adını seçin, ardından resmi kaydedin.

Görsel(leri) Vision Assistant’a Yükle

Open the image using the folder icon in the top left of the NI Vision Assistant.

NI Vision Assistant’ı açın ve Görüntülere Gözat seçeneğini seçin. Araç Çubuğunun sol üst kısmındaki Resimleri Aç simgesini seçin, ardından resimlerinizi bulun. İstenen tüm görüntüleri yüklemek için gerektiği kadar tekrarlayın.

Color Threshold-Renk Eşiği

Setting up a color threshold on the image we took.

Sağ üstteki Görüntüleri İşle’yi tıklayın, ardından sağ alttaki renk sekmesini seçin ve Renk Eşiği simgesini tıklayın.

HSV Kalibrasyonu

HSV calibration to tune to the color of your light.

Renk Modeli açılır menüsünü HSV olarak değiştirin. Ardından, diğer her şeyi filtrelerken hedefin mümkün olduğunca çoğunu kapsayacak şekilde üç değerin her birindeki pencereyi ayarlayın. Yeşil ışık kullanıyorsanız, örnek koddaki değerleri başlangıç noktası olarak kullanmak isteyebilirsiniz. Birden fazla görüntünüz varsa, bunlar arasında geçiş yapmak için sol üstteki kontrolleri kullanabilirsiniz. Sol üst penceredeki önizleme görüntüsünü değiştirmek için ortadaki iki ok denetimini veya kaydırıcıyı kullanın, ardından bunu etkin görüntü yapmak için en sağdaki oku tıklayın. Seçtiğiniz değerlerden memnun olduğunuzda Ton, Doygunluk ve Değer aralıklarını not edin. Bunları görüş kodunda uygun yere girmeniz gerekecektir. Adımı komut dosyasına eklemeyi tamamlamak için Tamam’ı tıklayın.

Mekan aydınlatma koşullarına bağlı olarak aralıklarınızı doğrulamak veya biraz ince ayar yapmak için etkinliğinizde kamera kalibrasyonu süresini kullanarak yeni örnek görüntüler almak isteyebilirsiniz.

Açı / Mesafe Kalibrasyonunu Görüntüle

Veri sayfasında her kamera modeli için teorik bir görüş açısı bulunabilse de, deneysel testler bu sayıların yatay görüş açısı için bile biraz yanlış olabileceğini bulmuştur. Bu yılki kodun dikey görüş alanını kullandığı göz önüne alındığında, kameranız için kendi kalibrasyonunuzu yapmanız en iyisidir (her kamera türü için deneysel değerler koda referans olarak dahil edilmiştir). Bunu yapmak için, | teta | bakış açısının tek bilinmeyen olduğu bir denklem oluşturun. Bunu yapmak için, bilinen bir mesafede boyutu bilinen bir hedefi kullanın ve görüş açısını tek bilinmeyen olarak bırakın. Denklemimizi önceki makaleden alalım: math: `d = T _ {mathrm {ft}} cdot frac {textit {FOV} _ {mathrm {pixel}}} {T _ {mathrm {pixel} } tan theta} `ve | theta | için çözmek için yeniden düzenleyin:

\[\tan\theta = T_{\mathrm{ft}} \cdot \frac{\textit{FOV}_{\mathrm{pixel}}}{T_{\mathrm{pixel}} \cdot d}\]
\[\theta = \arctan \left(T_{\mathrm{ft}} \cdot \frac{\textit{FOV}_{\mathrm{pixel}}}{T_{\mathrm{pixel}} \cdot d} \right)\]

Ölçüm Alma

Measuring the height of the selected portion.

Gerekli ölçümleri almanın bir yolu, yukarıdaki renk kalibrasyonu için kullanılan geri yansıtıcı bantın aynı görüntülerini kullanmaktır. Algılanan blobun yüksekliğini piksel cinsinden sağlamak için Vision Assistant’ı kullanabiliriz. Kamera ile hedef arasındaki gerçek dünyadaki mesafeyi ölçerek, artık görüş açısı denklemimizi çözmek için tüm değişkenlere sahibiz.

Görüntüdeki parçacıkları ölçmek için İkili sekmesine ve ardından Parçacık Analizi simgesine tıklayın.

Ölçümleri Seçme

Select "Bounding Rectangle Height".

Ölçümleri Seç düğmesine tıklayın. Bu durumda, biz sadece sınırlayıcı kutu yüksekliği ile ilgileniyoruz. Tüm ölçümlerin seçimini kaldırmak için X işaretli düğmeye tıklayın, ardından Sınırlayıcı Dik Yükseklik ölçümünü bulun ve kutuyu işaretleyin. Kaydetmek için Tamam’ı tıklayın.

Parçacığı Ölçmek

Boxes at the bottom display the height for each of the detected particles.

Her partikül için ölçümler artık ekranın altındaki pencerede görüntülenecektir. Görüntünüzde birden fazla parçacık varsa, doğru parçacığa sahip olduğunuzdan emin olmak için Vision Assistant’ın parçacığı vurgulaması için her kutuya tıklayabilirsiniz. Bu makale hesaplamayı tek bir görüntü kullanarak gösterecektir, ancak hesaplamayı birden çok mesafeden birden fazla görüntü üzerinde yapmak ve Görünüm açısı için uygun değeri belirlemek için ortalama veya en küçük kareler gibi bir teknik kullanmak isteyebilirsiniz. Etkin görüntüyü değiştirmek için yukarıdaki renk bölümünde açıklanan aynı ok kontrollerini kullanabilirsiniz.

Hesaplama

Önceki adımda görüldüğü gibi, bu örnekte 32 inç yüksekliğindeki dikey hedefi temsil eden parçacık, 640x480 görüntüde 85 piksel uzunluğunda ölçülmüştür. Gösterilen görüntü (çok kabaca) 18 ft. Uzaklıktan alınmıştır. Bu sayıları yukarıdan denkleme koyarsak …

\[\theta = \arctan \left(2.66 \cdot \frac{480}{2 \cdot 85 \cdot 18} \right) = 22.65^{\circ}\]

Arktanjantı hesaplamak için ne kullandığınıza bağlı olarak, cevabınız radyan cinsinden olabilir, görüş açısı olarak doğrudan örnek koda giriyorsanız dereceye geri döndüğünüzden emin olun.

Not

Kod, Görüş Açısını kullanıyor ve az önce | teta | ‘yı hesapladık. | Theta | ile çarptığınızdan emin olun. koddaki sabitler değiştiriliyorsa 2 ile. Sonucumuzu 2 ile çarparsak 45,3 | deg | verir. Bu görüntü bir M1013 kameradan alınmıştır, bu nedenle değerimiz daha önce ölçülen 29.1’e göre biraz düşüktür, ancak 18 ft. çok kaba bir ölçümdü, bu da bizim beyzbol sahasında olduğumuzu ve muhtemelen hesaplamayı doğru yaptığımızı gösteriyor.