介绍
Python作业
机器学习,人工智能,模式识别课程,鸟类识别检测系统。
- 这是一个鸟类识别项目,基于tensorflow,使用卷积神经网络实现对200种鸟类进行识别。
- 在数据集中收集了200中鸟类图片,每种鸟类都有着40~60张图片,通过对这些数据集进行训练,从而实现对这200中鸟类进行识别。
- 通过模型算法构建,在服务器上通过30次迭代,目前已将鸟类预测由0.005准确率(1/200)提升至0.5左右,准确率提升了100倍,符合预期效果。
- 提供后台管理系统,将识别数据保存进数据库中,并在管理系统中查看。
使用
- 语言python3.8
- tensorflow==2.8
- django
界面
提示框中显示的Yellow haded blackbird 即为鸟类名称,当然如果需要翻译中中文也可以。
模型迭代次数
主要代码
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