v4.6.0¶
v4.6.0 adalah rilis fitur utama. Sorotan utamanya: modul kamera diganti namanya dari sensor menjadi csi (dengan alias sensor yang kompatibel ke belakang), modul baru ml.postprocessing, dukungan untuk sensor event Prophesee GenX320, PAG7936, dan kamera termal FLIR Boson, bootloader DFU berbasis TinyUSB baru, akselerasi GPU Nema, dan MicroPython 1.24. Rilis ini juga mengubah rentang alpha gambar, jadi bacalah perubahan yang merusak di bawah ini.
Sorotan¶
sensorkini jugacsi— modul kamera diganti namanya menjadicsi;sensortetap tersedia sebagai alias yang kompatibel ke belakang (belum perlu mengubah kode).Modul
ml.postprocessingbaru —fomo_postprocess,yolo_v2_postprocess,yolo_v5_postprocess.Sensor baru — kamera event Prophesee GenX320, PAG7936, dan termal FLIR Boson 320/640.
Bootloader DFU baru — bootloader DFU standar berbasis TinyUSB menggantikan bootloader CDC lama pada semua board.
GPU Nema — grafis 2D/vektor yang dipercepat pada STM32.
MicroPython diperbarui ke 1.24.0.
Perubahan merusak: rentang
alphagambar berubah dari 0–256 menjadi 0–255 (lihat perubahan rentang alpha).
Fitur baru¶
ml.postprocessing— modul baru untuk mendekode keluaran model: dekoder FOMO (fomo_postprocess,find_blobs+ NMS,thresholdyang dapat dikonfigurasi) danyolo_v2_postprocess/yolo_v5_postprocess(denganthreshold,anchors,nms_threshold,nms_sigma).Visualisasi kamera event — metode
Image.to_evt_dark()/Image.to_evt_light()baru dan palet warnaPALETTE_EVT_DARK/PALETTE_EVT_LIGHT.Visualisasi kedalaman — metode
Image.to_depth()baru dan palet warnaPALETTE_DEPTH(pada board yang mendukung ToF).Introspeksi sensor — ioctl
IOCTL_GET_RGB_STATSbaru yang mengembalikan tuple statistik kanal(R, Gb, Gr, B).Preset bias GenX320 — ioctl
IOCTL_GENX320_SET_BIASESbaru dengan presetGENX320_BIASES_DEFAULT/LOW_LIGHT/ACTIVE_MARKER/LOW_NOISE/HIGH_SPEED.omv.debug_mode()— fungsi baru untuk mengetahui apakah antarmuka debug USB sedang aktif.GPU Nema — integrasi driver NemaGFX/NemaVG Cortex-M55 pada STM32, dengan pemrosesan GPU in-place untuk
draw_image.PAG7936 — ditambahkan keluaran color-bar, auto-exposure / auto-gain, mode sleep, dan mode MIPI.
Perubahan dan perbaikan lainnya¶
MicroPython diperbarui ke 1.24.0; ulab diperbarui ke 6.7.3 (menambahkan
keepdims).Skrip boot umum — STM32 / i.MX RT / RP2 kini berbagi
_boot.pyyang secara otomatis membuat filesystem flash/SD denganmain.pydanREADME.txtbawaan, serta membebaskan variabel global sementara saat startup.Persiapan STM32N6 — dukungan dasar STM32N6, driver XSPI, driver MPU umum, dan penandatanganan firmware/bootloader pada STM32.
VM computed-goto — diaktifkan pada STM32 dan nRF untuk mempercepat interpreter.
Perbaikan bug¶
Kamera dan sensor:
Memperbaiki perhitungan PCLK/eksposur OV5640 (dua jalur MIPI, tabel pembagi yang dikoreksi).
Varian Bayer-CFA MT9V0xx kini menerima RGB565/BAYER/GRAYSCALE dan menghasilkan data Bayer mentah yang benar, bukan error.
Mengaktifkan koreksi lens-shading PAG7936 dan memperbaiki pergeseran citra HD;
set_framerate()kini dibatasi sesuai resolusi.Memperbaiki pengambilan gambar termal FLIR Lepton pada i.MX RT1060 (mengoreksi VoSPI CPOL/CPHA), dan snapshot Lepton kini mengembalikan kode error yang spesifik.
Memperbaiki pembulatan frekuensi GenX320.
Pemrosesan citra:
Memperbaiki kerusakan memori dalam
to_ndarray()pada citra skala abu-abu.Memperbaiki prediksi batas debayer dalam konversi Bayer→RGB/skala abu-abu.
Memperbaiki
transposepadadraw_image()di board tanpa SDRAM (buffer berpotongan).Memperbaiki penanganan argumen boolean dalam
Image.binary()dan flagload_to_fbpadaml.Model.
Sistem:
Memperbaiki konfigurasi pin RX-only / TX-only SPI pada STM32 dan i.MX RT.
Memindahkan buffer DMA Ethernet Portenta H7 ke SRAM3 agar Ethernet berfungsi.
Memperbaiki karakter yang hilang dalam keluaran teks saluran debug melalui USB; membulatkan ukuran alokasi dinamis ML ke atas untuk menghindari buffer model yang terlalu kecil.
Dukungan hardware dan board¶
Sensor visi berbasis event Prophesee GenX320 (STM32F7 + i.MX RT1060).
Sensor PAG7936 (dengan mode MIPI).
Kamera termal FLIR Boson 320/640 (driver IDD 4).
Akselerasi GPU Nema pada STM32.
Persiapan bootloader/XSPI STM32N6.
VL53L5CX — ditambahkan dukungan pin power-enable.
Perubahan API yang merusak¶
Perubahan API yang terlihat pengguna antara v4.5.9 dan v4.6.0. Cakupan: C-module Python dalam modules/ dan library Python dalam scripts/libraries/.
Setiap perubahan diberi tag dengan dampaknya:
major — sebagian besar skrip yang menggunakannya perlu diedit.
minor — API yang sempit; hanya memengaruhi skrip yang menggunakannya.
behavior — API sama, hasil berbeda; periksa kembali skrip yang sudah disetel.
tooling — hanya memengaruhi flashing / host tools / ketersediaan board.
Perubahan dikelompokkan berdasarkan dampak dalam urutan tersebut. Jika Anda hanya ingin memindahkan kode, langsung ke daftar periksa migrasi di akhir. Setiap hash commit menautkan ke diff-nya di GitHub. Catatan: penggantian nama modul sensor → csi dalam rilis ini tidak merusak — sensor masih berfungsi sebagai alias.
Rentang alpha gambar kini 0–255 (major)¶
Argumen alpha pada draw_image() dan setiap overlay yang menggunakannya (FIR, ToF, display, TV, MJPEG, tabel alpha) kini menggunakan rentang 0–255 alih-alih 0–256. Skrip yang meneruskan 256 untuk sepenuhnya buram, atau menghitung alpha terhadap 256, harus diskalakan ulang ke 0–255.
Commit: 1f87b5bb6
Konstanta ioctl FLIR Lepton diganti nama (minor)¶
Tiga konstanta ioctl Lepton dipersingkat: 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. Contoh yang disertakan telah diperbarui.
Commit: 12582d54d
Perubahan API post-processing ML (minor)¶
ml.postprocessing baru dalam rilis ini dan API-nya berubah selama rilis berlangsung: kata kunci konstruktor yolo_v2_postprocess score_threshold diganti nama menjadi threshold, dan hasil post-processing yang kosong kini mengembalikan () alih-alih []. Model bawaan yolov5_rgb_person diganti nama menjadi yolo_v5_224_nano. ml.apps.MicroSpeech kini meneruskan **kwargs sembarang ke audio.init() alih-alih nilai tetap gain_db=24.
Commits: d67bd1ad7, 979b4e8ee, b89b815b2, 6671d9df5, 5c2f4388c
AGAST adalah detektor sudut bawaan (behavior)¶
find_keypoints() kini menggunakan AGAST alih-alih FAST sebagai detektor sudut bawaan pada semua board. Set titik kunci (dan oleh karena itu pencocokan deskriptor) berbeda dari rilis sebelumnya — periksa kembali pipeline titik kunci yang sudah disetel. Streaming buffer bingkai IDE juga kini dibatasi pada 20 Hz untuk mengurangi beban USB.
Bootloader, board, dan fitur yang dihapus (tooling)¶
Bootloader CDC lama digantikan oleh bootloader DFU standar berbasis TinyUSB baru pada semua board — mekanisme pembaruan firmware berubah; perbarui alur kerja/tooling flashing Anda sesuai. Board OpenMV Pro, build Raspberry Pi Pico mandiri, dan fitur IDE-jarak-jauh WiFi-debug (wifidbg) telah dihapus.
Commits: a03fc90d8, c2e616aae, af3ea774b, f8bca9799, 59a38a0d3, 7edeb4fbe, d58d77fa2
Daftar periksa migrasi¶
Untuk migrasi bersih ke v4.6.0, pekerjaan yang umum dilakukan adalah:
Skalakan ulang setiap nilai
alphagambar/overlay dari rentang 0–256 ke 0–255 (perubahan rentang alpha).Ganti nama konstanta ioctl FLIR Lepton ke bentuk yang dipersingkat (penggantian nama ioctl Lepton).
Jika Anda menggunakan post-processor ML baru, ganti
score_thresholdmenjadithreshold, tangani hasil kosong(), dan perbarui nama model menjadiyolo_v5_224_nano(perubahan ML).Periksa kembali pipeline berbasis
find_keypoints()untuk perubahan detektor AGAST (perubahan detektor sudut).Perbarui alur kerja flashing firmware untuk bootloader DFU baru (perubahan bootloader/board).