头图

介绍

Python作业
机器学习,人工智能,模式识别课程,鸟类识别检测系统。

  • 这是一个鸟类识别项目,基于tensorflow,使用卷积神经网络实现对200种鸟类进行识别。
  • 在数据集中收集了200中鸟类图片,每种鸟类都有着40~60张图片,通过对这些数据集进行训练,从而实现对这200中鸟类进行识别。
  • 通过模型算法构建,在服务器上通过30次迭代,目前已将鸟类预测由0.005准确率(1/200)提升至0.5左右,准确率提升了100倍,符合预期效果。
  • 提供后台管理系统,将识别数据保存进数据库中,并在管理系统中查看。

使用

  • 语言python3.8
  • tensorflow==2.8
  • django

界面

img_05_03_22_53_22

提示框中显示的Yellow haded blackbird 即为鸟类名称,当然如果需要翻译中中文也可以。

img_05_03_22_57_24

image-20220503230726742

模型迭代次数

主要代码

model = tf.keras.Sequential([
             tf.keras.layers.Conv2D(64, (3, 3), input_shape=(256, 256, 3), 
                                    activation='relu'),
             tf.keras.layers.BatchNormalization(),
             tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
             tf.keras.layers.BatchNormalization(),
             tf.keras.layers.MaxPooling2D(),
             tf.keras.layers.Conv2D(128, (3, 3), activation='relu'),
             tf.keras.layers.BatchNormalization(),
             tf.keras.layers.Conv2D(128, (3, 3), activation='relu'),
             tf.keras.layers.BatchNormalization(),
             tf.keras.layers.MaxPooling2D(),
             tf.keras.layers.Conv2D(256, (3, 3), activation='relu'),
             tf.keras.layers.BatchNormalization(),
             tf.keras.layers.Conv2D(256, (3, 3), activation='relu'),
             tf.keras.layers.BatchNormalization(),
             tf.keras.layers.MaxPooling2D(),
             tf.keras.layers.Conv2D(512, (3, 3), activation='relu'),
             tf.keras.layers.BatchNormalization(),
             tf.keras.layers.Conv2D(512, (3, 3), activation='relu'),
             tf.keras.layers.BatchNormalization(),
             tf.keras.layers.MaxPooling2D(),
             tf.keras.layers.Conv2D(512, (3, 3), activation='relu'),
             tf.keras.layers.BatchNormalization(),
             tf.keras.layers.Conv2D(512, (3, 3), activation='relu'),
             tf.keras.layers.BatchNormalization(),
             tf.keras.layers.Conv2D(512, (3, 3), activation='relu'),
             tf.keras.layers.BatchNormalization(),
             tf.keras.layers.GlobalAveragePooling2D(),
             tf.keras.layers.Dense(1024, activation='relu'),
             tf.keras.layers.BatchNormalization(),
             tf.keras.layers.Dense(200)    
]) 

如需咨询,联系q:2784127853


子午
24 声望9 粉丝