YOLO v2YOLO v1은 1 stage object detector로 빠른 처리 속도를 가지지만, 2 stage object detector 보다 성능이 떨어진다는 한계가 존재했습니다. SSD는 이미지의 크기를 300x300으로 학습 시켰을 경우 처리 속도가 빠르지만 정확도가 낮으며 512x512로 학습시켰을 경우 정확도가 높가지만 처리 속도가 느린 trade off 관계를 가집니다. YOLO v2는 이를 개선하여 성능이 좋으면서 속도도 빠르도록 다양한 아이디어를 도입했습니다. 또한, Object Detection 데이터셋과 Classification 데이터셋을 합쳐 9000개 이상의 클래스를 탐지할 수 있는 YOLO 9000 모델도 제안합니다. 본 논문은 다음과 같이 3개의 파트로 구성되어 있습니다..
[백준] / [Python] / [14719] 빗물
·
Coding Test/백준
https://www.acmicpc.net/problem/14719문제2차원 세계에 블록이 쌓여있다. 비가 오면 블록 사이에 빗물이 고인다.비는 충분히 많이 온다. 고이는 빗물의 총량은 얼마일까?입력첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500)두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치부터 차례대로 W개 주어진다.따라서 블록 내부의 빈 공간이 생길 수 없다. 또 2차원 세계의 바닥은 항상 막혀있다고 가정하여도 좋다.출력2차원 세계에서는 한 칸의 용량은 1이다. 고이는 빗물의 총량을 출력하여라.빗물이 전혀 고이지 않을 경우 0을 출력하여라.import sysinput = sys.std..
[김영한의 자바 입문] 2일차
·
Dev/JAVA
변수 패키지(package)패키지는 지금 단계에서는 자바 파일을 구분하기 위한 폴더로 이해하면 된다.`variable` 라는 패키지를 만들었다면, 해당 패키지에 들어가는 자바 파일 첫줄에 ` package variable;` 와 같 이 소속된 패키지를 선언해주어야 한다.단순히 숫자 10을 3번 출력하는 코드이다. 그런데 여기서 숫자 10을 3번 출력하는 대신에 숫자 20을 3번 출력하도록 코드를 변경해보자. 어떻게 해야할까?숫자 10이라고 적혀 있는 곳을 모두 찾아서 숫자 20으로 변경해야 한다. 여기서는 총 3번의 코드 변경이 발생했다. 단순한 예제여서 코드를 3번만 변경했지만, 만약 숫자 10을 출력하는 부분이 100개라면 100개의 코드를 모두 변경해 야 한다. 더 나아가서 사용자가 숫자를 입력하고..
[백준] / [Python] / [2852] NBA 농구
·
Coding Test/백준
https://www.acmicpc.net/problem/2852문제동혁이는 NBA 농구 경기를 즐겨 본다. 동혁이는 골이 들어갈 때 마다 골이 들어간 시간과 팀을 적는 이상한 취미를 가지고 있다.농구 경기는 정확히 48분동안 진행된다. 각 팀이 몇 분동안 이기고 있었는지 출력하는 프로그램을 작성하시오.입력첫째 줄에 골이 들어간 횟수 N(1출력첫째 줄에 1번 팀이 이기고 있던 시간, 둘째 줄에 2번 팀이 이기고 있던 시간을 출력한다. 시간은 입력과 같은 형식(MM:SS)으로 출력한다.import sysinput = sys.stdin.readlineN = int(input())A = 0B = 0sA = 0sB = 0last = 0for _ in range(N): team, time = input()...
[SSD] Single Shot MultiBox Detector
·
Paper Review
SSDR-CNN 계열의 2 stage detector는 region proposals와 같은 다양한 시각을 모델에 제공하여 높은 정확도를 제공합니다. 하지만, region proposals을 사용하여 물체가 있을 법한 위치를 찾아내고 CNN을 통과하여 feature extraction 하는 과정은 시간이 많이 소비되어 느리다는 큰 단점을 가지고 있습니다. 반면, YOLO v1은 원본 이미지 전체를 통합된 네트워크로 처리하기 때문에 처리 속도가 매우 빠르다는 장점을 가지고 있지만, 각 grid 별로 2개의 bounding box만 선택하여 상대적으로 적은 시각을 제공하기 때문에 정확도가 떨어지는 단점을 가지고 있습니다. 이처럼 일반적으로 정확도와 속도는 trade-off 관계에 있지만, SSD에서는 다양한..
[김영한의 자바 입문] 1일차
·
Dev/JAVA
IDE인텔리제이(Intelli_J) 추천학습 단계에서는 커뮤니티 버전으로도 충분OSMac을 추천하지만, 필수는 아님자바 프로그램 실행자바 언어는 대소문자를 구분한다.public class HelloJavaHelloJava를 클래스라 한다. > 클래스는 뒤에서 학습할 예정지금은 단순히 HelloJava.java라는 파일을 만들었다고 이해하면 된다.파일명과 이름이 같아야한다.{} 블록을 사용해서 클래스의 시작과 끝을 나타낸다.public static void main(String[] args)main 메서드라 한다. 함수, 메서드는 뒤에서 학습할 예정자바는 main(String[] args) 메서드를 찾아서 프로그램을 실행한다지금은 단순히 main은 프로그램의 시작점이라고 이해하면 된다.{} 블록을 사용해서..
[백준] / [Python] / [1244] 스위치 켜고 끄기
·
Coding Test/백준
https://www.acmicpc.net/problem/1244문제1부터 연속적으로 번호가 붙어있는 스위치들이 있다. 스위치는 켜져 있거나 꺼져있는 상태이다. 에 스위치 8개의 상태가 표시되어 있다. ‘1’은 스위치가 켜져 있음을, ‘0’은 꺼져 있음을 나타낸다. 그리고 학생 몇 명을 뽑아서, 학생들에게 1 이상이고 스위치 개수 이하인 자연수를 하나씩 나누어주었다. 학생들은 자신의 성별과 받은 수에 따라 아래와 같은 방식으로 스위치를 조작하게 된다.남학생은 스위치 번호가 자기가 받은 수의 배수이면, 그 스위치의 상태를 바꾼다. 즉, 스위치가 켜져 있으면 끄고, 꺼져 있으면 켠다. 과 같은 상태에서 남학생이 3을 받았다면, 이 학생은 와 같이 3번, 6번 스위치의 상태를 바꾼다.여학생은 자기가 받은 수와..