你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Cube.AI【4】cifar10 在魔改Nucleo STMF767平台上的测试

[复制链接]
lebment 发布时间:2020-3-9 22:43
  希望论坛支持 一下markdown,我的很多程序readme都是markdown写的。  最近ST弄了个创意大赛,我参加了AI组,今天特意分享了我的测试流程。markdown写的,所以凑合看。希望各位参加比赛的顺利完成,我在疫区所以官方H7-DISCO板子收不到,等,有什么问题的话论坛私信我不能及时回复,可以在我别的帖子找我的联系方式。$ C5 ?1 i% |& \4 J- n! ]
  测试记录,不详细描述怎么做的,一是我觉得手把手教别人怎么做,简直是害了别人,特别是学生,二是深度学习确实所需要知识点比较多,没办法展开。  m5 O1 B/ g) _7 o! b1 B+ A+ R$ z) V
  板子玩的开心就行!!!
2 M' a, s5 e8 `+ r8 l4 f7 ~3 m# s& B
# t/ ^6 R/ \/ ?# cifar10 在 nucleo STM32F767 平台的 测试
8 f6 Y9 f% X- N8 w0 O0 F7 }: R## 软件配置% r0 P+ m7 v5 R+ q- f
### win10
( r( d! O3 B* P) }   1. cubeMX 5.6.03 E  E# e" R, C- p0 Z
   2. MDK 5.29a9 M) b3 Q7 P" I1 [  I% w4 w9 ]7 J  @
   3. cubemx扩展包--cube.AI 5.0.0
0 n- q/ s0 r& B) j+ d8 u### ubuntu16.04 3 y! Y! i: n$ Y
   1. tensorflow 2.1.0 (内含keras)
- w% i* @) D/ _- U: t   2. python 2.7 (ubuntu16.04 自带)% x; e# u) }/ V
   3. cifar10 训练数据
0 o) j2 J9 D: O# B# h0 r$ _# }, U  n  H2 T6 V) {3 n+ H+ s/ y! i$ X
## 硬件配置   0 Z& S/ \8 u, ~- k- e9 U
   1. nucleo F7676 \; y4 h' M" B, ~/ J
   2. 自制扩展板
3 @- m% e$ I. z: z1 a7 W' t   3. SD卡
, Z9 e7 T4 [# L: U3 T   4. 扩展板 连接 ST-Link RX TX 引脚的杜邦线3 Q' D- r  f( Z$ x) S, m
) W7 b: k4 v6 g7 e
## 测试步骤 4 |3 T' D9 {6 V+ v$ G% v( y6 P
   * 在 ubuntu16.04 的操作不叙述
5 k1 E0 l8 E1 y5 _! {7 E   * 直接将转换的模型(模型约4MB),利用cubemx转换,暂称为STM32_AI_Model。
批注 2020-03-09 225751.png 批注 2020-03-09 225904.png
9 g3 [. ^4 \+ g* A% e- y: Q6 T, h4 \% {, p. M& Y
   * 模型参数存储在W25Q128中,系统初始化时,QSPI进行内存映射,方便STM32_AI_Model读取模型参数。
! S, Y  I+ E, K2 R8 {. `   * SD卡中读取29张测试图片均来自互联网,利用bmpconvST转换并缩小至32*32分辨率。
! i+ h( H' N$ C" B1 p$ c( P   * RGB每个通道需要进行预处理,即R/255 G/255 B/255! [+ @4 Z& x$ R7 p7 ]! F
   * 图片在STM32_AI_Model的模型输入数据组织应为:
- Y. Q0 A0 Y* b' z# ]) \| R1 | G1 | B1 | R2 | G2 | B2 | ... |
7 Y' K$ ^8 P, p   * 循环从SD卡读取BMPt图片,显示在LTCD驱动的屏幕上,经过STM32_AI_Model推理后的结果,串口打印出来。
) z, t  |/ v* j2 c推理结果的数据组织为:
  r- \4 }( `" H| C1 | C2 | C3 | C4 | ... | C10 |,每一哥数据代表对应种类的可能性。
- u- ^5 U, q+ d* R
, P, \& t( e2 n$ U   * 可能性最大的即为推理最有可能的种类,cifar10即十种。
2 J# }2 R0 Z  H8 [3 m# R6 u7 d6 M* d; j% L' g/ t! `6 R% Y6 O+ `2 I- @
## 测试结果
$ l+ W" q; x6 x9 t" w2 [) v  ### 串口打印:
5 z' T) _0 f0 s; `7 m  h2 N    sd_card_mount_ok& v: e5 t1 E  e4 n+ L2 |
    airplane: 1.000       *" b  V* b+ x/ ~+ m0 X- V5 H9 z
    airplane: 1.000       *
' k, P% l/ ~# h( N5 J$ m. D- S    automobile: 0.998     *8 f4 u4 v4 e% p+ B2 u- ^' D
    automobile: 1.000     *
- D: p5 Z0 C) T    airplane: 1.000       x4 \9 E) b' j# ~5 x, V+ x* d
    dog: 0.584            x9 n2 m2 C  i! I0 F' ^2 V) h7 u
    bird: 1.000           *
# [9 l( b7 r$ }& |# J% D    dog: 0.999            x: W, q* [2 U; A/ x
    dog: 0.874            x
0 \" c- C! J& @/ G0 ?( t* d2 W  F& G    frog: 1.000           x
& ?# e0 d# Y  q/ ?% u9 \9 D8 N    cat: 0.993            *
! E( }% A. [. Z( P( r; ^4 z+ i$ x- T% _    dog: 0.764            x
' ~" U; P' f) S& V9 v; z* V" {    deer: 1.000           *
3 `, _: f- W- S4 b  g( t; `    airplane: 0.906       x* G6 P" b9 a1 C
    dog: 1.000            *
, {4 B, P* ~. A! O+ H    dog: 0.999            *
" C( d0 X& D, [1 V    deer: 0.810           x0 L1 \) s& D5 R6 O2 z0 N" j1 q
    bird: 1.000           x* f+ \- I; G' a7 B2 ^" o, m
    frog: 0.688           *, Z! u$ K$ s7 g
    frog: 1.000           */ a! k, K9 Z! m1 o/ x3 U
    horse: 1.000          *5 j, d5 y) N, w
    horse: 1.000          *! V1 x, N0 j' P, N
    horse: 1.000          *% L9 q. F) g5 E# G( w5 `
    ship: 0.664           *4 B4 G' L; C1 S, R
    ship: 1.000           *
& i* N, D0 p* z9 v    ship: 1.000           *, `9 ], b2 `; @9 B0 Z! }& X4 M
    truck: 1.000          *
# ]5 h% K! B, p1 L( J$ i. {$ |    ship: 0.658           x
  e5 T7 F  c2 c; G1 `$ U  y0 W( q    truck: 1.000          *3 O0 U& [! u9 {* y

( \7 D$ H' P' c8 Y+ t) Z8 U![LCD截屏图片](./scr_print.png)
scr_print.png 我的LCD显示不正常,所以我用文件系统截了个图:
7 ?" _- E4 g& N( W2 K7 E IMG_20200309_224522.jpg
5 z7 v" M) H3 Z' [% }4 h1 M
& E, n6 H, s$ i! a) l3 b$ y### 测试准确率
8 i5 ]+ e* L$ C3 I) p7 k- v; b% h1 k" C1 X0 h
  * 19/29*100%=65.5%
  f: U- s+ p- P$ r" h" R9 ~* ?5 [. B0 n# X& ^. Y! E) C
### 测试总结
' Q8 j- A0 {3 Y  * 图片中比较常见的东西模型很容易辨认,图片第二行第三个是青蛙头上有一个蜗牛,辨认错了,还有四只猫居然只对了一只,其余的比较正常,毕竟图片分辨率不高。
! g: k. P/ N) r, S* U' x  * 由于我是用的深度学习模型是cifar10测试准确率比较高的,所以模型比较大,计算复杂,STM32F7推理时间约四五秒。
1 ^8 I$ g  `) _. ]! k8 R
8 U. s7 k: \/ u8 H+ }- a
( _2 d/ J! `$ Z0 d$ a
- b0 a  C! r& l% c# e1 Q% \6 F

7 A5 j5 q' ?+ ^
( N! m' P1 y; N  x0 d; p& X% A1 d  O5 W' y# s9 T, l

# G3 ~0 L/ r0 Y2 H& E( g

评分

参与人数 1 ST金币 +2 收起 理由
じ太阳当空照 + 2

查看全部评分

赞 1 收藏 1 评论3 发布时间:2020-3-9 22:43

举报

3个回答
Yude 回答时间:2022-3-3 14:25:04

@楼主,只是想告知一下Markdown的编辑器已经就位,欢迎楼主输出更多关于AI方面的见解

lebment 回答时间:2022-6-11 18:27:03

<br /> <br /> 两年了,很少逛论坛了<br />

Yude 回答时间:2022-6-14 19:06:09
lebment 发表于 2022-6-11 18:27
3 i( K! X4 }( {4 l" ^两年了,很少逛论坛了

: N( w0 T* }  d( d) P哈哈, 欢迎多回来逛逛,提提宝贵意见
/ y. D5 ?0 c9 W2 e' S$ t

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版