<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>으노의 잡담방</title>
    <link>https://eunhoit.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Fri, 17 Apr 2026 09:56:38 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>으노방</managingEditor>
    <image>
      <title>으노의 잡담방</title>
      <url>https://tistory1.daumcdn.net/tistory/3998057/attach/726e622cb8fd4b93a3ce6f5d4eda40da</url>
      <link>https://eunhoit.tistory.com</link>
    </image>
    <item>
      <title>InfluxDB란?</title>
      <link>https://eunhoit.tistory.com/159</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;InfluxDB 정의 및 특징&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 빠른 쓰기 및 읽기가 가능한 오픈소스&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 시간 경과에 따른 일련의 시계열 데이터를 저장하는 NoSQL 형태의 데이터베이스&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 사용자를 위한 자세한 문서 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 간편하고 쉬운 설치&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Go, Java, Python, Node.js 등과 같은 클라이언트 지원&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 시간데이터에 대한 정밀도 지정(ex. 초 단위, 나노 초 단위)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- SQL 같은 질의어를 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Schemaless Design(스키마 음슴)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 데이터 보관 주기 설정 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 플러그인 아키텍처 설계로 타자 제품과 통합하는데 용이&lt;/p&gt;</description>
      <category>데이터 분석/지식 알고가기</category>
      <author>으노방</author>
      <guid isPermaLink="true">https://eunhoit.tistory.com/159</guid>
      <comments>https://eunhoit.tistory.com/159#entry159comment</comments>
      <pubDate>Mon, 21 Nov 2022 15:57:51 +0900</pubDate>
    </item>
    <item>
      <title>빅테이터 처리기술</title>
      <link>https://eunhoit.tistory.com/158</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;845&quot; data-origin-height=&quot;574&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ccWYC9/btrRMcHIGYz/SH4d8ZB7YnorKU0JiKPI70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ccWYC9/btrRMcHIGYz/SH4d8ZB7YnorKU0JiKPI70/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ccWYC9/btrRMcHIGYz/SH4d8ZB7YnorKU0JiKPI70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FccWYC9%2FbtrRMcHIGYz%2FSH4d8ZB7YnorKU0JiKPI70%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;845&quot; height=&quot;574&quot; data-origin-width=&quot;845&quot; data-origin-height=&quot;574&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;아파치 HBASE&lt;/b&gt; - NoSQL&lt;br /&gt;&lt;b&gt;HIVE&lt;/b&gt; - 데이터웨어하우스&lt;br /&gt;&lt;b&gt;Flume&lt;/b&gt; - 빅데이터 수집, 전송&lt;br /&gt;&lt;b&gt;oozie&lt;/b&gt; - 워크플로우&lt;br /&gt;&lt;b&gt;아파치 Spark&lt;/b&gt; - 하둡은 batch 처리부분이고 느린 부분이 있음 이런 부분을 좀 더 빠르게 메모리 기반화의 처리할 수 있게끔 다양 솔루션을 통합해 놓은 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Pig&lt;/b&gt; - ETL을 할 때 이 솔루션을 통해 도움을 얻을 수 있음 &lt;br /&gt;&lt;b&gt;Scooq&lt;/b&gt; - RDBMS(관계형DB)에서 HDFS(하둡분산파일시스템)으로 데이터를 옮기거나 HDFS에서 RDBMS로 데이터를 옮기고 싶을 때 중간에 gateway 역할하는 솔루션&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1209&quot; data-origin-height=&quot;573&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FpuPL/btrRGv2Daqv/2mmYdkMOKtVgc4ujuPkQ1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FpuPL/btrRGv2Daqv/2mmYdkMOKtVgc4ujuPkQ1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FpuPL/btrRGv2Daqv/2mmYdkMOKtVgc4ujuPkQ1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFpuPL%2FbtrRGv2Daqv%2F2mmYdkMOKtVgc4ujuPkQ1K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1209&quot; height=&quot;573&quot; data-origin-width=&quot;1209&quot; data-origin-height=&quot;573&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>데이터 분석/지식 알고가기</category>
      <author>으노방</author>
      <guid isPermaLink="true">https://eunhoit.tistory.com/158</guid>
      <comments>https://eunhoit.tistory.com/158#entry158comment</comments>
      <pubDate>Mon, 21 Nov 2022 13:54:42 +0900</pubDate>
    </item>
    <item>
      <title>우분투 디렉토리 Permission denied 해결</title>
      <link>https://eunhoit.tistory.com/157</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;486&quot; data-origin-height=&quot;33&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pBtwt/btrRMy4EMKS/FfW06OPu5vmyCfQ9gaGTPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pBtwt/btrRMy4EMKS/FfW06OPu5vmyCfQ9gaGTPk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pBtwt/btrRMy4EMKS/FfW06OPu5vmyCfQ9gaGTPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpBtwt%2FbtrRMy4EMKS%2FFfW06OPu5vmyCfQ9gaGTPk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;486&quot; height=&quot;33&quot; data-origin-width=&quot;486&quot; data-origin-height=&quot;33&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 디렉토리로 들어가고 싶은데 권한이 거부 됐다고 안들어가진다^^&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쉬운 해결책&lt;/p&gt;
&lt;pre id=&quot;code_1669004853901&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;chown {소유자:소유그룹} {파일or폴더}&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1669004885167&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo chown eunho:influxdb _internal/&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하니까 잘 들어가진다ㅎㅎ&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;730&quot; data-origin-height=&quot;73&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ea4QIp/btrRDYqtrw3/gjSDazhzs8bLaQOpeFN0SK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ea4QIp/btrRDYqtrw3/gjSDazhzs8bLaQOpeFN0SK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ea4QIp/btrRDYqtrw3/gjSDazhzs8bLaQOpeFN0SK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fea4QIp%2FbtrRDYqtrw3%2FgjSDazhzs8bLaQOpeFN0SK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;730&quot; height=&quot;73&quot; data-origin-width=&quot;730&quot; data-origin-height=&quot;73&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것 때문에 오전에 한참 해맸다....&lt;/p&gt;</description>
      <category>Linux/Ubuntu</category>
      <author>으노방</author>
      <guid isPermaLink="true">https://eunhoit.tistory.com/157</guid>
      <comments>https://eunhoit.tistory.com/157#entry157comment</comments>
      <pubDate>Mon, 21 Nov 2022 13:29:25 +0900</pubDate>
    </item>
    <item>
      <title>윈도우10 우분투(Ubuntu) Error: 0x80070422 에러</title>
      <link>https://eunhoit.tistory.com/155</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;우분투에서 작업 하려고 하니까 갑자기 아래와 같은 에러가 떴다;; 얼탱무&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYzoU0/btrRFgcVNxW/VX7MF9LXjejS5Nn2fOFlOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYzoU0/btrRFgcVNxW/VX7MF9LXjejS5Nn2fOFlOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYzoU0/btrRFgcVNxW/VX7MF9LXjejS5Nn2fOFlOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYzoU0%2FbtrRFgcVNxW%2FVX7MF9LXjejS5Nn2fOFlOK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;979&quot; height=&quot;512&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴 때 cmd 창을 관리자 권한으로 열어서 다음 명령어를 입력한다.&lt;/p&gt;
&lt;pre id=&quot;code_1668991938994&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sc config LxssManager start=auto&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2ZPNj/btrREV01pQZ/2xsMSzZnzhBtOjuUbnAhM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2ZPNj/btrREV01pQZ/2xsMSzZnzhBtOjuUbnAhM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2ZPNj/btrREV01pQZ/2xsMSzZnzhBtOjuUbnAhM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2ZPNj%2FbtrREV01pQZ%2F2xsMSzZnzhBtOjuUbnAhM1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;979&quot; height=&quot;512&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 아래와 같이 잘 실행되는 것을 볼 수 있다!!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;449&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biRBir/btrRBJG0n9d/LhbMtZKmAJX8VjFHfwMQtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biRBir/btrRBJG0n9d/LhbMtZKmAJX8VjFHfwMQtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biRBir/btrRBJG0n9d/LhbMtZKmAJX8VjFHfwMQtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiRBir%2FbtrRBJG0n9d%2FLhbMtZKmAJX8VjFHfwMQtk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;979&quot; height=&quot;449&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;449&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Linux/Ubuntu</category>
      <author>으노방</author>
      <guid isPermaLink="true">https://eunhoit.tistory.com/155</guid>
      <comments>https://eunhoit.tistory.com/155#entry155comment</comments>
      <pubDate>Mon, 21 Nov 2022 09:54:33 +0900</pubDate>
    </item>
    <item>
      <title>최종 mAP 몇 나왔는지 확인하는 방법</title>
      <link>https://eunhoit.tistory.com/152</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;199&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eaChDl/btrRuVzyHLD/WiG1t6nXnRzaEgbSeruBz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eaChDl/btrRuVzyHLD/WiG1t6nXnRzaEgbSeruBz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eaChDl/btrRuVzyHLD/WiG1t6nXnRzaEgbSeruBz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeaChDl%2FbtrRuVzyHLD%2FWiG1t6nXnRzaEgbSeruBz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;786&quot; height=&quot;199&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;199&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;딥러닝 학습 결과를 보면 최종 mAP가 뭔지 헷갈릴 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;mAP&amp;nbsp;.5&lt;/b&gt;는&amp;nbsp;IoU가&amp;nbsp;0.5&amp;nbsp;이상일때 &lt;br /&gt;&lt;b&gt;mAP&amp;nbsp;.5~.95&lt;/b&gt;는&amp;nbsp;IoU가&amp;nbsp;0.5~0.95&amp;nbsp;사이일때&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 확인하면 된다^&amp;lt;^&lt;/p&gt;</description>
      <category>AI/딥러닝</category>
      <author>으노방</author>
      <guid isPermaLink="true">https://eunhoit.tistory.com/152</guid>
      <comments>https://eunhoit.tistory.com/152#entry152comment</comments>
      <pubDate>Fri, 18 Nov 2022 09:35:35 +0900</pubDate>
    </item>
    <item>
      <title>(작성중)Yolo 기초부터 정복하기</title>
      <link>https://eunhoit.tistory.com/151</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;YOLO&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;YOLO(&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;You Only Look Once)란?&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Object detection 분야에서 많이 알려진 모델이다. 처음으로 one-stage-detection방법을 고안해 실시간으로 Object Detection이 가능하게 만들었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;345&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IWv6P/btrRhkUggGU/FRROKd3TmVmuuWXjafLAl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IWv6P/btrRhkUggGU/FRROKd3TmVmuuWXjafLAl0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IWv6P/btrRhkUggGU/FRROKd3TmVmuuWXjafLAl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIWv6P%2FbtrRhkUggGU%2FFRROKd3TmVmuuWXjafLAl0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;770&quot; height=&quot;345&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;345&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;543&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8kfU6/btrRdylJn1s/CWanOKZyBMF4NBluKZgnuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8kfU6/btrRdylJn1s/CWanOKZyBMF4NBluKZgnuk/img.png&quot; data-alt=&quot;(왼)Classification (오)Classification+Localization&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8kfU6/btrRdylJn1s/CWanOKZyBMF4NBluKZgnuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8kfU6%2FbtrRdylJn1s%2FCWanOKZyBMF4NBluKZgnuk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;255&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;543&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;(왼)Classification (오)Classification+Localization&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1.&lt;b&gt;Classification&lt;/b&gt;: 이미지가 주어졌을 때 Object를 분류하는 것(여러 Object 분류도 가능)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2.&lt;b&gt;Localization&lt;/b&gt;: Object에 대해 위치를 찾는 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3.&lt;b&gt;Object Detection&lt;/b&gt;: &lt;b&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;Object에 대해 위치와 무엇인지까지 맞추는 것(=&lt;b&gt;Classification&lt;/b&gt;+&lt;b&gt;Localization&lt;/b&gt;)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4.&lt;b&gt;Instance Segmentation&lt;/b&gt;: 이미지에 한 개 이상의 Object가 있을 때, 각각의 Object에 픽셀단위 위치와 무엇인지까지 맞추는 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*Object Detetion은 Box 형태의 위치를 찾고,&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Segmentation(분할)은 픽셀단위의 위치를 찾는 차이가 있음&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Object Detection은 크게 두 가지 방식으로 나뉜다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;Object Detection(객체 검출) 방식: 2-Stage 방식과 1-Stage 방식 비교하기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*resion proposal: 위치에 대한 정보를 제한 하겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*feature extractor: 각각의 위치에 대해 feature를 추출 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*classification: 분류&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*regression: 위치에 대한 정보를 정확히 조절하는 과정(쉽게 bounding box를 예측하는 좌표라고 생각하라)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2-Stage object detection&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 물체의 ①위치를 찾는 ②문제(localization)와 분류(classification) 문제를&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;순차적으로 해결&lt;/b&gt;한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Faster R-CNN&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1119&quot; data-origin-height=&quot;179&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dZ3G6k/btrRlsqmx22/tRYKlkXLi6LneKTQPQqXI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dZ3G6k/btrRlsqmx22/tRYKlkXLi6LneKTQPQqXI1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dZ3G6k/btrRlsqmx22/tRYKlkXLi6LneKTQPQqXI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdZ3G6k%2FbtrRlsqmx22%2FtRYKlkXLi6LneKTQPQqXI1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1119&quot; height=&quot;179&quot; data-origin-width=&quot;1119&quot; data-origin-height=&quot;179&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(1) 물체가 있을 법한 위치를 찾은 뒤에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(2) 각각의 위치에 대해서 class를 부여&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1-Stage object detection&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 물체의 위치를 찾는 문제(localization)와 분류&lt;span&gt;(classification)&lt;/span&gt;&amp;nbsp;문제를&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;한 번에 해결&lt;/b&gt;한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 2-Stage object detection 방식 보다 빠르게 동작하지만 정확도는 더 낮다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 대표적인 1-Stage object detection 방식에는 YOLO가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;YOLO는 Faster R-CNN 보다 정확도는 낮지만 속도는 훨씬 빠르다는 장점이 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;950&quot; data-origin-height=&quot;166&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Khz0O/btrRhJ1FrPI/gEar2UEAN1NL3sdZkBhSY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Khz0O/btrRhJ1FrPI/gEar2UEAN1NL3sdZkBhSY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Khz0O/btrRhJ1FrPI/gEar2UEAN1NL3sdZkBhSY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKhz0O%2FbtrRhJ1FrPI%2FgEar2UEAN1NL3sdZkBhSY1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;140&quot; data-origin-width=&quot;950&quot; data-origin-height=&quot;166&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1198&quot; data-origin-height=&quot;265&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oFAm0/btrRlHgLwPi/7pW5UX8UytK8ytTQXkO0f0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oFAm0/btrRlHgLwPi/7pW5UX8UytK8ytTQXkO0f0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oFAm0/btrRlHgLwPi/7pW5UX8UytK8ytTQXkO0f0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoFAm0%2FbtrRlHgLwPi%2F7pW5UX8UytK8ytTQXkO0f0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1198&quot; height=&quot;265&quot; data-origin-width=&quot;1198&quot; data-origin-height=&quot;265&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지가 들어 왔을 때에 Conv Layer(Convolution layer)와 Fully Connected Layer를 거친 후 Output을 Resahpe해서 그림과 같이 Output tensor를 만들게 된다. 이후 어떠한 알고리즘을 중간에 적용해서 우리가 원하는 강아지라는 Class를 찾아내고, 또 이 강아지가 어디에 있는지 Bounding Box 위치까지 찾아내는 결과를 도출한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #374970;&quot;&gt;&lt;b&gt;*Convolutional layer&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #374970;&quot;&gt;━&lt;/span&gt;&lt;s&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&quot;필터&quot;는 이미지를 통과하여 한 번에 몇 Pixel(NxN)을 스캔하고 각 형상이 속하는 클래스를 예측하는 형상 맵을 만듭니다.&lt;/span&gt;&lt;/s&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;(밑에 설명) &lt;a href=&quot;https://jeongminhee99.tistory.com/121&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;링크&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*Fully Connected Layer-&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;이미지를 분류/설명하는 데 가장 적합하게 예측.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;Fully connected laye&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;r의 목적은 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;&lt;b&gt;Convolution/Pooling&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt; 프로세스의 결과를 취하여 이미지를 정의된 라벨로 분류하는 데 사용하는 것입니다(단순한 분류의 예)(즉, &lt;span style=&quot;background-color: #ffffff; color: #ee2323;&quot;&gt;이전 계층의 모든 뉴런과 결합된 형태의 layer&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-a16ee013-a6fd-4deb-8713-80956291355c&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwsQD8/btrRhHpmsxc/OQAgatpBrX4TtRmT0cC3Tk/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwsQD8/btrRhHpmsxc/OQAgatpBrX4TtRmT0cC3Tk/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwsQD8/btrRhHpmsxc/OQAgatpBrX4TtRmT0cC3Tk/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/bwsQD8/btrRhHpmsxc/OQAgatpBrX4TtRmT0cC3Tk/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;특징 추출 영역은 Convolution Layer와 Pooling Layer를 여러 겹 쌓는 형태로 구성된다. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000;&quot;&gt;Convolution Layer는 입력 데이터에 필터를 적용 후 활성화 함수를 반영하는 필수 요소이다. Convolution Layer 다음에 위치하는 Pooling Layer는 선택적인 레이어입니다. CNN 마지막 부분에는 이미지 분류를 위한 Fully Connected 레이어가 추가된다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Object Detection 주요 용어 정리&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. &lt;b&gt;Bounding Box&lt;/b&gt; : 하나의 객체 전체를 포함하는 &lt;u&gt;가장 작은&lt;/u&gt; 직사각형 의미&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;641&quot; data-origin-height=&quot;388&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ofO8I/btrRcEEwkbV/5iY2iaseJRalVWj2UkyJX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ofO8I/btrRcEEwkbV/5iY2iaseJRalVWj2UkyJX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ofO8I/btrRcEEwkbV/5iY2iaseJRalVWj2UkyJX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FofO8I%2FbtrRcEEwkbV%2F5iY2iaseJRalVWj2UkyJX0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;641&quot; height=&quot;388&quot; data-origin-width=&quot;641&quot; data-origin-height=&quot;388&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. &lt;b&gt;IoU(Intersection Over Union)&lt;/b&gt;: 실제값(Ground Truth)와 모델이 예측한 값이 얼마나 겹치는지를 나타내는 지표&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;*실제 box와 예측한 box의 &amp;lt;교칩합/합집합&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;576&quot; data-origin-height=&quot;412&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s9kow/btrRb7toZyu/3kszuWeCoKVgKpOxK2lAoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s9kow/btrRb7toZyu/3kszuWeCoKVgKpOxK2lAoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s9kow/btrRb7toZyu/3kszuWeCoKVgKpOxK2lAoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs9kow%2FbtrRb7toZyu%2F3kszuWeCoKVgKpOxK2lAoK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;576&quot; height=&quot;412&quot; data-origin-width=&quot;576&quot; data-origin-height=&quot;412&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;209&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYxAmZ/btrQ5ktMXUd/JIsob6Inw1TbASWKOWoKi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYxAmZ/btrQ5ktMXUd/JIsob6Inw1TbASWKOWoKi1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYxAmZ/btrQ5ktMXUd/JIsob6Inw1TbASWKOWoKi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYxAmZ%2FbtrQ5ktMXUd%2FJIsob6Inw1TbASWKOWoKi1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;209&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;209&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3.&lt;b&gt; Confidenc Score&lt;/b&gt;: 찾은 Bounding Box안에 물체가 있을 확률 의미&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;box가 객체를 포함하고 있을 가능성(objectness)과 boundary box가 얼마나 정확한지를 반영한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;453&quot; data-origin-height=&quot;345&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkT0AJ/btrRbZ93fDt/Odb0aBTkLqQClK5KIb2tsK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkT0AJ/btrRbZ93fDt/Odb0aBTkLqQClK5KIb2tsK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkT0AJ/btrRbZ93fDt/Odb0aBTkLqQClK5KIb2tsK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkT0AJ%2FbtrRbZ93fDt%2FOdb0aBTkLqQClK5KIb2tsK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;453&quot; height=&quot;345&quot; data-origin-width=&quot;453&quot; data-origin-height=&quot;345&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4.&lt;b&gt;NMS(Non-Maximum Supperession)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;NMS를 수행하는 이유는 동일한 물체를 가리키는 여러 박스의 중복을 제거하기 위함이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*NMS는 오른쪽 이미지처럼 각 물체별 가장 좋은 Box 한 개만 남기고 나머지는 다 지우는 역할&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;①특정 Confidence Score 이하의 Bounding Box &lt;u&gt;제거&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;②남은 Bounding Box들을 Confidence Socre 기준으로 &lt;u&gt;내림차순 정렬&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;③맨 앞 박스 기준으로, 이 박스와&amp;nbsp; IoU가 특정 Threshold 이상인 박스들을 모두 제거&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt;그리고 ②와 ③을 반복&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;625&quot; data-origin-height=&quot;520&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOtcoj/btrRa3rhKRt/k8PZOU8D5IyCbSARAHAez0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOtcoj/btrRa3rhKRt/k8PZOU8D5IyCbSARAHAez0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOtcoj/btrRa3rhKRt/k8PZOU8D5IyCbSARAHAez0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOtcoj%2FbtrRa3rhKRt%2Fk8PZOU8D5IyCbSARAHAez0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;625&quot; height=&quot;520&quot; data-origin-width=&quot;625&quot; data-origin-height=&quot;520&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5&lt;b&gt;.AP(Average Precision) &amp;amp; mAP(mean Average Precsion)::성능평가지표&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞서, 정밀도(Precision)와 재현율(Recall)이 무엇인지 먼저 알아야한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;610&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qzUfu/btrQ2RMvyAU/kz8A5I5WkzYsySqOymCtf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qzUfu/btrQ2RMvyAU/kz8A5I5WkzYsySqOymCtf1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qzUfu/btrQ2RMvyAU/kz8A5I5WkzYsySqOymCtf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqzUfu%2FbtrQ2RMvyAU%2Fkz8A5I5WkzYsySqOymCtf1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;610&quot; height=&quot;432&quot; data-origin-width=&quot;610&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;631&quot; data-origin-height=&quot;284&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xbLsc/btrRa3kCl2j/rLpoat111z3UXCvmtsEDNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xbLsc/btrRa3kCl2j/rLpoat111z3UXCvmtsEDNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xbLsc/btrRa3kCl2j/rLpoat111z3UXCvmtsEDNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxbLsc%2FbtrRa3kCl2j%2FrLpoat111z3UXCvmtsEDNk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;631&quot; height=&quot;284&quot; data-origin-width=&quot;631&quot; data-origin-height=&quot;284&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정밀도(Precision)&lt;/b&gt;는 모든 검출 결과 중 옳게 검출한 비율&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;580&quot; data-origin-height=&quot;373&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0cFqr/btrRaE6fFx0/HE8X29bKpW9SCJZZDC9dz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0cFqr/btrRaE6fFx0/HE8X29bKpW9SCJZZDC9dz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0cFqr/btrRaE6fFx0/HE8X29bKpW9SCJZZDC9dz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0cFqr%2FbtrRaE6fFx0%2FHE8X29bKpW9SCJZZDC9dz0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;580&quot; height=&quot;373&quot; data-origin-width=&quot;580&quot; data-origin-height=&quot;373&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;212&quot; data-origin-height=&quot;91&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ejKMod/btrQ4bxd4Lo/j81jpdlKhXw5wlKdRT3PI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ejKMod/btrQ4bxd4Lo/j81jpdlKhXw5wlKdRT3PI1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ejKMod/btrQ4bxd4Lo/j81jpdlKhXw5wlKdRT3PI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FejKMod%2FbtrQ4bxd4Lo%2Fj81jpdlKhXw5wlKdRT3PI1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;212&quot; height=&quot;91&quot; data-origin-width=&quot;212&quot; data-origin-height=&quot;91&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;재현율(Recall)&lt;/b&gt;은 검출해내야 하는 물체들 중 제대로 검출된 비율&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;536&quot; data-origin-height=&quot;359&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bw7iqM/btrQ4XyKUSz/QXEVjuGQEBOhv4jmQmKtrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bw7iqM/btrQ4XyKUSz/QXEVjuGQEBOhv4jmQmKtrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bw7iqM/btrQ4XyKUSz/QXEVjuGQEBOhv4jmQmKtrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbw7iqM%2FbtrQ4XyKUSz%2FQXEVjuGQEBOhv4jmQmKtrK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;536&quot; height=&quot;359&quot; data-origin-width=&quot;536&quot; data-origin-height=&quot;359&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;215&quot; data-origin-height=&quot;89&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qY8Pj/btrQ66WumB1/Tu21a8CGz6CRcLWIUkxefk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qY8Pj/btrQ66WumB1/Tu21a8CGz6CRcLWIUkxefk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qY8Pj/btrQ66WumB1/Tu21a8CGz6CRcLWIUkxefk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqY8Pj%2FbtrQ66WumB1%2FTu21a8CGz6CRcLWIUkxefk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;215&quot; height=&quot;89&quot; data-origin-width=&quot;215&quot; data-origin-height=&quot;89&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;*모델의 성능이 좋으려면 이 두 값 모두 높아야 할 것(일반적으로 정밀도와 재현울은 살짝 반비례관계가 있다.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;*&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;i&gt;&lt;b&gt;AP&lt;/b&gt;&lt;/i&gt;는 precision과 recall을 그래프로 나타냈을 때의 면적이다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;366&quot; data-origin-height=&quot;284&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/czAV3E/btrRiaYOdPq/c3bQjCfN1QG6LE6z1gq9O1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/czAV3E/btrRiaYOdPq/c3bQjCfN1QG6LE6z1gq9O1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/czAV3E/btrRiaYOdPq/c3bQjCfN1QG6LE6z1gq9O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FczAV3E%2FbtrRiaYOdPq%2Fc3bQjCfN1QG6LE6z1gq9O1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;366&quot; height=&quot;284&quot; data-origin-width=&quot;366&quot; data-origin-height=&quot;284&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i&gt;&lt;b&gt;mAP&lt;/b&gt;&lt;/i&gt;:각 class마다 한 AP를 갖게 되는데 모든 class의 AP에 대해 평균값을 낸 것이 바로 mAP(mean AP)이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 모든 class에 대하여 Precision/Recall의 값을 avg취한 것이라고 볼 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;span style=&quot;background-color: #ffffff; color: #737373;&quot;&gt;이진 분류기의 성능 지표로 사용되는 정밀도와 재현율을 이용한 지표이며 객체 검출 알고리즘의 성능을 평가하는데 널리 사용합니다.&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;s&gt;6.Dataset&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;s&gt;Annotations: 각 이미지별 Label xml 파일(class, 이미지 size, Bounding box에 대한 정보 등)&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;s&gt;ImageSets: 특정 클래스가 어떤 이미지에 있는지 등에 대한 정보를 포함하는 폴더&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;&lt;span&gt;YOLO 특징&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;첫 번째&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;특징은 이미지 전체를 한번만 보는 것이다. YOLO 이전의 R-CNN은 이미지를 여러장으로 분할하고, CNN모델을 이용해 이미지를 분석했다. 그렇기 때문에 이미지 한장에서 Object Detection을 해도 실제로는 여러장의 이미지를 분석하는 것과 같았다. 하지만 YOLO는 이러한 과정 없이 이미지를 한 번만 보는 강력한 특징을 가지고 있다.&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;두 번째&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;특징은 통합된 모델을 사용하는 것이다. 기존 Object Detectin 모델은 다양한 전처리 모델과 인공 신경망을 결합해서 사용했다. 하지만 &lt;i&gt;YOLO는 통합된 모델을 사용해 간단하다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;세 번째&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;특징은 실시간으로 객체를 탐지 할 수 있는 것이다. YOLO가 유명해진 이유는 높은 성능은 아니더라도 준수한 성능으로 실시간으로 Object Detection이 가능했기 때문이다. 기존의 Faster R-CNN보다 6배 빠른 성능을 보여준다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1174&quot; data-origin-height=&quot;734&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ptcc7/btrRlIfKmc3/B7HfRwY7khB449GzBvKBkk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ptcc7/btrRlIfKmc3/B7HfRwY7khB449GzBvKBkk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ptcc7/btrRlIfKmc3/B7HfRwY7khB449GzBvKBkk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fptcc7%2FbtrRlIfKmc3%2FB7HfRwY7khB449GzBvKBkk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1174&quot; height=&quot;734&quot; data-origin-width=&quot;1174&quot; data-origin-height=&quot;734&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;YOLO와 기존의 Object Detection 모델과 비교 했을 때&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;첫 번째&lt;/b&gt;로 간단한 처리 과정으로 속도가 매우 빠르며 기존의 실시간 Object Detection 모델들과 비교하면 2배 정도 높은 mAP를 보인다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;두 번째&lt;/b&gt;는 이미지 전체를 한 번에 바라보는 방식을 이용하므로 class에 대한 맥락적 이해도가 다른 모델에 비해 높아 낮은 False-Positive(틀린 검출)를 보인다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;세 번째&lt;/b&gt;로 &lt;i&gt;일반화된 Object 학습이 가능하여 자연 이미지로 학습하고 이를 그림과 같은 곳에 테스트 해도 다른 모델에 비해 훨씬 높은 성능을 보여준다.&lt;/i&gt; 하지만 다른 모델에 비해 낮은 정확도를 가지고 있다. 특히 작은 객체에 대해 정확도가 낮다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2-Stage Detector 방식 예시--학습 중&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1257&quot; data-origin-height=&quot;548&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tu22a/btrRlHVlcnE/mb76UxvssvjJvhKxITzui0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tu22a/btrRlHVlcnE/mb76UxvssvjJvhKxITzui0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tu22a/btrRlHVlcnE/mb76UxvssvjJvhKxITzui0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ftu22a%2FbtrRlHVlcnE%2Fmb76UxvssvjJvhKxITzui0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1257&quot; height=&quot;548&quot; data-origin-width=&quot;1257&quot; data-origin-height=&quot;548&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. R-CNN&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지에 대하여 CPU 상에서 Selective Search를 진행한다. 그러면 물체가 존재할 법한 위치들을 찾고, 찾은 물체를 개별적으로 CNN-network에 넣어서 feature vector를 추출한다. 추출한 feature vector들에 대하여 SVM을 이용해서 classification을 진행하고&amp;nbsp; Regressor를 이용해서 정확한 물체의 위치가 어딘지 Bounding Box를 조절하여 예측할수 있도록 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. Fast R-CNN&lt;/b&gt; (기존 R-CNN보다 속도적인 측면에서 개선된 것)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;feature맵을 뽑기 위해서 CNN을 한 번만 거친다. 이후에 Rol Layer(Rol Layer pooling)를 통해 각각의 resion에 대해서 각각의 feature에 대한 정보를 추출한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;CNN 구조를 생각해 보면 feature map은 Input image에 대해서 각각의 위치에 대한 정보를 어느 정도 보존하기 있기 때문에 이러한 작업이가능하다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;기본적인&amp;nbsp; R-CNN은 여러 개의 클래스가 존재하는 상황에서 각각의 클래스에 대해서 바이너리 SVM을 사용하고&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;Fast R-CNN부터는 기본적인 CNN 네트워크를 이용하여 Softmax 레이어를 거쳐서 각각의 클래스에 대한 &lt;s&gt;problem &lt;/s&gt;rateprobability를 구하도록 한다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;3. Faster&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;R-CNN&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;R-CNN과 Fast R-CNN는 CPU에서 Resion Proposal을 진행한다. 이러한 과정에서 속도가 매우 느리기 때문에 모든 Resion Proposal 연산을 GPU 상에서 수행할 수 있도록 RPN(Resion Proposal Network)를 제한한다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;RPN도 딥러닝 모델이기 때문에 전부 gpu에 올려서 모델을 돌릴 수 있다. 정확히는 featrue맵을 보고 어느 곳에 물체가 있을 법한지 예측할 수 있도록한다. 즉 Selective Search의 시간적인 단점을 해결하는 대한이라고 보면 된다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;학습이 이루어지고 난 뒤에는 gpu상에서 한번의 forworiding(전송)만 수행하면 바로 어느 곳에 물체가 있을법한지 예측할 수 있기 때문에 훨씬 시간적 장점이 있다. 이후에 &lt;span&gt;Faster&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;R-CNN에서 사용하는 디텍션 네트워크 아키텍처를 사용해서 실질적으로 각각의 물체가 존재할법한 위치에 대해서 분류와 회귀를 진행한다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;Fast R-CNN 기존의 에서 Resion Proposal을 진행하는 Selective Search를 rpn 바궈서 모든 과정을 End to End 방식으로 학습할 수 있도록 아키텍쳐를 바꾼 구조라고 이해하라&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;Fast R-CNN과 Resion Proposal 합친것&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1194&quot; data-origin-height=&quot;536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0JetU/btrRhGxcD3Y/IKkWctoLqt7yGz0qMOZC1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0JetU/btrRhGxcD3Y/IKkWctoLqt7yGz0qMOZC1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0JetU/btrRhGxcD3Y/IKkWctoLqt7yGz0qMOZC1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0JetU%2FbtrRhGxcD3Y%2FIKkWctoLqt7yGz0qMOZC1K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1194&quot; height=&quot;536&quot; data-origin-width=&quot;1194&quot; data-origin-height=&quot;536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;CNN&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;b&gt;&amp;lt;CNN 등장 배경&amp;gt;&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;Overffing&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;:train데이터에 너무 의존해서 test데이터가 들어왔을 때 맞출 수가 없음(한 마디로 융통성이 없음)&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;391&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/r4nmm/btrQ4WNBT0A/X2rO3yDUNDKnuFLTB9wrM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/r4nmm/btrQ4WNBT0A/X2rO3yDUNDKnuFLTB9wrM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/r4nmm/btrQ4WNBT0A/X2rO3yDUNDKnuFLTB9wrM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr4nmm%2FbtrQ4WNBT0A%2FX2rO3yDUNDKnuFLTB9wrM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1125&quot; height=&quot;391&quot; data-origin-width=&quot;1125&quot; data-origin-height=&quot;391&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CNN&lt;/b&gt;이란? - Convolutional Neural Networks(합성곱 신경망) &amp;lt;알고리즘&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시각적 이미지 분석에 가장 일반적으로 사용되는 인공신경망의 한 종류로, 입력 이미지로부터 특징을 추출하여 입력 이미지가 어떤 이미지인지 클래스를 분류함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주로 이미지나 영상 데이터를 처리할 때 쓰이며, &lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;&lt;u&gt;Convolution이라는 전처리 작업이 들어가는 Neural Network 모델이다&lt;/u&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;예를들어 자동차 이미지가 있으면 &lt;b&gt;이미지 전체를 학습하지 않고, 쪼개서 부분적으로 이미지 특성을 추출&lt;/b&gt;한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;581&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BWDL4/btrQ6IuAW2y/ETinkU3gf4lJA7MgRIefM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BWDL4/btrQ6IuAW2y/ETinkU3gf4lJA7MgRIefM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BWDL4/btrQ6IuAW2y/ETinkU3gf4lJA7MgRIefM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBWDL4%2FbtrQ6IuAW2y%2FETinkU3gf4lJA7MgRIefM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;581&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;581&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;b&gt;Feature Learning(특징 검출)과 Classification(분류)&lt;/b&gt; 단계로 구분&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Feature Learning(특징 검출)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;①컨벌루션+ReLU: 이미지 특징 분석&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;②Pooling:(할 수도 있고, 안 할 수도 있음) 어떤 출력된 값을 가지고 채널 수를 유지하면서 입력의 변화에 민감하지 않게끔 거치는 단계&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;①, &lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;②과정이 반복하고 그 다음에&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Classification(분류)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;b&gt;Flatten(평면화)&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: 합성곱 신경망을 학습하고 나면 출력물이 행렬형태로 나타나는데 그것을 인공신경망을 적용할 수 있게 일열로 나열을하는 것&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;s&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;Fully Connected: flatten을 가지고 완전 연결망 통해 (아래와 이어짐)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;Softmax: 최종 분류를 함&lt;/span&gt;&lt;/span&gt;&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;*학습을 할 때에 ReLU function 사용&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;*분류할 때 Softmax function 사용&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;ANN &amp;amp; CNN 차이&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;ANN&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;*Affine: &lt;span style=&quot;background-color: #ffffff;&quot;&gt;기존에 단일 값, 혹은 단일 차원 배열로 넘겨주던 &lt;b&gt;입력값을 행렬로서 받아들여 한 번에 처리&lt;/b&gt;하는 것&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;281&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGd2Rn/btrQ4WfUsKo/ikdhrr2fYbnzeAZTxRZyV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGd2Rn/btrQ4WfUsKo/ikdhrr2fYbnzeAZTxRZyV1/img.png&quot; data-alt=&quot;기존 신경망(Artificial Neural Network)구조&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGd2Rn/btrQ4WfUsKo/ikdhrr2fYbnzeAZTxRZyV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGd2Rn%2FbtrQ4WfUsKo%2Fikdhrr2fYbnzeAZTxRZyV1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;281&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;281&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;기존 신경망(Artificial Neural Network)구조&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CNN&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;신경망 구조에서 &lt;b&gt;합성곱 계층(Convolutional Layer)&lt;/b&gt;과&lt;b&gt; 풀링 계층(Pooling Layer)이 추가&lt;/b&gt; 됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*풀링 계층은 생략 가능함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*맨 마지막은 ANN과 똑같음&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;249&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0x7de/btrRcHaC3M8/uTtqRWoRNxH4iizFp68lCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0x7de/btrRcHaC3M8/uTtqRWoRNxH4iizFp68lCk/img.png&quot; data-alt=&quot;CNN구조&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0x7de/btrRcHaC3M8/uTtqRWoRNxH4iizFp68lCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0x7de%2FbtrRcHaC3M8%2FuTtqRWoRNxH4iizFp68lCk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;249&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;249&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;CNN구조&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1. Convolutional Layer&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;s&gt;&lt;b&gt;(1) Color 이미지는 3D&lt;/b&gt;&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;s&gt;이미지 데이터는 높이*너비*채널의 3차원 텐서(tensor)로 표현할 수 있다. 만약, 이미지의 색상이 RGB 코드로 표현되었다면, 채널의 크기는 3이 되며 각각의 채널에는 R,G,B 값이 저장된다.&lt;/s&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;273&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/M4SI4/btrRfNP2Xq2/PTn4wWkBkaKMBNCIza6X81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/M4SI4/btrRfNP2Xq2/PTn4wWkBkaKMBNCIza6X81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/M4SI4/btrRfNP2Xq2/PTn4wWkBkaKMBNCIza6X81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FM4SI4%2FbtrRfNP2Xq2%2FPTn4wWkBkaKMBNCIza6X81%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;273&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;273&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;(2) 합성곱 연산&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;410&quot; data-origin-height=&quot;149&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nyRrm/btrQ3TjpmWw/fJ7dXbZezK4xLh2YRNPIUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nyRrm/btrQ3TjpmWw/fJ7dXbZezK4xLh2YRNPIUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nyRrm/btrQ3TjpmWw/fJ7dXbZezK4xLh2YRNPIUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnyRrm%2FbtrQ3TjpmWw%2FfJ7dXbZezK4xLh2YRNPIUk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;410&quot; height=&quot;149&quot; data-origin-width=&quot;410&quot; data-origin-height=&quot;149&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;621&quot; data-origin-height=&quot;224&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wNK7C/btrQ3T4LoON/FNdzfP7Mq8CckxC0G49ZP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wNK7C/btrQ3T4LoON/FNdzfP7Mq8CckxC0G49ZP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wNK7C/btrQ3T4LoON/FNdzfP7Mq8CckxC0G49ZP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwNK7C%2FbtrQ3T4LoON%2FFNdzfP7Mq8CckxC0G49ZP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;621&quot; height=&quot;224&quot; data-origin-width=&quot;621&quot; data-origin-height=&quot;224&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;*마스크=필터=커널 다 똑같은 말&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;합성곱 연산의 편향(bias)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;필터 적용 후 데이터에 편향이 더해짐&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;- 가중합을 구할 때에 가중치를 필터라고 생각한다면 bias는 절편을 더하는 것 처럼 생각하라&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;- 필터 적용 후 모든 원소에 더해짐&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;- 합성곱 신경망을 통해 학습이 거듭되며 필터의 원소 값과 편향이 매번 갱신되는 것임&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;- &lt;b&gt;bias를 더하는 이유는 0이 되는 것을 방지하기 위함&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;738&quot; data-origin-height=&quot;187&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vXSli/btrQ3TReCYS/tYA3FeuS4sVK4lKg5bIvxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vXSli/btrQ3TReCYS/tYA3FeuS4sVK4lKg5bIvxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vXSli/btrQ3TReCYS/tYA3FeuS4sVK4lKg5bIvxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvXSli%2FbtrQ3TReCYS%2FtYA3FeuS4sVK4lKg5bIvxK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;738&quot; height=&quot;187&quot; data-origin-width=&quot;738&quot; data-origin-height=&quot;187&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(3) 패딩(Padding) 처리&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;- &lt;b&gt;입력 데이터와 출력 데이터의 크기를 맞추기 위해 사용됨&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;- 원래 입력 데이터가(4,4)였는데 필터링이 되면서 행렬이 점점 작아진다. &lt;b&gt;출력 데이터를 입력 데이터 크기와 동일시하기 위해서 주변에 패딩처리를 해준다.&lt;/b&gt; 주로 0을 사용한다.(Zero padding)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;- 합성곱 연산을 여러 번 반복해야 하는 심층 신경망에서 출력 크기가 1이 되어버릴 수 있기 때문에 더 이상 합성곱 연산을 적용할 수 없게 되는 문제가 발생할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;- 따라서, 출력 크기를 조정하기 위해 패딩을 사용함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;617&quot; data-origin-height=&quot;287&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHA0kV/btrRcP0BORB/CwJb1c6Yfk134nrJrPBbq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHA0kV/btrRcP0BORB/CwJb1c6Yfk134nrJrPBbq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHA0kV/btrRcP0BORB/CwJb1c6Yfk134nrJrPBbq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHA0kV%2FbtrRcP0BORB%2FCwJb1c6Yfk134nrJrPBbq0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;617&quot; height=&quot;287&quot; data-origin-width=&quot;617&quot; data-origin-height=&quot;287&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;(4) 스트라이드(Stride)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;필터를 적용하는 위치의 &lt;b&gt;간격&lt;/b&gt;을 말함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;- 필터의 크기와 스트라이드 크기에 따라서 출력된 값의 크기가 커질 수도 있고, 작아질 수도 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;176&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dbIB4c/btrQ66WUOJB/ZpwIrJcRCz5maIGIxdlN21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dbIB4c/btrQ66WUOJB/ZpwIrJcRCz5maIGIxdlN21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dbIB4c/btrQ66WUOJB/ZpwIrJcRCz5maIGIxdlN21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdbIB4c%2FbtrQ66WUOJB%2FZpwIrJcRCz5maIGIxdlN21%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;176&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;176&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;왜 CNN을 사용할까?&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;일반 DNN의 문제점에서부터 출발한다. 일반 DNN은 기본적으로 1차원 형태의 데이터를 사용한다. 예를들면 1028*1028같은 2차원 형태의 이미지가 입력되는 경우, 이것을 &lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;&lt;u&gt;flatten 시켜서&lt;/u&gt; 한 줄 데이터로 만들어야 하는데 이 과정에서 &lt;u&gt;이미지의 공간적/지역적&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;(spatial/topological information)&lt;/span&gt; 정보가 손실되게 된다.&lt;/u&gt; 또한,&lt;i&gt; 추상화 과정없이 바로 연산과정으로 넘어가 버리기 때문에 학습시간과 능률의 효율성이 저하된다.&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;이러한 문제점에서부터 고안한 해결책이 CNN이다. CNN은 이미지를 날것(raw input) 그대로 받음으로써 공간적/지역적 정보를 유지한 채 특성(fearture)들의 계층을 빌드업한다. CNN의 중요 포인트는 이미지 전체보다는 부분을 보는 것, 그리고 이미지의 한 픽셀과 주변 픽셀들의 연관성을 살리는 것이다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;*&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;flatten&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529;&quot;&gt;플래튼 레이어(Flatten Layer) :: 2차원 &amp;gt; 1차원&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;:CNN에서 컨볼루션 레어이와 풀링 레이어를 반복적으로 거치면 주요 특징만 추출된다. 추출된 주요 득징은 2차원 데이터로 이러져있지만, Dense와 같이 분류를 위한 학습 레이어에서 1차원 데이터로 바꾸어서 학습되어야 한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;풀링 레이어(Pooling Layer)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;390&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Uesgy/btrQ6IVMAGC/8HDR2waglhLzXHSfC0puDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Uesgy/btrQ6IVMAGC/8HDR2waglhLzXHSfC0puDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Uesgy/btrQ6IVMAGC/8HDR2waglhLzXHSfC0puDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUesgy%2FbtrQ6IVMAGC%2F8HDR2waglhLzXHSfC0puDK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;390&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;390&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀링은 차례로 처리되는 데이터의 크기를 줄인다. 이과정으로 모델의 전체 매개변수의 수를 크게 줄일 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 풀링에는 MaxPooling과 AveragePooling이 존재&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;&lt;span&gt;MaxPooling은 해당 영역에서 최댓값을 찾는 방법이고, (위 그림이 MaxPooling의 예시이다.)&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span&gt;AveragePooling은 해당 영역의 평균값을 계산하는 방법이다.&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p&gt;&lt;img style=&quot;text-align: center; caret-color: transparent; letter-spacing: 0px;&quot; src=&quot;https://blog.kakaocdn.net/dn/cmV0xe/btrRg7obW8Y/f6EtxO82IOsRq84mUU1bdK/img.png&quot; data-origin-width=&quot;1053&quot; data-origin-height=&quot;350&quot; data-is-animation=&quot;false&quot; /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;*region proposal = bounding box&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&amp;nbsp;Region Proposal을&amp;nbsp; 찾아내는 방법&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- &lt;b&gt;Sliding Window&lt;/b&gt;: 객체가 존재할 수 있는 모든 크기의 영역에 대해 모두 탐색하여 classification을 수행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 과거에는 Sliding Window 방법을 사용하여 이미지의 전 영역에 대해 모두 탐색하였으나, search space 수가 너무 많아 연상이 오래 걸리는 비효울적인 방법이었음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 이를 해결하기 위해 입력 영상에서 '&lt;b&gt;객체가 있을 법한' 영역을 빠른 속도로 찾아내는 Selective Search 알고리즘이 개발&lt;/b&gt; 되었으며, 분류 성능 또한 기존의 Sliiding Window 보다 우수하였음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;R-CNN(Region based on CNN)이란?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Resion Proposal + CNN 으로, 인공지능을 활용한 객체 검출 알고리즘에 기본적으로 사용되는 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;- R-CNN &amp;gt; SPP-net(2014) &amp;gt; Fast R-CNN(2015) &amp;gt; Faster R-CNN(2016) &amp;gt; Mask R-CNN(2017) &amp;gt; YOLO(오늘날)&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;458&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6LBHc/btrRhVU2d3U/7GPEnyckKv8KKLNqcfX5t1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6LBHc/btrRhVU2d3U/7GPEnyckKv8KKLNqcfX5t1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6LBHc/btrRhVU2d3U/7GPEnyckKv8KKLNqcfX5t1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6LBHc%2FbtrRhVU2d3U%2F7GPEnyckKv8KKLNqcfX5t1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;458&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;458&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 인풋이미지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. resion 제한(bounding box처리된 부분이 resion)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. CNN feature을 계산&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 비행기냐=&amp;gt;no, 사람이냐=&amp;gt;yes, tv모티터냐=&amp;gt;no | 사전에 학습된 이미지와 지금 나온 이미지를 비교해서 사람인지 말인지를 분류&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Mask R-CNN이란?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 픽셀단위의 이미지 및 영상 분할 방법론으로 주어진 픽셀이 객체의 일부인지 아닌지를 나타내는 binary mask(객체 일부이면 1, 아니면 0으로 표기한 행렬)를 덮어씌어(mask) 출력함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 이미지 내의 객체(class)마다 경계 상자(boundary box)의 mask를 생성하도록 하고 classification 및 cofidence score를 계산함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- &lt;i&gt;이미지 입력 &amp;gt; Classification &amp;gt; Boundary box &amp;gt; Masking &amp;amp; Confidenc Score&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;724&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ls8cj/btrRg7IuPJb/E60jF2ikglKOvN2ckzgu71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ls8cj/btrRg7IuPJb/E60jF2ikglKOvN2ckzgu71/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ls8cj/btrRg7IuPJb/E60jF2ikglKOvN2ckzgu71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fls8cj%2FbtrRg7IuPJb%2FE60jF2ikglKOvN2ckzgu71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;422&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;724&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고 &lt;br /&gt;https://www.youtube.com/watch?v=BfzUCEXmOm0&amp;nbsp;&amp;nbsp;CNN합성곱신경망의&amp;nbsp;기본&amp;nbsp;개념 &lt;br /&gt;&lt;a href=&quot;http://wiki.hash.kr/index.php/%ED%95%A9%EC%84%B1%EA%B3%B1_%EC%8B%A0%EA%B2%BD%EB%A7%9D&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;http://wiki.hash.kr/index.php/%ED%95%A9%EC%84%B1%EA%B3%B1_%EC%8B%A0%EA%B2%BD%EB%A7%9D&lt;/a&gt;&amp;nbsp;이미지 &lt;br /&gt;&lt;a href=&quot;https://gaussian37.github.io/machine-learning-concept-bias_and_variance/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://gaussian37.github.io/machine-learning-concept-bias_and_variance/&lt;/a&gt;&amp;nbsp;바이어스 &lt;br /&gt;&lt;a href=&quot;https://velog.io/@kim_haesol/CNN-%EA%B8%B0%EC%B4%88%EC%84%A4%EB%AA%85&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://velog.io/@kim_haesol/CNN-%EA%B8%B0%EC%B4%88%EC%84%A4%EB%AA%85&lt;/a&gt;&amp;nbsp;CNN &lt;br /&gt;&lt;a href=&quot;https://davinci-ai.tistory.com/29&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://davinci-ai.tistory.com/29&lt;/a&gt;&amp;nbsp;&amp;nbsp;플래튼&amp;nbsp;레이어 &lt;br /&gt;&lt;a href=&quot;https://underflow101.tistory.com/41&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://underflow101.tistory.com/41&lt;/a&gt;&amp;nbsp;&amp;nbsp;풀링레이어 &lt;br /&gt;&lt;a href=&quot;https://wiserloner.tistory.com/455&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://wiserloner.tistory.com/455&lt;/a&gt;&amp;nbsp;&amp;nbsp;Affine &lt;br /&gt;&lt;a href=&quot;https://rubber-tree.tistory.com/entry/%EB%94%A5%EB%9F%AC%EB%8B%9D-%EB%AA%A8%EB%8D%B8-CNN-Convolutional-Neural-Network-%EC%84%A4%EB%AA%85&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://rubber-tree.tistory.com/entry/%EB%94%A5%EB%9F%AC%EB%8B%9D-%EB%AA%A8%EB%8D%B8-CNN-Convolutional-Neural-Network-%EC%84%A4%EB%AA%85&lt;/a&gt;&amp;nbsp;&amp;nbsp;Convolutional&amp;nbsp;Layer &lt;br /&gt;&lt;a href=&quot;https://www.popit.kr/%EC%8B%A4%EC%B2%B4%EA%B0%80-%EC%86%90%EC%97%90-%EC%9E%A1%ED%9E%88%EB%8A%94-%EB%94%A5%EB%9F%AC%EB%8B%9D3-%EC%9D%B4%EA%B2%83%EB%A7%8C%EC%9D%80-%EA%BC%AD-%EC%95%8C%EC%95%84%EB%91%90%EC%9E%90/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.popit.kr/%EC%8B%A4%EC%B2%B4%EA%B0%80-%EC%86%90%EC%97%90-%EC%9E%A1%ED%9E%88%EB%8A%94-%EB%94%A5%EB%9F%AC%EB%8B%9D3-%EC%9D%B4%EA%B2%83%EB%A7%8C%EC%9D%80-%EA%BC%AD-%EC%95%8C%EC%95%84%EB%91%90%EC%9E%90/&lt;/a&gt;&amp;nbsp;&amp;nbsp;bias &lt;br /&gt;https://www.youtube.com/watch?v=1WZkMaYupcU&amp;amp;list=LL&amp;amp;index=1&amp;amp;t=64s&amp;nbsp; &amp;nbsp; &amp;nbsp; R-CNN &lt;br /&gt;https://www.youtube.com/watch?v=jqNCdjOB15s&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;R-CNN, Fast R-CNN, Faster R-CNN &lt;br /&gt;https://blog.naver.com/PostView.naver?blogId=intelliz&amp;amp;logNo=221709190464&amp;amp;parentCategoryNo=&amp;amp;categoryNo=&amp;amp;viewDate=&amp;amp;isShowPopularPosts=false&amp;amp;from=postView&amp;nbsp;&amp;nbsp;Fully&amp;nbsp;connected&amp;nbsp;layer &lt;br /&gt;&lt;a href=&quot;https://byul91oh.tistory.com/321&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://byul91oh.tistory.com/321&lt;/a&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;욜로란, 장단점 &lt;br /&gt;&lt;a href=&quot;https://artiiicy.tistory.com/25&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://artiiicy.tistory.com/25&lt;/a&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;mAP &lt;br /&gt;&lt;a href=&quot;http://taewan.kim/post/cnn/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;http://taewan.kim/post/cnn/&lt;/a&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; cov, pooling, fully connetected 레이어 &lt;br /&gt;&lt;a href=&quot;https://inspace4u.github.io/dllab/lecture/2017/11/07/Mean_Average_Precision.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://inspace4u.github.io/dllab/lecture/2017/11/07/Mean_Average_Precision.html&lt;/a&gt;&amp;nbsp;&amp;nbsp;mAP&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://jeongminhee99.tistory.com/121&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://jeongminhee99.tistory.com/121&lt;/a&gt;&amp;nbsp; &amp;nbsp;Conv layer&lt;/p&gt;</description>
      <category>AI/딥러닝</category>
      <author>으노방</author>
      <guid isPermaLink="true">https://eunhoit.tistory.com/151</guid>
      <comments>https://eunhoit.tistory.com/151#entry151comment</comments>
      <pubDate>Mon, 14 Nov 2022 16:31:43 +0900</pubDate>
    </item>
    <item>
      <title>(작성중)yes24 책 리뷰 크롤링 하기</title>
      <link>https://eunhoit.tistory.com/150</link>
      <description>&lt;pre id=&quot;code_1665649613594&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from time import sleep
import pandas as pd
import csv
import os
from selenium.webdriver.common.keys import Keys
import warnings
warnings.simplefilter(action='ignore', category=FutureWarning) # concat 쓰라는 경고 무시


try:
  URL = 'http://www.yes24.com/Product/Goods/112929848'

  chrome_options = webdriver.ChromeOptions()
  driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
  driver.get(url=URL)
  sleep(3)
  driver.find_element(By.XPATH, '''//*[@id=&quot;yDetailTabNavWrap&quot;]/div/div[2]/ul/li[2]/a''').send_keys(Keys.ENTER) #리뷰 클릭

  df = pd.DataFrame(columns=['part','title','rating','text'])
  part = '경제/경영'
  title = '넘버스 스틱!'
  print('part: ', part)
  print('title: ', title)

  driver.implicitly_wait(time_to_wait=10)
  # for i in range(1,339):
  #   if i == 338:
  #     break
  cnt = 0
  for _ in range(35):
    for num in range(4,13):
      cnt+=1
      print(f&quot;&amp;gt;&amp;gt;{cnt} 페이지&quot;)
      for idx in range(1,7):
        try:
          rating_xpath = driver.find_element(By.XPATH, f'''//*[@id=&quot;infoset_oneCommentList&quot;]/div[3]/div[{idx}]/div[1]/div[1]/span[2]''') # 별점
        except:
          rating_xpath = driver.find_element(By.XPATH, f'''//*[@id=&quot;infoset_oneCommentList&quot;]/div[3]/div[{idx}]/div[1]/div[1]/span''') # 별점
        text_xpath = driver.find_element(By.XPATH, f'''//*[@id=&quot;infoset_oneCommentList&quot;]/div[3]/div[{idx}]/div[1]/div[2]/span''') # 리뷰 글
        rating_str = rating_xpath.text
        rating = rating_str[2:-1]
        text = text_xpath.text
        print(rating)
        print(text)
        df = df.append({'part':part, 'title':title, 'rating':rating, 'text':text}, ignore_index=True)
        sleep(2.5)
      print(&quot;-------------next------------&quot;)
      page_bar = driver.find_elements(By.CSS_SELECTOR, f'#infoset_oneCommentList &amp;gt; div:nth-child(4) &amp;gt; div.rvCmt_sortLft &amp;gt; div &amp;gt; a:nth-child({num})')
      # pn = len(page_bar)
      # print(&quot;pn:: &quot;, pn)
      page_bar[0].send_keys(Keys.ENTER)
    driver.find_element(By.XPATH, '''//*[@id=&quot;infoset_oneCommentList&quot;]/div[2]/div[1]/div/a[12]''').send_keys(Keys.ENTER)
  # next_bar = driver.find_elements(By.CSS_SELECTOR, '#infoset_oneCommentList &amp;gt; div:nth-child(2) &amp;gt; div.rvCmt_sortLft &amp;gt; div &amp;gt; a.bgYUI.next')
  # page_bar[0].send_keys(Keys.ENTER)
    

  df.to_csv(f'./yes24_{title}.csv', encoding='utf-8-sig')
except Exception as e:
  df.to_csv(f'./yes24_{title}.csv', encoding='utf-8-sig')
  print(&quot;!!!---예외가 발생했습니다.--- : &quot;, e, '-----!!!!')&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>크롤링/셀레니움</category>
      <author>으노방</author>
      <guid isPermaLink="true">https://eunhoit.tistory.com/150</guid>
      <comments>https://eunhoit.tistory.com/150#entry150comment</comments>
      <pubDate>Thu, 13 Oct 2022 17:27:14 +0900</pubDate>
    </item>
    <item>
      <title>[이것이 코딩 테스트다] 성적이 낮은 순서로 학생 출력하기</title>
      <link>https://eunhoit.tistory.com/149</link>
      <description>&lt;pre id=&quot;code_1665579473235&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;n = int(input())
s = {}
for _ in range(n):
    name,score = input().split()
    score = int(score)
    s[name] = score
    
s_ = sorted(s.items(), key = lambda item: item[1])

for i in range(len(s_)):
    print(s_[i][0])&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 만약에 &quot;s.items(), key = lambda item: item[1]&quot; 이걸 몰랐으면 어떻게 풀었을까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 번 list로 다시 풀어 보자&lt;/p&gt;</description>
      <category>개발자 성장 기록/코테</category>
      <author>으노방</author>
      <guid isPermaLink="true">https://eunhoit.tistory.com/149</guid>
      <comments>https://eunhoit.tistory.com/149#entry149comment</comments>
      <pubDate>Wed, 12 Oct 2022 21:59:01 +0900</pubDate>
    </item>
    <item>
      <title>[이것이 코딩 테스트다] 위에서 아래로 Python</title>
      <link>https://eunhoit.tistory.com/148</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;완전 쉬운 문제;;;&lt;/p&gt;
&lt;pre id=&quot;code_1665579407998&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;n = int(input())
_list = []
for _ in range(n):
    _list.append(int(input()))
_list.sort(reverse=True)
for i in _list:
    print(i)&lt;/code&gt;&lt;/pre&gt;</description>
      <category>개발자 성장 기록/코테</category>
      <author>으노방</author>
      <guid isPermaLink="true">https://eunhoit.tistory.com/148</guid>
      <comments>https://eunhoit.tistory.com/148#entry148comment</comments>
      <pubDate>Wed, 12 Oct 2022 21:57:02 +0900</pubDate>
    </item>
    <item>
      <title>[이것이 코딩 테스트다] 상하좌우 Python</title>
      <link>https://eunhoit.tistory.com/147</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;내 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1664367486430&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;n = int(input())
a = list(map(str,input().split()))
nm = [1,1]
for i in a:
    if i=='L':
        nm[1] = nm[1]-1
        if nm[1]&amp;lt;1:
            nm[1]+=1
    if i=='R':
        nm[1] = nm[1]+1
        if nm[1]&amp;gt;n:
            nm[1]-=1     
    if i=='U':
        nm[0] = nm[0]-1
        if nm[0]&amp;lt;1:
            nm[0]+=1
    if i=='D':
        nm[0] = nm[0]+1
        if nm[0]&amp;gt;n:
            nm[0]-=1
            
print(nm[0], nm[1])&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;L,R,U,D에 일일이 if문 만들어서 n 밖으로 빠져나가는 걸 if문으로 예외처리 시켰다.&lt;/p&gt;</description>
      <category>개발자 성장 기록/코테</category>
      <author>으노방</author>
      <guid isPermaLink="true">https://eunhoit.tistory.com/147</guid>
      <comments>https://eunhoit.tistory.com/147#entry147comment</comments>
      <pubDate>Wed, 28 Sep 2022 21:21:20 +0900</pubDate>
    </item>
  </channel>
</rss>