Ö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

Robotic Ai Vision Hardware Diagram
Robotik Yapay Zeka Görüşü Donanım Şeması.

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.

Robotic Ai Vision Web IDE - User Account Screenshot
Robotik Yapay Zeka Görüşü Web IDE - Kullanıcı Hesabı Ekran Görüntüsü.
  1. Komut Paneli
  2. Parametre Paneli
  3. Görüntü Listesi Paneli
  4. Ekran Paneli
  5. 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.

Robotic Ai Vision Data Routing Pipeline Diagram
Robotik Yapay Zeka Görüşü Veri Yönlendirme Hattı Şeması.

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ıç