|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
机器学习的本质是让计算机能够更有效率的模仿人类的行为,特别在图像分类、图像识别、语音识别等领域,机器学习能够在分秒之间,集中处理数以百万计的计算。过去在合理的成本下,这样的处理能力是无法想象的,直到最近几年才能够实现。这主要是因为,如若这些处理不在边缘实现,就要放到云端来进行。数据要被上传到云端,这样的话,我们就会担心谁会看到这些数据。我们相信云端服务期的运营商和负责人吗?显然答案是否定的,因此在本地进行边缘计算,用户隐私就能够更好的被保护,响应速度也会更快,可靠性也会更强,因为即便服务器断电,本地设备依然可以稳定工作,甚至设备可以在没有网络的偏远地区正常工作。9 J: N4 f1 g4 M* `" |
' C7 _, U1 m5 [3 a
: s N9 R7 O4 |: Q( F9 Z! W
0 S5 }6 ~: m% m
- i5 y5 W9 g8 Y; N1 ^( w9 f- T0 q2 P0 D$ s
+ f' Y+ N" x. g2 L5 c. L' b, B F
0 {) t; X( `" Y8 z/ r![]()
1 n+ q, T- R3 S1 U/ e9 V% X l) n8 q$ @# B2 q5 g% Q6 v b
" y: d5 B9 t) i' q' P$ \+ t4 S" a: W/ H6 i8 R' G
" x/ Z# B0 |* c! D" W- n# L+ j
! D$ G1 s, V& l, ]# U j* E& V$ q* {4 [2 T4 t- K
: y) i: b$ y- ^
0 V: w A" \* n3 i9 U$ I' f/ h8 b
i.MX8M Plus 应用处理器
4 n1 D5 E' `! a, y) Z5 l y1 J. O2 H& G0 }: ]& y0 Q0 [) }4 ^
3 w! _; H: }* ^6 Y4 o4 c2 e' u+ Y2 Y" ]; l Q' O. z
通过i.MX8M Plus ,NXP将机器学习带到了边缘设备中,这款产品不仅仅是达到了2万亿次每秒这样的强大计算能力。只是做到这样的计算性能并不困难,但NXP所实现的是带来了模型压缩的优化以及针对稀疏性的优化,稀疏指的是机器学习算法参数或者数据中有大量权重为0,进而能够避免在推理时支付这些模型系数的存储费用,计算效率将会大大增加。模型压缩同样也很重要,鉴于计算过程中存在大量的数据交换,如果足够压缩,那么对于系统内存的占用就会降到最低。另外同样牵涉到系统内存的一点是i.MX8M Plus 搭载 DRAM 控制器能够进行每秒4G 处理,是 NXP有史以来 DRAM 速度之最。$ H/ B8 t! I$ l- m, o, I: O
/ w% I* i# S! I& J, f/ Q* H
' [2 d0 R& q* |5 \
" n* s) m5 l) v. H" _. bi.MX8M Plus 与机器学习、机器视觉
' q2 K; m! b$ s
- g& X/ } c5 ]! T p5 r2 A4 l# X0 g0 a7 n
3 n) E* r- m) d9 i' J; ]% C机器学习是基于图像数据的,数据的来源通常是一个系统中的摄像头模块,而摄像头模块需要一个图像处理单元,也就是ISP。谈到 i.MX8M Plus 的ISP 单元,在很多系统中,摄像头可能距离目标非常远,为了得到你需要的细节,其分辨率必须足够高,比如4K分辨率,也就是800万像素。
9 M& V6 O& O( W$ @
7 M/ _; f- `0 m1 q4 {1 q" v+ P, w/ F! Q: I9 Q2 S7 [' z! i
5 N2 m+ `- o" `. \
! L1 b8 r% I: X$ X2 {. L) N* ^! I; s e/ Q: o5 n+ u4 S j9 Z* M& N
1 r. s G$ p9 Q3 C! A: L! v4 v
E. s* Z& I- e- h& |6 H 0 m1 ?) e1 }8 m: R; [3 E6 o2 N
6 {' u/ ^! i! {
& i1 ]# G- N! [$ x" ?* _6 A
, R" A6 M6 n$ t7 s9 E- b2 R
. l% e4 H7 [- b2 ~. {8 j" E
- Z4 ?& W1 t' b- h
& r8 V/ i- F# k; B7 ~6 r8 v/ ], Z0 Q% [2 h6 [+ w6 b
; \; z3 F9 l* r
/ U$ m# N! y7 I3 T& F$ w" t/ ]+ C1 l2 \1 V
处理如此高清的影像数据,就需要ISP 的协助。可能对于低分辨率的视频,ISP 并非必需,在很多系统中,用户可能并没有意识到,摄像模块是否集成ISP。但在高分辨率下,就需要 ISP 被集成在处理器中,就像i.MX8M Plus 这样。有趣的是,NXP i.MX8MPlus 中实际上集成了两个 ISP,两路摄像头输入。因而在大多数的应用场景下,将会获得更立体的图像,就像人的两只眼睛一样,可以感知图像的深度。另外一个应用是两路摄像头,其一作为广角或者鱼眼视角,另一路则聚焦某一场景的特写。除此之外,还有其它的应用需要用到这样的功能。
4 I. V+ P# x, y
; ?7 x0 S' l- s9 e3 K2 {" F图像处理需要很强的计算能力,ISP的功能理论上也可以由 CPU 或 GPU 来实现,但要将这样的计算量,将这些数据转化为系统可识别的形式和参数再进行计算和处理,涉及到的工作量太大了。因此在这样的系统下,必须使用一个专门处理图像任务的单元,也就是 ISP,就像 i.MX8M Plus所做的那样。
1 X$ O+ Z) R/ ^5 F# Z4 N8 |2 x5 M( X- v& F
" |; {7 K9 X, C: t" M3 D
l- M' ?/ S# si.MX8M Plus 高动态范围(HDR)支持* U8 t$ d5 g {* l, d
0 e2 F' d. ]2 {* h4 K; {) M1 k3 V- C( E
) Z- d p$ T+ s, V7 i) R
i.MX8MPlus还有一个重点是HDR,也就是高动态范围,你可能在很多手机上看到过这个词,但在嵌入式应用以及消费类产品甚至工业应用中HDR 都非常重要。HDR 主要是融合多重曝光的图像,具体表现为拍摄亮度不同的两张图像,一张是长曝光,一张是短曝光,其中一张能够帮助获得更好的高光部分的细节,另一张则获得更好的低亮度区域的细节。甚至可以拍三张或者更多,来融合成为一张图像。这样高光和暗部的细节都可以保留,这在某些特定场景中非常重要,比如在家里,窗户边很亮,有的地方却很暗,有了 HDR,所有的细节你都可以看清楚。
) o3 S, v- I. {* K
9 j; k1 M3 s5 {" I- r2 i
5 I3 Q8 O0 [$ ^4 G v" M4 y
* J) W# G! f( a7 M! v1 i( v& \. a4 ?) V! y& h
' k; S3 T% h; m
: M3 c. K8 i8 h( A' Q* n4 X
& b+ g+ F8 ~( v5 q , P }, I! f6 @7 m7 ~$ H# P0 R* Y
/ n9 A- m5 Y/ ]; V# f! W' L- O
7 T! H& I; u3 G8 T/ f# V" |. q. {$ X3 ?
4 H$ w6 u" j: O' D# I2 V" J% l0 X) o' T) U4 }% R; w
- Q) Z$ |+ p0 Z
; ?1 T6 l" f6 R) P5 U, k# Y+ {- r # X7 ^$ R( P1 U& [
/ f' C/ \# H# q- N3 H
扭曲矫正带来更好的图像3 l4 Q$ ]/ I$ j! G J* @
( z" Y, |% \# d* R% [4 P( B9 C3 y' L( ^$ ?) t( F. U
! z$ b( w" K" w: L8 |
在摄像头相关应用中,扭曲矫正是一个非常重要的功能。摄像头接收到的图像可能是扭曲的,类似观看鱼缸的场景。你可以看到很多的东西,但它们都是扭曲的。扭曲矫正,可以将图像恢复为人类、机器学习可以识别的正常形状,直线曲线区别分明,也没有倒置的现象,这就是扭曲矫正引擎所负责的。但引擎能做的不仅仅是这些,除了能够矫正这些意外的干扰,同时它也可以矫正由于摄像头问题导致的图像不清晰、变形等。
. U f3 z7 P: m; R& K0 z' `
. F( R$ M$ U% c9 m% ]' B/ \ Z引擎同样可以对像素进行处理,获得更好的图像质量。针对i.MX8MPlus 的 ISP 架构我们的设计保证了所有的处理都以流的形式进行,也就是说ISP直接从摄像头接收图像进行处理,将它们输出到系统内存。ISP 几乎不需要从系统重新构建图像再进行处理输出,这样就可以带来非常低的延迟表现,以及非常高效的针对图像的处理表现。iSP 针对图像增强,进行了非常多的处理,比如降噪处理,这在暗光环境中非常重要。在这样的环境下,很多像素都会被进行涂抹,但你不能对太多区域都进行涂抹,否则你的图像将会变得非常模糊。所以你必须使用 ISP 来分辨,哪里是可以进行涂抹处理的,哪里则是需要清晰呈现的内容。其它的处理任务包括,检测图像传感器的坏点,确保正常工作,以及白平衡的调节,分辨出不同的光照环境,例如日光、灯光等等。还有提供信息,帮助自动曝光以及对焦,所有的这些都是由ISP 来完成的。: a# Z2 p" \2 g2 [
, K0 t1 o; }) v/ C. y0 `
- Y- W" Y1 o+ R9 P; ^1 w
- Y0 d$ J. s( E/ gH.265视频编码
* ~$ b$ P# ^# E3 T0 O
- @3 P5 [6 Q( h- _8 U1 j6 m, t) m
8 j* y8 l( Y7 y5 ] w" ?在许多应用中,摄像头接入系统,数据被送入机器学习算法或是直接被存储在网络中。不管图像被送入何处,它们还是需要被存储在某些地方,比如服务器或者是本地设备。你不可能直接保存原始文件,因为原始的文件实在是太大了,因此必须对数据进行编码,i.MX8M plus 的视频编码是非常高效的。我们支持 h.265编码算法,比起业内广泛使用的 h.264更加先进和高效。3 T' T0 ^, l) a0 p* k: |! v
4 l' h9 Q1 X; e4 o0 r6 v V; G, C( e5 k
- K9 j4 `& k8 h: O3 K, S4 t
2 {* Z. B+ c0 W. a7 e3 }: I
1 S2 l- H+ }: K; B# T! y1 I; m& x, y# x) W9 g5 M
( N+ s" ~ p6 W0 ] 0 E5 ]- S6 b, z W7 m1 w7 M# \
1 k$ I3 `7 d! E: ^3 m9 t ^) F; b$ W3 r) @: s0 {
- W" q* ?' O$ ~9 ?6 x
: \" h4 b z n! M1 [5 N9 f7 ?
& C6 K# S) M$ q! b1 G5 b: A
6 J9 L/ h! D& K9 Z2 k; M. ?0 c
0 z0 v6 A6 z4 D0 ~$ W- Z+ t : [* E, I7 r" }) D* J
( e2 e- d5 x6 q% l0 q1 _# K/ `iMX8M Plus在工业应用中的特色
, m, f1 g; s- n! D; c! _7 \' e0 | r5 U9 X" D' p. f$ i+ b7 d& x
7 Y1 F, Q& \* n
4 X4 B- \/ w7 g) Ii.MX8M Plus有一些针对工业应用的特色,其一就是 ECC,也就是错误纠正代码。用来在用户无需感知的情况下,检测出内存的错误,甚至进行修复。
- }) E/ c! W" z0 o7 d* v1 _0 I; L3 d) Q. T' n K" G
这异常的重要,因为在某些应用中内存的错误会带来严重的后果,虽然不会导致硬件的永久损坏,但当读取内存的软件和程序时有可能会崩溃。
2 D7 ]( |2 a3 t' [# _) W* ~, G7 \' }7 p! I/ `
为了避免这些情况的发生,你就需要ECC 来进行检测和修复,这样软件的错误率,也就是我们常说的 SER将会大大降低。i.MX8M Plus在缓存和片上RAM 中都带有ECC,而DRAM 总线还支持在线 ECC,它不需要存储任何额外的位,就能够将ECC 算法与主数据同时发送出去。
( z, p- \2 Z v9 Y4 A* |: S7 k; I% \5 D9 B$ U2 i+ Z0 {
) C, @+ S4 c1 J' h7 G9 e S: \ z* A
0 w0 R6 g- P5 L( m; F" h
TSN也是 i.MX8M plus 中的亮点,tsn 指的是时间敏感网络。在工业应用中你希望可以确保能够在对的时间点将数据发送出去,而通常以太网中任何人在任何时间都有可能正在发送数据。可能会造成拥堵,可能你需要晚一些再发一次,在工业应用中,这无疑是会带来问题的。而 TSN 则能够很好的解决这样的困扰。i.MX8M Plus同样也支持一些工业级的外设,我们甚至集成了800MHz的 Cortex-M7协处理器来协助组合。组合运行操作系统,M7内核同时可以进行一些实时性的控制,来确保低延迟。我们还有两路 CANFD用于本地与系统或是与网络低延迟的通信。
. A& F5 i g9 U
5 h9 _5 i" d; ~, m S8 N V, li.MX8M Plus所提供的所有的这些特性和外设,能够助力工业及应用的设计为工业应用带来无限的可能。: C2 P) k6 B, K# V
" i" p _/ B* ^
+ }: e$ S+ `; j. E3 ^
) c4 w, R+ X/ p, m. H如何测评 i.MX8MPlus* L7 N( Q. O! A" w1 ?
1 A: I/ N9 E8 t& \: z
4 g. _2 Q# J5 t
+ {7 E. R0 j- D' n+ y) n作为NXP官方金牌合作伙伴,飞凌嵌入式与NXP深入合作,推出了基于i.MX 8M Plus处理器的开发套件OKMX8MP-C开发板与FETMX8MP-C核心板,除了继承了上述CPU能力外,飞凌嵌入式在iMX8MPlus核心板上还集成了LPDDR4、eMMC、PMIC等关键元器件,形成了可以独立运行的最小系统;同时,考虑低成本基础应用以及高端NPU应用的不同需求,DDR可选择2GB、4GB、6GB、8GB多种版本;这款核心板的优势不仅仅在于性能上,其功能也是十分的丰富,双千兆以太网、双CAN-FD、2个USB3.0、PCIe3.0、LVDS、HDMI、MIPI-DSI、MIPI-CSI等接口面面俱到。
9 q/ W9 j$ L, l4 h: j! c/ W' H1 I T D3 @) m$ I8 U
2 i: X S4 }. J: H/ V" `
+ [- [1 a6 K) \5 t6 [0 @
) s% P w5 l( x- v3 ? 8 C1 ]6 Z0 t# |0 k: J( x7 O
' q* _. d) P5 m* C2 ]$ |
' S1 y: l$ s) D9 z J: O6 h8 } M% L* c
6 n6 p( d- c5 b4 n/ x J6 Y- T. }8 F0 ~5 P3 X! E
) k4 H C) R, K' d$ p
|
|