v4.6.0¶
v4.6.0 büyük bir özellik sürümüdür. Öne çıkanlar: kamera modülü sensor adından csi adına yeniden adlandırıldı (geriye dönük uyumlu bir sensor takma adıyla birlikte), yeni bir ml.postprocessing modülü, Prophesee GenX320 olay sensörü, PAG7936 ve FLIR Boson termal kameralar için destek, TinyUSB tabanlı yeni bir DFU önyükleyici (bootloader), Nema GPU hızlandırması ve MicroPython 1.24. Ayrıca çizim alpha aralığını değiştirir, bu nedenle aşağıdaki uyumluluğu bozan değişiklikleri okuyun.
Öne çıkanlar¶
sensorartıkcsiolarak da kullanılabilir — kamera modülücsiolarak yeniden adlandırıldı;sensorgeriye dönük uyumlu bir takma ad olarak kalır (henüz kod değişikliği gerekmez).Yeni
ml.postprocessingmodülü —fomo_postprocess,yolo_v2_postprocess,yolo_v5_postprocess.Yeni sensörler — Prophesee GenX320 olay kamerası, PAG7936 ve FLIR Boson 320/640 termal.
Yeni DFU önyükleyici (bootloader) — TinyUSB tabanlı standart DFU önyükleyici, tüm kartlardaki eski CDC önyükleyicinin yerini alır.
Nema GPU — STM32 üzerinde hızlandırılmış 2D/vektör grafikleri.
MicroPython 1.24.0 sürümüne güncellendi.
Uyumluluğu bozan: çizim
alphaaralığı 0–256’dan 0–255’e değiştirildi (bkz. alpha aralığı değişikliği).
Yeni özellikler¶
ml.postprocessing— model çıktısının kodunu çözen yeni bir modül: bir FOMO kod çözücü (fomo_postprocess,find_blobs+ NMS, yapılandırılabilirthreshold) veyolo_v2_postprocess/yolo_v5_postprocess(threshold,anchors,nms_threshold,nms_sigmaile).Olay kamerası görselleştirmesi — yeni
Image.to_evt_dark()/Image.to_evt_light()yöntemleri vePALETTE_EVT_DARK/PALETTE_EVT_LIGHTrenk paletleri.Derinlik görselleştirmesi — yeni
Image.to_depth()yöntemi ve birPALETTE_DEPTHrenk paleti (ToF özellikli kartlar).Sensör iç gözlemi — bir
(R, Gb, Gr, B)kanal istatistikleri demeti döndüren yeniIOCTL_GET_RGB_STATSioctl’i.GenX320 bias ön ayarları —
GENX320_BIASES_DEFAULT/LOW_LIGHT/ACTIVE_MARKER/LOW_NOISE/HIGH_SPEEDön ayarlarına sahip yeniIOCTL_GENX320_SET_BIASESioctl’i.omv.debug_mode()— USB hata ayıklama arabiriminin etkin olup olmadığını sorgulamak için yeni bir fonksiyon.Nema GPU — STM32 üzerinde Cortex-M55 NemaGFX/NemaVG sürücü entegrasyonu,
draw_imageiçin yerinde GPU cut-through ile.PAG7936 — renk çubuğu çıkışı, otomatik pozlama / otomatik kazanç, uyku ve MIPI modu eklendi.
Diğer değişiklikler ve iyileştirmeler¶
MicroPython 1.24.0 sürümüne güncellendi; ulab 6.7.3 sürümüne güncellendi (
keepdimseklendi).Ortak boot betiği — STM32 / i.MX RT / RP2 artık varsayılan bir
main.pyveREADME.txtile flash/SD dosya sistemini otomatik oluşturan ve geçici başlangıç globallerini serbest bırakan ortak bir_boot.pypaylaşır.STM32N6 altyapısı — temel STM32N6 desteği, bir XSPI sürücüsü, ortak bir MPU sürücüsü ve STM32 üzerinde aygıt yazılımı (firmware)/önyükleyici (bootloader) imzalama.
Computed-goto VM — bir yorumlayıcı hızlanması için STM32 ve nRF üzerinde etkinleştirildi.
Hata düzeltmeleri¶
Kamera ve sensörler:
OV5640 PCLK/pozlama hesaplaması düzeltildi (iki MIPI şeridi, düzeltilmiş bölücü tablosu).
MT9V0xx Bayer-CFA varyantı artık RGB565/BAYER/GRAYSCALE kabul ediyor ve hata vermek yerine düzgün ham Bayer verisi çıkarıyor.
PAG7936 lens gölgeleme düzeltmesi etkinleştirildi ve HD görüntü kayması düzeltildi;
set_framerate()artık çözünürlük başına sınırlandırılmıştır.i.MX RT1060 üzerinde FLIR Lepton termal yakalama düzeltildi (VoSPI CPOL/CPHA düzeltildi) ve Lepton anlık görüntüleri artık belirli hata kodları döndürüyor.
GenX320 frekans yuvarlaması düzeltildi.
Görüntü işleme:
Gri tonlamalı görüntülerde
to_ndarray()içindeki bellek bozulması düzeltildi.Bayer→RGB/gri tonlama dönüşümünde debayer sınır tahmini düzeltildi.
SDRAM olmayan kartlarda
draw_image()transposedüzeltildi (parçalanmış arabellek).Image.binary()içindeki boolean argüman işleme veml.Modelload_to_fbbayrağı düzeltildi.
Sistem:
STM32 ve i.MX RT üzerinde SPI yalnızca-RX / yalnızca-TX pin yapılandırması düzeltildi.
Portenta H7 Ethernet DMA arabellekleri SRAM3’e taşındı, böylece Ethernet çalışıyor.
USB üzerinden hata ayıklama kanalı metin çıkışındaki düşen bir karakter düzeltildi; az boyutlu model arabelleklerini önlemek için ML dinamik ayırma boyutları yukarı yuvarlandı.
Donanım ve kart desteği¶
Prophesee GenX320 olay tabanlı görüş sensörü (STM32F7 + i.MX RT1060).
PAG7936 sensörü (MIPI modu ile).
FLIR Boson 320/640 termal kameralar (IDD 4 sürücüsü).
Nema GPU STM32 üzerinde hızlandırma.
STM32N6 önyükleyici (bootloader)/XSPI altyapısı.
VL53L5CX — güç etkinleştirme pini desteği eklendi.
Uyumluluğu bozan API değişiklikleri¶
v4.5.9 ile v4.6.0 arasındaki kullanıcı tarafından görülebilen API kırılmaları. Kapsam: modules/ içindeki Python C-modülleri ve scripts/libraries/ içindeki Python kütüphaneleri.
Her değişiklik etkisiyle etiketlenmiştir:
major — onu kullanan çoğu betiğin düzenlenmesi gerekir.
minor — dar API; yalnızca onu kullanan betikleri etkiler.
behavior — aynı API, farklı sonuçlar; ayarlanmış betikleri yeniden kontrol edin.
tooling — yalnızca flashing / ana bilgisayar araçları / kart kullanılabilirliğini etkiler.
Değişiklikler bu sırayla etkiye göre gruplandırılmıştır. Yalnızca kodunuzu taşımak istiyorsanız, sondaki taşıma kontrol listesi bölümüne atlayın. Her commit hash’i GitHub’daki diff’ine bağlanır. Not: bu sürümdeki sensor → csi modül yeniden adlandırması uyumluluğu bozan bir değişiklik değildir — sensor hâlâ bir takma ad olarak çalışır.
Çizim alpha aralığı artık 0–255 (major)¶
draw_image() öğesinin alpha argümanı ve onu alan her bindirme (FIR, ToF, ekran, TV, MJPEG, alpha tabloları) artık 0–256 yerine 0–255 aralığını kullanır. Tamamen opak için 256 geçen veya alpha’yı 256’ya göre hesaplayan betikler 0–255’e yeniden ölçeklenmelidir.
Commit: 1f87b5bb6
FLIR Lepton ioctl sabitleri yeniden adlandırıldı (minor)¶
Üç Lepton ioctl sabiti kısaltıldı: IOCTL_LEPTON_SET_MEASUREMENT_MODE → IOCTL_LEPTON_SET_MODE, IOCTL_LEPTON_SET_MEASUREMENT_RANGE → IOCTL_LEPTON_SET_RANGE, IOCTL_LEPTON_GET_FPA_TEMPERATURE → IOCTL_LEPTON_GET_FPA_TEMP. Birlikte gelen örnekler güncellendi.
Commit: 12582d54d
ML son işleme API değişimi (minor)¶
ml.postprocessing bu sürümde yenidir ve API’si sürüm sırasında değişti: yolo_v2_postprocess yapıcısının score_threshold anahtar sözcüğü threshold olarak yeniden adlandırıldı ve boş son işleme sonuçları artık [] yerine () döndürüyor. Birlikte gelen yolov5_rgb_person modeli yolo_v5_224_nano olarak yeniden adlandırıldı. ml.apps.MicroSpeech artık sabit bir gain_db=24 yerine rastgele **kwargs argümanlarını audio.init() öğesine iletiyor.
Commits: d67bd1ad7, 979b4e8ee, b89b815b2, 6671d9df5, 5c2f4388c
AGAST varsayılan köşe dedektörüdür (behavior)¶
find_keypoints() artık tüm kartlarda varsayılan köşe dedektörü olarak FAST yerine AGAST kullanıyor. Anahtar nokta kümeleri (ve dolayısıyla tanımlayıcı eşleşmeleri) önceki sürümlerden farklıdır — ayarlanmış anahtar nokta işlem hatlarını yeniden kontrol edin. IDE çerçeve arabelleği (frame buffer) akışı da artık USB yükünü azaltmak için 20 Hz ile sınırlandırılmıştır.
Önyükleyici (bootloader), kaldırılan kartlar ve özellikler (tooling)¶
Eski CDC önyükleyici, tüm kartlarda TinyUSB tabanlı yeni bir standart DFU önyükleyici ile değiştirildi — aygıt yazılımı (firmware) güncelleme mekanizması değişti; flashing iş akışınızı/araçlarınızı buna göre güncelleyin. OpenMV Pro kartı, bağımsız Raspberry Pi Pico derlemesi ve WiFi hata ayıklama (wifidbg) uzaktan IDE özelliği kaldırıldı.
Commits: a03fc90d8, c2e616aae, af3ea774b, f8bca9799, 59a38a0d3, 7edeb4fbe, d58d77fa2
Taşıma kontrol listesi¶
v4.6.0’a temiz bir taşıma için tipik iş şudur:
Her çizim/bindirme
alphadeğerini 0–256 aralığından 0–255’e yeniden ölçeklendirin (alpha aralığı değişikliği).Tüm FLIR Lepton ioctl sabitlerini kısaltılmış biçimlerine yeniden adlandırın (Lepton ioctl yeniden adlandırması).
Yeni ML son işleyicilerini kullandıysanız,
score_thresholdyerinethresholdkullanın,()boş sonucu işleyin veyolo_v5_224_nanomodel adını güncelleyin (ML değişiklikleri).AGAST dedektör değişikliği için
find_keypoints()tabanlı işlem hatlarını yeniden kontrol edin (köşe dedektörü değişikliği).Yeni DFU önyükleyici (bootloader) için aygıt yazılımı (firmware) flashing iş akışınızı güncelleyin (önyükleyici/kart değişiklikleri).