0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用氣體傳感器實(shí)現(xiàn)水果食品質(zhì)量檢測系統(tǒng)的設(shè)計(jì)

科技觀察員 ? 來源:Alex Miller ? 作者:Alex Miller ? 2022-03-31 10:10 ? 次閱讀

背景

隨著時(shí)間的流逝,食物浪費(fèi)問題對(duì)環(huán)境的影響越來越嚴(yán)重。聯(lián)合國環(huán)境規(guī)劃署 (UNEP) 最近的食物浪費(fèi)指數(shù)報(bào)告顯示,平均而言,消費(fèi)者每年浪費(fèi)近 10 億噸食物(或購買的所有食物的 17%)。

人們生產(chǎn)的食物多于消耗的食物這一事實(shí)會(huì)產(chǎn)生重大的負(fù)面影響。例如,估計(jì)全球溫室氣體排放的 8-10% 來自未使用的食物。相反,減少食物浪費(fèi)將有助于減少溫室氣體排放和全球污染,并增加遭受饑餓的國家的糧食供應(yīng)。

這種情況表明,在不久的將來,我們需要關(guān)注的不是擴(kuò)大食品生產(chǎn),而是及時(shí)控制質(zhì)量,以便新鮮產(chǎn)品可以銷售和消費(fèi)。為了解決當(dāng)前的情況,人類將需要更智能的用戶友好型技術(shù),以幫助他們實(shí)時(shí)監(jiān)控產(chǎn)品質(zhì)量。

在這篇文章中,我將解釋一種檢查食品質(zhì)量的簡單方法,該方法可以在普通商店甚至您自己的冰箱中實(shí)施。

介紹
最近,我做了一個(gè)簡單的實(shí)驗(yàn),我想和大家分享一下,因?yàn)槲覉?jiān)信這樣的實(shí)際解決方案可以對(duì)解決全球性問題產(chǎn)生很大的影響。

我的想法是使用 Tiny Machine Learning 方法根據(jù)氣體傳感器的數(shù)據(jù)預(yù)測食物是新鮮的還是變質(zhì)的。我使用 7 個(gè)氣體傳感器進(jìn)行了實(shí)驗(yàn)。

在我的教程中,您將會(huì)學(xué)習(xí)如何自動(dòng)創(chuàng)建一個(gè)超小型機(jī)器學(xué)習(xí)模型,將其嵌入傳感器的微控制器中,并使用它檢查食品質(zhì)量。

所以讓我們開始吧!

程序:
第 1 步:使用 Neuton 創(chuàng)建 TinyML 模型
在 Neuton 平臺(tái)上創(chuàng)建一個(gè)新的解決方案“食品質(zhì)量”,并上傳包含食品質(zhì)量信號(hào)的訓(xùn)練數(shù)據(jù)集,標(biāo)記為兩個(gè)類別(新鮮和變質(zhì))。我的數(shù)據(jù)集包含 784 行。

然后,選擇目標(biāo)(標(biāo)簽)和目標(biāo)指標(biāo)(準(zhǔn)確度),同時(shí)啟用微型機(jī)器學(xué)習(xí)模式。此外,為沒有浮點(diǎn)數(shù)據(jù)類型的計(jì)算選擇 8 位深度,然后單擊“開始部署”。

模型將在幾分鐘內(nèi)準(zhǔn)備就緒,接下來需要下載模型。

第 2 步:創(chuàng)建微控制器的固件
下載示例:https ://github.com/Neuton-tinyML/arduino-example

項(xiàng)目介紹
該項(xiàng)目包含:

  • 通過 USB-UART 串??口接收數(shù)據(jù)集的代碼,
  • 預(yù)測實(shí)現(xiàn),
  • 結(jié)果指示,
  • 用于測量預(yù)測時(shí)間的代碼。

主草圖文件“ arduino-tiny-ml-neuton.ino ”具有處理數(shù)據(jù)包的功能。

主要過程在 user_app.c 文件中進(jìn)行:

static NeuralNet neuralNet = { 0 };

extern const unsigned char model_bin[];

extern const unsigned int model_bin_len;

uint8_t app_init()

{

return (ERR_NO_ERROR != CalculatorInit(&neuralNet, NULL));

}

inline Err CalculatorOnInit(NeuralNet* neuralNet)

{

memUsage += sizeof(*neuralNet);

app_reset();

timer_init();

return CalculatorLoadFromMemory(neuralNet, model_bin, model_bin_len, 0);

}

在這里,創(chuàng)建一個(gè)對(duì)象 NeuralNet 并調(diào)用一個(gè)函數(shù)來加載位于文件model.c中的模型

CalculatorLoadFromMemory(neuralNet, model_bin, model_bin_len, 0);

該模型現(xiàn)在已準(zhǔn)備好進(jìn)行預(yù)測。為此,您需要通過將大小為 neuralNet.inputsDim 的浮點(diǎn)數(shù)組傳輸給 CalculatorRunInference 函數(shù)來調(diào)用它。

最后一個(gè)值是 BIAS,應(yīng)該是 1。

inline float* app_run_inference(float* sample, uint32_t size_in, uint32_t *size_out)

{

if (!sample || !size_out)

return NULL;

if (size_in / sizeof(float) != app_inputs_size())

return NULL;

*size_out = sizeof(float) * neuralNet.outputsDim;

if (app.reverseByteOrder)

Reverse4BytesValuesBuffer(sample, app_inputs_size());

return CalculatorRunInference(&neuralNet, sample);

}

執(zhí)行預(yù)測時(shí),會(huì)調(diào)用三個(gè)回調(diào)函數(shù):預(yù)測之前的 CalculatorOnInferenceStart 和預(yù)測之后的 CalculatorOnInferenceEnd,以及帶有預(yù)測結(jié)果的 CalculatorOnInferenceResult。

在示例中,我使用這些函數(shù)來測量預(yù)測時(shí)間。

具有類概率的數(shù)組與預(yù)測結(jié)果一起傳遞給函數(shù),大小為neuralNet.outputsDim。在這里,找到概率最高的類,如果概率 > 0.5,則打開 LED(綠色為 0 類,紅色為 1 類)。

inline void CalculatorOnInferenceResult(NeuralNet* neuralNet, float* result)

{

if (neuralNet->taskType == TASK_BINARY_CLASSIFICATION && neuralNet->outputsDim >= 2)

{

float* value = result[0] >= result[1] ? &result[0] : &result[1];

if (*value > 0.5)

{

if (value == &result[0])

{

led_green(1);

led_red(0);

}

else

{

led_green(0);

led_red(1);

}

}

else

{

led_green(0);

led_red(0);

}

}

}

第 3 步:將下載的模型復(fù)制到草圖中
將模型文件model.c從模型存檔復(fù)制到 MCU 固件。

第 4 步:編譯草圖并將其上傳到開發(fā)板
現(xiàn)在一切都準(zhǔn)備好,可以進(jìn)行草圖編譯了。我用程序?qū)?shù)據(jù)從計(jì)算機(jī)發(fā)送到 MCU 并顯示預(yù)測結(jié)果(它模擬傳感器數(shù)據(jù)并將數(shù)據(jù)發(fā)送到 MCU)。

根據(jù)您的操作系統(tǒng),使用bin文件夾中的相應(yīng)文件。

您需要為實(shí)用程序指定兩個(gè)參數(shù):USB 端口和數(shù)據(jù)集文件。

該實(shí)用程序讀取 CSV 文件并將樣本逐行發(fā)送到微控制器。然后,它將結(jié)果作為 CSV 文件輸出到標(biāo)準(zhǔn)輸出流。發(fā)送所有樣本后,實(shí)用程序會(huì)請(qǐng)求一份包含預(yù)測時(shí)間和消耗的內(nèi)存量的報(bào)告。

第 5 步:檢查嵌入式模型的功能
創(chuàng)建兩個(gè) CSV 文件,每個(gè)文件包含一行,其中的數(shù)據(jù)對(duì)應(yīng)于兩個(gè)類別:新鮮和變質(zhì)。

然后,將它們中的每一個(gè)發(fā)送到微控制器并查看預(yù)測結(jié)果

在第一種情況下,食物保持新鮮,因?yàn)轭A(yù)測類別為零,這意味著結(jié)果是“新鮮食物”。該預(yù)測是在 3844 微秒內(nèi)完成的,閃存使用量為 199kB,RAM 使用量為 136B。此外,您可以看到綠色 LED 亮起,這表示結(jié)果良好。

在另一種情況下,我們會(huì)看到模型預(yù)測食物變質(zhì)了,因?yàn)轭A(yù)測的類別是一類,表示“食物變質(zhì)”。預(yù)測也非常快,在 3848 微秒內(nèi),使用相同的 199 kB 閃存和 136 kB RAM。在這種情況下,您可以看到紅色 LED,表示食物已變質(zhì)。

結(jié)論:
這個(gè)實(shí)驗(yàn)證明,只需 5 個(gè)簡單的步驟,您就可以創(chuàng)建一個(gè)工作智能設(shè)備,盡管它的體積很小,但對(duì)監(jiān)控食品質(zhì)量有很大幫助。我絕對(duì)確信這些技術(shù)可以幫助我們使我們居住的世界變得更清潔、更健康。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7336

    瀏覽量

    150105
  • 氣體傳感器
    +關(guān)注

    關(guān)注

    14

    文章

    529

    瀏覽量

    37575
  • 智能設(shè)備
    +關(guān)注

    關(guān)注

    5

    文章

    1024

    瀏覽量

    49873
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    食品物性檢測

    ;nbsp;   該項(xiàng)目是基于工業(yè)食品生產(chǎn)檢測而開發(fā)的,他由MCU做核心控制,利用步進(jìn)電機(jī)控制壓力傳感器的移動(dòng),來實(shí)現(xiàn)對(duì)
    發(fā)表于 11-08 16:22

    【Thunderboard Sense試用申請(qǐng)】基于MEMS氣體傳感器的鮮食冰箱系統(tǒng)

    項(xiàng)目名稱:基于MEMS氣體傳感器的鮮食冰箱系統(tǒng)試用計(jì)劃:采用該開發(fā)板,結(jié)合MEMS氣體傳感器,對(duì)冰箱中的
    發(fā)表于 05-25 18:14

    氣體傳感器在生活中的普及與應(yīng)用

    工業(yè)檢測有機(jī) 溶劑和磷烷等劇毒氣體;電力工業(yè)檢測電力變壓油變質(zhì)過程中產(chǎn)生的氫氣等?! 】諝猸h(huán)境檢測當(dāng)然也離不開
    發(fā)表于 11-10 14:13

    氣體傳感器的特性及分類

    傳感器智能化  隨著人們生活水平的不斷提高和對(duì)環(huán)保的日益重視,對(duì)各種有毒、有害氣體的探測,對(duì)大氣污染、工業(yè)廢氣的監(jiān)測以及對(duì)食品和居住環(huán)境質(zhì)量檢測
    發(fā)表于 10-31 14:53

    氣體傳感器有哪些種類?

    隨著人們生活水平的提高和對(duì)環(huán)保的日益重視,對(duì)各種有毒、有害氣體的探測,對(duì)大氣污染、工業(yè)廢氣的監(jiān)控以及對(duì)食品和人居環(huán)境質(zhì)量檢測都提出了更高的要求,作為感官或信號(hào)輸入部分之一的
    發(fā)表于 08-21 06:08

    氣體檢測儀常用的傳感器

    介紹各個(gè)傳感器的工作原理及優(yōu)缺點(diǎn)?! ∫?、氣體檢測儀之紅外原理  原理:非分光紅外原理NDIR傳感器利用比爾-朗伯紅外吸收定律,即不同氣體
    發(fā)表于 12-02 15:09

    食品質(zhì)量安全衛(wèi)生知識(shí)培訓(xùn)

    食品質(zhì)量安全衛(wèi)生知識(shí)培訓(xùn)是通過一些圖片的PPT展示來讓大家熟知安全衛(wèi)生的環(huán)節(jié)。
    發(fā)表于 02-19 17:44 ?29次下載

    食品質(zhì)量安全與衛(wèi)生管理之探討

    食品質(zhì)量安全與衛(wèi)生管理之探討在日常生活中飲食跟每個(gè)人都息息相關(guān)的,每個(gè)人的飲食習(xí)慣、吃的東西不完全一樣,且不時(shí)傳出食物中毒事件。因此食品質(zhì)量
    發(fā)表于 01-30 15:57 ?20次下載

    統(tǒng)計(jì)質(zhì)量管理在食品品質(zhì)控制中的應(yīng)用

    統(tǒng)計(jì)質(zhì)量管理在食品品質(zhì)控制中的應(yīng)用The application of statistical management in food quality control 食品質(zhì)量
    發(fā)表于 01-30 16:18 ?12次下載

    室內(nèi)空氣質(zhì)量檢測傳感器的應(yīng)用

    室內(nèi)空氣品質(zhì)對(duì)人的影響至關(guān)重要,利用傳感器檢測空氣質(zhì)量是當(dāng)今流行的一種方法,本文介紹了傳感器在空
    發(fā)表于 01-20 10:54 ?1992次閱讀

    氣體傳感器檢測原理

    檢測氣體的濃度依賴于氣體檢測變送器,傳感器是其核心部分,按照檢測原理的不同,主要分為金屬氧化物半導(dǎo)體式
    的頭像 發(fā)表于 06-13 16:28 ?1.3w次閱讀

    農(nóng)藥殘留檢測儀是保障食品質(zhì)量安全的好幫手

    、餐廳食堂等常見的生產(chǎn)流通場所應(yīng)用廣泛,是保障食品質(zhì)量安全的好幫手。 農(nóng)藥的噴灑可以增加作物的產(chǎn)量,但是農(nóng)藥屬于化學(xué)試劑,不正當(dāng)?shù)膰姙⒖赡軙?huì)導(dǎo)致農(nóng)產(chǎn)品中農(nóng)殘含量超標(biāo),不僅影響土壤環(huán)境,農(nóng)藥附著在農(nóng)作物上還可能會(huì)危害人們的健康安全。
    發(fā)表于 07-12 11:46 ?229次閱讀

    農(nóng)藥檢測儀器保障食品質(zhì)量安全

    農(nóng)藥檢測儀器【恒美 HM-NC20】是用來檢測蔬菜、水果、茶葉、糧食等食品中可能存在的農(nóng)藥含量,借以判斷被檢測樣品中農(nóng)藥含量是否超標(biāo)。目前農(nóng)
    發(fā)表于 08-31 16:05 ?319次閱讀

    韓國研發(fā)便攜式分子傳感器通過變色顯示食品腐敗情況

    韓國科學(xué)家開發(fā)出一種便攜式分子傳感器,可通過改變顏色快速檢測生物胺,有助防止人們食用變質(zhì)肉類,保證食品質(zhì)量,并幫助在物流鏈中構(gòu)建更有效的食品儲(chǔ)存和配送環(huán)境。
    的頭像 發(fā)表于 03-27 09:51 ?809次閱讀

    利用高光譜成像評(píng)估水果和蔬菜的成熟度和老化

    監(jiān)測和控制食品質(zhì)量對(duì)于追求利潤和負(fù)責(zé)任的食品生產(chǎn)至關(guān)重要。特別是對(duì)于水果和蔬菜來說,它們比其他食品更加敏感,必須新鮮出售和加工才能更加有價(jià)值和更加健康。高光譜成像為自動(dòng)
    的頭像 發(fā)表于 08-21 16:24 ?1095次閱讀
    <b class='flag-5'>利用</b>高光譜成像評(píng)估<b class='flag-5'>水果</b>和蔬菜的成熟度和老化