身為學生,我親眼目睹了我們大學低效的失物招領系統所帶來的挫敗感。目前的流程依賴於每個找到的物品的單獨電子郵件,通常會導致遺失物品與其所有者之間的延誤和錯過聯繫。
出於為自己和同學改善這種體驗的願望,我開始了一個項目,探索深度學習在徹底改變我們的失物招領系統方面的潛力。 在這篇文章中,我將分享我評估預訓練模型(ResNet、EfficientNet、VGG 和 NasNet)的旅程,以自動識別和分類遺失的物品。
透過比較分析,我的目標是找出最適合整合到我們系統中的模型,最終為校園裡的每個人創造更快、更準確、用戶友好的失物招領體驗。
Inception-ResNet V2 是 Keras 中提供的強大的捲積神經網路架構,將 Inception 架構的優勢與 ResNet 的殘差連接相結合。此混合模型旨在保持計算效率的同時實現影像分類任務的高精度。
訓練資料集:ImageNet
影像格式:299 x 299
def readyForResNet(fileName): pic = load_img(fileName, target_size=(299, 299)) pic_array = img_to_array(pic) expanded = np.expand_dims(pic_array, axis=0) return preprocess_input_resnet(expanded)
data1 = readyForResNet(test_file) prediction = inception_model_resnet.predict(data1) res1 = decode_predictions_resnet(prediction, top=2)
VGG(視覺幾何組)是一系列深度卷積神經網路架構,以其在影像分類任務中的簡單性和有效性而聞名。這些模型,特別是 VGG16 和 VGG19,由於在 2014 年 ImageNet 大規模視覺識別挑戰賽 (ILSVRC) 中的出色表現而受到歡迎。
訓練資料集:ImageNet
影像格式:224 x 224
def readyForVGG(fileName): pic = load_img(fileName, target_size=(224, 224)) pic_array = img_to_array(pic) expanded = np.expand_dims(pic_array, axis=0) return preprocess_input_vgg19(expanded)
data2 = readyForVGG(test_file) prediction = inception_model_vgg19.predict(data2) res2 = decode_predictions_vgg19(prediction, top=2)
EfficientNet 是一系列卷積神經網路架構,可在影像分類任務上實現最先進的準確性,同時比以前的模型更小、速度更快。這種效率是透過平衡網路深度、寬度和解析度的新型複合縮放方法來實現的。
訓練資料集:ImageNet
影像格式:480 x 480
def readyForEF(fileName): pic = load_img(fileName, target_size=(480, 480)) pic_array = img_to_array(pic) expanded = np.expand_dims(pic_array, axis=0) return preprocess_input_EF(expanded)
data3 = readyForEF(test_file) prediction = inception_model_EF.predict(data3) res3 = decode_predictions_EF(prediction, top=2)
NasNet(神經架構搜尋網路)代表了深度學習中的一種突破性方法,其中神經網路本身的架構是透過自動搜尋過程發現的。此搜尋過程旨在找到層和連接的最佳組合,以在給定任務上實現高效能。
訓練資料集:ImageNet
影像格式:224 x 224
def readyForNN(fileName): pic = load_img(fileName, target_size=(224, 224)) pic_array = img_to_array(pic) expanded = np.expand_dims(pic_array, axis=0) return preprocess_input_NN(expanded)
data4 = readyForNN(test_file) prediction = inception_model_NN.predict(data4) res4 = decode_predictions_NN(prediction, top=2)
表格總結了上述模型所聲稱的準確度分數。 EfficientNet B7 以最高的準確率領先,緊隨其後的是 NasNet-Large 和 Inception-ResNet V2。 VGG 模型的精度較低。對於我的應用程序,我想選擇一個在處理時間和準確性之間取得平衡的模型。
如我們所見,EfficientNetB0 為我們提供了最快的結果,但考慮到準確性,InceptionResNetV2 是一個更好的套件
對於我的智慧失物招領系統,我決定使用 InceptionResNetV2。雖然 EfficientNet B7 以其一流的準確性看起來很誘人,但我擔心它的運算需求。在大學環境中,資源可能有限,而即時表現往往是可取的,我認為在準確性和效率之間取得平衡很重要。 InceptionResNetV2 似乎是完美的選擇 - 它提供了強大的性能,而又不會過度計算密集。
此外,它在 ImageNet 上進行預訓練的事實讓我相信它可以處理人們可能丟失的各種物體。我們不要忘記在 Keras 中使用是多麼容易!這確實讓我的決定變得更容易。
總的來說,我相信 InceptionResNetV2 為我的專案提供了準確性、效率和實用性的正確組合。我很高興看到它如何幫助丟失的物品與失主重新團聚!
以上是ResNet、EfficientNet、VGG、NN的詳細內容。更多資訊請關注PHP中文網其他相關文章!