国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用keras來簡單的進行圖片識別分類

新機器視覺 ? 來源:深度學習科研平臺 ? 作者:深度學習科研平臺 ? 2021-03-20 09:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

接觸深度學習3個月以來,從當初的小白零基礎學習,過程十分艱苦,看了幾章大牛 YoshuaBengio 寫的deep learning一書,粗略了解了基本常用的神經網絡以及梯度更新策略,參數優化,也了解以及簡單的使用常用的深度學習開發框架caffe,tensorflow,theano,sklearn機器學習庫,目前keras比較火,所以使用keras來簡單的進行圖片識別分類。

數據集準備:

看caffe博客的時候看到的數據集,然后就下載使用,數據集可以在最后下載。

數據集一共有5類圖片,一共500張,每類圖片100張,訓練集400張,每類80張,測試集100張,每類20張

第一步:

數據集進行處理:

使用opencv對圖片進行處理,縮放圖片大小為128×128大小,通道為單通道灰度圖像

#coding:utf8

import os

import cv2.cv as cv

import cv2

# 遍歷指定目錄,顯示目錄下的所有文件名

width_scale = 192 #縮放尺寸寬度

height_scale = 128#縮放尺寸高度

write_path = "/home/zhanghao/data/classification/test_scale/"#要寫入的圖片路徑

#遍歷每一張圖片進行處理

def eachFile(filepath):

pathDir = os.listdir(filepath)

for allDir in pathDir:

child = os.path.join('%s%s' % (filepath,allDir))

write_child = os.path.join('%s%s' % (write_path,allDir))

image = cv.LoadImage(child,0)

des_image = cv.CreateImage((width_scale,height_scale),image.depth,1)

cv.Resize(image,des_image,cv2.INTER_AREA)

# cv.ShowImage('afe',des_image)

cv.SaveImage(write_child,des_image)

# break

if __name__ == '__main__':

filePathC = "/home/zhanghao/data/classification/test/"

eachFile(filePathC)

5439c10a-88ef-11eb-8b86-12bb97331649.png

第二步

把圖片集制作成keras識別的數據集

#制作數據集

def data_label(path,count):

data = np.empty((count,1,128,192),dtype = 'float32')#建立空的四維張量類型32位浮點

label = np.empty((count,),dtype = 'uint8')

i = 0

pathDir = os.listdir(path)

for each_image in pathDir:

all_path = os.path.join('%s%s' % (path,each_image))#路徑進行連接

image = cv2.imread(all_path,0)

mul_num = re.findall(r"d",all_path)#尋找字符串中的數字,由于圖像命名為300.jpg 標簽設置為0

num = int(mul_num[0])-3

# print num,each_image

# cv2.imshow("fad",image)

# print child

array = np.asarray(image,dtype='float32')

data[i,:,:,:] = array

label[i] = int(num)

i += 1

return data,label

第三步

構建卷積神經網絡進行訓練和測試

#構建卷積神經網絡

def cnn_model(train_data,train_label,test_data,test_label):

model = Sequential()

model.add(Convolution2D(

nb_filter = 12,

nb_row = 3,

nb_col = 3,

border_mode = 'valid',

dim_ordering = 'th',

input_shape = (1,128,192)))

model.add(Activation('relu'))#激活函數使用修正線性單元

model.add(MaxPooling2D(

pool_size = (2,2),

strides = (2,2),

border_mode = 'valid'))

model.add(Convolution2D(

24,

3,

3,

border_mode = 'valid',

dim_ordering = 'th'))

model.add(Activation('relu'))

#池化層 24×29×29

model.add(MaxPooling2D(

pool_size = (2,2),

strides = (2,2),

border_mode = 'valid'))

model.add(Convolution2D(

48,

3,

3,

border_mode = 'valid',

dim_ordering = 'th'))

model.add(Activation('relu'))

model.add(MaxPooling2D(

pool_size = (2,2),

strides =(2,2),

border_mode = 'valid'))

model.add(Flatten())

model.add(Dense(20))

model.add(Activation(LeakyReLU(0.3)))

model.add(Dropout(0.5))

model.add(Dense(20))

model.add(Activation(LeakyReLU(0.3)))

model.add(Dropout(0.4))

model.add(Dense(5,init = 'normal'))

model.add(Activation('softmax'))

adam = Adam(lr = 0.001)

model.compile(optimizer = adam,

loss = 'categorical_crossentropy',

metrics = ['accuracy'])

print '----------------training-----------------------'

model.fit(train_data,train_label,batch_size = 12,nb_epoch = 35,shuffle = True,show_accuracy = True,validation_split = 0.1)

print '----------------testing------------------------'

loss,accuracy = model.evaluate(test_data,test_label)

print ' test loss:',loss

print ' test accuracy',accuracy

第四步

調用上述函數進行訓練預測

train_path = '/home/zhanghao/data/classification/train_scale/'

test_path = '/home/zhanghao/data/classification/test_scale/'

train_count = getnum(train_path)

test_count = getnum(test_path)

train_data,train_label = data_label(train_path,train_count)

test_data,test_label = data_label(test_path,test_count)

train_label = np_utils.to_categorical(train_label,nb_classes = 5)

test_label = np_utils.to_categorical(test_label,nb_classes = 5)

cnn_model(train_data,train_label,test_data,test_label)

用到的頭文件

import re

import cv2

import os

import numpy as np

import cv2.cv as cv

from keras.models import Sequential

from keras.layers.core import Dense,Activation,Flatten

from keras.layers.convolutional import Convolution2D,MaxPooling2D

from keras.optimizers import Adam

from keras.layers.advanced_activations import LeakyReLU

from keras.utils import np_utils

cpu運行,迭代50次,預測準確率達到92%,還算可以的準確率

具體實現代碼:https://github.com/zhanghao-JNU/keras-training

路漫漫其修遠兮,吾將上下而求索

責任編輯:lq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4838

    瀏覽量

    107799
  • 數據集
    +關注

    關注

    4

    文章

    1236

    瀏覽量

    26201
  • 深度學習
    +關注

    關注

    73

    文章

    5599

    瀏覽量

    124400

原文標題:使用CNN神經網絡進行圖片識別分類

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    京東圖片搜索API深度解析:以圖搜貨賦能電商全場景

    品分析、智能推薦等場景。 一、前言 隨著人工智能和圖像識別技術的發展,傳統的文本搜索已無法滿足用戶對商品識別的多樣化需求。京東圖片搜索API應運而生,它允許開發者通過簡單的接口調用,實
    的頭像 發表于 02-08 14:56 ?682次閱讀

    渣土車識別檢測系統 基于YOLOv8與RNN

    渣土車識別檢測系統是基于卡口圖片的視覺圖像分析,渣土車識別檢測系統對前端卡口相機抓拍上傳圖像至系統服務器的圖片進行實時檢測,實時分析。當監控
    的頭像 發表于 12-19 20:28 ?351次閱讀
    渣土車<b class='flag-5'>識別</b>檢測系統 基于YOLOv8與RNN

    1688拍立淘圖片搜索API概述

    1688 拍立淘是基于圖像識別技術的商品搜索服務,允許用戶通過上傳圖片搜索相似商品。 1.主要功能特點 以圖搜圖:通過圖片內容識別相似商品
    的頭像 發表于 12-17 14:56 ?376次閱讀

    淘寶圖片搜索商品API指南

    一、摘要 淘寶圖片搜索商品API是基于圖像識別技術的智能搜索接口,允許用戶通過上傳商品圖片搜索相似或同款商品。該接口廣泛應用于比價、找同款、商品
    的頭像 發表于 12-08 14:26 ?1198次閱讀

    【啟揚方案】基于RK3576的智能垃圾分類站應用解決方案

    的智能技術,結合傳感器、人工智能和互聯網技術,實現了自動化的垃圾分類和管理。通過智能識別系統,可以準確識別分類不同垃圾,提高分類的準確性和效
    的頭像 發表于 12-04 17:29 ?980次閱讀
    【啟揚方案】基于RK3576的智能垃圾<b class='flag-5'>分類</b>站應用解決方案

    電能質量在線監測裝置是如何進行電壓中斷事件的分類的?

    電能質量在線監測裝置嚴格按照 國家標準 (GB/T 30137-2013/2024) 和國際標準 (IEC 61000-4-30)對電壓中斷事件進行分類,主要基于幅值閾值 和 持續時間 兩個核心維度
    的頭像 發表于 11-27 16:30 ?910次閱讀
    電能質量在線監測裝置是如何<b class='flag-5'>進行</b>電壓中斷事件的<b class='flag-5'>分類</b>的?

    發布元服務配置應用分類、標簽和資質信息(僅分發手表設備)

    進行篩選。 說明 運動手表設備只需設置分類,暫不支持設置標簽。 配置版權信息 登錄AppGallery Connect,點擊“APP與元服務”。 選擇要發布的元服務。 左側導航選擇“應用上架 &
    發表于 10-30 17:47

    基于級聯分類器的人臉檢測基本原理

    關系檢測人臉。基于統計的方法將人臉看成統一的二維像素矩陣,通過大量的樣本構建人臉子空間,通過相似度的大小判斷人臉是否存在。 2) 基于灰度特征的人臉級聯分類器 基于灰度特征的人臉檢測級聯
    發表于 10-30 06:14

    RFID在垃圾分類中的核心優勢

    居民投放垃圾時,系統自動識別投放者身份,并判斷是否正確分類,提升分類準確率。激勵與監督機制系統可根據正確分類行為自動積分獎勵,鼓勵居民積極參與;對錯誤投放行為可
    的頭像 發表于 09-23 11:08 ?552次閱讀
    RFID在垃圾<b class='flag-5'>分類</b>中的核心優勢

    如何對電能質量在線監測裝置的應用場景進行分類

    、功能配置、數據精度要求差異顯著,分類結果可直接指導裝置選型、校準頻率設定及運維策略制定。以下從 4 個核心維度進行詳細分類: 一、按電力系統 “發 - 輸 - 配 - 用” 層級分類
    的頭像 發表于 09-02 17:48 ?791次閱讀
    如何對電能質量在線監測裝置的應用場景<b class='flag-5'>進行</b><b class='flag-5'>分類</b>?

    基于米爾瑞芯微RK3576開發板部署運行TinyMaix:超輕量級推理框架

    vww測試,主要是將圖片信息轉化為數組格式提供給網絡輸入。 手寫數字識別的例程也是十分簡單,只需要: 庫文件已經是高度封裝且兼容,所以很輕松地就可以在linux以及其它平臺上移植,在RK3576這種高性能soc的加持下,
    發表于 07-25 16:35

    ocr識別時數據集上傳壓縮包,上傳成功,但不顯示圖片圖片數量仍顯示0,為什么?

    ocr識別時數據集上傳壓縮包,上傳成功,但不顯示圖片圖片數量仍顯示0
    發表于 07-23 08:11

    基于LockAI視覺識別模塊:手寫數字識別

    分類,適合處理較為規范的手寫數字。 K近鄰算法(KNN):基于相似度的分類方法,通過比較待識別數字與訓練樣本的距離進行
    發表于 06-30 16:45

    在友晶LabCloud平臺上使用PipeCNN實現ImageNet圖像分類

    利用深度卷積神經網絡(CNN)進行圖像分類是通過使用多個卷積層從輸入數據中提取特征,最后通過分類層做決策
    的頭像 發表于 04-23 09:42 ?1083次閱讀
    在友晶LabCloud平臺上使用PipeCNN實現ImageNet圖像<b class='flag-5'>分類</b>

    基于RV1126開發板實現自學習圖像分類方案

    在RV1126開發板上實現自學習:在識別前對物體圖片進行模型學習,訓練完成后通過算法分類得出圖像的模型ID。 方案設計邏輯流程圖,方案代碼分為分為兩個業務流程,主體代碼負
    的頭像 發表于 04-21 13:37 ?11次閱讀
    基于RV1126開發板實現自學習圖像<b class='flag-5'>分類</b>方案