[컴퓨터 비전] 이미지 변환(2) - Bilinear Interpolation
·
컴퓨터 비전
이미지는 픽셀 단위로 이루어진 데이터이다. 픽셀 단위라는 것은 색깔을 가진 블록들을 하나하나 붙여서 만들었다는 것을 의미한다. 우리가 보는 휴대폰의 이미지나, 모니터의 이미지들 모두 픽셀로 이루어져 있으므로 자세히 들여다보면 무수한 정사각형들의 집합임을 알 수 있다. 하지만 현실의 물체들은 모두 연속적인 데이터이다. 픽셀처럼 딱 떨어지는 위치가 없다. 여기면 여기 저기면 저기, 어떤 기준점을 바탕으로 정확한 수치만큼 떨어져있다고 말하기 어렵다.      그림을 키워보자생각해보자. 우리가 가진 고양이 사진이 있는데, 좀 크게 키워서 보고싶다. 고양이 사진은 높이가 640픽셀 너비가 480 픽셀이라고 하자. 우선 틀을 만들어야하므로 무작정 이미지의 높이를 2배하고 너비를 2배한 틀을 만들었다. 고양이 사진은..
[2022 동계 모각코 4회차] 회고
·
기타/모각코
https://ideadummy.tistory.com/86 [안드로이드] getBitmap 메서드와 성능 결론은 'getBitmap 메서드를 되도록이면 사용하지 말자' 입니다. 이번에 랩실 프로젝트에서 제가 맡은 부분은 모델이 주는 bounding box를 스크린에 출력하는 것이었습니다. 모델이 얼마나 빠르게 결 ideadummy.tistory.com 반복적으로 화면을 업데이트 해주는 작업에서 getBitmap 메서드를 사용하고 있다면, 성능이 제대로 나오지 않을 가능성이 크다. 따라서 현재 성능에 만족하지 못하고 있다면, ImageAnalysis.Analyzer 객체에 인자로 제공되는 ImageProxy객체를 가공하여 사용하자. ImageProxy 객체를 비트맵으로 변환하는 코드는 다음과 같다. Bit..
[안드로이드] getBitmap 메서드와 성능
·
안드로이드
결론은 'getBitmap 메서드를 되도록이면 사용하지 말자' 입니다. 이번에 랩실 프로젝트에서 제가 맡은 부분은 모델이 주는 bounding box를 스크린에 출력하는 것이었습니다. 모델이 얼마나 빠르게 결과를 주던, 입력과 출력 사이에 계산하는 시간이 길면 길수록 출력되는 bounding box와 사용자가 보고있는 화면의 시간차는 계속해서 늘어납니다. 미리보기 화면 -> 화면에 대한 비트맵 이미지 -> 모델 -> bounding box 그리기 위와 같은 흐름을 구성했는데, 핵심은 미리보기 화면(previewView)에서 ImageAnalyzer를 통해 얻는 화면에 대한 비트맵 이미지는 계속해서 모델이 가져가도록 하고, 나중에 출력으로 나온 bounding box와 그때 사용자가 보고있었던 화면을 시간..
[2022 동계 모각코 - 4회차] 목표
·
기타/모각코
최근 랩실 프로젝트를 진행하면서 안드로이드에 대해 이해할 수 있는 시간이 있었다. 따라서 알게된 내용들을 포스팅 해보려 한다.
[2022 동계 모각코 - 3회차] 회고
·
기타/모각코
https://ideadummy.tistory.com/29 [컴퓨터 비전] 이미지 변환(1) 아무래도 이미지를 다루니까 이미지에 대해 설명하지 않을 수 없다. 이미지는 픽셀들의 집합이고, 각 픽셀들은 색을 가지고 있다. 모든 색은 빨강, 초록, 파랑의 적절한 조화로 만들 수 있음을 ideadummy.tistory.com 이전에 작성했던 포스팅을 수정하였다.
[2022년 동계 모각코 3회차] 목표
·
기타/모각코
컴퓨터 비전에 대한 기본기를 다지려 한다.
[2022 동계 모각코 2회차] 회고
·
기타/모각코
RCNN같은 모델들은 이미지에 대한 Classification을 먼저 수행한 모델을 활용하여 Detection 을 수행했다. 이는 2 stage 라고 부르는데, 위 문장을 이해해보면 시간이 꽤나 걸리는 모델임을 어렵지 않게 유추할 수 있다. YOLO는 1 stage로 Classification 과 detection을 동시에 학습한 모델이다. 따라서 학습에 대한 시간도 적을 뿐더러 논문에 의하면 더 나은 성능을 냈음을 볼 수 있는데, 이는 구현하는 입장에 있어 대단히 매력적인 요소가 아닐까 싶다. YOLO는 grid box를 시용하여 detection을 수행한 모델이다. 하나의 그리드에는 여러개의 객체가 존재할 수 있다. 따라서 겹치는 객체에 대해서도 찾아낼 수 있다. 그리고 전 포스팅에서 소개한 로스를 ..
[2022 동계 모각코 2회차] 목표
·
기타/모각코
YOLO에 대한 전반적인 이해하기
[2022 동계 모각코 - 1회차] 회고
·
기타/모각코
아무래도 구현에 있어 loss function을 구성하는 것이 가장 까다롭지 않았나 생각한다. 우선 람다는 모두 가중치이다. 논문에 나온 로스 식엔 coord에 대한 가중치와 noobj에 대한 가중치가 표시되어있다. coord는 bounding box의 좌표에 대한 것으로 이에 대한 가중치를 더 주고싶다면, 1보다 큰 값을 주도록 하자. noobj는 후에도 서술하겠지만, 모델이 객체로 인식하지 않은 bounding box를 의미한다. 다음은 저 이상한 1 표시다. 논문에는 다음과 같이 적혀있다. $1^{obj}_{i}$ 은 객체가 i번째 셀에 나타났다는 것을 의미하고, $1^{obj}_{ij}$ 는 i번째 셀에 대한 j번째 bounding box 예측이 합리적이라는 것을 의미한다. 저 합리적이라는 말이 ..
[2022 동계 모각코 - 1회차] 목표
·
기타/모각코
https://arxiv.org/pdf/1506.02640v5.pdf YOLO v1을 읽고 핵심 정리