|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Heaven_1 于 2022-1-26 11:16 编辑 9 f5 L& n5 o4 C+ K) _
2 A7 g, o6 D' j8 y机器学习的本质是让计算机能够更有效率的模仿人类的行为,特别在图像分类、图像识别、语音识别等领域,机器学习能够在分秒之间,集中处理数以百万计的计算。过去在合理的成本下,这样的处理能力是无法想象的,直到最近几年才能够实现。这主要是因为,如若这些处理不在边缘实现,就要放到云端来进行。数据要被上传到云端,这样的话,我们就会担心谁会看到这些数据。我们相信云端服务期的运营商和负责人吗?显然答案是否定的,因此在本地进行边缘计算,用户隐私就能够更好的被保护,响应速度也会更快,可靠性也会更强,因为即便服务器断电,本地设备依然可以稳定工作,甚至设备可以在没有网络的偏远地区正常工作。
' r0 ^/ E3 }; w1 L
2 c2 o7 z$ s9 f* L, x" a2 R8 l
) n! v" o- |2 {0 p- m- a7 ?+ V
. c4 n8 P! j4 t# X; h$ O7 L# \) o1 m' [' ^
6 H' x* |# u5 D
7 H i* W D# G% f" _
7 [( M2 B, @/ N7 r- [8 R1 g+ T![]() [backcolor=rgba(18, 18, 18, 0.5)]
( U- L* n |8 U, S
5 Y/ r) H- V( {
8 y; @3 Z7 X! V$ I& L4 H0 R- |% s8 v+ p" J) d
编辑切换为居中
; B! I1 Z6 V5 u3 _# [( U, |- v: K' ]% o6 d- C" S$ l
% E. r7 T/ a; I5 \7 L
, a1 f0 n; X# M3 r3 A- y7 D
, w" ^$ N- s8 M! ^. a2 Q添加图片注释,不超过 140 字(可选)) l* x- ?% N( B! a6 E! c' f
/ U L M1 ]# o7 N" M# x0 {7 m7 i; ]
/ N# r; T5 d& e# u4 w V: m5 K+ d9 s+ R
/ a" A5 x! ]: ^2 {2 W; P
5 U# X5 G( j" w
$ o; }9 P% g6 Y3 L2 |% @i.MX8M Plus 应用处理器- q. s8 {' e8 e4 u6 ^
; k ~+ m; }9 i( m# ^* }0 }3 W# ~/ E3 G# V; P2 {; `
; ]# B1 W- d8 J' c通过i.MX8M Plus ,NXP将机器学习带到了边缘设备中,这款产品不仅仅是达到了2万亿次每秒这样的强大计算能力。只是做到这样的计算性能并不困难,但NXP所实现的是带来了模型压缩的优化以及针对稀疏性的优化,稀疏指的是机器学习算法参数或者数据中有大量权重为0,进而能够避免在推理时支付这些模型系数的存储费用,计算效率将会大大增加。模型压缩同样也很重要,鉴于计算过程中存在大量的数据交换,如果足够压缩,那么对于系统内存的占用就会降到最低。另外同样牵涉到系统内存的一点是i.MX8M Plus 搭载 DRAM 控制器能够进行每秒4G 处理,是 NXP有史以来 DRAM 速度之最。3 L8 d6 u7 D7 B7 z3 a
# P) G5 e( S" S& A& A+ T
" X: U' B. {9 v$ A4 }$ v7 x5 T' t2 c
. }) m# |2 e$ Z6 vi.MX8M Plus 与机器学习、机器视觉
( [ A9 V; a% f+ i" H [8 [: p5 P. N& M3 U- r
3 S1 T! j* u: n1 O4 }4 f9 @* k
& n; s6 p- L7 { k1 U0 K7 q2 U
机器学习是基于图像数据的,数据的来源通常是一个系统中的摄像头模块,而摄像头模块需要一个图像处理单元,也就是ISP。谈到 i.MX8M Plus 的ISP 单元,在很多系统中,摄像头可能距离目标非常远,为了得到你需要的细节,其分辨率必须足够高,比如4K分辨率,也就是800万像素。
F3 X _! \5 N" U3 ^
; v: Q! R* W4 s: |5 |9 e/ J; o4 k2 y- o" ^) p2 @. G0 k$ n
8 q; x9 N+ e8 f0 m# |, I) Q1 N- T) U) l3 T( s/ L* }7 C
9 N$ ]' h+ V9 p3 b2 T
# t1 ?2 c; A& D# q2 B) I1 s5 A# N" |8 i2 j) w; |! q
![]() [backcolor=rgba(18, 18, 18, 0.5)] " Q6 x0 t- n: ^ H5 l' c
# x8 s- [+ E. M, C% C$ E
( S5 _; f6 A4 j' p
# y# @) o, o0 v: M2 S; `编辑切换为居中
( h7 f3 x3 g- k v" P
& q9 x% W9 K6 e" K V; w( r6 w0 F; o9 C$ \
2 A: v' }" l- a% ?3 T9 d: @
3 L4 s9 f8 C5 p: E4 O& v; s' x0 E5 n& c6 Y
添加图片注释,不超过 140 字(可选)1 K9 e& b. S, E9 C4 e' p
& ?6 o+ @# i3 n. \: o' F# z
& s0 X/ d! H9 F s4 R
/ P4 `7 M$ ~. i6 B& J
9 S" |: }! B" q9 a1 W9 j
( \3 q( x! n9 s5 o/ Q/ `9 t2 [) V- E& ~' i& i0 [# z
) l6 x6 Q9 R; M& R0 M! N' Y6 r
处理如此高清的影像数据,就需要ISP 的协助。可能对于低分辨率的视频,ISP 并非必需,在很多系统中,用户可能并没有意识到,摄像模块是否集成ISP。但在高分辨率下,就需要 ISP 被集成在处理器中,就像i.MX8M Plus 这样。有趣的是,NXP i.MX8MPlus 中实际上集成了两个 ISP,两路摄像头输入。因而在大多数的应用场景下,将会获得更立体的图像,就像人的两只眼睛一样,可以感知图像的深度。另外一个应用是两路摄像头,其一作为广角或者鱼眼视角,另一路则聚焦某一场景的特写。除此之外,还有其它的应用需要用到这样的功能。
% |4 N' F' L- ^) k
) s( M6 G& F! T" G1 M; }图像处理需要很强的计算能力,ISP的功能理论上也可以由 CPU 或 GPU 来实现,但要将这样的计算量,将这些数据转化为系统可识别的形式和参数再进行计算和处理,涉及到的工作量太大了。因此在这样的系统下,必须使用一个专门处理图像任务的单元,也就是 ISP,就像 i.MX8M Plus所做的那样。/ p- B: I+ {3 l z. {
% c) Y" D- ~+ `8 |/ A, j
0 B5 k" |) a% X I8 l" i u" g% O, ]8 g1 {
i.MX8M Plus 高动态范围(HDR)支持
6 E) Z; {8 y B! a4 l6 |3 u2 g
+ m7 q" `2 N4 V; U; D- B3 m+ |
0 J$ T0 v3 b: R2 l% L9 t+ ^% J/ b6 u4 D' A! Y4 ]! j
i.MX8MPlus还有一个重点是HDR,也就是高动态范围,你可能在很多手机上看到过这个词,但在嵌入式应用以及消费类产品甚至工业应用中HDR 都非常重要。HDR 主要是融合多重曝光的图像,具体表现为拍摄亮度不同的两张图像,一张是长曝光,一张是短曝光,其中一张能够帮助获得更好的高光部分的细节,另一张则获得更好的低亮度区域的细节。甚至可以拍三张或者更多,来融合成为一张图像。这样高光和暗部的细节都可以保留,这在某些特定场景中非常重要,比如在家里,窗户边很亮,有的地方却很暗,有了 HDR,所有的细节你都可以看清楚。" i6 |2 T3 j( B! S& M# e7 B9 s7 ~; h
" I7 h2 L E2 s/ w7 n; }
7 l r" g0 P/ @6 U* n* {
+ Q9 W; c% \9 a8 h& ^0 |8 J6 N; Q/ W7 R
* ~ r" k! n* i
* ^, m% [, u( m0 K/ g' v
. h9 ~" i1 e* `" f- Y+ X' y![]() [backcolor=rgba(18, 18, 18, 0.5)]
( n5 X6 Y; |6 `% s- i5 a: Y( J" M; W7 P
1 L0 M9 F ^ o9 T9 Y
" j; S% D1 J/ s9 i
. B5 h4 }/ z9 m1 n* u; j/ o编辑切换为居中
! X& s& o6 }3 b! {9 B% a3 D; C- I, _+ s6 ^" L4 Q: R$ F6 ~
" ?/ }- [1 ]7 q4 K& `' t2 i5 j I! x6 |+ A* W7 L5 Z
8 O$ h+ t# X6 q/ B$ t添加图片注释,不超过 140 字(可选)+ v) ^! q$ r r3 C
1 A! b( G# n: f' w; I
; w+ }' P% p. L, C# l6 p
; ^: J8 k2 f' _' p6 X7 z" n z4 f, L7 f& V/ j! T4 k1 I9 N3 D
: ] Z& \$ K0 |' }' U7 y% n
) I& o" R! m) W8 ]7 M ? X扭曲矫正带来更好的图像9 ~" M2 ]; H- e% `7 ~/ `0 A. v
. w7 N0 i) E! D, @0 p
, }3 U, r- @5 @/ ]8 @+ Q
3 i# S+ R% {' p: p! _% f在摄像头相关应用中,扭曲矫正是一个非常重要的功能。摄像头接收到的图像可能是扭曲的,类似观看鱼缸的场景。你可以看到很多的东西,但它们都是扭曲的。扭曲矫正,可以将图像恢复为人类、机器学习可以识别的正常形状,直线曲线区别分明,也没有倒置的现象,这就是扭曲矫正引擎所负责的。但引擎能做的不仅仅是这些,除了能够矫正这些意外的干扰,同时它也可以矫正由于摄像头问题导致的图像不清晰、变形等。
4 W, y- \. A+ B) q+ r7 f% e5 d' }' M3 [- N/ M$ J
引擎同样可以对像素进行处理,获得更好的图像质量。针对i.MX8MPlus 的 ISP 架构我们的设计保证了所有的处理都以流的形式进行,也就是说ISP直接从摄像头接收图像进行处理,将它们输出到系统内存。ISP 几乎不需要从系统重新构建图像再进行处理输出,这样就可以带来非常低的延迟表现,以及非常高效的针对图像的处理表现。iSP 针对图像增强,进行了非常多的处理,比如降噪处理,这在暗光环境中非常重要。在这样的环境下,很多像素都会被进行涂抹,但你不能对太多区域都进行涂抹,否则你的图像将会变得非常模糊。所以你必须使用 ISP 来分辨,哪里是可以进行涂抹处理的,哪里则是需要清晰呈现的内容。其它的处理任务包括,检测图像传感器的坏点,确保正常工作,以及白平衡的调节,分辨出不同的光照环境,例如日光、灯光等等。还有提供信息,帮助自动曝光以及对焦,所有的这些都是由ISP 来完成的。9 I7 K2 }- R; x" O
z( p- F" f1 m/ t/ Y
" V; i* A i$ R% y) `3 p# o9 A' `/ K1 l3 s
- i: U+ |/ C8 O7 ^; NH.265视频编码: ?. w+ }* X) q0 D
# l5 z; Z3 @4 c! u! S5 J( S( Q. m( v6 z/ H- G/ S6 {
t6 r, ]) v2 w9 r9 V
在许多应用中,摄像头接入系统,数据被送入机器学习算法或是直接被存储在网络中。不管图像被送入何处,它们还是需要被存储在某些地方,比如服务器或者是本地设备。你不可能直接保存原始文件,因为原始的文件实在是太大了,因此必须对数据进行编码,i.MX8M plus 的视频编码是非常高效的。我们支持 h.265编码算法,比起业内广泛使用的 h.264更加先进和高效。, A0 ^. {3 R1 }) _3 B/ F& L; J
0 ]. {4 N0 O, [$ I% G8 I3 x6 o2 w5 z6 m) \' M6 ]; e% s0 L
! G+ G. g% U, Z% n5 s" n" L# ]: s
4 K1 m( ~$ a' U/ V
5 y# ^! U# V0 L6 v$ j& [
7 E2 e5 C& C6 o3 L, E6 x% n. V7 S! j0 f
![]() [backcolor=rgba(18, 18, 18, 0.5)]
3 c/ N" J* g4 H5 _! r$ U+ c t. s O {& s7 a& R$ s/ U' L
" k/ a* |$ [4 q1 E
. J! A9 T* @" v
编辑切换为居中
& o- n, C7 _* T3 b: {: @
" f* j e$ w- B- W f
+ b2 J- ?; o) S9 f
2 W$ V& N$ v7 C1 s% t4 x% v
. _0 Z4 _. J A# W* P; ~" n2 c添加图片注释,不超过 140 字(可选)
: l1 B0 c5 r, K8 i* h2 ?( b5 b O/ u+ P1 H; v! M
* G' Z) O! k1 U4 w/ R }
/ M x; a; U3 _5 H
- Y0 X; r* Y+ X8 _% V% l' N9 _
; K" A% M0 C- I$ @" }' h+ k
% D, M# p. \( m) SiMX8M Plus在工业应用中的特色
, T2 F! L$ I/ d& D+ f
+ e8 U/ i' S: {( B9 f. d7 b) k& f$ y; C; j
; r0 i; x+ Y& u/ i
i.MX8M Plus有一些针对工业应用的特色,其一就是 ECC,也就是错误纠正代码。用来在用户无需感知的情况下,检测出内存的错误,甚至进行修复。
; l: }7 o! d5 F3 P# w2 R) @( u- a2 r) ^' _8 t1 ]" Y* e
这异常的重要,因为在某些应用中内存的错误会带来严重的后果,虽然不会导致硬件的永久损坏,但当读取内存的软件和程序时有可能会崩溃。
7 u/ X" i4 [- i M: w4 t1 X4 p4 i4 ?9 j! w, N
为了避免这些情况的发生,你就需要ECC 来进行检测和修复,这样软件的错误率,也就是我们常说的 SER将会大大降低。i.MX8M Plus在缓存和片上RAM 中都带有ECC,而DRAM 总线还支持在线 ECC,它不需要存储任何额外的位,就能够将ECC 算法与主数据同时发送出去。. h/ W* K* G, m& ]3 U3 w1 n1 [
5 \1 K8 s% Q* }# z! K
9 f6 M) N* q+ C
9 Q( t, u' \8 N
TSN也是 i.MX8M plus 中的亮点,tsn 指的是时间敏感网络。在工业应用中你希望可以确保能够在对的时间点将数据发送出去,而通常以太网中任何人在任何时间都有可能正在发送数据。可能会造成拥堵,可能你需要晚一些再发一次,在工业应用中,这无疑是会带来问题的。而 TSN 则能够很好的解决这样的困扰。i.MX8M Plus同样也支持一些工业级的外设,我们甚至集成了800MHz的 Cortex-M7协处理器来协助组合。组合运行操作系统,M7内核同时可以进行一些实时性的控制,来确保低延迟。我们还有两路 CANFD用于本地与系统或是与网络低延迟的通信。
9 {0 { ?( F, _" V1 e- P+ [; K% o& i% ~% [. }
i.MX8M Plus所提供的所有的这些特性和外设,能够助力工业及应用的设计为工业应用带来无限的可能。
2 [ Y# L Y7 v4 m5 J) _% [
8 r/ v/ D7 P, |$ {- w# {( Z' H
5 o8 X; P! g* a; p1 K7 u1 f+ d9 P: Y' `
如何测评 i.MX8MPlus
# E8 H2 _: A; [8 s5 t
# g$ i, ~* s" B) V3 N; Y/ z. A- g3 C" ]7 P6 A6 i9 ]; V
* G, I i k$ Q2 Y: w* @0 [0 q作为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等接口面面俱到。
8 i" M7 B/ k; h7 W$ L7 k m4 z- D
/ w+ l& t6 |6 K. I9 ]原文链接:NXP(恩智浦)iMX8M Plus 处理器介绍 完整版) U0 c i# j4 F
+ E7 T2 t" Y$ H5 D6 K: j
' T- E( @- X" v, r( Y7 c |
|