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

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

[复制链接]
lebment 发布时间:2020-3-9 22:43
  希望论坛支持 一下markdown,我的很多程序readme都是markdown写的。  最近ST弄了个创意大赛,我参加了AI组,今天特意分享了我的测试流程。markdown写的,所以凑合看。希望各位参加比赛的顺利完成,我在疫区所以官方H7-DISCO板子收不到,等,有什么问题的话论坛私信我不能及时回复,可以在我别的帖子找我的联系方式。
% @) ]3 g" ~. Z* V* ?+ C  测试记录,不详细描述怎么做的,一是我觉得手把手教别人怎么做,简直是害了别人,特别是学生,二是深度学习确实所需要知识点比较多,没办法展开。
  p: L) C2 r) @- ?( f. J9 L  板子玩的开心就行!!!
. n; x  q- ^* B; E0 d
4 b' A9 s# I+ ~6 i; j  a. d# cifar10 在 nucleo STM32F767 平台的 测试
5 e: Z$ O' K) m: \! @6 O9 x/ V## 软件配置
' L2 r! ~( l. M" N### win10
0 p: D% X! M, }8 _4 V% S   1. cubeMX 5.6.0# k; L; I9 I3 A3 `$ ?' w
   2. MDK 5.29a
1 E1 g, h! Q! z( o* c" V& J  r   3. cubemx扩展包--cube.AI 5.0.0
2 R0 q+ E  ]6 Y: z. _4 t- g3 i% T### ubuntu16.04
5 k' p1 B7 o. s; o   1. tensorflow 2.1.0 (内含keras)
4 R( P) G! G: @8 x3 g8 i   2. python 2.7 (ubuntu16.04 自带)
- Y4 y, V7 F2 o; v   3. cifar10 训练数据
; N; U8 y7 m- L3 _: O
% t% W! D% v1 V0 L/ g## 硬件配置   * r* F2 [# j& {  R1 w% v9 c1 r8 A
   1. nucleo F767
- |1 |3 W; U/ q' f7 z   2. 自制扩展板
2 S; X9 {' r* `1 X   3. SD卡
* S8 p- t& n0 ~   4. 扩展板 连接 ST-Link RX TX 引脚的杜邦线) X4 G. t4 O" w

4 Y& E" l  i2 I% _4 n2 @& `## 测试步骤
6 x) i8 D) W6 A+ O$ ^, y   * 在 ubuntu16.04 的操作不叙述
5 G; y; v+ F# e- U0 E   * 直接将转换的模型(模型约4MB),利用cubemx转换,暂称为STM32_AI_Model。
批注 2020-03-09 225751.png 批注 2020-03-09 225904.png
( p: g) ?; |. [
2 q% J2 v* D5 u3 N7 M) Y  T   * 模型参数存储在W25Q128中,系统初始化时,QSPI进行内存映射,方便STM32_AI_Model读取模型参数。& z: g8 j& w3 j$ ?* ?/ w, d& C4 r
   * SD卡中读取29张测试图片均来自互联网,利用bmpconvST转换并缩小至32*32分辨率。
$ v* O3 @9 W; M' n5 K   * RGB每个通道需要进行预处理,即R/255 G/255 B/255; L8 [) U5 T0 B. B/ {/ h
   * 图片在STM32_AI_Model的模型输入数据组织应为:
7 E  w! T5 |& K/ s4 w% h2 s. [, M| R1 | G1 | B1 | R2 | G2 | B2 | ... |; k% m1 U# |) G( k, T. I1 ^
   * 循环从SD卡读取BMPt图片,显示在LTCD驱动的屏幕上,经过STM32_AI_Model推理后的结果,串口打印出来。
9 Q% o; u) M4 V8 Y3 f. p推理结果的数据组织为:
. r/ x$ M; S: B$ x! T- B6 `2 z1 k| C1 | C2 | C3 | C4 | ... | C10 |,每一哥数据代表对应种类的可能性。- y+ I$ b1 o/ u8 F2 |

$ s* }! C9 F5 g8 c0 h7 }$ ?" a$ Y8 R   * 可能性最大的即为推理最有可能的种类,cifar10即十种。5 W+ D: T, B' P& V( s9 K0 X+ n3 H

9 f1 \- S% v6 O" V, L## 测试结果
2 [8 ~6 x; H$ d2 f" t- u  ### 串口打印:7 Y: T& C8 }8 P+ k
    sd_card_mount_ok
+ s& g' o- ?3 p- M' g: H9 d2 b    airplane: 1.000       *7 O4 ~) G- y7 _8 i) o
    airplane: 1.000       *' a" e0 p% ^- z; Z
    automobile: 0.998     *
9 t. a* {, S" w9 k/ T) e- y# C    automobile: 1.000     */ C+ j& N9 B3 ]$ H
    airplane: 1.000       x
: c. s; N2 C9 I# A% G' X  V    dog: 0.584            x  w. ^! m$ n6 Z
    bird: 1.000           *
* D3 {! G6 y" Q4 C, }' ~! s    dog: 0.999            x
2 m& }0 }/ ~2 [2 E; y5 }    dog: 0.874            x . G" F9 F( O) T; O9 E- z; a
    frog: 1.000           x
. P6 l6 S  n- k7 X: G    cat: 0.993            *
& {6 {+ y1 t+ n8 }    dog: 0.764            x/ F: e3 u2 R- `) ]- Q9 D
    deer: 1.000           *
/ c$ ~0 @' J& P+ G5 R    airplane: 0.906       x
2 S+ n( `1 l& l' \( y! e$ H4 u; ^. h    dog: 1.000            *, S9 E; |* u/ e) P
    dog: 0.999            *2 x" F2 F* U8 |
    deer: 0.810           x  Y" R6 O  X6 w+ e6 Q% W. Y
    bird: 1.000           x7 ]% n+ V9 U/ I: z$ Q
    frog: 0.688           *( C4 U$ H9 S2 q
    frog: 1.000           *1 b- S! z! S* q6 c7 z+ z
    horse: 1.000          *
% m; S, f" K% J+ j( k    horse: 1.000          *
( r, O: H+ l1 R( @( B    horse: 1.000          *
, \8 o7 U& @$ }    ship: 0.664           *
: J/ Y( x. M2 x/ g' |  R    ship: 1.000           *
) ?; B/ ?8 ]( M" J% A8 B    ship: 1.000           *. S5 ~$ v6 r7 g" [# ]
    truck: 1.000          *- @* N$ O" R1 b: X0 N" ~
    ship: 0.658           x
! L6 |. ^5 o$ ?& @    truck: 1.000          *- e" d# g1 {( J& o7 x; C

; Z9 c4 D4 @4 w; t$ n# l![LCD截屏图片](./scr_print.png)
scr_print.png 我的LCD显示不正常,所以我用文件系统截了个图:
* x" |% D2 R6 |$ Y& u IMG_20200309_224522.jpg
0 C9 ]5 C! w+ T1 ^6 P% O
* ?; M1 \% \* |$ g### 测试准确率9 k) `9 ?; G6 W+ r2 `+ j

% u8 X$ m2 E6 V  j3 T  * 19/29*100%=65.5%% v4 d/ L9 ~; G- R2 E, X! M! d
: W3 Y* D; d' ?7 `2 L
### 测试总结
7 W  J3 S: Y1 C; A! Y1 _2 y3 ~  * 图片中比较常见的东西模型很容易辨认,图片第二行第三个是青蛙头上有一个蜗牛,辨认错了,还有四只猫居然只对了一只,其余的比较正常,毕竟图片分辨率不高。
2 K1 T3 H/ A' B: p  * 由于我是用的深度学习模型是cifar10测试准确率比较高的,所以模型比较大,计算复杂,STM32F7推理时间约四五秒。
/ d# C( Y) f: c- r, y+ c
, T* C- A8 w& E

. S8 `# l2 J3 D8 X; I
2 t1 G4 x4 b( |/ W. q5 g/ {1 v- U9 ^) {% @. r; I
: _6 {- H3 s! E  M+ N, V
7 N6 C% Z# J: \0 Q* M) {- A/ U

! y) f5 p- ^1 t# L8 j8 t

评分

参与人数 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

Yude 发表于 2022-3-3 14:25
@楼主,只是想告知一下Markdown的编辑器已经就位,欢迎楼主输出更多关于AI方面的见解
...

两年了,很少逛论坛了

Yude 回答时间:2022-6-14 19:06:09
lebment 发表于 2022-6-11 18:276 q" e6 u% z/ M- @# ^: L/ X6 H5 v
两年了,很少逛论坛了
" U6 ~* J- w* ]1 W$ M( K! V, ~
哈哈, 欢迎多回来逛逛,提提宝贵意见
! V( R0 H% s* i9 @) f9 t

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版