3B Görüntülemeyi Basitleştirme: Endüstriyel Makine Görüşü için Gömülü Bir Çözüm - Donanım
Önceki yazımızda Robotik Yapay Zeka Görüşünün (RAiV) donanım ve yazılım özelliklerini kısaca açıklamıştık. Bu yazıda detaylara giriyoruz.
Donanım
Senkronize Stereo Kameralar ve IMU
RAiV'de kullanılan görüntüleme sensörlerinin çözünürlüğü 1600x1300 pikseldir. Stereo kamera varsayılan olarak 60 FPS (saniye başına kare) hızında çalışır. Sensörlerin çıkış veri formatı, yazılım tarafından otomatik olarak RGB'ye dönüştürülen Bayer desenidir. Bu nedenle, kullanıcılar Python SDK'mız ile herhangi bir çaba harcamadan RGB görüntüler elde edebilirler. Görüntüleme sensörlerine ek olarak, RAiV'de ayrıca bir IMU (Atalet Ölçüm Birimi) bulunur. IMU'nun 3 DoF jiroskop ve 3 DoF ivmeölçer'i kullanılarak 6 DoF (Serbestlik Derecesi) elde edilir. Hem jiroskop hem de ivmeölçer 200 Hz'de çalışır.
3D görüş için sensörlere sahip olmak yeterli değildir. 3D görüşün özü senkronizasyon ve kalibrasyondur. Görüntüleme sensörleri kalibre edilmiştir ve tüm kalibrasyon parametrelerine Python SDK'mız aracılığıyla kullanıcı erişebilir. Dahası, RAiV'de görüntüleme sensörlerini ve IMU'yu bir donanım sinyaliyle senkronize ettik. Bu sayede, yakalanan stereo kareler 60 FPS'de 50 µs'den daha az zaman farkına sahiptir. Ve IMU, her örnekte son senkronizasyon sinyalinden geçen süreyi bildirir.
Bu özelliklerle kullanıcılar, hareketli ve engebeli ortamlarda 3D görüş uygulaması geliştirebilirler.
İşlemciler (CPU ve NPU)
RAiV sekiz çekirdekli bir işlemci içerir: CPU için Cortex-A55 ve NPU için Google EdgeTPU. Kullanıcılar, Python kodlarını ve Tensorflow Lite modellerini yükleyerek her iki işlemciyi de kullanabilirler.
CPU kullanımı için RAiV'in korumalı bir Python ortamı vardır. Kullanıcı tarafından yüklenen Python kodları önce anlamsal doğruluk, ardından da çalıştırılabilirlik açısından kontrol edilir. Yüklenen kodlar kontrollerden geçerse, RAiV Python kodlarını çalıştırır.
NPU kullanımı daha basittir. Tek önemli nokta, Tensorflow Lite modelinin (.tflite) "edgetpu" için dışa aktarılması veya "edgetpu_compiler" ile derlenmesi gerektiğidir. Aksi takdirde, Tensorflow Lite modeli tamamen CPU üzerinde çalıştırılır.
İletişim ve Sinyal Arayüzler
RAiV, esnek entegrasyon için tasarlanmıştır. Bunu başarmak için RAiV'in birden fazla iletişim ve sinyal arayüzü vardır. Kullanıcı, bu arayüzleri Python SDK'mız ile kullanabilir.
Ethernet konektörü ve Wi-Fi anten konektörü hariç, tüm arayüzler itme-çekme kilitleme sistemine sahip endüstriyel konektörler kullanılmıştır; Ethernet konektörü ve Wi-Fi anten konektörü ise sırasıyla RJ-45 ve SMA dişi konektörlerdir.
H264 Kodlayıcı
Herhangi bir görüntüleme sistemi için kameradan canlı video akışı almak önemlidir. Bunu başarmak için RAiV'in donanımsal bir H.264 kodlayıcısı ve özel bir WebSocket sunucusu vardır. Kullanıcı, Python SDK'mızı kullanarak donanımsal H.264 kodlayıcısını ve WebSocket sunucusunu etkinleştirebilir ve devre dışı bırakabilir.
Yazılım
Web tabanlı IDE
RAiV hızlı adaptasyon için tasarlanmıştır. Bunu başarmak için RAiV, web arayüzü üzerinden yapılandırılır ve programlanır. RAiV'in yapılandırması "Yönetici" hesabına giriş yapılarak yapılabilir. RAiV'in programlaması ise "Kullanıcı" hesabına giriş yapılarak yapılabilir. Bu arayüzler hakkında daha fazla ayrıntıyı RAiV Kılavuzu ve bir sonraki blog yazımızda Sıfırdan Stereo'yada bulabilirsiniz.
- Komut Paneli
- Parametre Paneli
- Görüntü Listesi Paneli
- Ekran Paneli
- Akış ve Sağlık Paneli
Modüler Mimari
RAiV'in Python SDK'sı, donanım özelliklerinin isteğe bağlı olarak kullanılmasını sağlar. Kullanıcılar tüm özellikleri veya yalnızca seçilenleri kullanabilir. Örneğin, kullanıcı NPU'yu, özel Python kod yürütmesini ve/veya H264 Kodlayıcıyı devre dışı bırakabilir veya etkinleştirebilir. Öte yandan, şu anda IMU varsayılan olarak etkinleştirilmiştir ve devre dışı bırakılamaz.
Veri Hattı - Giriş
RAiV'de birden fazla veri kaynağı vardır. Kaynak türüne bağlı olarak, oluşturulan verilerin her biri tek veya birden fazla yazılım parçasına yönlendirilir. Örneğin, donanım H.264 kodlayıcısının çıktısı yalnızca WebSocket sunucusuna yönlendirilir. Ancak, IMU'nun çıktısı görüntü yakalama yazılımına ve kullanıcı yazılımına yönlendirilir.
Python Kodunuz
Özel uygulamalar oluşturmak ve özel robotik ve otomasyon sistemlerine entegre etmek için RAiV, kullanıcıların kendi Python komut dosyalarını ve kütüphanelerini yüklemelerine ve çalıştırmalarına olanak tanır. Python SDK'mız ve üçüncü taraf kütüphanelerle (OpenCV4 ve NumPy) kullanıcılar istedikleri uygulamaları geliştirebilirler.
Sırada Ne Var?
Başlamak için:
Sıfırdan Stereo'ya: Tarayıcı Tabanlı Geliştirmeye Başlangıç