{"id":371,"date":"2020-08-16T22:25:46","date_gmt":"2020-08-16T13:25:46","guid":{"rendered":"http:\/\/cedartrees.co.kr\/?p=371"},"modified":"2021-04-03T19:15:01","modified_gmt":"2021-04-03T10:15:01","slug":"cnn-filter-image","status":"publish","type":"post","link":"http:\/\/blog.cedartrees.co.kr\/index.php\/2020\/08\/16\/cnn-filter-image\/","title":{"rendered":"CNN Filter \ubcc0\ud658 \uacb0\uacfc"},"content":{"rendered":"\n<p>\uc785\ub825 \uc774\ubbf8\uc9c0\uac00 CNN(Convolutional Neural Network) \ud544\ud130\ub97c \ud1b5\uacfc\ud558\uba74\uc11c \uc774\ubbf8\uc9c0\uc758 \ubcc0\ud654\uac00 \uc5b4\ub5bb\uac8c \ub418\ub294\uc9c0 \uc54c\uc544\ubcf4\uace0\uc790 \ud569\ub2c8\ub2e4. CNN \ud544\ud130\ub294 \uae30\uc874\uc758 \uba38\uc2e0\ub7ec\ub2dd \uae30\ubc18\uc758 Feature \ucd94\ucd9c \ubc29\uc2dd\uacfc\ub294 \ub2ec\ub9ac \uc790\ub3d9\uc73c\ub85c Feature\ub97c \ud559\uc2b5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/taewanmerepo.github.io\/2018\/01\/cnn\/cnnexam.png\" alt=\"\"\/><figcaption><em>https:\/\/www.researchgate.net\/figure\/Architecture-of-our-unsupervised-CNN-Network-contains-three-stages-each-of-which_283433254<\/em><\/figcaption><\/figure>\n\n\n\n<p>CNN \ub124\ud2b8\uc6cc\ud06c\ub294 \uc704\uc640 \uac19\uc740 \ub124\ud2b8\uc6cc\ud06c\ub97c \ud1b5\uacfc \ud558\uba70 \uc2a4\uc2a4\ub85c \uc774\ubbf8\uc9c0\uc5d0 \ub300\ud55c feature \uc815\ubcf4\ub97c \uc2b5\ub4dd\ud558\uac8c \ub429\ub2c8\ub2e4. \ubcf8 \ucf54\ub4dc\ub294 \ud558\ub098\uc758 \uac01 \ud544\ud130\ub97c \ud1b5\uacfc\ud558\uba70 \uc774\ubbf8\uc9c0\uac00 \uc5b4\ub5bb\uac8c \ubcc0\ud654\ub418\ub294\uc9c0\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \ubcf4\uc5ec\uc8fc\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ud14c\uc2a4\ud2b8\ub97c \uc704\ud574 \ud544\uc694\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c import\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import cv2\nimport torch\nimport numpy as np\nimport matplotlib.pyplot as plt<\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img src=\"https:\/\/opencv-python.readthedocs.io\/en\/latest\/_images\/lena.jpg\" alt=\"\"\/><figcaption><a href=\"https:\/\/opencv-python.readthedocs.io\/en\/latest\/doc\/01.imageStart\/imageStart.html\">https:\/\/opencv-python.readthedocs.io\/en\/latest\/doc\/01.imageStart\/imageStart.html<\/a><\/figcaption><\/figure><\/div>\n\n\n\n<p>\uc704\uc758 \uc774\ubbf8\uc9c0\ub294 cv2.imread\ub85c \uc77d\uc73c\uba74 (225, 400, 3) \ud615\ud0dc\uc758 shape \uc815\ubcf4\ub97c \uac00\uc9d1\ub2c8\ub2e4. \uc6b0\uc120 \ub370\uc774\ud130\uc758 \uc790\ub8cc\ud615\uc744 \ubc14\uafb8\uace0 \uc815\uaddc\ud654\ub97c \uc218\ud589\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub610 \ud558\ub098 \uc791\uc5c5\ud574\uc57c \ud560 \uac83\uc740 pytorch\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud558\uae30 \ud3b8\ud558\ub3c4\ub85d dimension\uc744 \ubcc0\uacbd\ud558\ub294 \uc791\uc5c5\uc744 \uc218\ud589\ud569\ub2c8\ub2e4. pytorch cnn\uc5d0\uc11c \ub370\uc774\ud130\ub97c \uc77d\uae30 \uc704\ud55c \ub370\uc774\ud130 \ud0c0\uc785\uc740 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"805\" height=\"268\" src=\"http:\/\/cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/cnn_shape.png\" alt=\"\" class=\"wp-image-381\" srcset=\"http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/cnn_shape.png 805w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/cnn_shape-300x100.png 300w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/cnn_shape-768x256.png 768w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption>conv2d input, output data shape<\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" width=\"588\" height=\"487\" src=\"http:\/\/cedartrees.co.kr\/wp-content\/uploads\/2021\/02\/Conv2D.gif\" alt=\"\" class=\"wp-image-874\"\/><\/figure><\/div>\n\n\n\n<p>conv2d\uc758 \uc785\ub825 \ud615\ud0dc\ub294 (N, C, H, W) \ud615\ud0dc\uc774\uae30 \ub54c\ubb38\uc5d0 \uc774\uc5d0 \ub9de\uac8c shape \uc815\ubcf4\ub97c \ubcc0\uacbd\ud558\uace0 plt.imshow() \ud568\uc218\ub97c \ud1b5\ud574\uc11c \uc774\ubbf8\uc9c0\ub97c \ud45c\uc2dc\ud574\ubd05\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">_image = cv2.imread('.\/lena.jpg')\n_image = _image.astype(np.float32)\n_image = np.multiply(_image, 1.0 \/ 255.0)\n\nimage = torch.from_numpy(_image)\nimage = image[np.newaxis, :] \nimage = image.permute(0, 3, 1, 2)\n\nplt.imshow(image[0,2,:], cmap='gray')<\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" width=\"375\" height=\"223\" src=\"http:\/\/cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-4.png\" alt=\"\" class=\"wp-image-377\" srcset=\"http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-4.png 375w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-4-300x178.png 300w\" sizes=\"(max-width: 375px) 100vw, 375px\" \/><\/figure><\/div>\n\n\n\n<p>\uc774\ubbf8\uc9c0\ub97c \ucd9c\ub825\ud558\uae30 \uc704\ud574\uc11c \uac04\ub2e8\ud55c \ucd9c\ub825\uc6a9 \ud568\uc218\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">def imagegrid(args, output):\n    width=args[0]\n    height=args[1]\n    rows = args[2]\n    cols = args[3]\n    axes=[]\n    fig=plt.figure()\n    fig.set_size_inches((20,14))\n    for i in range(rows*cols):\n        img = output[0,i,:]\n        axes.append( fig.add_subplot(rows, cols, i+1) )\n        plt.imshow(img)\n    fig.tight_layout()    \n    plt.show()<\/pre>\n\n\n\n<p>\uccab\ubc88\uc9f8 conv2d\ub294 \uc785\ub825 \ub370\uc774\ud130\ub97c \ubc1b\uc544\uc11c 12 Channel\ub85c \ucd9c\ub825\uac12\uc744 \ub098\ud0c0\ub0b4\ub294 \ud568\uc218\uc785\ub2c8\ub2e4. \uc774\ub54c kernel \uc0ac\uc774\uc988\ub97c 5\ub85c \uc815\uc758\ud588\uc2b5\ub2c8\ub2e4. conv2d\ub97c \ud1b5\ud574\uc11c \ucd9c\ub825\ub418\ub294 \uc774\ubbf8\uc9c0 \uc815\ubcf4\ub294 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4. \ud574\ub2f9 \uc774\ubbf8\uc9c0\ub4e4\uc740 CNN\uc5d0\uc11c \uc0dd\uc131\ud55c \ud544\ud130\ub97c \ud1b5\uacfc\ud55c \uc774\ubbf8\uc9c0 \ub4e4\uc785\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ubc29\uc2dd\uc744 \uacc4\uc18d\ud558\uba70 \uace1\uc120, \uc9c1\uc120, \ub300\uac01\uc120 \ub4f1 \uc774\ubbf8\uc9c0\uc758 \ud2b9\uc9d5 \uc815\ubcf4\ub97c \ucd94\ucd9c\ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">conv1 = torch.nn.Conv2d(3,12,5)\noutput = conv1(image)\nconv1_output = output.detach().numpy()\nimagegrid([100,100,3,4], conv1_output)<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"596\" src=\"http:\/\/cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-1-2-1024x596.png\" alt=\"\" class=\"wp-image-378\" srcset=\"http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-1-2-1024x596.png 1024w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-1-2-300x175.png 300w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-1-2-768x447.png 768w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-1-2.png 1432w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/figure>\n\n\n\n<p>\uc704\uc640 \uac19\uc740 \ubc29\ubc95\uc73c\ub85c conv2d \ub124\ud2b8\uc6cc\ud06c\ub97c \ud55c\ubc88 \ub354 \ud1b5\uacfc\ud574\ubd05\ub2c8\ub2e4. \uc774\ubc88\uc5d0\ub294 24\uac1c\uc758 \uc774\ubbf8\uc9c0\ub97c \ucd9c\ub825\ud558\uac8c \ub429\ub2c8\ub2e4. conv2d\ub97c \ud1b5\uacfc\ud558\uba74\uc11c \uc810\uc810 \uc774\ubbf8\uc9c0\uc758 \ud06c\uae30\ub294 \uc791\uc544\uc9c0\uace0 \uc6d0\ubcf8 \uc774\ubbf8\uc9c0 \ud615\ud0dc\ub294 \ud544\ud130\ub97c \uc9c0\ub098\uba70 \uc810\uc810 Feature\uc758 \ud2b9\uc9d5 \uc815\ubcf4\uac00 \ub4dc\ub7ec\ub098\uac8c \ub429\ub2c8\ub2e4. <\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">conv2 = torch.nn.Conv2d(12,24,5)\noutput = conv2(output)\nconv2_output = output.detach().numpy()\nimagegrid([100,100,6,4], conv2_output)<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"765\" src=\"http:\/\/cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-2-1-1024x765.png\" alt=\"\" class=\"wp-image-379\" srcset=\"http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-2-1-1024x765.png 1024w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-2-1-300x224.png 300w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-2-1-768x574.png 768w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-2-1.png 1338w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/figure>\n\n\n\n<p>\ud55c\ubc88 \ub354 conv2d\ub97c \uc218\ud589\ud574\uc11c 48\uac1c\uc758 \uc774\ubbf8\uc9c0 \ub370\uc774\ud130\ub97c \ub9cc\ub4e4\uc5b4 \ub0c5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">conv3 = torch.nn.Conv2d(24,48,5)\noutput = conv3(output)\nconv3_output = output.detach().numpy()\nimagegrid([100,100,6,8], conv3_output)<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"661\" src=\"http:\/\/cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-3-1-1024x661.png\" alt=\"\" class=\"wp-image-380\" srcset=\"http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-3-1-1024x661.png 1024w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-3-1-300x194.png 300w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-3-1-768x496.png 768w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-3-1.png 1432w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/figure>\n\n\n\n<p> \uc774\ub7f0 \ubc29\uc2dd\uc73c\ub85c \uc5ec\ub7ec \ucc28\ub840 conv2d\ub97c \ud1b5\uacfc \ud558\uba74\uc11c \uc774\ubbf8\uc9c0\uc758 \ud2b9\uc9d5\ub4e4\uc77c \ucd94\ucd9c\ud574 \ub0b4\ub294 \uacfc\uc815\uc744 \ubc18\ubcf5\ud558\uac8c \ub429\ub2c8\ub2e4. CNN \uc740 \ub9c8\uc9c0\ub9c9\uc5d0 \uc774\ub807\uac8c \ub9cc\ub4e4\uc5b4\uc9c4 \uc815\ubcf4\ub4e4\uc744 Linear \ubaa8\ub4c8\uc744 \ud1b5\uacfc\ud558\uba74\uc11c \ucd5c\uc885 \uc801\uc73c\ub85c Classification \ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc608\ub97c \ub4e4\uc5b4 \ud604\uc7ac\uc758 \uc774\ubbf8\uc9c0\uac00 (60,97) \uc0ac\uc774\uc988\ub77c\uba74 Linear \ubaa8\ub4c8\uc758 \uc785\ub825\uc740 48*60*97\uc744 \uc785\ub825\uc73c\ub85c \ubc1b\uace0 \uc784\uc758\uc758 \ud06c\uae30\uc758 \ucd9c\ub825 \uac12\uc744 \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c Linear \uacfc\uc815\uc744 \ud1b5\uacfc\ud558\uba74\uc11c ReLU, BatchNorm\uacfc \uac19\uc740 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74 \ud559\uc2b5\uc774 \ub354 \ud6a8\uc728\uc801\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc785\ub825 \uc774\ubbf8\uc9c0\uac00 CNN(Convolutional Neural Network) \ud544\ud130\ub97c \ud1b5\uacfc\ud558\uba74\uc11c \uc774\ubbf8\uc9c0\uc758 \ubcc0\ud654\uac00 \uc5b4\ub5bb\uac8c \ub418\ub294\uc9c0 \uc54c\uc544\ubcf4\uace0\uc790 \ud569\ub2c8\ub2e4. CNN \ud544\ud130\ub294 \uae30\uc874\uc758 \uba38\uc2e0\ub7ec\ub2dd \uae30\ubc18\uc758 Feature \ucd94\ucd9c \ubc29\uc2dd\uacfc\ub294 \ub2ec\ub9ac \uc790\ub3d9\uc73c\ub85c Feature\ub97c \ud559\uc2b5\ud569\ub2c8\ub2e4. CNN \ub124\ud2b8\uc6cc\ud06c\ub294 \uc704\uc640 \uac19\uc740 \ub124\ud2b8\uc6cc\ud06c\ub97c \ud1b5\uacfc \ud558\uba70 \uc2a4\uc2a4\ub85c \uc774\ubbf8\uc9c0\uc5d0 \ub300\ud55c feature \uc815\ubcf4\ub97c \uc2b5\ub4dd\ud558\uac8c \ub429\ub2c8\ub2e4. \ubcf8 \ucf54\ub4dc\ub294 \ud558\ub098\uc758 \uac01 \ud544\ud130\ub97c \ud1b5\uacfc\ud558\uba70 \uc774\ubbf8\uc9c0\uac00 \uc5b4\ub5bb\uac8c \ubcc0\ud654\ub418\ub294\uc9c0\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \ubcf4\uc5ec\uc8fc\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4. \ud14c\uc2a4\ud2b8\ub97c \uc704\ud574 \ud544\uc694\ud55c &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.cedartrees.co.kr\/index.php\/2020\/08\/16\/cnn-filter-image\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;CNN Filter \ubcc0\ud658 \uacb0\uacfc&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[41,14],"tags":[37,61,121,72,55],"_links":{"self":[{"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/posts\/371"}],"collection":[{"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/comments?post=371"}],"version-history":[{"count":5,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/posts\/371\/revisions"}],"predecessor-version":[{"id":876,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/posts\/371\/revisions\/876"}],"wp:attachment":[{"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/media?parent=371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/categories?post=371"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/tags?post=371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}