|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
机器学习的本质是让计算机能够更有效率的模仿人类的行为,特别在图像分类、图像识别、语音识别等领域,机器学习能够在分秒之间,集中处理数以百万计的计算。过去在合理的成本下,这样的处理能力是无法想象的,直到最近几年才能够实现。这主要是因为,如若这些处理不在边缘实现,就要放到云端来进行。数据要被上传到云端,这样的话,我们就会担心谁会看到这些数据。我们相信云端服务期的运营商和负责人吗?显然答案是否定的,因此在本地进行边缘计算,用户隐私就能够更好的被保护,响应速度也会更快,可靠性也会更强,因为即便服务器断电,本地设备依然可以稳定工作,甚至设备可以在没有网络的偏远地区正常工作。4 c+ y" e( [% T( q
, w) A6 Z$ U- m2 f7 B
, P% c E# n/ V! K f# w+ ~0 x {/ {# t* |- D1 Z9 B
/ N6 s! n* S+ K! A8 ]- s( S
/ o' o9 L1 ~8 p6 F2 R5 c U# _
7 p1 I; I% G6 k9 v0 @
- d ^( z$ ~$ i3 W2 k9 \9 H m6 W $ v7 ] |0 C% x. s0 Z! e |7 f0 G
" ]* I- N) |9 }2 y P7 Q$ | S' [% B; V# V( l, F6 B1 ~
2 a) n: X' i$ R" a x! ?% z+ E- H
, o+ B0 {$ F0 _6 V* }8 j0 t: v j$ r3 S: K7 e
* Q0 ^1 j) D7 b; l$ c" s7 N+ V5 b1 \7 ~( Q: r0 W" W
4 l" k& Z: O7 G; ]9 }9 u) a( J% w) t
) D) O- p# G3 c% L5 V+ D" }
i.MX8M Plus 应用处理器
4 j4 M, C1 Y: Y, z& k3 g+ E+ n- @* [) g# E
. z: x3 o" \2 n
, g% r; u$ S; B, w" F+ L
通过i.MX8M Plus ,NXP将机器学习带到了边缘设备中,这款产品不仅仅是达到了2万亿次每秒这样的强大计算能力。只是做到这样的计算性能并不困难,但NXP所实现的是带来了模型压缩的优化以及针对稀疏性的优化,稀疏指的是机器学习算法参数或者数据中有大量权重为0,进而能够避免在推理时支付这些模型系数的存储费用,计算效率将会大大增加。模型压缩同样也很重要,鉴于计算过程中存在大量的数据交换,如果足够压缩,那么对于系统内存的占用就会降到最低。另外同样牵涉到系统内存的一点是i.MX8M Plus 搭载 DRAM 控制器能够进行每秒4G 处理,是 NXP有史以来 DRAM 速度之最。
+ Q. w2 {" O6 w* b W' s' b, D+ f: D" e2 K ]; ~8 x: Q
0 ^; w$ Z' E. F. ~& q2 F
0 g! k9 F: n1 n1 \0 xi.MX8M Plus 与机器学习、机器视觉4 H0 _4 n1 ^( u1 O
" Y9 m4 ^6 [: A; z+ Y
3 J7 }0 Q/ |1 }" S$ w6 V
/ \; P2 ^. a0 C7 o
机器学习是基于图像数据的,数据的来源通常是一个系统中的摄像头模块,而摄像头模块需要一个图像处理单元,也就是ISP。谈到 i.MX8M Plus 的ISP 单元,在很多系统中,摄像头可能距离目标非常远,为了得到你需要的细节,其分辨率必须足够高,比如4K分辨率,也就是800万像素。
$ k$ I; I; R7 ]" ~* A
0 Q. X4 l0 j- Y8 a: v( ], P* o9 c; |& K- l5 r6 Z
" m5 H4 _+ Z. D0 b# I' { ?" z, t1 L9 r4 X3 q9 L& u
0 E0 t: o- [0 w d. m
8 J- r/ r5 _$ }6 s, b+ i* k# z" e& m! p4 H% z6 o* h
![]()
" U3 e2 `, E0 Q* b! ?3 @$ V2 e1 f# T# {* {. _
6 p# E5 F, `1 D b ]- r
+ p. V- C$ E. p& G, f" ]( E' I: }& Z, z4 O+ s; r2 T
% T' p9 I. ?0 p6 ]' |) X
& H, i: O4 u" B5 c: W3 ]
1 ^. W6 E7 Y# V& L; S; [8 Y3 V
]: ^3 e1 v( H3 b. M
8 _( w0 Z8 D5 X* q& k3 H# A/ j3 N7 R; X& ^% E
处理如此高清的影像数据,就需要ISP 的协助。可能对于低分辨率的视频,ISP 并非必需,在很多系统中,用户可能并没有意识到,摄像模块是否集成ISP。但在高分辨率下,就需要 ISP 被集成在处理器中,就像i.MX8M Plus 这样。有趣的是,NXP i.MX8MPlus 中实际上集成了两个 ISP,两路摄像头输入。因而在大多数的应用场景下,将会获得更立体的图像,就像人的两只眼睛一样,可以感知图像的深度。另外一个应用是两路摄像头,其一作为广角或者鱼眼视角,另一路则聚焦某一场景的特写。除此之外,还有其它的应用需要用到这样的功能。6 H4 ?4 U6 J5 Z9 E; Y
/ i( V) W" X# W图像处理需要很强的计算能力,ISP的功能理论上也可以由 CPU 或 GPU 来实现,但要将这样的计算量,将这些数据转化为系统可识别的形式和参数再进行计算和处理,涉及到的工作量太大了。因此在这样的系统下,必须使用一个专门处理图像任务的单元,也就是 ISP,就像 i.MX8M Plus所做的那样。
1 i5 G' @1 q1 a+ q9 D
5 s5 o8 p# n6 U9 a 4 y; L, i1 q( A1 ` b0 Q
; N, p5 e. R \: X' b3 _3 ~i.MX8M Plus 高动态范围(HDR)支持' ~! l7 ^5 c0 J/ p$ f2 F6 y
- |" @3 q+ c$ R6 f! g
$ O# N: v/ m5 i5 @
3 b) u; e7 }1 `3 Y9 Z7 @ i.MX8MPlus还有一个重点是HDR,也就是高动态范围,你可能在很多手机上看到过这个词,但在嵌入式应用以及消费类产品甚至工业应用中HDR 都非常重要。HDR 主要是融合多重曝光的图像,具体表现为拍摄亮度不同的两张图像,一张是长曝光,一张是短曝光,其中一张能够帮助获得更好的高光部分的细节,另一张则获得更好的低亮度区域的细节。甚至可以拍三张或者更多,来融合成为一张图像。这样高光和暗部的细节都可以保留,这在某些特定场景中非常重要,比如在家里,窗户边很亮,有的地方却很暗,有了 HDR,所有的细节你都可以看清楚。
) ~! l& G4 x$ o7 I( @5 D _5 P: R2 i4 j
7 K" b j4 I- {" O$ \
0 p. }/ ?% W( l+ `) Z' R& Q+ b2 n$ y4 J: l4 P
2 O/ m8 ~- W0 h, j; p7 @: Q& P: m/ j% \
' u6 `. A' S5 A 8 F' t! G8 u8 v7 S9 K: Q0 e A
% p4 R) J; s. Q( t# F$ @
4 c L- o y) W: J
# [6 J* _3 F3 G+ Y* @8 h# c' l# @% g
4 |, c9 h6 w/ I
1 ]; S# ?" F' `; v* B# d2 E* Y, n* l; p, n1 [1 `" Z6 ]
0 W( I* S; _4 V ^ n5 G+ U( v! ^
6 O# ~3 A; ]) x# S6 [扭曲矫正带来更好的图像: ]% D, B" P. O- o0 h6 a- z
& b+ h! E% I2 E- u) B5 L
& O" [1 q4 `' n. A- a. Z7 g
8 ?: `8 k4 j+ A. `( e5 _& E3 G# M( `在摄像头相关应用中,扭曲矫正是一个非常重要的功能。摄像头接收到的图像可能是扭曲的,类似观看鱼缸的场景。你可以看到很多的东西,但它们都是扭曲的。扭曲矫正,可以将图像恢复为人类、机器学习可以识别的正常形状,直线曲线区别分明,也没有倒置的现象,这就是扭曲矫正引擎所负责的。但引擎能做的不仅仅是这些,除了能够矫正这些意外的干扰,同时它也可以矫正由于摄像头问题导致的图像不清晰、变形等。- G6 E: k* c6 s `, ]" L
+ ]9 H9 k$ x. Y: h# ?) E& N4 C2 m1 c引擎同样可以对像素进行处理,获得更好的图像质量。针对i.MX8MPlus 的 ISP 架构我们的设计保证了所有的处理都以流的形式进行,也就是说ISP直接从摄像头接收图像进行处理,将它们输出到系统内存。ISP 几乎不需要从系统重新构建图像再进行处理输出,这样就可以带来非常低的延迟表现,以及非常高效的针对图像的处理表现。iSP 针对图像增强,进行了非常多的处理,比如降噪处理,这在暗光环境中非常重要。在这样的环境下,很多像素都会被进行涂抹,但你不能对太多区域都进行涂抹,否则你的图像将会变得非常模糊。所以你必须使用 ISP 来分辨,哪里是可以进行涂抹处理的,哪里则是需要清晰呈现的内容。其它的处理任务包括,检测图像传感器的坏点,确保正常工作,以及白平衡的调节,分辨出不同的光照环境,例如日光、灯光等等。还有提供信息,帮助自动曝光以及对焦,所有的这些都是由ISP 来完成的。
. q0 f8 x7 n, {$ ]/ }
: \+ i: ?' `1 q$ y8 z8 I
& h; R2 y, Y2 z, ~* P$ }3 i% q8 E6 [1 q
H.265视频编码 |: u) n6 A/ \# x1 h( {3 v
+ H6 D/ {; v3 S3 k$ w; z6 E
k5 u* F( ^: K! V6 A" k1 g3 C2 `" _$ u: }9 Y; x* e5 D+ z
在许多应用中,摄像头接入系统,数据被送入机器学习算法或是直接被存储在网络中。不管图像被送入何处,它们还是需要被存储在某些地方,比如服务器或者是本地设备。你不可能直接保存原始文件,因为原始的文件实在是太大了,因此必须对数据进行编码,i.MX8M plus 的视频编码是非常高效的。我们支持 h.265编码算法,比起业内广泛使用的 h.264更加先进和高效。4 o9 B* z7 t4 t
2 T1 q, Y3 D( v1 |0 w& C/ \4 ^/ d6 t* X3 C
" W/ I J: U% @6 c6 U8 j
# I' d# E9 B4 i, n _ ~, d( L8 i/ H0 L9 S% @
: @: X- ^5 r8 e- [# {
" o' A* C. S6 m( ]5 Y![]()
8 v/ B2 S Q- t2 U% p! S
& m9 U. \" b3 T) {! k) p
9 e9 ]5 |+ N% e! D
+ Z" C) }; `- b; q M/ L/ u# M
4 @' W' d, m* Q) P& D7 ^* s& W7 p8 c5 S2 l' D$ S
* \" y" ?- C; Y! N7 ~
3 Z8 f3 O* L+ e) t5 z7 I5 _% H
" Y: z" T8 ? d4 ~$ m# }$ S4 F' l: t( I/ `
iMX8M Plus在工业应用中的特色! K8 @' Y, q& L9 y. U) x
+ P8 H, _5 x) l5 y1 i( y4 P S( Q9 z
! j8 v! d* U+ Z% w( R& `# c- w: [i.MX8M Plus有一些针对工业应用的特色,其一就是 ECC,也就是错误纠正代码。用来在用户无需感知的情况下,检测出内存的错误,甚至进行修复。1 I3 N2 Y6 g) g6 S3 o* G
; Q8 j7 L. N3 r ]2 Q! y" F; m
这异常的重要,因为在某些应用中内存的错误会带来严重的后果,虽然不会导致硬件的永久损坏,但当读取内存的软件和程序时有可能会崩溃。
" ^& C# ~( k, { b* K# Q& O X3 c* P
为了避免这些情况的发生,你就需要ECC 来进行检测和修复,这样软件的错误率,也就是我们常说的 SER将会大大降低。i.MX8M Plus在缓存和片上RAM 中都带有ECC,而DRAM 总线还支持在线 ECC,它不需要存储任何额外的位,就能够将ECC 算法与主数据同时发送出去。
5 D/ V! ^; y1 X- s) T* b, G
4 S7 R3 O, s; H P; F0 g! P
4 l* x, _3 F4 l, I; `0 l
3 {/ o4 L3 O d( HTSN也是 i.MX8M plus 中的亮点,tsn 指的是时间敏感网络。在工业应用中你希望可以确保能够在对的时间点将数据发送出去,而通常以太网中任何人在任何时间都有可能正在发送数据。可能会造成拥堵,可能你需要晚一些再发一次,在工业应用中,这无疑是会带来问题的。而 TSN 则能够很好的解决这样的困扰。i.MX8M Plus同样也支持一些工业级的外设,我们甚至集成了800MHz的 Cortex-M7协处理器来协助组合。组合运行操作系统,M7内核同时可以进行一些实时性的控制,来确保低延迟。我们还有两路 CANFD用于本地与系统或是与网络低延迟的通信。
+ |" d+ e2 d- L7 y! B9 I* Z! W& N0 W; v3 J X7 E
i.MX8M Plus所提供的所有的这些特性和外设,能够助力工业及应用的设计为工业应用带来无限的可能。) `; M; i: ]8 K* }
) S, C* g6 n Z8 _0 ~
% ^9 |" c- I, I% O' ~3 U. n! p
7 ^# t( I- t% w- w2 j/ n如何测评 i.MX8MPlus( l' n# @5 _8 z) s
( E2 c4 @( u% `- ?* @0 o
- W- I, i$ m. P6 U D8 u+ g
* s- k& L$ T0 f: m9 [作为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等接口面面俱到。
% u; }' G8 k' {: C! K
0 j, Z: y, x0 F5 a% `: d
' D9 ^% F! C* ~9 G( G {' n
/ o; F& k1 Z4 \$ B; S& w9 o' f ~' h3 O( L( @4 ^; g
![]()
. u$ ]6 o p, F; }. c1 Q) O' l1 l7 S- E% j
" G C+ s/ c6 Z) [7 H
4 c) m+ ` L- L9 ]
0 e( s, \) b4 A. ]) X
% z8 A1 f% @/ W1 B
1 c5 `' n' {) F |
|