v5.1.0#

v5.1.0 bir özellik sürümüdür. Çerçeve arabelleğinin altındaki bölme bir histogramdan bir canlı görünümler kümesine büyür – Kart Bilgisi, Bellek, İstatistikler ve bir betiğin yayımladığı değerleri pencere öğelerine, grafiklere, spektrumlara ve derinlik haritalarına dönüştüren ve bunları dosyalara kaydeden yeni Kanallar görünümü – çerçeve arabelleği çok sensörlü kameralar için bir kaynak seçici kazanır, IDE kartlar, aygıt yazılımı, örnekler, modeller ve saplamalar içeren üçüncü taraf depoları yüklemeyi öğrenir ve video kayıtları H.264’e geçer. Yeni kartlar ve sensörler desteklenir, aygıt yazılımı araçları v5.0.0’dan bu yana yapılan her değişikliğin tam bir denetimiyle sağlamlaştırıldı ve OpenMV Studio’dan bir avuç davranış aktarıldı. Qt Creator 14.0.2 üzerine kuruludur ve aygıt yazılımı v5.0.1 ile birlikte gelir.

Öne çıkanlar#

  • Bölme görünümleri – histogram bölmesinin başlık çubuğu, bölmeyi Histogram, Kart Bilgisi (bağlı kameranın donanımı, sürümleri ve yetenekleri), Bellek (MicroPython yığınının ve her UMA havuzunun tepe izlemeli canlı grafikleri), İstatistikler (hata ayıklama protokolünün paket, hata ve kanal başına olay sayaçları) ve Kanallar görünümleri arasında değiştiren bir seçici kazanır.

  • Kanallar görünümü – bir betik, hata ayıklama protokolü üzerinden adlandırılmış veri ve denetim kanalları yayımlayabilir ve IDE bunları canlı olarak işler: kameraya geri yazan etiketler, anahtarlar, kaydırıcılar, döndürme kutuları, radyo düğmeleri, satır düzenleyiciler, seçiciler, basma düğmeleri ve metin blokları; kaydırma, yakınlaştırma, işaretçiler, tetikleyiciler, geçmiş ve bir spektrum çözümleyici içeren dalga biçimi grafikleri; ve kameranın kendi paletleri, üç ölçekleme filtresi ve ton eşlemesiyle derinlik haritaları. Herhangi bir grafik veya harita, eğitim verisi toplamak için CSV, WAV, NumPy ya da Edge Impulse JSON ve CBOR dosyalarına kaydedilir – bütün bir kanal için Tümünü Kaydet dahil. Bir betik durduğunda son değerler ekranda kalır.

  • Çerçeve arabelleği kaynak seçici – birden fazla görüntü sensörü olan kameralar, hangi sensörün IDE’ye akış yapacağını seçmek (veya akışı kapatmak) için çerçeve arabelleğinin başlık çubuğunda bir seçici gösterir, JPG anahtarı bir JPG / RAW akış modu seçicisine dönüştü ve bölmenin başlığı her çerçevenin geldiği biçimi adlandırır.

  • Üçüncü taraf depolar – bir satıcı; kartlar, aygıt yazılımı (yayın ve geliştirme kanalları), örnekler, makine öğrenmesi modelleri ve .pyi saplamaları içeren bir depo yayımlayabilir; IDE bunu bir URL’den ya da bir yükleyicinin bıraktığı bir klasörden kurar, kendi içeriğiyle birleştirir, güncel tutar ve satıcıları önceliğe göre sıralamanıza izin verir. Preferences → OpenMV → Third Party Repositories üzerinden yönetilir.

  • Yeni donanım – OpenMV N6 Classic kartı (önyükleyici sürücüsü, udev kuralı ve ROM-DFU kurtarma girişi dahil) ve FLIR Lepton 3.1R ile UW sensörleri.

  • H.264 kayıtları – çerçeve arabelleği kaydedicisi ve video dönüştürücü artık MPEG-4 Part 2 yerine H.264 ile kodlar; kayıtların temiz bir şekilde sarılabilmesi için sabitlenmiş bir anahtar kare aralığı kullanılır ve çerçeve hızı tam sayıya yuvarlanır.

  • Denetim düzeltmeleri – v5.0.0’dan bu yana yapılan her commit, aygıt yazılımı, önyükleyici (bootloader) ve ROMFS yollarına özellikle dikkat edilerek gerilemeler açısından iki kez gözden geçirildi; bulunan kusurlar bu sürümde düzeltildi (bkz. hata düzeltmeleri).

Yeni özellikler#

  • Histogram bölmesinde, hem koyu hem de açık temada tam genişlikte biçimlendirme ve seçilebilir metinle Kart Bilgisi, Bellek ve İstatistikler görünümleri (cdea506655b, 7629a588db9, e21bd94a395, b55dcc412f6, fc744920011, e7dc3bf0092, 448e21db0bd).

  • Kanallar görünümü – eksiksiz denetim sözlüğü (label, toggle, slider, spin box, radio, line edit, select, push button, text), spektrum çözümleyicili dalga biçimi grafikleri (Hann, Hamming, Blackman ve dikdörtgen pencereler, ortalama alma, tepe tutma, logaritmik frekans), yükselen ve düşen kenar tetikleyicileri, işaretçiler, geçmiş ve grafik dışa aktarma; Depth, Rainbow, Ironbow ve Event paletleri, en yakın / çift doğrusal / çift kübik ölçekleme, Betik Aralığı / Otomatik Aralık / Eşitle ton eşleme, bir duraklatma düğmesi, üzerine gelince okuma, bildirilen aralığı ve çerçevenin min / max / ortalama değerlerini gösteren bir başlık ve Resmi Kaydet içeren derinlik haritaları; isteğe bağlı bir Edge Impulse etiketi, uzun yakalamalar için bölümlere ayırma ve Tümünü Kaydet ile CSV, WAV, NumPy ve Edge Impulse JSON / CBOR biçimlerine kayıt; protokol tercihlerinde bir Kanal Yoklama aralığı (5b4f31a6b3a, d1252a24f14, bfd7fd72f94, d1c2ab02a5f, 4808b8ffe26, dfc323b4ec7, 61c077df9a5, 8c2cd6cf1f1, 1534225fcee).

  • Çerçeve arabelleği kaynak seçici ve biçim göstergesi – çok sensörlü kameralarda akış yapan sensörü ya da Kapalı’yı seçin; alınan çerçeve biçimi bölmenin başlığında gösterilir; JPG anahtarı artık bir JPG Mode / RAW Mode seçicisidir (e76284bde9e, c2baff8d60c, afece31cb6a, 76448d7b9dd).

  • Üçüncü taraf depolar – yerleşik kart listesiyle birleştirilen dosya güdümlü aygıt yazılımı depoları, bir Preferences sayfasıyla ağ güncellemeleri, satıcı başına bir geliştirme aygıt yazılımı kanalı, kullanıcı denetimli satıcı önceliği, File → Examples içine birleştirilen satıcı örnekleri, Model Zoo içine birleştirilen satıcı modelleri, kod tamamlamaya verilen özel .pyi saplamaları, bir satıcı yerleşik içeriği gölgelediğinde geçersiz kılma uyarıları ve satıcı kartları için bir lisans denetimi (21a63a74949, b5512efe949, b15afdac479, 1fe693f0b61, ae11ffeffc4, cf47a37ba65, 100bdeb530b, 252924901f7, c75a81f2a4a, 3e7f077a738, 5c5aa3e657c, e3f36adbdcb, b04da8ee888).

  • Çalıştırmadan önce yorum temizleme – yorumlar, betik kameraya gönderilmeden önce kaldırılır; bu, yorum ağırlıklı betiklerde kamera RAM’inden tasarruf sağlar; satırlar korunur, böylece geri izleme (traceback) satır numaraları düzenleyiciyle hâlâ eşleşir (677546ee033).

  • Satır içi hata işareti – bir betik bir istisnayla sonlandığında, düzenleyici hatalı satırı yanında hata metniyle birlikte kırmızıyla işaretler; işaret, dosyayı düzenlediğinizde, yeniden çalıştırdığınızda veya bağlantıyı kestiğinizde temizlenir (677546ee033).

  • ROMFS düzenleyicisine sürükleyip bırakma – masaüstünden bırakılan dosyalar, Add File ile aynı betik derleme ve model dönüştürme adımlarından geçerek üzerine bırakıldıkları klasöre girer (677546ee033).

Düzenleyici, terminal ve arayüz iyileştirmeleri#

  • Histogramlar, kameranın RGB565 tabloları yerine tam 8 bit RGB’den hesaplanır; paylaşılan bir grafik paleti, alfa karışımlı dolgular ve daha sönük ızgara çizgileri eklendi (238e099373e, f126e8f34c0, cebbf0c9e2c).

  • Gizli bölme görünümleri iş yapmaz – başka bir görünüm gösterilirken ya da bölme daraltılmışken histogram hesaplamasını ve yeniden çizimlerini atlar ve yeniden gösterildiğinde günceller; sıfır boyutlu yeniden çizimler susturulur (c8730df8399).

  • Örnek betikler içe aktarmalardan sonra boş bir satırla açılır ve birlikte gelen örnekler aynı şekilde yeniden biçimlendirildi (1f88f617ec5, 87c8f7d41c7).

  • Kod tamamlama özel adları gösterir – gömülü dil sunucusu, kameranın modüllerinin kullandığı _ önekli üyeleri artık filtrelemez (23ab5b38bb3).

  • macOS – tercihlerdeki protokol denetimleri grup kutuları artık sıkışık değil, öğe görünümleri Cocoa erişilebilirlik çökmelerine karşı korunuyor, Apple Silicon kullanıcıları “Allow accessories to connect” güvenlik ayarı konusunda ve RT1062 kullanıcıları Input Monitoring izni verilmediğinde (aygıt yazılımı güncellemeleri buna ihtiyaç duyar) uyarılıyor; her iki uyarı da bağlantıdan sonra gösterilir (7d7b69367bf, 69fe7ffc913, 742cb4d8c0b, 8890eb77834, 89646292e8d).

  • Görüntüleyici modu kısayolları – görüntüleyici modunu (ve normal IDE’yi) bozan başıboş kısayollar devre dışı bırakıldı ve görüntüleyici modu artık temizlenmiş kısayollarını tam IDE’nin ayarlarına kalıcı olarak yazmaz (251b422f642, 0d153671c1d).

  • Durum çubuğunda bilinmeyen sensörler yonga kimliğiyle adlandırılır, böylece tanımlanıp sensör tablosuna eklenebilirler (df561775b54).

Aygıt yazılımı, kartlar ve araçlar#

  • OpenMV N6 Classic desteği: kart girişi, Windows DFU sürücüsü ve yükleyici kodları, Linux udev kuralı (4ff4a1f239d, bdd6c96ef47, 25fcdc13c6a, 7730b699f60).

  • FLIR Lepton 3.1R ve UW sensör desteği (12c03024f3c).

  • IMX önyükleyici devri – önceden kurulmuş bir yakalayıcı, RT1062’nin önyükleyicisini numaralandığı anda sahiplenir; bu, yüklü bir ana bilgisayarda bir saniyelik pencereyi kaçırabilen her yoklamada süreç başlatma döngüsünün yerini alır (3d8b63c6859).

  • Aygıt yazılımı zip’leri – Load Custom Firmware yalnızca romfs içeren paketleri ve hiç ROMFS içermeyen paketleri kabul eder ve özel ya da geliştirme aygıt yazılımı, zaten önyükleyici modunda bekleyen IMX kartları için hazırlanır (b6f16f54c1a, 94d5fd5c30e).

  • Geliştirme / özel aygıt yazılımı, ROMFS düzenleyicisi görüntüleri ve video aracı geçici dosyaları için özel hazırlama dizinleri; böylece diğer süreçlerden kalan eskimiş dosyalar asla yanlışlıkla flaşlanamaz veya dönüştürülemez (939154501af, a288fe712e7, 5c8c717adec).

  • H.264 video – kayıtlar ve dönüştürmeler, sabitlenmiş bir anahtar kare aralığıyla H.264 kodlar; tam sayıya yakın bir kayıt çerçeve hızı ona yuvarlanır, böylece oynatıcılar 29,97 yerine 30 FPS bildirir (6ad1968341d, d62c110e155, bab488a54fe).

  • Kaynak zip sağlama toplamı – IDE’nin kaynak güncellemesi, sürümle birlikte yayımlanan bir SHA-256 değerine karşı doğrulanır (677546ee033).

  • OpenMV sunucularına yapılan isteklerde dürüst User-Agent (c4279c0213e).

Hata düzeltmeleri#

v5.0.0’dan bu yana yapılan her değişiklik üzerindeki iki inceleme geçişi aşağıdakileri buldu ve düzeltti (ccea3b17d01, 71826200611):

  • Aygıt yazılımı ve önyükleyici yolları – zaten önyükleyici modundaki bir karta Load Custom Firmware ile yüklenen bir zip, bunun yerine yayın derlemesini flaşlıyordu; Alif kurtarma yolu artık yayın derlemesini flaşlamak yerine özel bir derlemeyi reddeder; tuğlalaşmış bir N6 Classic, düz N6 önyükleyicisi ve aygıt yazılımıyla onarılıyordu; eskimiş bir üçüncü taraf kaynak kökü, tuğlalaşmış yerleşik bir kartı satıcı dosyalarına yönlendirebiliyordu; IMX yakalayıcısı çöktükten sonra flaşlamaya devam edebiliyor, flashloader beklenirken Cancel’ı yok sayıyor ve kurma sırasında iptal edildiğinde seri bağlantı noktasını açık bırakıyordu; N6 Classic önyükleyicisinin udev kuralı yoktu; Windows sürücü yükleyicisinin kabul edilen çıkış kodlarında bir yazım hatası vardı.

  • ROMFS düzenleyicisi – bir ROMFS okuması sırasında Cancel, “Failed to unpack ROMFS!” bildiriyor ve hâlâ önyükleyicide olan bir kamera için on saniye bekliyordu; bir yazma sırasında Cancel, olasılıkla kısmi bir ROMFS ile sessizce sona eriyordu; yazma sırasındaki bir dfu-util hatası başarı olarak bildiriliyordu; sonraki iletişim kutusundaki Cancel her düzenlemeyi atıyordu; Auto Reconnect açık düzenleyicinin altından bağlanabiliyordu; bağlıyken Edit ROMFS gereksiz yere önce bağlantıyı kesip yeniden bağlanıyordu; dönüştürücü geçici dizinleri sızdırılıyordu. İptal edilen bir işlemden sonra artık önyükleyiciden DFU’dan çıkması istenir, böylece kamera kendi başına geri gelir.

  • Üçüncü taraf depolar – zip girdileri çıkarılmadan önce doğrulanır (yol geçişi ya da sembolik bağlantı yok), bölüm kurulumları ve yeniden kurulumlar yenisi yerine oturana kadar eski kopyayı korur, reddedilen bir satıcı kartı artık çakıştığı yerleşik kartı da kendisiyle birlikte düşürmez, eksik bir PID maskesi çalışma zamanında hiçbir şeyle eşleşmiyordu ve temel örnek / model dizin satırları artık aynı adlı satıcı dosyalarını yakalamaz.

  • Çerçeve arabelleği ve sensörler – GENX320 olay sensörü (0x80000000 üzerindeki yonga kimliği) çerçeve arabelleğini devre dışı bırakıyordu; kaydedilmiş bir sensör seçimi yeniden başlatmadan sonra korunmuyordu; eski “disable frame buffer” tercihi taşınmıyordu; akış kaynağı komutu protokol sürümüne göre kapılanır; histogram sayfası gizliyken odak ölçütü donuyordu; bağlantı kesildikten sonra çerçeve biçimi başlıkta kalıyordu.

  • Bağlantı akışı – macOS uyarıları, aygıt yazılımı yükseltme isteminin “Yes” yanıtını yutabiliyordu; Model Zoo her zaman daraltılmış ve seçim geri yüklenmeden açılıyordu; kameranın sürücüsü için tek sürücü geri dönüşüne, kamera on saniyeden uzun süredir takılıyken ulaşılamıyordu.

  • Kanallar görünümü ve kaydedici – kötü niyetli çerçeve boyutları boyut denetimlerini taşırabiliyordu; Edge Impulse kaydedicileri her veri bloğunda yeniden bellek ayırıyordu ve artık bölüm başına 64 MB ile sınırlandırıldı; adlarında ayırıcı bulunan bir şema kayıt listesinin dışını indeksleyebiliyordu; yinelenen kayıtlar çalışan bir kaydediciyi sahipsiz bırakıyordu; görünüm dondurulmuşken yazmalar atılır; kanal listesi artık kayıt silme ve yumuşak yeniden başlatma olaylarında yenilenir.

  • Video – kullanıcının girdiği tek sayılı bir genişlik, libx264 derlemelerinde H.264 kodlamayı bozuyordu; iptal edilen ya da başarısız olan .bin dönüştürmeleri, sonraki çalıştırmanın içine kattığı çerçeveler bırakıyordu.

  • Protokol – protokol algılamadan önce çalışan okuma boşaltması sınırlandırıldı (issue #336) (77cd13af76f); kamera-sürücü ilişkilendirmesi artık diğer birimlere karşı yarışı kaybetmez (9877480c304).

  • Seri bağlantı noktası bilgi sarmalayıcısında bir -Wdeprecated-copy uyarısı (abcfaa8af5e).

Yerelleştirme#

Platform ve araç desteği#

  • Qt Creator temeli: 14.0.2.

  • OpenMV IDE sürümü 5.1.0’a yükseltildi.

  • Birlikte gelen aygıt yazılımı: v5.0.1 (bkz. aygıt yazılımı değişiklik günlüğü).

  • Yeni kartlar ve sensörler: OpenMV N6 Classic; FLIR Lepton 3.1R ve UW.

Kırıcı değişiklikler#

Mevcut projeler için yok. Çerçeve arabelleğinin başlık çubuğundaki JPG anahtarı artık bir JPG Mode / RAW Mode seçicisidir ve eski “disable frame buffer” ayarı, yeni kaynak seçicisinin Kapalı girişine taşınır. Yorumlar, betikler çalıştırılmadan önce betiklerden çıkarılır; çalışma zamanında kendi kaynak metnini okumaya dayanan bir betik buna dayanmamalıdır.