v4.7.0¶
v4.7.0, Qt Creator 14.0.2 üzerine inşa edilmiş, NPU ve ROMFS odaklı büyük bir sürümdür. Tümleşik ARM Ethos-U (Vela) ve ST Edge AI model derleyicilerine sahip cihaz üzerinde bir ROM dosya sistemi iş akışı sunar, OpenMV N6 için STM32CubeProgrammer tabanlı fabrika programlaması ekler ve OpenMV firmware 4.7.0 sürümünü her kartta birlikte paketler. Herhangi bir kameranın 4.7.0 öncesi bir aygıt yazılımından (firmware) yükseltilmesinin artık bir FAT dosya sistemi silme işlemini ve ROMFS sıfırlamasını zorunlu kıldığını, bunun da cihazın dahili flash belleğinde saklanan dosyaları sildiğini unutmayın; aşağıdaki Bozucu değişiklikler bölümüne bakın.
Öne çıkanlar¶
ROM Dosya Sistemi iş akışı, ML modellerinin kamerada saklanabilmesi için cihaz üzerinde salt okunur bir dosya sistemi oluşturmanıza, düzenlemenize, flash’lamanıza ve sıfırlamanıza olanak tanır; DFU, IMX, Bossac, Picotool ve Arduino-DFU önyükleyicileri (bootloader) genelinde tümleşiktir. (efcc52fd8, f2cbcc802, a7e52424a, 60b05326d, 7140fc2aa)
ARM Ethos-U Vela ve ST Edge AI model derleyicileri artık tümleşiktir; böylece
.tflite/.onnxmodelleri Ethos-U55 (OpenMV AE3) veya Neural-ART (OpenMV N6) kartlarına yüklendiğinde otomatik olarak NPU için derlenir. (411f708ea, 3064411ad)STM32CubeProgrammer artık OpenMV N6 (STM32N657) önyükleyicisinin (bootloader) bir
FlashLayout.tsvaracılığıyla fabrika programlamasını mümkün kılmak için birlikte paketlenmektedir. (334b04dbd, 54fea4d57, 28cc94a6e)Model Zoo tarayıcısı, bağlı kartla uyumsuz modelleri gizleyen yeni bir
models/index.csvtablosuyla yönetilen bir “Modelleri kart türüne göre filtrele” onay kutusu kazanır. (80adb2079)Uzantı başına ROMFS hizalaması: ROMFS görüntü düzenleyicisi artık dosyaları alfabetik olarak sıralar ve bunları
settings.jsondosyasındaki bayt hizalama kurallarını kullanarak paketler (örneğin.tflitemodelleri 16 bayta hizalanır). (e87b2bf06)Birlikte paketlenen aygıt yazılımı (firmware) tüm OpenMV ve Arduino kartlarında 4.7.0 sürümüne güncellendi. (6d04b1b50, d0bbb1fe7, d7d3120b3)
Yeni özellikler¶
ROM Dosya Sistemi alt menüsü (
New/Open/Edit ROMFS on OpenMV Cam/Reset ROMFS on OpenMV Cam), eski tekilEdit ROM File Systemeylemini değiştirir. (0bc275a0a, 958f732b5)Model Zoo tarayıcısını aç: kalıcı seçili model durumu ve bir seçim değişikliği önizlemesi ile birlikte; paketlenmiş STMicroelectronics, Qualcomm, DeGirum, Edge Impulse ve Google model kitaplıklarını içerir. (58033c5df, 2a1fb071a, 48c5b96fe, c0959833c)
Machine Vision Toolsaltındaki Convert Model for NPU menü öğesi, bir TensorFlow Lite (.tflite) veya ONNX (.onnx) modelini kartın NPU hızlandırıcısı için derler (Ethos-U.tfliteiçin Vela, N6 Neural-ART.tflite/.onnxiçin ST Edge AI) ve dönüştürülen modeli diske veya kameraya kaydeder. (3913f5b8b)Copy/Convert Python File aracı, bir Python betiğini kameraya veya diske kopyalar ve isteğe bağlı olarak
mpy-crossaracılığıyla MicroPython.mpybayt koduna çapraz derler;Toolsaltındaki yeni birMicroPython Toolsalt menüsünde yer alır. (e9d7fa143, 47188c0e3)OpenMV seri terminaline ve
General Messagesçıktı paneline Wrap Text geçiş düğmeleri eklendi; her ikisi de çıktılarını sözcük kaydırmayla sarar ve ayarı oturumlar arasında kalıcı kılar. (8c052845a, 51d3e1ad6)Kart başına mimari bayraklarına (
armv7emsp/armv7emdp) sahip mpy-cross ROMFS çapraz derlemesi, MicroPython betiklerinin ROMFS görüntülerine dondurulmasına olanak tanır. (8c71548df)Aygıt yazılımı (firmware) önyükleyici (bootloader) iletişim kutusu artık
*.binve*.dfudosyalarının yanı sıra*.imgROMFS dosyalarını da kabul eder, önyükleyici başına uzantıları doğrular ve bir*.imgdosyası yüklenirken mevcutReset ROMFS file systemonay kutusunu devre dışı bırakır. (79f348b36)4.7.0 öncesi yükseltmeler artık FAT silme ve ROMFS sıfırlama/güncelleme onay kutularını zorunlu olarak açar ve yükseltmenin FAT dosya sistemini silmeyi gerektirdiği konusunda uyarır. (f6f3355b0)
Diğer değişiklikler ve iyileştirmeler¶
Birlikte paketlenen Qualcomm model zoo’su göreve dayalı klasörlere (
image_classification,object_detection,pose_estimation,semantic_segmentation,depth_estimation) yeniden düzenlendi, desteklenmeyen büyük modeller (YOLOv7, YOLOv8, deeplabv3, mobilenet_v2) kaldırıldı veresnet18iledensenet_121(daha geniş kart uyumluluğuyla) eklendi; ayrıcafacemap_3dmmveFFNet_40S(yalnızca AE3/N6) eklendi. (300ce2fc2)Birlikte paketlenen model zoo’suna yeni bir Edge Impulse model sağlayıcısı (FOMO yüz tespit modeli) ve yeni Google modelleri (
micro_speech,mnist_lstm,person_detection) eklendi ve ROMFS düzenleyici bağlam menüsüne birView/Editeylemi eklendi. (80adb2079)Model zoo bağlantıları temizlendi: Qualcomm
face_attrib_netmodeli (AE3/N6) eklendi, bozuk YOLO-NAS girdisi kaldırıldı ve birkaç STMicroelectronics nesne tespiti modeli için kart uyumluluk filtreleri düzeltildi. (fd639bda0)Daha fazla model etiketi eklendi, bir modelin NPU hızlandırıcı yapılandırması
staideğerindenstedgeaideğerine geçirildi vest_yolo_xkart uyumluluk filtresi genişletildi (artık AE3/N6’ya ek olarak OPENMV_RT1060, OPENMV4P, ARDUINO_GIGA, PORTENTA_H7 ve NICLA_VISION da dahil). (1515631ce)ROMFS’e bir
.tflitemodeli eklemek, model zaten Ethos-U için derlenmişse artık Vela/Ethos-U derlemesini atlar (yalnızca kopyalanır) ve iletişim kutusu eylemiAdd ModelyerineModel Zooolarak yeniden adlandırıldı. (9c0b178fa)ST Edge AI derlemesi, zaten
NBINbiçiminde olan modeller için dönüştürmeyi atlar. (3064411ad)Vela derleyici iletişim kutusu, modelin bildirilen SRAM kullanımını her kartın yapılandırılmış heap boyutuna göre ayrıştırır ve model mevcut heap’in %90 veya %100’ünü aştığında uyarılar/hatalarla birlikte bir yüzde gösterir. (7140fc2aa)
Vela derleyicisi artık sessizce başarısız olmak yerine net bir “not supported on this platform” hatası bildiriyor ve model zoo’ya bir modelin sürüklenip bırakılması artık Vela’nın mevcut olmasını gerektirmiyor. (c736dd54d, 0ad7fd705)
Vela Ethos-U derleyicisi artık bağımsız bir ikili dosya yerine birlikte paketlenen gömülü Python çalışma zamanı (
python -m ethosu.vela) aracılığıyla çalışır. (52f9b8820)Uzun süre çalışan ST Edge AI ve Vela model derleme iletişim kutuları artık “This command takes a while to execute. Please be patient.” bildirimini gösterir. (fc9ac2ab5)
PAG7936 (N6/AE3) ve PS5520 sensörlerinde örnekleri veya yeni betikleri açmak, artık daha yüksek çözünürlüklü sensörler için
sensor.set_framesize(QVGA)değerini otomatik olarakVGAdeğerine yükseltir. (dfc27dd25)FLIR Boson 320/640 termal kameralar, PixArt PAG7920/PAJ6100, FROGEYE2020 ve Prophesee GENX320 olay kamerası için örnek betiklerin otomatik düzeltmesi eklendi. (1f54ad01b)
İndirilebilir IDE kaynakları (aygıt yazılımı/modeller/belgeler) artık yeni bir
ICore::allUsersResourcePath()API’si aracılığıyla paylaşılan, tüm kullanıcılara ait bir uygulama veri dizinine yüklenir; kaynak sürüm bildirimi ise tüm kullanıcılara ait kaynak klasörünün bir düzey üzerinde birOpenMVIDE.jsondosyasında saklanır. (be308ace2, 7c7dddb87)Alif sistem paketi aygıt yazılımı (firmware) güncellemeleri sırasında IDE artık devam etmeden önce kullanıcıyı kameranın güç çevrimini yapmaya (bağlantısını kesip yeniden bağlamaya) yönlendirir. (162d128f9, 756611696)
Alif (Ensemble) önyükleyici (bootloader)/aygıt yazılımı (firmware) indirme akışı ROMFS uyumlu olacak şekilde yeniden düzenlendi: önyükleyiciyi yazdıktan sonra App TOC’yi oluşturur, bin/sign görüntülerini bir
images/alt klasörüne kopyalar vefirmware_pad.tocdosyasını flash’lar. (f623c9231)Aygıt yazılımı (firmware) seçicideki kart görüntü adları, gereksiz parantez içi yonga soneklerini ve “Legacy” etiketlerini kaldırarak basitleştirildi (örneğin “OpenMV Cam H7 (STM32H743)”, “OpenMV Cam H7” olur). (334b04dbd)
Netlik için iki Tools menüsü eylemi yeniden adlandırıldı:
Run Bootloader (Load Firmware)artıkLoad Custom FirmwareveErase Onboard Data FlashartıkErase Internal FAT File Systemoldu (onay iletişim kutusu artık kameranın dahili FAT dosya sistemine atıfta bulunuyor). (0bc275a0a)Ctrl+Shift+L(Load Custom Firmware) veCtrl+Shift+E(Erase Internal FAT File System) klavye kısayolları geri yüklendi vePreferencesöğesi tekrarEditmenüsüne taşındı. (dabb6f7d9, b5daf59a6)IDE MicroPython’u hedeflediğinden, başlangıçta otomatik C/C++ derleyici ve araç zinciri otomatik algılaması devre dışı bırakıldı. (f42fcc8f2)
Aboutiletişim kutusunun ortaklar bölümüne Alif Semiconductor ortak logosu (açık/koyu) eklendi. (4878781bb)Bağlı kartın aygıt yazılımının (firmware) okunması artık komutu vermeden önce eski seri port verilerini temizleyebiliyor, bu da aygıt yazılımı/sürüm sorgularının güvenilirliğini artırıyor. (c15a46f5b)
ROMFS okuma, yazma ve sıfırlama işlemlerinde yeniden bağlanmayı/yenilemeyi zorunlu kılarak ROMFS bağlantı güvenilirliği iyileştirildi. (f9bc83007)
Hata düzeltmeleri¶
Model/betik kaydetme iletişim kutuları ve ROMFS dosya ekleme/model ekleme işlemleri, tam sonek yerine basit dosya sonekini kullanacak şekilde düzeltildi; bu, adlarında nokta bulunan dosyalar yeniden adlandırılırken uzantıların bozulmasını önler. (52c6820d2)
Büyük aktarımlarda yüzde değerinin 64 bitlik aritmetikle hesaplanması sağlanarak bir DFU yükleme ilerleme çubuğu taşması düzeltildi. (4b91ff2ba)
Flash silme ve programlama adımlarını geçersiz (pozitif olmayan) flash sektör aralıklarına karşı koruyarak ve çökmek yerine açık bir hata göstererek eski OpenMV aygıt yazılımının (firmware)/önyükleyicilerinin (bootloader) flash’lanması düzeltildi ve eski aygıt yazılımı yükseltmesi sırasındaki ROMFS erişim koruması düzeltildi. (ae2cc15b4, 235dbdb10)
Seri port kart algılaması, seri numarası ters filtresinin yalnızca port doğrulaması sırasında (bağlantı sırasında değil) uygulanacak şekilde düzeltildi ve önyükleyici (bootloader) modu seri numaralarının hariç tutulması için i.MX kartına ters filtreler eklendi. (ae2cc15b4)
Manuel bir kart türü seçimi yapıldığında daha önce kaydedilmiş bir kart eşlemesinin artık üzerine yazılmaması için kart türü kalıcılığı düzeltildi. (c42d36001)
Önyükleyici (bootloader) onarımı artık gizli bir kartın görüntü adını mimari dizesine çözümlüyor; böylece yeniden bağlanma/aygıt yazılımı onarımı doğru kartı eşliyor. (a1de7a09c)
Kart algılaması artık kart mimarisi dizelerini büyük/küçük harfe duyarsız olarak eşleştiriyor. (7a2e0e93f)
Sürücü tarama iş parçacığını kalıcı kılarak ve sürücü taramalarını üç kereye kadar yeniden deneyerek hızlı bağlantı kesme/yeniden bağlanmada cihaz diskinin bağlanamamasını düzeltti ve sürücü taramasının taramayı güvenilir bir şekilde tarama iş parçacığında çalıştırmasını sağladı. (455dbe967, 58c0e5456)
Rosetta altında çalışırken ARM64 araç yoluna izin verilerek model derleyicisinin (ST Edge AI ve Vela) Intel Mac’lerde çalışmamasını düzeltti. (32e309e86)
Birlikte paketlenen tüm Python
__pycache__dosyalarını paylaşılan bir kaynak dizinine yönlendirerek ve süre sınırlı önyükleyici (bootloader) bağlantısından önce i.MXblhostpycache’ini önceden ısıtarak Python aracı ve dil sunucusu önbellek sorunları düzeltildi; böylece flash’lama artık zaman aşımına uğramıyor. (f64f3330f)Python dil sunucusu tarafından kullanılan MicroPython başlık yolu (otomatik tamamlama için) tüm kullanıcılara ait kaynak yolundan çözümlenecek şekilde düzeltildi ve kullanıcı adı filtrelemesi hiçbir şey bulamadığında tüm kullanıcılara ait kaynak yolu araması daha sağlam hale getirildi. (5f2648565, fc1938818)
Yerel dosya yollarını uygun
file://URL’lerine dönüştürerek derleyici seçenekleri iletişim kutusundaki bozuk ST Edge AI belge bağlantıları düzeltildi. (3ac136444)Python düzenleyici otomatik girintilemesi, satırların artık iki nokta üst üste ile biten (electric) bir satırdan sonra (örneğin
if/for/defbaşlıklarından sonra) yanlış bir şekilde geri girintilenmemesi için düzeltildi. (6555f44ba)Klasör ofsetlerinin dizin adı kaydı boyutunu hesaba katması için ROMFS dizin kaydı hizalaması düzeltildi ve farklı oluşturma zaman damgaları sağlamak amacıyla ROMFS ve model zoo dosyalarını paketten çıkarırken/oluştururken dosyalar arası gecikme artırıldı. (9bf7e1d9e, d968a6e46)
Çıktı çarpanını 64 bitlik olarak hesaplayarak Vela grafik en iyileştiricisinin mean-to-depthwise-conv dönüşümündeki bir tam sayı taşması düzeltildi ve Vela derleyici iletişim kutusu başlığında/çıktısında kullanılan temel ad düzeltildi. (d217a46e9, 8376490eb)
Yeniden açılışta model zoo tarayıcısının genişletilmiş klasörlerinin ve seçili modelin geri yüklenmesi düzeltildi ve GUI ömrü sorunlarından kaçınmak için iletişim kutusu heap tahsisine geçirildi. (84a63ef4c)
Model Zoo farklı kaydet yolu, hatırlanan dizinin tam bir dosya adı yerine bir klasör olarak saklanması için düzeltildi. (be877f7af)
Eski kullanıcı kaynak yolu, başlangıçta silinmek yerine korundu; böylece eski klasör kilitliyken oluşan “close any programs viewing OpenMV IDE data” hatasından kaçınıldı. (775656775)
OpenMV DFU, dfuse, FTDI, Arduino, pybcdc ve VCR sürücülerinin güvenilir bir şekilde yüklenmesi ve başarı kodlarını doğru bildirmesi için Windows sürücü yükleyici betikleri ve catalog/inf dosyaları düzeltildi, dfuse/vcr DFU sürücü yükleme betikleri sağlamlaştırıldı ve birlikte paketlenen OpenMV DFU sürücü katalogları yeniden imzalandı. (48a0a21e3, b7b607250, b4221a884, e4f3bb8f8, 62e869c0b, 583576f2a)
Linux yükleyicisi,
pip install pyusbçalıştırmak yerinepyusbpaketini distropython3-usbpaketi aracılığıyla yükleyecek vebuild-essentialekleyecek ve ayrıca işletim sistemini/etc/os-releasearacılığıyla algılayacak şekilde düzeltildi. (c471ddc42, 4014a0ba5)Windows yükleyicisi artık derin iç içe geçmiş ST Edge AI dosyalarının doğru şekilde yüklenmesi için uzun yol desteğini etkinleştiriyor. (0b3ca6945)
Platform ve araç desteği¶
Qt Creator tabanı: 14.0.2.
Birlikte paketlenen OpenMV aygıt yazılımı (firmware): tüm OpenMV ve Arduino kartlarında (OPENMV2/3/4/4P/PT, RT1060, GIGA, Portenta H7, Nicla Vision, Nano 33 BLE/RP2040, AE3, N6) 4.7.0 sürümüne güncellendi; aygıt yazılımı ROMFS desteğiyle (
romfs0.img) yeniden derlendi. (6d04b1b50, c44e33d70, a1de7a09c)OpenMV N6 ROMFS: 16 MB’dan 24 MB’a yükseltildi ve romfs görüntüsü DFU alt-ayarı 3’e taşındı. (d0bbb1fe7, d7d3120b3)
OpenMV AE3 ROMFS: 16 MB’dan 24 MB’a yükseltildi ve tüm kartlarda birlikte paketlenen
.binmodel dosyaları için 16/32 baytlık hizalama kuralları eklendi. (746da8914)STM32CubeProgrammer (STM32_Programmer_CLI), N6 fabrika programlaması için tam STM32 cihaz veritabanı ve harici yükleyicilerle birlikte macOS, Linux ve Windows için paketlendi; kurulum, boyutu küçültmek amacıyla kullanılmayan harici yükleyici ve MCU başına veritabanı dosyalarından arındırıldı. (334b04dbd, 54fea4d57, 28cc94a6e, 2522c900f)
N6 Neural-ART NPU için ST Edge AI (stedgeai) derleyicisi 2.1.0 paketlendi (Windows). (3064411ad)
Linux x86-64, macOS (Apple silikon) ve Windows için ARM Ethos-U Vela derleyicisi 4.2.0 (numpy 2.2.4 ile) paketlendi. Windows paketi ilk olarak Vela 4.1.0 / numpy 2.2.3 ile eklendi ve daha sonra son sürüm olan 4.2.0 / numpy 2.2.4’e yükseltildi. (f9323a1d6, 5f551a5c5, 6506497c6, bcda7d1f0)
mpy-cross 1.25.0.post2 paketlendi (macOS/Windows). (8c71548df, 3ab42d58a)
Alif Security Toolkit: Alif Ensemble tabanlı kartlar için v1.104.0’a güncellendi (imzalı setools ikili dosyaları ve v1.104.0 Kullanım Kılavuzu PDF’i). (43260719c, 75a58e61b)
ethos-u55-256 ve ethos-u55-128 hızlandırıcılarını hedefleyen, RTSS HP/HE SRAM/MRAM/OSPI sistem yapılandırmalarına sahip OPENMV_AE3 (Alif Ensemble) NPU yapılandırmaları eklendi. (1f5fc546d, 411f708ea)
Pin çıkışı seçiciye OpenMV N6 ve AE3 kameraları (PAG7936 sensörü) için pin çıkışı diyagramları ve anti-flicker filtre yapılandırmasını gösteren yeni bir Genx320 gri tonlama olay kamerası örneği eklendi. (60184bbc5, 6d04b1b50)
Arduino Nicla Vision USB PID eşleştirmesi, orijinalin (0x045F) yanı sıra yeni bir uygulama PID’sini (0x055F) tanıyacak şekilde güncellendi. (91ce4007c)
NXP/blhost güvenli önyükleyici (bootloader) flash’lama parametreleri, en son spsdk araç takımıyla uyumlu olacak şekilde açık FCB adresi/uzunluğu ve bir MBR disk boyutu kullanacak şekilde güncellendi. (16b66c3e2)
Windows yükleyicisi artık özel bir STM32 DFU önyükleyici (bootloader) sürücüsü ve Microsoft Visual C++ 2015+ yeniden dağıtılabilir paketlerini birlikte paketliyor. (cdcd4a5a6, 0cdebfc4c, a02b1f21a)
Birlikte paketlenen DeGirum YOLOv5/YOLOv8 model zoo’su IDE’den kaldırıldı. (26710be1c)
Bozucu değişiklikler¶
v4.7.0’da kullanıcıya görünen iş akışı ve davranış bozulmaları. Bir betikleme API’si bozulması yoktur, ancak aşağıdakilere dikkat edin:
4.7.0 öncesi yükseltmede FAT dosya sistemi silinir. Herhangi bir OpenMV Cam’in 4.7.0 öncesi bir aygıt yazılımından (firmware) yükseltilmesi artık aygıt yazılımı güncellemesi sırasında FAT dosya sisteminin silinmesini ve ROMFS’in sıfırlanmasını/güncellenmesini zorunlu kılar (iletişim kutusu onay kutuları zorunlu olarak açılır ve devre dışı bırakılamaz); böylece cihazın dahili flash belleğinde saklanan kullanıcı dosyaları yükseltmede silinir. (f6f3355b0)
UVC aygıt yazılımı ve Portenta H7 önyükleyici (bootloader) ikili dosyaları kaldırıldı. Önceden derlenmiş UVC web kamerası aygıt yazılımı (firmware) görüntüleri (
uvc.bin/dfu/elf) tüm kartlar için kaldırıldı ve Arduino Portenta H7 önyükleyici ikili dosyaları paketten kaldırıldı; bu önceden derlenmiş görüntüler artık IDE’den flash’lanamaz. (c44e33d70)Kaynak dizini yeniden konumlandırması. İndirilebilir IDE kaynakları (aygıt yazılımı, model zoo, belgeler) artık kullanıcı başına kaynak yolu yerine paylaşılan, tüm kullanıcılara ait bir uygulama veri dizinine yüklenir ve sürüm bildirimi QSettings’ten, tüm kullanıcılara ait kaynak klasörünün bir düzey üzerinde saklanan bir
OpenMVIDE.jsondosyasına taşındı (geriye dönük uyumlu QSettings yansıtmasıyla). Yükseltmeden sonraki ilk çalıştırmada bir kaynak yeniden indirme tetiklenir. (be308ace2, 7c7dddb87)