Будучи студентом, я воочию стал свидетелем разочарования, вызванного неэффективной системой поиска находок в нашем университете. Текущий процесс, основанный на индивидуальных электронных письмах для каждого найденного предмета, часто приводит к задержкам и потере связи между потерянными вещами и их владельцами.
Желая улучшить этот опыт для себя и своих сокурсников, я приступил к проекту по изучению потенциала глубокого обучения в революционном преобразовании нашей системы потерянных и найденных вещей. В этом сообщении блога я поделюсь своим опытом оценки предварительно обученных моделей — 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 (Visual Geometry Group) — это семейство архитектур глубоких сверточных нейронных сетей, известных своей простотой и эффективностью в задачах классификации изображений. Эти модели, особенно VGG16 и VGG19, завоевали популярность благодаря своим высоким результатам в конкурсе ImageNet Large Scale Visual Recognition Challenge (ILSVRC) в 2014 году.
Набор обучающих данных: 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, дает мне уверенность в том, что он сможет справиться с разнообразным спектром объектов, которые люди могут потерять. И давайте не будем забывать, как легко работать в Керасе! Это определенно облегчило мое решение.
В целом, я считаю, что InceptionResNetV2 обеспечивает правильное сочетание точности, эффективности и практичности для моего проекта. Мне не терпится увидеть, как он поможет вернуть потерянные вещи их владельцам!
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3