분류 전체보기

    이미지 noise 제거 (with opencv)

    @@@ opencv를 통하여 불러오는 이미지는 Bitmap 형식이므로 , 어떤 이미지라도 노이즈가 존재한다. Noise 픽셀들만 정확 히 찾아내서 원래색으로 되돌리는것은 불가능하다. 1.어떤 픽셀이 noise인지 알수없다. 2.알수있다하더라도 원래 어떤색을 가지고있었는지 알수가없다. 그래서 Noise를 완전히 없애기는 어려우니 눈에 덜 띄도록 하는것이 한가지 방법이될수있다. Noise픽셀의 특징은 주변과 다른색을 가진다는것인데 이것을 주변 픽셀들과 비슷한 색깔을 갖도록하면 될것이다?! 다만 어떤 픽셀이 Noise인지를 모르기때문에 모든 필셀에 대해서 주변 픽셀들과 비슷한 색을 갖도록 하는것이 noise를 완화시키는 한가지 방법이다. 그중하나의 알고리즘이 fastNlMeansDenoisingColored ..

    리눅스 명령어 정리

    파일갯수확인 ls -l | grep ^- | wc -l 상세한 파일정보 ls -alh 모든파일이전 mv * .. 현재메모리 공간 확인 df -h 계속업데이트 예정..

    데이터 전처리와 Augmentation(증가) // 인공지능 논문리뷰

    모델이 적은 이미지에서 최대한 많은 정보를 뽑아내서 학습을 할수 있도록 이미지를 augmentation을 진행한다. 이미지를 사용할때마다 임의로 변형을 가함으로써 더 많은 이미지를 보고 공부하는것과 같은 효과를 낸다. 이를 통해 과적합을 방지할수있다. 현재 텐서플로우의 경우 https://hoya012.github.io/blog/Bag-of-Tricks-for-Image-Classification-with-Convolutional-Neural-Networks-Review/

    epochs/batch size

    epochs = 학습횟수 예를들어 epochs이 40이면 전체데이터를 40번 사용해서 학습을 거치는것 epochs 이 너무 높으면 오버피팅이 일어나고 너무 적으면 언더피팅이 일어나니 잘맞춰줘야됨 batch size 메모리 한계와 속도저하때문에 한번의 epoch에서 모든 데이터를 한껍너에 집어넣을 수없다. 그래서 데이터를 나누어서 주게된다 이때 몇번 나누어서 주는가를 iteration이라고한다. 각 iteration마다 주는 데이터사이즈를 batch size라고 한다. --batch size 장단점 줄임으로써 얻는점 1.필요한 메모리 감소 전체 데이터를 쪼개어 여러번 학습하는것이기 때문에 최소 요구 메모리량을 줄일수있다. 2.학습속도 향상 한번의 propagation 후 weight가 갱신되는데 batch..

    openCV Error

    위성이미지 객체인식 대회 학습이 끝나고 인퍼런스 진행중 openCv에러 가떳다 에러 사항은 다음과 같고 찾아보자 . OpenCV Error: Assertion failed (intersection.size()

    Opencv란?

    먼저. 컴퓨터비전에 대해 알아보자. 1. 컴퓨터 비전은 컴퓨터를 이용하여 정지된 영상 또는 동영상으로 부터 의미있는 정보를 추출하는 방법을 연구하는 학문입니다. 2. 사람의 눈으로 사물을 보는 것 처럼 컴퓨터가 사물을 보고 사람과 같은 기능을 수행할 수 있게 연구하는 학문입니다. 3. 눈의 역할은 카메라가 대신하고, 뇌가 하는 작업을 알고리즘을 통해 컴퓨터가 유사하게 수행할 수 있도록 만드는 작업이 컴퓨터 비전입니다. 결론 == 쉽게 말해 컴퓨터 비전이란 사람처럼 컴퓨터가 사물을 인지하고 의미있는 정보를 수학적 알고리즘을 통해 추출해내는 학문이다 왜 OpenCV에서는 RGB가 아니라 BGR 로 저장할까? 별로 중요하지 않고, OpenCV 개발할때, 카메라 제조사 등이 BGR포맷을 선호해서 그랬다고 한다...

    공부(파이프라인)

    보호되어 있는 글입니다.

    명령어

    텐서보드 모델 로그파일에서 tensorboard --logdir=result_train

    Tensor란?

    1. Tensor란? 텐서란 매우 수학적인 개념으로 데이터의 배열이라고 볼 수 있습니다. 텐서의 Rank는 간단히 말해서 몇 차원 배열인가를 의미합니다. 스칼라는 일반적으로 존재하는 그냥 값(1개)입니다. 벡터는 스칼라가 여러개 모인것이며 차원이 높아질 수록 아래 차원의 것을 모아 놓은 배열인 것이라고 할 수 있습니다. scalar 0차원 vector 1차원 matrix vector의 집합 2차원 tensor matrix의 집합 3차원부터시작. 1. Tensor는 배열의 집합이다. 2. 차원의 수는 Rank와 같은말이다. 3. 배열의 차원에따라 불리는 이름이 달라진다.

    tensorflow 기본문법(placeholder/variable/constant)

    텐서플로우(Tensorflow) 기본 문법 placeholder 선언과 동시에 초기화 하는것이 아니라 일단 선언후 그다음값을 전달한다. 따라서 반드시 실행시 데이터가 제공되어야한다. 정확히 다른 텐서를 placeholder에 맵핑 시키는것 전달 파라미터 placeholder( dtype, shape=None, name=None ) dtype :데이터 타입을 의미하며 반드시 적어줘야함 shape : 입력 데이터의 형태를 의미한다. 상수값이 될수도있고 다차원 배열의 정보가 들어올수도있다.( 안적어도됨 defalut로 none) name : 말그대로 placeholder에 이름을 부여하는것 (안적어도됨 defalut로 none) ex) mat_img = [1,2,3,4,5] label = [10,20,30,4..