1. 程式人生 > >Caffe學習筆記(三)——Matlab介面

Caffe學習筆記(三)——Matlab介面

本文主要介紹:Windows下Caffe框架的Matlab介面,即Matlab如何呼叫Caffe框架中的函式,進行分類、提取特徵以及訓練。

1 官網說明

2 相關說明

2.1 影象預處理

classification.m中,在影象輸入CNN網路之前,經過了一個預處理過程:
  • RGB影象轉成BGR;
  • BGR每個通道進行轉置,即 M*N 變成 N*M;
  • 調整影象大小,轉化為IMAGE_DIM*IMAGE_DIM*3,IMAGE_DIM預設為256;
  • 減去訓練影象均值;
  • 資料擴充套件,即對影象裁剪和翻折處理,使一張影象擴充套件成10張影象,裁剪後圖像大小為CROPPED_DIM*CROPPED_DIM*3,CROPPED_DIM預設為227,擴充套件方法為:分別取影象左上、右上、左下、右下、中心,如下圖,共得到5張影象,然後每張影象上下翻折,又得到5張,最後共擴充套件得到10張影象;
  • 10張影象放在一起構成輸入資料,維度為:CROPPED_DIM * CROPPED_DIM * 3 * 10

預處理過程圖:
擴充影象:

2.2 CNN輸入資料維度

       (1)CNN網路輸入資料的預設維度為[227 227 3 10],即classification.m中影象預處理結果,輸入資料必須為4維,即 [影象高度 影象寬度  通道數 影象個數](注:[影象高度 = 影象寬度),其中預處理把一張影象擴充套件為10張,每張影象都會得到一個分類結果,即每張影象屬於每類的概率(共1000類),然後把10張圖屬於每類的概率求和,最後把影象劃分為概率最大的那一類。      (2)網路輸入資料的維度是可以調整的,通過以下程式設定:
  1. net.blobs(
    'data').reshape([227 227 3 1]); % reshape blob 'data'
  2. net.reshape();  
如果四維輸入中的影象個數為1,即輸入為[影象高度 影象寬度 通道數 1](注:[影象高度 = 影象寬度),此時影象高度可以不為227,但不能相差太大      (3)可以一次對多張影象進行處理,只需要調整輸入的維度即可,網路執行結果 scores = net.forward(input_data) 中的scores維度為:1000*影象個數,即每列對應一張影象,表示該影象屬於每類的概率(共1000類);

2.3 簡單應用

    比較簡單的應用是,可以直接利用以訓練好的權值,對影象分類和提取特徵:分類得到的不是目標的類別名稱,而是一個類別號,具體類別可以查表得到,下面為類別號對應目標名稱;提取特徵,可以獲取各層特徵具體函式見
官網
  1. tench, Tinca tinca  
  2. goldfish, Carassius auratus  
  3. great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias  
  4. tiger shark, Galeocerdo cuvieri  
  5. hammerhead, hammerhead shark  
  6. electric ray, crampfish, numbfish, torpedo  
  7. stingray  
  8. cock  
  9. hen  
  10. ostrich, Struthio camelus  
  11. brambling, Fringilla montifringilla  
  12. goldfinch, Carduelis carduelis  
  13. house finch, linnet, Carpodacus mexicanus  
  14. junco, snowbird  
  15. indigo bunting, indigo finch, indigo bird, Passerina cyanea  
  16. robin, American robin, Turdus migratorius  
  17. bulbul  
  18. jay  
  19. magpie  
  20. chickadee  
  21. water ouzel, dipper  
  22. kite  
  23. bald eagle, American eagle, Haliaeetus leucocephalus  
  24. vulture  
  25. great grey owl, great gray owl, Strix nebulosa  
  26. European fire salamander, Salamandra salamandra  
  27. common newt, Triturus vulgaris  
  28. eft  
  29. spotted salamander, Ambystoma maculatum  
  30. axolotl, mud puppy, Ambystoma mexicanum  
  31. bullfrog, Rana catesbeiana  
  32. tree frog, tree-frog  
  33. tailed frog, bell toad, ribbed toad, tailed toad, Ascaphus trui  
  34. loggerhead, loggerhead turtle, Caretta caretta  
  35. leatherback turtle, leatherback, leathery turtle, Dermochelys coriacea  
  36. mud turtle  
  37. terrapin  
  38. box turtle, box tortoise  
  39. banded gecko  
  40. common iguana, iguana, Iguana iguana  
  41. American chameleon, anole, Anolis carolinensis  
  42. whiptail, whiptail lizard  
  43. agama  
  44. frilled lizard, Chlamydosaurus kingi  
  45. alligator lizard  
  46. Gila monster, Heloderma suspectum  
  47. green lizard, Lacerta viridis  
  48. African chameleon, Chamaeleo chamaeleon  
  49. Komodo dragon, Komodo lizard, dragon lizard, giant lizard, Varanus komodoensis  
  50. African crocodile, Nile crocodile, Crocodylus niloticus  
  51. American alligator, Alligator mississipiensis  
  52. triceratops  
  53. thunder snake, worm snake, Carphophis amoenus  
  54. ringneck snake, ring-necked snake, ring snake  
  55. hognose snake, puff adder, sand viper  
  56. green snake, grass snake  
  57. king snake, kingsnake  
  58. garter snake, grass snake  
  59. water snake  
  60. vine snake  
  61. night snake, Hypsiglena torquata  
  62. boa constrictor, Constrictor constrictor  
  63. rock python, rock snake, Python sebae  
  64. Indian cobra, Naja naja  
  65. green mamba  
  66. sea snake  
  67. horned viper, cerastes, sand viper, horned asp, Cerastes cornutus  
  68. diamondback, diamondback rattlesnake, Crotalus adamanteus  
  69. sidewinder, horned rattlesnake, Crotalus cerastes  
  70. trilobite  
  71. harvestman, daddy longlegs, Phalangium opilio  
  72. scorpion  
  73. black and gold garden spider, Argiope aurantia  
  74. barn spider, Araneus cavaticus  
  75. garden spider, Aranea diademata  
  76. black widow, Latrodectus mactans  
  77. tarantula  
  78. wolf spider, hunting spider  
  79. tick  
  80. centipede  
  81. black grouse  
  82. ptarmigan  
  83. ruffed grouse, partridge, Bonasa umbellus  
  84. prairie chicken, prairie grouse, prairie fowl  
  85. peacock  
  86. quail  
  87. partridge  
  88. African grey, African gray, Psittacus erithacus  
  89. macaw  
  90. sulphur-crested cockatoo, Kakatoe galerita, Cacatua galerita  
  91. lorikeet  
  92. coucal  
  93. bee eater  
  94. hornbill  
  95. hummingbird  
  96. jacamar  
  97. toucan  
  98. drake  
  99. red-breasted merganser, Mergus serrator  
  100. goose  
  101. black swan, Cygnus atratus  
  102. tusker  
  103. echidna, spiny anteater, anteater  
  104. platypus, duckbill, duckbilled platypus, duck-billed platypus, Ornithorhynchus anatinus  
  105. wallaby, brush kangaroo  
  106. koala, koala bear, kangaroo bear, native bear, Phascolarctos cinereus  
  107. wombat  
  108. jellyfish  
  109. sea anemone, anemone  
  110. brain coral  
  111. flatworm, platyhelminth  
  112. nematode, nematode worm, roundworm  
  113. conch  
  114. snail  
  115. slug  
  116. sea slug, nudibranch  
  117. chiton, coat-of-mail shell, sea cradle, polyplacophore  
  118. chambered nautilus, pearly nautilus, nautilus  
  119. Dungeness crab, Cancer magister  
  120. rock crab, Cancer irroratus  
  121. fiddler crab  
  122. king crab, Alaska crab, Alaskan king crab, Alaska king crab, Paralithodes camtschatica  
  123. American lobster, Northern lobster, Maine lobster, Homarus americanus  
  124. spiny lobster, langouste, rock lobster, crawfish, crayfish, sea crawfish  
  125. crayfish, crawfish, crawdad, crawdaddy  
  126. hermit crab  
  127. isopod  
  128. white stork, Ciconia ciconia  
  129. black stork, Ciconia nigra  
  130. spoonbill  
  131. flamingo  
  132. little blue heron, Egretta caerulea  
  133. American egret, great white heron, Egretta albus  
  134. bittern  
  135. crane  
  136. limpkin, Aramus pictus  
  137. European gallinule, Porphyrio porphyrio  
  138. American coot, marsh hen, mud hen, water hen, Fulica americana  
  139. bustard  
  140. ruddy turnstone, Arenaria interpres  
  141. red-backed sandpiper, dunlin, Erolia alpina  
  142. redshank, Tringa totanus  
  143. dowitcher  
  144. oystercatcher, oyster catcher  
  145. pelican  
  146. king penguin, Aptenodytes patagonica  
  147. albatross, mollymawk  
  148. grey whale, gray whale, devilfish, Esc