神經網路移植到STM32F4上的應用 可以訓練識別手勢
利用顏色感測器讀取pH試紙的顏色,然後得到他代表的pH值。一開始想擬合出一個關於RGB和pH的函式,但是總是效果不好。於是利用神經網路來根據RGB判斷他的pH值。
這個也完全可以用於手勢識別,將電容感測器的資料匯入神經網路訓練,得到關於手勢的識別網路,再進行識別。
思路是首先利用MATLAB訓練出神經網路,然後將神經網路匯出來,移植到F4上。
x=inputn;
net=newff(minmax(x),[5 1],{'tansig','purelin'},'trainlm');
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-6 ;
[net,tr]=train(net,x,outputn); %訓練神經網路
iw=net.iw{1,1}; %匯出神經網路
lw=net.lw{2,1};
b1=net.b{1};
b2=net.b{2};
F4上的神經網路計算函式
void Get_pH() //神經網路計算函式
{
u8 i=0;
RGB_data[0]=(float32_t)R/255.0; //RGB歸一化存入矩陣
RGB_data[1]=(float32_t)G/255.0;
RGB_data[2 ]=(float32_t)B/255.0;
arm_mat_mult_f32(&iw,&RGB,&temp); //DSP指令,矩陣相乘
for(i=0;i<5;i++)
{
h_data[i]=2/(1+exp(-2*(temp_data[i]+b1[i])))-1; //tansig函式
}
arm_mat_mult_f32(&lw,&h,&pH);
pH_data=(float32_t)((pH_data+b2)*14.00 );
}
用到關鍵變數
float32_t iw_data[15]={ 37.8146271525703f, 61.6224915049775f, -116.119809374016f,
1.96880581432674f, -0.597865017458179f, -1.00688890479118f,
5.58165621812740f, 1.88117664982108f, -4.44180569880110f,
152.824588053478f, -132.267718125163f, -22.9259593680010f,
88.8431847421991f, 551.674736239499f, 404.835691342993f
};
float32_t lw_data[5]={-28.7273044233606f,-1.03643090499672f,0.313686607538904f,0.146049290519538f,-0.0206856023439895f};
float32_t temp_data[5];
float32_t h_data[5];
float32_t RGB_data[3];
float32_t pH_data;
float32_t b1[5]={22.6580899725128f,-0.510182522968968f,-3.52855071976284f,-2.82498427573125f,-92.7000542294773f};
float32_t b2=29.396496369741858f;
arm_matrix_instance_f32 iw={5,3,iw_data};
arm_matrix_instance_f32 lw={1,5,lw_data};
arm_matrix_instance_f32 temp={5,1,temp_data};
arm_matrix_instance_f32 h={5,1,h_data};
arm_matrix_instance_f32 RGB={3,1,RGB_data};
arm_matrix_instance_f32 pH={1,1,&pH_data};
需要注意的是,這裡開了F4的FPU並且用到的DSP庫,所以需要新增“arm_math.h”這個標頭檔案。
相關推薦
神經網路移植到STM32F4上的應用 可以訓練識別手勢
利用顏色感測器讀取pH試紙的顏色,然後得到他代表的pH值。一開始想擬合出一個關於RGB和pH的函式,但是總是效果不好。於是利用神經網路來根據RGB判斷他的pH值。 這個也完全可以用於手勢識別,將電容感測器的資料匯入神經網路訓練,得到關於手勢的識別網路,
卷積神經網路(CNN)在語音識別中的應用
卷積神經網路(CNN)在語音識別中的應用 作者:侯藝馨 前言 總結目前語音識別的發展現狀,dnn、rnn/lstm和cnn算是語音識別中幾個比較主流的方向。2012年,微軟鄧力和俞棟老師將前饋神經網路FFDNN(Feed Forward Deep Neural Network)引入到聲學模
TensorSpace:一套用於構建神經網路3D視覺化應用的框架
作者 | syt123450、Chenhua Zhu、Yaoxing Liu (本文經原作者授權轉載) 今天要為大家推薦一套超酷炫的,用於構建神經網路 3D 視覺化應用的框架——TensorSpace。 有什麼用途? 大家可以使用類 Keras
卷積神經網路課程筆記-實際應用(第三、四周)
所插入的圖片仍然來源於吳恩達老師的課件。 第三週 目標檢測 1. 物件的分類與定位,在輸出層不僅輸出類別,還應輸出包含物體的邊界框(bx,by,bh,bw),從而達到定位的目的。注意網路的輸出(例如下圖的輸出就有是否為目標,邊界框的引數,以及是哪類的判斷)和損失函式的定義
lesson22-24 MNIST資料集,模組化搭建神經網路八股,手寫數字識別準確率輸出
import tensorflow as tf #MNIST資料集輸出識別準確率 #MNIST資料集: #提供6w張28*28畫素點的0-9手寫數字圖片和標籤,用於訓練 #提供1w張28*28畫素點的0-9手寫數字圖片和標籤,用於測試 #每張圖片的784個畫素點(
神經網路實現Mnist手寫數字識別筆記
目錄 1.Mnist手寫數字識別介紹 Mnist手寫數字識別是Kaggle上一個很經典的機器學習資料集,裡邊包括55000張訓練資料和10000張圖片的測試資料,每張圖片大小為28*28畫素的單通圖片。該任務為通過機器學習來識別圖片中的
深度學習:tensorflow入門:卷積神經網路實現MNIST手寫字型識別
程式碼中./data/mnist/input_data/為真實MNIST資料集的路徑 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data # 定義
43個MATLAB神經網路的案例經典應用
連結:https://pan.baidu.com/s/1fKZEj_Ji1EXS7au0KlewMQ 密碼:z5h9 內容簡介 讀者呼叫案例的時候,只要把案例中的資料換成自己需要處理的資料,即可實現自己想要的網路。如果在實現過程中有任何疑問,可以隨時在MATLAB中文
【TensorFlow】3-2構建簡單單層神經網路進行【手寫字元識別】
自動下載並轉化MNIST資料集格式到TF中 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #載入MNIST資料集,如果不存在,將自動在預設網址
CNN(卷積神經網路)在iOS上的使用
在iOS11上推出了CoreML和架構在CoreML之上的Vision, 這樣為CNN(卷積神經網路)在iOS裝置上的應用鋪平了道路。 將CoreML模型載入到App 讓你的App整合CoreML模型非常簡單, 將模型檔案(*.mlmodel)拖進工程即可
06《基於卷積神經網路LeNet-5的車牌字元識別研究》學習總結
一、本篇介紹 二、本文主要內容(知識點) 1、概要 2、卷積神經網路介紹 1.卷積層 2.次抽樣層 3、LeNet-5介
深度學習(Deep Learning)讀書思考八:迴圈神經網路三(RNN應用)
概述 通過前兩小節的介紹,可以清楚的瞭解RNN模型的網路結構以及LSTM。本小節主要介紹RNN其他變形以及應用,包括 1.GRU單元 2.序列到序列(Seq2Seq)模型 3.注意力(Attention)模型 4.RNN在NLP中的應
4用於cifar10的卷積神經網路-4.6設計模型訓練和評估的會話流程
在TensorFlow中實現這個網路模型 0、載入資料集 1、啟動會話 2、一輪一輪的訓練模型 2.1、在每一輪中分多個批次餵給資料 2.1.1在每個批次上執行訓練節點,訓練模型 2.1.2經過
基於卷積神經網路和tensorflow實現的人臉識別
以前在學習卷積神經網路的時候,發現了很多很有趣的demo,有一次發現了上面這個人臉識別的例子,不過當時還看不懂,經過一段時間之後決定試試能不能將上面的例子改一下,調以調參什麼的,於是就有了這篇文章。本以為我的程式碼和原文沒有什麼太大的區別,應該不會出現什麼錯誤,但是實際自己上
人工神經網路演算法原理和應用
人工神經網路 什麼是人工神經網路? 我們先從他的結構談起 說明: 通常一個神經網路由一個input layer,多個hidden layer和一個output layer構成。圖中圓圈可以視為一個神經元(又可以稱為感知器)設計神經網路的重要工作是設計hidden layer,及神經元之間的權重新增
PyTorch基礎入門六:PyTorch搭建卷積神經網路實現MNIST手寫數字識別
1)卷積神經網路(CNN)簡介 關於什麼是卷積神經網路(CNN),請自行查閱資料進行學習。如果是初學者,這裡推薦一下臺灣的李巨集毅的深度學習課程。連結就不給了,這些資料網站上隨處可見。 值得一提的是,CNN雖然在影象處理的領域具有不可阻擋的勢頭,但是它絕對不僅僅只能用來影
基於注意力模型和卷積迴圈神經網路的中文自然場景文字識別
最近,在進行相關中文文字識別的工作,查閱了許多論文。最終決定參考谷歌的基於注意力機制的街景文字識別的論文:"Attention-based Extraction of Structured Information from Street View Imagery",並對官方原始碼進行修改
構建多層感知器神經網路對數字圖片進行文字識別
在Keras環境下構建多層感知器模型,對數字影象進行精確識別。 模型不消耗大量計算資源,使用了cpu版本的keras,以Tensorflow 作為backended,在ipython互動環境jupyter notebook中進行編寫。 1.資料來源 此資料庫包含四部分:訓練資
神經網路演算法學習---獲取常用訓練資料集
下載地址:http://vision.stanford.edu/Datasets/OlympicSports/ 7. UIUC action dataset 這個資料庫已經做到98%了,建議不要去做了。下載地址:http://vision.cs.uiuc.edu/projects/activity/
一文入門BP神經網路——從原理到應用(應用篇)
編號 公式 備註 1 Z[l]=w[l]A[l−1]+b[l] 2 A[l]=σ(Z[l]) 3 dZ[L]=∇AC⊙σ′(Z[L]) 4 dZ[l]=[w[l+1]