|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
机器学习的本质是让计算机能够更有效率的模仿人类的行为,特别在图像分类、图像识别、语音识别等领域,机器学习能够在分秒之间,集中处理数以百万计的计算。过去在合理的成本下,这样的处理能力是无法想象的,直到最近几年才能够实现。这主要是因为,如若这些处理不在边缘实现,就要放到云端来进行。数据要被上传到云端,这样的话,我们就会担心谁会看到这些数据。我们相信云端服务期的运营商和负责人吗?显然答案是否定的,因此在本地进行边缘计算,用户隐私就能够更好的被保护,响应速度也会更快,可靠性也会更强,因为即便服务器断电,本地设备依然可以稳定工作,甚至设备可以在没有网络的偏远地区正常工作。# S. ]9 U/ I- e( j% h" n2 \' L9 s
' O' i) s: }. L( n! B8 n' W* t% X- I# c
2 y/ Z4 U l ^) E
: Z O- M/ P% H/ G( N( K
3 h! U$ J, b* P2 m$ M3 g& t& u7 ?2 w! i) U6 u/ ~, U; r
+ z3 Z5 U# o' K6 |0 E7 w1 i 9 s% T; G7 z' S: _: Y
+ c: f3 m$ E7 y& T: `% b
) n' y0 g$ t% R7 R5 \4 |" G6 g
" `9 [5 j5 |& Y8 i, \, g$ V' ?# j. f5 {/ `$ w( l$ H
! `1 n, V. n) h% @3 A2 j
" `) \$ ~0 ~! Z+ r: X
4 n/ e( _2 u2 m+ T
0 L8 m) O( z; b# d$ u, K* V1 e( Y' H1 `2 y! t
i.MX8M Plus 应用处理器
3 `, C2 n- B- w0 J- I6 x- F( {: {- O# N
' ?1 A; ^, {* C! r" v: w* ^8 V6 L* x9 C
& ~ S1 o- J# L+ P4 j) u; |1 ]
通过i.MX8M Plus ,NXP将机器学习带到了边缘设备中,这款产品不仅仅是达到了2万亿次每秒这样的强大计算能力。只是做到这样的计算性能并不困难,但NXP所实现的是带来了模型压缩的优化以及针对稀疏性的优化,稀疏指的是机器学习算法参数或者数据中有大量权重为0,进而能够避免在推理时支付这些模型系数的存储费用,计算效率将会大大增加。模型压缩同样也很重要,鉴于计算过程中存在大量的数据交换,如果足够压缩,那么对于系统内存的占用就会降到最低。另外同样牵涉到系统内存的一点是i.MX8M Plus 搭载 DRAM 控制器能够进行每秒4G 处理,是 NXP有史以来 DRAM 速度之最。3 A% g, F. [/ n# G, } \
! `9 K- q) f8 ?1 m: n6 M) v
8 B5 B# i! _( g5 e; p: n$ i- {3 |/ g6 D, Z1 J6 {) D
i.MX8M Plus 与机器学习、机器视觉5 K3 J# f4 v/ o8 c1 A4 F
) Y' D H5 R4 \; e
, ~& ` ^5 T0 l" F0 l; x
- f8 H$ l B* f机器学习是基于图像数据的,数据的来源通常是一个系统中的摄像头模块,而摄像头模块需要一个图像处理单元,也就是ISP。谈到 i.MX8M Plus 的ISP 单元,在很多系统中,摄像头可能距离目标非常远,为了得到你需要的细节,其分辨率必须足够高,比如4K分辨率,也就是800万像素。
0 s9 M3 }) C* ^ e; M+ y9 H+ p3 l8 @5 L5 M+ q# F7 _1 ~4 M, r
2 l! ^4 G4 h8 z9 p: [2 A6 ^
& E: Y/ C3 t: _. P: d Q0 l+ _5 T6 }1 V1 w
/ T1 T: E: F# W4 V
/ y* J) K v- k. \. M5 E3 w, T0 \/ p- |5 [( a% Q
![]()
! p& j$ m3 L( M$ H0 s% L/ Q5 s. m. o U7 L' [' n6 I
- W) Q' F5 J8 G4 V* R$ J
' X+ ^2 s, J. T- b" G% w
, Q" [" k% i) A q2 f" f! y" _! A" F' F( k; @% b# z H9 y0 y" R
3 m# _% n2 l9 Z+ K" Y- W, a7 C- J% U8 x6 B2 x' v; D
7 D. V% H( f+ H* e7 r* G2 }7 _7 Y; J' \/ A, m: U
( G3 ]5 I5 N: C* k8 i# V0 W( ~- {
处理如此高清的影像数据,就需要ISP 的协助。可能对于低分辨率的视频,ISP 并非必需,在很多系统中,用户可能并没有意识到,摄像模块是否集成ISP。但在高分辨率下,就需要 ISP 被集成在处理器中,就像i.MX8M Plus 这样。有趣的是,NXP i.MX8MPlus 中实际上集成了两个 ISP,两路摄像头输入。因而在大多数的应用场景下,将会获得更立体的图像,就像人的两只眼睛一样,可以感知图像的深度。另外一个应用是两路摄像头,其一作为广角或者鱼眼视角,另一路则聚焦某一场景的特写。除此之外,还有其它的应用需要用到这样的功能。
7 W! V$ o. D, r% o3 H% O
7 D, t* l) i% U* o/ i% }" B图像处理需要很强的计算能力,ISP的功能理论上也可以由 CPU 或 GPU 来实现,但要将这样的计算量,将这些数据转化为系统可识别的形式和参数再进行计算和处理,涉及到的工作量太大了。因此在这样的系统下,必须使用一个专门处理图像任务的单元,也就是 ISP,就像 i.MX8M Plus所做的那样。
7 B: o4 d$ p/ E( Q, |1 g/ U. Z0 |6 ]" l7 ]% j9 r+ ^' ~
1 ]# _; G' T; l7 o9 a0 P3 ^
$ h4 f, `" L9 s7 f/ ki.MX8M Plus 高动态范围(HDR)支持
! B8 X' ?* @0 Q+ \6 a; ^
|) L: k( s! I$ x- l, i( R- h6 P4 B( r" u. { \+ J- P6 o& k9 A
' b( F* `# {: B& }( u# J
i.MX8MPlus还有一个重点是HDR,也就是高动态范围,你可能在很多手机上看到过这个词,但在嵌入式应用以及消费类产品甚至工业应用中HDR 都非常重要。HDR 主要是融合多重曝光的图像,具体表现为拍摄亮度不同的两张图像,一张是长曝光,一张是短曝光,其中一张能够帮助获得更好的高光部分的细节,另一张则获得更好的低亮度区域的细节。甚至可以拍三张或者更多,来融合成为一张图像。这样高光和暗部的细节都可以保留,这在某些特定场景中非常重要,比如在家里,窗户边很亮,有的地方却很暗,有了 HDR,所有的细节你都可以看清楚。
% _; ?. K: b' Y9 [
; [9 Y, z0 b3 e) w' ?' T! X+ \9 u) d- c5 A3 C' I
8 k) Z0 L6 B) d3 L/ h2 d& N, j9 F( E( c6 F9 c
/ h" `, J$ o1 ^! ~; Y7 p1 ]
l: Z6 u. b8 [" |4 g+ Q7 @8 D
6 |0 M. r( X3 h5 V& L1 I![]()
$ s/ u Y! h& r" s/ A- k2 X" R+ h8 t$ E3 j* ?
: I! A+ J: F! A4 {& |
7 o9 s, X) D, c: `
7 U1 ]- q5 ?+ ?, P7 | a S* C: R2 w p; C, U& h+ q/ p
, g% e' }! O3 {3 m
6 ]8 V+ `7 Y( L# g( H" I+ z - s9 l( u. ^& ]4 I
+ M* p. k" c, J! C' G1 s/ N扭曲矫正带来更好的图像4 T! |0 V |$ r: ?# [
P/ i2 j, ~! y9 X3 R$ q) K. f* q: D' O2 D
7 x2 s+ |/ e |" T在摄像头相关应用中,扭曲矫正是一个非常重要的功能。摄像头接收到的图像可能是扭曲的,类似观看鱼缸的场景。你可以看到很多的东西,但它们都是扭曲的。扭曲矫正,可以将图像恢复为人类、机器学习可以识别的正常形状,直线曲线区别分明,也没有倒置的现象,这就是扭曲矫正引擎所负责的。但引擎能做的不仅仅是这些,除了能够矫正这些意外的干扰,同时它也可以矫正由于摄像头问题导致的图像不清晰、变形等。! q% u5 M P+ x
+ `# a9 `' Z/ L1 Q3 j) V9 d引擎同样可以对像素进行处理,获得更好的图像质量。针对i.MX8MPlus 的 ISP 架构我们的设计保证了所有的处理都以流的形式进行,也就是说ISP直接从摄像头接收图像进行处理,将它们输出到系统内存。ISP 几乎不需要从系统重新构建图像再进行处理输出,这样就可以带来非常低的延迟表现,以及非常高效的针对图像的处理表现。iSP 针对图像增强,进行了非常多的处理,比如降噪处理,这在暗光环境中非常重要。在这样的环境下,很多像素都会被进行涂抹,但你不能对太多区域都进行涂抹,否则你的图像将会变得非常模糊。所以你必须使用 ISP 来分辨,哪里是可以进行涂抹处理的,哪里则是需要清晰呈现的内容。其它的处理任务包括,检测图像传感器的坏点,确保正常工作,以及白平衡的调节,分辨出不同的光照环境,例如日光、灯光等等。还有提供信息,帮助自动曝光以及对焦,所有的这些都是由ISP 来完成的。
0 [( }2 ~* G' R& E$ J0 v
2 b. V6 Y! ~% v$ S" ` m& V+ S
: m* Z n* }4 `( f
! P, U( {: e8 k% M) \. X- d- D0 aH.265视频编码
2 z* N. V% G7 o8 h f3 ^( k
) B' } u; t4 M6 S; J
% k6 M/ y6 S8 R# t- u! a; v; z3 p7 i/ B
在许多应用中,摄像头接入系统,数据被送入机器学习算法或是直接被存储在网络中。不管图像被送入何处,它们还是需要被存储在某些地方,比如服务器或者是本地设备。你不可能直接保存原始文件,因为原始的文件实在是太大了,因此必须对数据进行编码,i.MX8M plus 的视频编码是非常高效的。我们支持 h.265编码算法,比起业内广泛使用的 h.264更加先进和高效。
3 s" |0 d) _( e& V* H) j
l; h% {* u `& L# H
- V P& a1 v3 A( C: A+ V g1 V1 J, R; A5 Q6 o
" l6 V: [, z2 R; f a8 a6 [$ D7 y; e3 ` f
3 q3 C9 x" ?, K: P p% L- Z' M
$ x5 v$ [/ l( _ L; d* f* ^![]()
# i3 j L1 h ~6 w/ K& E8 }. S. e8 o1 ]/ [) r
7 Y' x ^% ?/ r* g6 j* j
, Y1 u4 Z o/ o3 S0 U, X* S
; d: K( v+ k" s* e0 g
- B; P- q5 b/ f N8 Y& i/ u! W$ T/ x
4 ~* K5 ~% ~. N& v1 b
. _* j( e: k' _" L! y9 M" u; v9 L
$ k: a0 B8 w- Z- K4 t6 O
iMX8M Plus在工业应用中的特色
; D( m- Y# z5 d4 e/ V. n& q
" J. `1 y& p. J8 {8 r% G
& V6 y5 Y' v% z* k: z( r/ V" ^5 t J7 [7 ]& Z, L, d6 n
i.MX8M Plus有一些针对工业应用的特色,其一就是 ECC,也就是错误纠正代码。用来在用户无需感知的情况下,检测出内存的错误,甚至进行修复。2 `8 E: Y: r2 [+ @
! a. j" d) `- n" A3 n这异常的重要,因为在某些应用中内存的错误会带来严重的后果,虽然不会导致硬件的永久损坏,但当读取内存的软件和程序时有可能会崩溃。2 N5 X3 b( A+ x Y" x6 `" ]! Y
! z% T$ P0 P! u( N6 g
为了避免这些情况的发生,你就需要ECC 来进行检测和修复,这样软件的错误率,也就是我们常说的 SER将会大大降低。i.MX8M Plus在缓存和片上RAM 中都带有ECC,而DRAM 总线还支持在线 ECC,它不需要存储任何额外的位,就能够将ECC 算法与主数据同时发送出去。3 ^ [( l) |6 B o
; h6 o# \- P3 \ g, l
% K; g {' r5 p7 p7 X( s7 d1 \) U$ `* H8 D
TSN也是 i.MX8M plus 中的亮点,tsn 指的是时间敏感网络。在工业应用中你希望可以确保能够在对的时间点将数据发送出去,而通常以太网中任何人在任何时间都有可能正在发送数据。可能会造成拥堵,可能你需要晚一些再发一次,在工业应用中,这无疑是会带来问题的。而 TSN 则能够很好的解决这样的困扰。i.MX8M Plus同样也支持一些工业级的外设,我们甚至集成了800MHz的 Cortex-M7协处理器来协助组合。组合运行操作系统,M7内核同时可以进行一些实时性的控制,来确保低延迟。我们还有两路 CANFD用于本地与系统或是与网络低延迟的通信。$ n1 k; v+ f2 \
1 _4 r0 W6 H/ G$ _* ]/ ]. Z- [i.MX8M Plus所提供的所有的这些特性和外设,能够助力工业及应用的设计为工业应用带来无限的可能。
! T- d- u/ \8 H% ^1 M8 A; i; e6 d# j9 B
! y% z: p, z- J2 B4 }
0 H* n6 K R# v1 F) @如何测评 i.MX8MPlus* k9 s6 Z* K7 V. { @
8 L) W' S; \) |4 g8 Z9 l, o" e1 L4 f
& @+ X3 ^0 ~3 ^" @1 M [/ _! K# Q1 r6 @$ }4 c2 A7 M. ?
作为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等接口面面俱到。6 D \- L. Y% ]* e, \
, _7 Y% g% {& x: ?( X: H* A1 G% {9 n1 ^, [. j* S3 M
& n5 K8 n6 o& ^) g# {6 x2 L
# Z! K. K4 ]8 Y3 u+ O 3 b. S1 e' u8 R3 Y
" S' c% b$ R* I4 \% @ v9 a% ^0 c! X8 C4 [
# g" k. U! B$ o
! ~- Q0 o5 Y7 e2 M! g+ T6 d
" j0 R) E9 S# Z' j1 _8 U
4 {. D* l0 u$ ~7 @$ @ |
|