你的食物變質沒?用AI演算法來檢測一下吧

2021-09-13 10:36:46 字數 3311 閱讀 8736

摘要:本文使用ai演算法檢測披薩是否變質,為食品檢測提供乙個新的思路。
最近一條幼兒園採用過期食物的新聞引起了社會的強烈關注,對於食品安全而言,國家一直是嚴格要求的,尤其是對於嬰幼兒食品安全的標準,部分已經超越了國際上的標準。但可能是由於無法嚴格地執行到每乙個地方且檢測週期較長,造成這一現象的出現,著實有些令人憤怒。程式設計師,用**改變世界的一群人,今天向大家介紹用ai演算法來檢測食物是否過期,希望能夠在以後普及應用到食物安全的初步檢測之中,下面以披薩為例。

在俄羅斯最大的披薩連鎖店「dodo pizza」的最新dbrain用例中,首席資料科學家arthur kuzin解釋了開發的ai演算法如何通過簡訊控制披薩質量,將披薩麵糰打分1到10分。下面詳細解釋如何教ai演算法來評估披薩質量!

dodo pizza有許多活躍的客戶,在完成訂單後,他們同意分享他們對披薩質量的看法。為了簡化反饋環節及其處理過程,dbrain開發了乙個ai演算法驅動的應用程式來檢查披薩質量。此應用程式類似於聊天機械人,客戶上傳**後可以獲得得分為1到10的等級評分。

當程式設計師收到開發請求時,就著手開發一種可以客觀地確定麵糰質量的演算法。問題在於確定披薩烘焙過程是何時停止的,披薩外皮上的白色氣泡與產品的變質相關。

該資料集收集了披薩烘焙的**,還包括了一些不相關的影象。如果配方不正確,披薩外皮上就會出現白色氣泡。此外,專家還對麵糰質量進行了二元標記。因此,得到資料集之後,演算法的開發就只是時間問題了。

這些資料集的**是在不同的手機上、在不同的光線條件下以及從不同的角度拍攝得到的。整個資料集有17k張的披薩標本影象,而整個資料集的總數為60k張。

由於該任務需求非常簡單明瞭,因此用不同的方法來處理資料是乙個很好的操練場。那麼,以下就是我們解決任務所需要的:

1.選擇能夠看到披薩外殼的**;

2.區分所選**中的披薩外皮與背景區域;

3.在選定區域訓練神經網路。

此外,我自己標記了一小部分**,而不是向其他人解釋我真正需要的東西,因為,如果你想要做得好,自己就需要對資料進行處理,以下就是我所做的:

1.標記了50張有披薩外皮影象,標記了50張沒有披薩外皮影象:

2.使用resnet-152網路在imagenet11k上預訓練權重等引數,在全連線層後提取特徵;

3.將兩個類別的特徵的平均值作為基準點;

4.計算從該基準點與剩餘的60k的所有特徵之間的距離;

5.確定前300個與正類別相關的樣本,後500個與負類別相關的樣本;

6.基於這些樣本的特徵訓練lightgbm;

7.使用此模型在整個資料集上**出標籤;

這與我在kaggle比賽中用作基線的方法大致相同。

大約一年前,我和evgeny nizhibitsky一起參加了「海獅」 kaggle比賽。任務是從無人機拍攝的影象上統計海豹的個數。標記只是給出了屍體的座標,但在某些時候, vladimir iglovikov用方框標記了它們,並在社群慷慨地進行了分享。

我決定通過分割來解決這個任務,在第一階段只將海豹方框作為目標。經過幾次訓練迭代後,很容易找到一些硬樣品,但是效果不好。

對於此示例,可以選擇沒有海豹的大區域,手動將蒙版設定為零,還可以新增到訓練集。因此,evgeny和我訓練了乙個模型,該模型已經學會了分割大型海豹鰭。

再次回到主題披薩,為了識別所選和過濾後的影象上的外殼,最佳選在標籤上做文章。通常,一些貼標機工作對同一樣本的工作方式是不同的,但當時我們已經對這種情況應用了一致性演算法並將其用於方框中。這就是為什麼我只是做了幾個例子就把它交給了貼標機。最後,獲得了500個樣本,這些樣本特別突出了披薩外皮區域。

為了識別所選過濾**上的外殼,我為貼標機做了幾個例子。

第一次迭代模型訓練的結果仍然是錯誤的,**的可信度定義如下:

1 ——(灰色區域的面積)/(掩膜的面積)

接下來,為了完成獲得接近掩模方框的下一次迭代,在小的樣本集上用tta**掩模。這在某種程度上可以被認為是waaaagh式的知識蒸餾,但更為正確地將其稱之為偽標籤。

然後,我人為地確定某個閾值,用於形成新訓練集的置信度,還可以選擇出標記出整合失敗的最複雜樣本。我認為這將是有用的,並在自己休息時標記了20張。

最後——模型的訓練。為了準備樣品,我用掩膜提取了披薩外皮區域。此外,我通過擴大掩膜並將其應用於以去除背景來略微充氣掩膜,因為它不包含有關麵糰質量的任何資訊。然後我從imagenet中調整了幾個模型。我總共收集了大約14k張合適的樣本,此外,沒有訓練整個神經網路,而只訓練最後一組全連線層層以防止過擬合。

最終發現模型為inception-resnet-v2時效果最好,其roc-auc達到0.700。如果沒有進行處理並在沒有掩膜的原始影象上訓練模型的話,那麼得到的roc-auc將為0.58左右。

在開發解決方案時,dodo披薩回傳了下一批資料,並且使用這些資料測試了整個模型,結果roc-auc達到了0.83。

上述結果表明,我們仍然無法完全保證在沒有錯誤的情況下管理披薩的質量。考慮到錯誤出現的原因,我再一次訓練了模型並取得了積極的成果。我們現在看一下錯誤:

從上圖可以看出,它們與披薩外皮標籤的錯誤有關,因為有些標記為正常的披薩有明顯的變質跡象。

這裡的誤差是由於第乙個模型未能選擇正確的樣本,這導致難以確定正常披薩的關鍵特徵。解決這個問題後,模型的效能會有所提公升。

以上是整個演算法流程及實驗記錄,現在是時候吃一塊比薩餅放鬆一下了,乾杯!

閱讀原文

使用AI來檢測違反社交距離的行為

作者 priya dwivedi 編譯 flin medium 美國和歐洲的許多城市現在都在謹慎地重新開放。人們被要求在外出時保持安全距離。但是人們照著做嗎?城市對人們的安全距離是否符合規則進行評估並採取相應的行動是很重要的。如果大多數人都遵守疫情期間的命令,那麼就可以安全地開放更多的公共場合。然而...

AI根據觸控手機的方式檢測你的情緒

ai系統可以為我們的生活帶來便利,但是,我們的智慧型助手是否也可以開始學習我們的情感,並利用這些知識更好地為我們服務?換句話說,alexa知道你什麼時候生氣嗎?還是傷心?事實上,亞馬遜團隊一直致力於通過聲音語調分析情緒。但是我們的手機呢?我們大多數人每天使用觸控螢幕數百次。蒙特婁的brain min...

來微軟人工智慧大會,體驗你觸手可及的AI

在ai領域,微軟是一支不可或缺的力量。眾所周知,微軟在ai研究上一直長期不斷的堅持投入。早在27年前,微軟研究院創立的時候,最早成立的三個研究組 包括自然語言 語音與計算機視覺 都是圍繞人工智慧展開的,持續不斷地研究,讓微軟在人工智慧技術上碩果累累,如今不管是影象識別 語音識別還是機器翻譯,以及ai...