91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用keras來簡(jiǎn)單的進(jìn)行圖片識(shí)別分類

新機(jī)器視覺 ? 來源:深度學(xué)習(xí)科研平臺(tái) ? 作者:深度學(xué)習(xí)科研平臺(tái) ? 2021-03-20 09:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

接觸深度學(xué)習(xí)3個(gè)月以來,從當(dāng)初的小白零基礎(chǔ)學(xué)習(xí),過程十分艱苦,看了幾章大牛 YoshuaBengio 寫的deep learning一書,粗略了解了基本常用的神經(jīng)網(wǎng)絡(luò)以及梯度更新策略,參數(shù)優(yōu)化,也了解以及簡(jiǎn)單的使用常用的深度學(xué)習(xí)開發(fā)框架caffe,tensorflow,theano,sklearn機(jī)器學(xué)習(xí)庫,目前keras比較火,所以使用keras來簡(jiǎn)單的進(jìn)行圖片識(shí)別分類。

數(shù)據(jù)集準(zhǔn)備:

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

數(shù)據(jù)集一共有5類圖片,一共500張,每類圖片100張,訓(xùn)練集400張,每類80張,測(cè)試集100張,每類20張

第一步:

數(shù)據(jù)集進(jìn)行處理:

使用opencv對(duì)圖片進(jìn)行處理,縮放圖片大小為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/"#要寫入的圖片路徑

#遍歷每一張圖片進(jìn)行處理

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識(shí)別的數(shù)據(jù)集

#制作數(shù)據(jù)集

def data_label(path,count):

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

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))#路徑進(jìn)行連接

image = cv2.imread(all_path,0)

mul_num = re.findall(r"d",all_path)#尋找字符串中的數(shù)字,由于圖像命名為300.jpg 標(biāo)簽設(shè)置為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

第三步

構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測(cè)試

#構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)

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'))#激活函數(shù)使用修正線性單元

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

第四步

調(diào)用上述函數(shù)進(jìn)行訓(xùn)練預(yù)測(cè)

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運(yùn)行,迭代50次,預(yù)測(cè)準(zhǔn)確率達(dá)到92%,還算可以的準(zhǔn)確率

具體實(shí)現(xiàn)代碼:https://github.com/zhanghao-JNU/keras-training

路漫漫其修遠(yuǎn)兮,吾將上下而求索

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:使用CNN神經(jīng)網(wǎng)絡(luò)進(jìn)行圖片識(shí)別分類

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    品分析、智能推薦等場(chǎng)景。 一、前言 隨著人工智能和圖像識(shí)別技術(shù)的發(fā)展,傳統(tǒng)的文本搜索已無法滿足用戶對(duì)商品識(shí)別的多樣化需求。京東圖片搜索API應(yīng)運(yùn)而生,它允許開發(fā)者通過簡(jiǎn)單的接口調(diào)用,實(shí)
    的頭像 發(fā)表于 02-08 14:56 ?722次閱讀

    渣土車識(shí)別檢測(cè)系統(tǒng) 基于YOLOv8與RNN

    渣土車識(shí)別檢測(cè)系統(tǒng)是基于卡口圖片的視覺圖像分析,渣土車識(shí)別檢測(cè)系統(tǒng)對(duì)前端卡口相機(jī)抓拍上傳圖像至系統(tǒng)服務(wù)器的圖片進(jìn)行實(shí)時(shí)檢測(cè),實(shí)時(shí)分析。當(dāng)監(jiān)控
    的頭像 發(fā)表于 12-19 20:28 ?362次閱讀
    渣土車<b class='flag-5'>識(shí)別</b>檢測(cè)系統(tǒng) 基于YOLOv8與RNN

    1688拍立淘圖片搜索API概述

    1688 拍立淘是基于圖像識(shí)別技術(shù)的商品搜索服務(wù),允許用戶通過上傳圖片搜索相似商品。 1.主要功能特點(diǎn) 以圖搜圖:通過圖片內(nèi)容識(shí)別相似商品
    的頭像 發(fā)表于 12-17 14:56 ?390次閱讀

    淘寶圖片搜索商品API指南

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

    【啟揚(yáng)方案】基于RK3576的智能垃圾分類站應(yīng)用解決方案

    的智能技術(shù),結(jié)合傳感器、人工智能和互聯(lián)網(wǎng)技術(shù),實(shí)現(xiàn)了自動(dòng)化的垃圾分類和管理。通過智能識(shí)別系統(tǒng),可以準(zhǔn)確識(shí)別分類不同垃圾,提高分類的準(zhǔn)確性和效
    的頭像 發(fā)表于 12-04 17:29 ?1001次閱讀
    【啟揚(yáng)方案】基于RK3576的智能垃圾<b class='flag-5'>分類</b>站應(yīng)用解決方案

    電能質(zhì)量在線監(jiān)測(cè)裝置是如何進(jìn)行電壓中斷事件的分類的?

    電能質(zhì)量在線監(jiān)測(cè)裝置嚴(yán)格按照 國(guó)家標(biāo)準(zhǔn) (GB/T 30137-2013/2024) 和國(guó)際標(biāo)準(zhǔn) (IEC 61000-4-30)對(duì)電壓中斷事件進(jìn)行分類,主要基于幅值閾值 和 持續(xù)時(shí)間 兩個(gè)核心維度
    的頭像 發(fā)表于 11-27 16:30 ?932次閱讀
    電能質(zhì)量在線監(jiān)測(cè)裝置是如何<b class='flag-5'>進(jìn)行</b>電壓中斷事件的<b class='flag-5'>分類</b>的?

    發(fā)布元服務(wù)配置應(yīng)用分類、標(biāo)簽和資質(zhì)信息(僅分發(fā)手表設(shè)備)

    進(jìn)行篩選。 說明 運(yùn)動(dòng)手表設(shè)備只需設(shè)置分類,暫不支持設(shè)置標(biāo)簽。 配置版權(quán)信息 登錄AppGallery Connect,點(diǎn)擊“APP與元服務(wù)”。 選擇要發(fā)布的元服務(wù)。 左側(cè)導(dǎo)航選擇“應(yīng)用上架 &
    發(fā)表于 10-30 17:47

    基于級(jí)聯(lián)分類器的人臉檢測(cè)基本原理

    關(guān)系檢測(cè)人臉?;诮y(tǒng)計(jì)的方法將人臉看成統(tǒng)一的二維像素矩陣,通過大量的樣本構(gòu)建人臉子空間,通過相似度的大小判斷人臉是否存在。 2) 基于灰度特征的人臉級(jí)聯(lián)分類器 基于灰度特征的人臉檢測(cè)級(jí)聯(lián)
    發(fā)表于 10-30 06:14

    RFID在垃圾分類中的核心優(yōu)勢(shì)

    居民投放垃圾時(shí),系統(tǒng)自動(dòng)識(shí)別投放者身份,并判斷是否正確分類,提升分類準(zhǔn)確率。激勵(lì)與監(jiān)督機(jī)制系統(tǒng)可根據(jù)正確分類行為自動(dòng)積分獎(jiǎng)勵(lì),鼓勵(lì)居民積極參與;對(duì)錯(cuò)誤投放行為可
    的頭像 發(fā)表于 09-23 11:08 ?572次閱讀
    RFID在垃圾<b class='flag-5'>分類</b>中的核心優(yōu)勢(shì)

    如何對(duì)電能質(zhì)量在線監(jiān)測(cè)裝置的應(yīng)用場(chǎng)景進(jìn)行分類?

    、功能配置、數(shù)據(jù)精度要求差異顯著,分類結(jié)果可直接指導(dǎo)裝置選型、校準(zhǔn)頻率設(shè)定及運(yùn)維策略制定。以下從 4 個(gè)核心維度進(jìn)行詳細(xì)分類: 一、按電力系統(tǒng) “發(fā) - 輸 - 配 - 用” 層級(jí)分類
    的頭像 發(fā)表于 09-02 17:48 ?807次閱讀
    如何對(duì)電能質(zhì)量在線監(jiān)測(cè)裝置的應(yīng)用場(chǎng)景<b class='flag-5'>進(jìn)行</b><b class='flag-5'>分類</b>?

    基于米爾瑞芯微RK3576開發(fā)板部署運(yùn)行TinyMaix:超輕量級(jí)推理框架

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

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

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

    基于LockAI視覺識(shí)別模塊:手寫數(shù)字識(shí)別

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

    在友晶LabCloud平臺(tái)上使用PipeCNN實(shí)現(xiàn)ImageNet圖像分類

    利用深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)進(jìn)行圖像分類是通過使用多個(gè)卷積層從輸入數(shù)據(jù)中提取特征,最后通過分類層做決策
    的頭像 發(fā)表于 04-23 09:42 ?1099次閱讀
    在友晶LabCloud平臺(tái)上使用PipeCNN實(shí)現(xiàn)ImageNet圖像<b class='flag-5'>分類</b>

    基于RV1126開發(fā)板實(shí)現(xiàn)自學(xué)習(xí)圖像分類方案

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