<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          基于卷積神經(jīng)網(wǎng)絡(CNN)的仙人掌圖像分類

          共 2779字,需瀏覽 6分鐘

           ·

          2020-12-18 07:38

          點擊上方小白學視覺”,選擇加"星標"或“置頂

          重磅干貨,第一時間送達

          今天我們的目標是建立一個分類器,將圖像分類為“仙人掌”或“非仙人掌”。


          01. 數(shù)據(jù)集


          這種分類問題是kaggle挑戰(zhàn)的內(nèi)容之一。目標是建立一個分類器,將圖像分類為“仙人掌”或“非仙人掌”。訓練集包含17500張圖像,而驗證集包含4000張圖像。具有仙人掌跡象的圖像位于名為cactus的文件夾中,反之亦然。以下是訓練數(shù)據(jù)集中的示例。

          仙人掌

          沒有仙人掌


          02. 數(shù)據(jù)預處理


          當我們通過用pyplot庫繪制其中一些圖像時,我們可以觀察到它們的大小不同,這對于以后的訓練過程是不利的。另請注意,我們已用指示仙人掌和非仙人掌的1和0標記了所有圖像。

          因此,我們需要將所有圖像規(guī)格化為相同大小。根據(jù)我們的實驗,最佳策略是將這些圖像裁剪為48 x 48像素大小。以下是一些裁剪的圖像。第一行顯示原始圖像,第二行顯示更改的圖像。

          這種方法的好處是它可以保存圖像的所有細節(jié),但是有時會丟失圖像的邊緣,如果圖像太小,我們需要使用黑色背景擴展圖像以使其與圖像的大小相同。丟失邊緣可能是一個大問題,因為我們可能會把仙人掌從原圖像中切除了。


          03. CNN結構與訓練


          卷積神經(jīng)網(wǎng)絡包含3層卷積層和2個完全連接層。每個卷積層都有一個3 x 3的濾波器,該濾波器的步幅為2,輸出為64個節(jié)點。之后,數(shù)據(jù)會通過最大池化層,以防止過度擬合并提取有用的信息。

          model = Sequential()model.add(Conv2D(64, (3,3), input_shape = X_train.shape[1:]))model.add(Activation(‘relu’))model.add(MaxPooling2D(pool_size=(2,2)))model.add(Conv2D(64, (3,3)))model.add(Activation(‘relu’))model.add(MaxPooling2D(pool_size=(2,2)))model.add(Conv2D(64, (3,3)))model.add(Activation(‘relu’))model.add(MaxPooling2D(pool_size=(2,2)))model.add(Flatten())model.add(Dense(64))model.add(Dense(1))model.add(Activation(‘sigmoid’))model.compile(loss=”binary_crossentropy”,optimizer=”adam”,metrics=[‘a(chǎn)ccuracy’])history = model.fit(X_train, Y_train, batch_size=32, epochs=10, validation_split=0.1, use_multiprocessing=True)model.save(‘model_48_crop’)

          以下是模型結構的概述。

          模型總結

          我們用10個epochs對模型進行訓練,結果顯示出驚人的效果。在下面的代碼段中,第一個精度是訓練精度,第二個精度是驗證精度。請注意,在最終預測之前,我們將訓練集的一部分(10%)用作驗證集。


          04. 測試結果


          現(xiàn)在,我們使用kaggle提供的validation_set作為測試集,以對我們的訓練模型進行最終預測。

          testdata = pd.read_pickle(“pickled_data_validation/crop_images(48, 48).pkl”)test_images = testdata.loc[:, data.columns != ‘class’]test_images = test_images.to_numpy()test_images = test_images.reshape((len(test_images),48, 48, 3))test_images = test_images/255.0print(test_images.shape)test_labels = testdata[‘class’]test_labels = test_labels.to_numpy()type(test_labels)test_labels = test_labels.reshape((len(test_labels),1))loss, acc = new_model.evaluate(test_images, test_labels, verbose=2)print(‘Restored model, accuracy: {:5.2f}%’.format(100*acc))

          這是結果。它達到了近99%的準確率,這是驚人的。


          05. 結論


          這篇文章的主要目的是與大家分享卷積網(wǎng)絡的結構,解決了這類二元分類問題,例如貓和狗的圖像分類。


          下載1:OpenCV-Contrib擴展模塊中文版教程
          在「小白學視覺」公眾號后臺回復:擴展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實戰(zhàn)項目31講
          小白學視覺公眾號后臺回復:Python視覺實戰(zhàn)項目31講,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學校計算機視覺。

          下載3:OpenCV實戰(zhàn)項目20講
          小白學視覺公眾號后臺回復:OpenCV實戰(zhàn)項目20講即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學習進階。

          下載4:leetcode算法開源書
          小白學視覺公眾號后臺回復:leetcode,即可下載。每題都 runtime beats 100% 的開源好書,你值得擁有!



          交流群


          歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學影像、GAN算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


          瀏覽 129
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  蜜桃亚洲无码电影 | 亚洲福利一区二区三区 | a片在线网站 | 欧美A级黄片 | 欧美亚洲综合网 |