프로그래밍 공부

전체 글 700

카테고리 설명
프로그래밍 공부하는 블로그
  • 사용프로그렘 : 스파크, 도커, 파이썬 약 10분에서 15분 소요

  • 히스토그램 평탄화 대비를 강화하는 기법중 가장 많이 사용하는 기법 Histogram $ h(r_{k}) = n_{k} $ $r_{k}$ = k번째 gray level 값이다. 그레이 픽셀 값이다. $n_{k}$ = 픽셀 계수. $r_{k}$ 에 h라는 값을 통과시키면 나오는 값. 4 4 3 3 4 4 3 3 4 1 2 3 0 1 2 3 input image r이 0인경우 1개 r이 1인경우 1이 2개 r이 2인경우 2개 r이 3인경우 6개 등 픽셀값이 n인 값이 몃개 있느냐 에 따라 gray level이 정해진다. 일반적으로 히스토그램은 막대 그레프로 많이 그리게 된다. Normalized Histogram 정규화된 히스토그렘 = 확률 개념과 같다. $p(r_{k}) \equiv \frac{n_{k}}{..

  • 리눅스 문서편집기 GUI 환경인 그놈에서 제겅화는 gedit 유닉스에서부터 사용했던 행 편집기와 화면 편집기 구분 종류 행 단위 편집기 ed, ex, sed 화면 단위 편집기 vi, emacs GUI 편집기 gedit 행 단위 편집기 ed : 유닉스 초기 편집기 잘 안쓴다 ex : 행 편집이지만 vi에 연결하여 vi의 확장자형태로 사용 sed : 스트림 편집기로 일반적 편집기와 다르게 지시명령에 따라 파일의 내용을 일괄적으로 바꿔서 출력해준다. 화면단위 편집기 vi : 리눅스에서 일반적으로 사용할 수 있는 화면 편집기 emacs : 제공하는 기능이 매우 다양하지만, 사용법이 어렵고 복잡하여 전문가가 사용 모드형과 비모드형 편집기 모드형 입력모드, 명령모드 구분 입력모드 = 텍스트 입력 , 명령모드 = 텍..

  • https://blahblahlab.tistory.com/139 MASK RCNN 논문 리뷰 Instance segmentation task를 다룬 논문인 MASK-RCNN 차례입니다. MASK RCNN은 기존 object detection task에서 사용되던 FASTER RCNN에 Mask branch를 추가해 classification , bbox regression , predicting o.. blahblahlab.tistory.com Mask R-CNN 데이터 분류법 Faster RCNN, FCN ,FPN 모델, segmentation 확인후 정리해야함. https://www.aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubD..

  • 웹 크롤링 웹 크롤링 (Crawling) 또는 웹 스크랩핑 (Scraping)은 웹 페이지를 원본 그대로 불러와 웹 페이지 내에 데이터를 추출하는 기술 크롤링(Crawling)은 사전적으로 ' 기어다니는것 ' 을 뜻하기도 한다. 웹 크롤링을 하기 위해 웹 소캣을 이용하여 원하는 웹사이트 연결 요청을 진행해야 한다. 연결 요청을 응답으로 웹 서버는 응답을 보내면 보통 HTML이나 JSON으로 변환한다. 파이썬 데이터 크롤링

  • 데이터의 발전 빅데이터 시대가 되면서 수치 중심의 데이터 -> 대량의 텍스트, 이미지 음성 모든 산업분야 데이터 처리 가능해짐 정형데이터, 반정형데이터, 비정형데이터 3가지가 있다. 정형데이터 미리 정해진 형식으로 구조화된 데이터 엑셀시트, RDBMS테이블 등 반정형 데이터 특정한 형식에 따라 저장된 데이터 이지만, 정형데이터와 달리 형식에 대한 설명을 함께 제공해야 한다. XML, JSON 등 비정형 데이터 정해진 구조가 없이 저장된 데이터. 빅데이터 대부분을 차지하는 텍스트, 영상, 이미지 등이 대표적인 사례 데이터의 종류 미디어 클라우드 웹 사물인터넷 데이터베이스 오픈데이터/API 데이터 확장자 종류 CSV파일, EXCEL파일, JSON파일 CSV 각 라인의 컬럼이 콤마로 분리된 텍스트 데이터 가장..

작성일
2022. 9. 27. 22:54
작성자
WDmil
728x90

사용프로그렘 : 스파크, 도커, 파이썬

도커 내부에 AI학습데이터 설치 로그

약 10분에서 15분 소요

 

728x90
작성일
2022. 9. 27. 19:55
작성자
WDmil
728x90

히스토그램 평탄화

대비를 강화하는 기법중 가장 많이 사용하는 기법

 

Histogram

$ h(r_{k}) = n_{k} $

$r_{k}$ = k번째 gray level 값이다. 그레이 픽셀 값이다.

$n_{k}$ = 픽셀 계수. $r_{k}$ 에 h라는 값을 통과시키면 나오는 값.

4 4 3 3
4 4 3 3
4 1 2 3
0 1 2 3

input image

r이 0인경우 1개 r이 1인경우 1이 2개 r이 2인경우 2개 r이 3인경우 6개 등 픽셀값이 n인 값이 몃개 있느냐 에 따라 gray level이 정해진다.

 

일반적으로 히스토그램은 막대 그레프로 많이 그리게 된다.

 

Normalized Histogram 정규화된 히스토그렘 = 확률 개념과 같다.

$p(r_{k}) \equiv \frac{n_{k}}{n}$

위 그래프에서 gray level의 수는 16개 임으로 확률로 계산하면 $n_{0}$이 나올 확률은 $\frac{1}{16}$ 이다.

$n_{3}$이 나올 확률은 $\frac{6}{16}$ 이다.

노멀라이즈 된 히스토그램 = 확률분포로 나타낼 수 있다.

히스토그램 이미지

위 히스토그램 이미지로 보았을 떄 각명암도에 따른 gray level의 분포를 확인할 수 있다.

이미지의 위부터 3번째까지의 이미지는 히스토그램이 전반적으로 고르게 분포되어 있지 않기 떄문에 대비가 높은 영상 이라고 할 수 있다.

마지막 이미지는 고르게 분포되어 있어 대비도가 훨씬 높은 데이터를 얻을 수 있다.

이러한 균등한 확률분포를 uniform distribution 이라고 한다.

 

히스토그램 평탄화

HIstogram Equalization

히스토그램 이미지의 윗부터 3번째까지의 이미지를 4번째 이미지처럼 바꿔주는것. 히스토그램을 평탄화 시켜주는것.

 

입력의 히스토그렘 모양을 바꿔주는것. 모든 픽셀값의 범위가 동일한 값을 가지도록 transformation function  을 이용해 계산해주는것 log, power low 등의 방법을 이용한다.

https://inradestrt.tistory.com/101

 

위를 수식으로 표현하면

$s = T(r)$  이때 $ 0 \leq r \leq 1 $

r은 0 과 1사이에 위치하며

r = 0 : black

r = 1 : white

이때 값의 수는 256단계로 이루어져 있다.

T(r) : 단조 증가 r이 증가하면 s값도 증가해야 한다는것.

T = 255 - r 로 표현할 수 있다.

T = log(r) 이 될 수 있다.

단조증가는 위와 같은 그래프를 가져야만 한다.

Probability mass function [ PMF ] p(x) of random variable x

x = 랜덤변수

만약 n = 6일 경우[ 히스토그램 분포도가 6개 일경우 ] x = 1~6 사이의 랜덤한 수가 될 수 있다.

p(x=1) = 1이 될 확률. 이때, n = 6이라고 가정한다면,  $\frac{1}{6}$ 이다. 그러한 1~6까지는 확률이 모두 같아야 한다.

 

Probability density function p(x) of random variable x [PDF]

연속적일 경우.

x의 범위가$ 0 \leq x \leq 30 $ 일때 x의 범위는 무한의 범위를 갖는다. [ x는 실수가 아니기 때문 ]

x가 연속적으로 변하기 때문에 가지수는 무한이 된다.

이때 값 하나를 취했을 때 10~20 사이에 있을 확률 = 넓이로 계산한다.

전체넓이에서 10~20사이의 넓이가 확률이 되는것이다.

전체 값중 한개가 나올 확률이 $\frac{1}{30}$ 이라면, 파란 넓이 위치에 나올 확률은 10이기에 $\frac{1}{3}$  이 된다.

 

만약 p(x=15)일 확률을 구한다면 전체 범위는 0~30이지만 내부에 존재할 수 있는 x의 값은 무한대이기 때문에 0에 무한히 가깝다.

 

그래서 Probability density function 으로 확률을 구할 때는 면적범위로 확률을 구하게 된다.

 

Histogram Equalization

히스토그램 평탄화

입력영상 의 히스토그램 분포가 한쪽에 치우쳐져[ 이산적인 확률을 가지고 있다는 가정] 있을 때 출력을 고르게 분포시켜 출력시키는것.

 

디지털 영상 내부에서는 이산적인 확률을 가지게 되기 때문에 PMF에 대응하여 작업하게 된다.

[ 0,1로 나뉘어지기에 이산적이다 ]

 

일단은 이산적이지 않다는 가정하에 PDF방식으로 확률을 계산하고 구할 수 있다면 그때 PMF로 작업한다.

 

$p_{s}(s) = p_{r}(r)\mid\frac{dr}{ds}\mid $

 

$ p_{r}(r)$ = 입력 영상의 히스토그램

$p_{s}(s)$ = 출력 영상의 히스토그램

위 과정을 평탄화 라고 함.

그리고 평탄화를 하기 위한 T(r)값이 있다.

 

Transformation Function

Cumulative Distribution Function ( CDF ) [ 누적분포함수 ]

$s= T(r) =  \int_{0}^{r} p_{r}(\omega )d\omega $ p 를 r로 적분 0 ~ r 까지

$ \int_{0}^{r} p_{r} $ : 수식을 해석하면 [ 0 ~ r까지의 면적을 구하라. ] 라는 이야기 이다.

r = 0 이라면 $S = \int_{0}^{r} p_{r}(\omega )d\omega$하여 균등하게 분배한다.

r 이 1이라고 한다면. $ \int_{0}^{1} p_{r}(\omega )d\omega $ 이값으로 바뀜.

r이 0.1 이라면 s값은  일반화 했기에 $ \int_{0}^{\frac{1}{255}} p_{r}(\omega )d\omega $ 이다. 

r이 2라면 s값은 $ \int_{0}^{\frac{2}{255}} p_{r}(\omega )d\omega $

입력값 r을 받아서 T를 통과하면 s가 나오게되는 식이다.

 

Discrete Version

Probaility density function

Integrals > summations

r값이 이산적일 때 적분기호가 summations로 바뀐다.

$\frac{n_{j}}{n} = p(r_{j})$ 이다.

 

평탄화를 했을 때의 결과물
히스토그램 구현 예시

 

728x90
작성일
2022. 9. 26. 22:58
작성자
WDmil
728x90

리눅스 문서편집기

GUI 환경인 그놈에서 제겅화는 gedit

유닉스에서부터 사용했던 행 편집기와 화면 편집기

구분 종류
행 단위 편집기 ed, ex, sed
화면 단위 편집기 vi, emacs
GUI 편집기 gedit

행 단위 편집기

  • ed : 유닉스 초기 편집기 잘 안쓴다
  • ex : 행 편집이지만 vi에 연결하여 vi의 확장자형태로 사용
  • sed : 스트림 편집기로 일반적 편집기와 다르게 지시명령에 따라 파일의 내용을 일괄적으로 바꿔서 출력해준다.

화면단위 편집기

  • vi : 리눅스에서 일반적으로 사용할 수 있는 화면 편집기
  • emacs : 제공하는 기능이 매우 다양하지만, 사용법이 어렵고 복잡하여 전문가가 사용

모드형과 비모드형 편집기

모드형

  • 입력모드, 명령모드 구분
  • 입력모드 = 텍스트 입력 , 명령모드 = 텍스트 수정, 삭제, 복사, 붙여넣기 가능한 모드
  • 같은 글자라도 입력모드에서는 텍스트로 명령모드에서는 편집 명령으로 사용
  • vi 는 모드형 편집기

비모드형

  • 입력과 명령이 구분되어 있지 않음
  • 편집기능을 Ctrl이나 Alt같은 특수키와 같이 사용
  • 한글과 워드는 비모드형 편집기
구분 모드형 (vi) 비모드형 (메모장)
입력 모드 텍스트 입력
명령모드 복사 yy Ctrl + c
붙이기 p Ctrl + v
저장 :wq, ZZ Ctrl + s
모드 전환 i, a, o, esc 해당 없음

Vi 시작과 종료

vi 시작

  • 파일을 지정할 경우 : 해당 파일이 있으면 파일의 내용이 열리고 아니면 빈 파일이 열린다.

vi 종료

  • 명명모드나 마지막 행 모드에서 저장하고 종료 가능
구분 명령 키 기능
마지막 행 모드 :q vi에서 작업한 것이 없을 때 그냥 종료한다.
:q! 작업한 내용을 저장하지 않고 종료한다.
:w [ 파일명 ]  작업한 내용을 저장만 한다. 파일명을 지정하면 새 파일을 생성해서 저장한다.
:wq, wq! 작업한 내용을 저장하고 vi를 종료한다.
명령 모드 ZZ ( Shift + zz ) 작업한 내용을 저장하고 vi를 종료한다.

입력 모드로 전환하기

명령 키 기능
i 커서 앞에 입력한다.
a 커서 뒤에 입력한다.
o 커서가 위치 한 행의 다음 행에 입력한다.
I 커서가 위치한 행의 첫 칼럼으로 이동하여 입력한다.
A 커서가 위치한 행의 마지막 칼럼으로 이동하여 입력한다.
O 커서가 위치한 행의 앞 행에 입력한다.

커서 이동하기

명령 키 기능
k 커서를 한 행 위로 이동한다.
j 커서를 한 행 아래로 이동한다
l 커서를 한 글자 오른쪽으로 이동한다.
h 커서를 한 글자 왼쪽으로 이동한다.
^또는 O 커서를 현재 행의 처음으로 이동한다.
$ 커서를 현재 행의 마지막으로 이동한다.
- 커서를 앞 행의 처음으로 이동한다.
+ 또는 Enter 커서를 다음 행의 처음으로 이동한다.
H 커서를 화면의 맨 윗행으로 이동한다.
M 커서를 화면의 중간 행으로 이동한다.
L 커서를 화면의 맨 아랫행으로 이동한다.
w 커서를 다음 단어의 첫 글자 위치로 이동한다.
b 커서를 앞 단어의 첫 글자 위치로 이동한다.
e 커서를 다음 단어의 마지막 글자 위치로 이동한다.

화면 이동하기

기존 명령 키 기능 추가 명령 키
^u(ctrl + u) 반 화면 위로 이동한다.  
^d(ctrl + d) 반 화면 아래로 이동한다.  
^b(ctrl + b) 한 화면 위로 이동한다. Page Up
^f(ctrl + f) 한 화면 아래로 이동한다. Page Down
^y(ctrl + y) 화면을 한 행만 위로 이동한다.  
^e(ctrl + e) 화면을 한 행만 아래로 이동한다.  

특정 행으로 바로 이동하기

  • 원하는 행으로 커서를 바로 이동
  • 예:
  • 60G -> 60행으로 이동
  • 40(enter) -> 40행으로 이동
명령 키 기능
G(Shift + g) 파일의 마지막 행으로 이동한다
행 번호G(Shift + g) 지정한 행 번호로 이동한다.
:행번호 지정한 행 번호로 이동한다(마지막 행 모드)
:$ 파일의 마지막 행으로 이동한다(마지막 행 모드)

내용 수정하기

명령 키 기능
r 커서가 위치한 글자를 다른 글자로 수정한다
cw, #cw 커서부터 현재 단어의 끝까지 수정한다. #에는 수정할 단어의 수를 지정한다. 예를 들어 3cw는 커서 위치부터 세 단어를 수정한다.
s, #s 커서부터 Esc 키를 입력할 때 까지 수정한다 # 에는 수정할 글자 수를 지정한다. 예를 들어 5s는 커서 위치부터 다섯 글자를 수정한다.
cc 커서가 위치한 행의 내용을 모두 수정한다.
C 커서 위치부터 행의 끝까지 수정한다.

네임드 버퍼 사용하기

언네임드 버퍼

  • 이름을 붙이지 않은 버퍼
  • yy 명령키로 복사하거나 dd명령키로 잘라내기를 할 경우, 복사하거나 잘라낸 내용이 저장
  • 언네임드 버퍼는 내용을 하나만 저장

네임드 버퍼

  • 이름을 붙여서 사용할 수 있는 버퍼
  • 네임드 버퍼를 사용하면 각각 다른 이름을 붙인 버퍼에 독립적으로 내용을 저장하고 사용
  • 넹비드 버퍼에 이름을 붙일 때는 "+문자 또는 "+ 숫자(숫자 버퍼)의 형태로 사용
  • 네임드 버퍼 : "a, "b, "c, "d ..., "z
  • 숫자 버퍼 : "1, "2, "3, "4, "5...., "9
  • 네임드 버퍼에 커서가 위치한 행을 저장하려면 '버퍼 이름 +yy를 입력
  • a버퍼에 복사한 내용을 저장하려면 "ayy를 입력
  • 네입드 버퍼의 내용을 붙이려면 "ap와 같이 버퍼이름 +p를 입력

마지막 행 모드에서 복사하기, 잘라내기, 붙이기

마지막 행 모드에서 행을 복사하거나 잘라낼 때는 범위를 지정해서 할 수 있음.

명령키 기능 기능
1,$ 또는 % 1행부터 마지막행까지 지정한다/.
1, 1행부터 커서가 있는 행까지 지정한다
,3 커서가 있는 행부터 마지막 행까지 지정한다
,-3 현재 행과 이전 세번째 행까지 (총 네행)을 지정한다
10,20 10행부터 20행까지 지정한다
명렁키 기능 기능
:#y #로 지정한 행을 복사한다 3y는 3행복사
:<범위>y 범위로 지정한 행을 복사한다. 예를들어 2,4y는 2~4행을 복사한다.
:#d #로 지정한 행을 잘라낸드(삭제). 예를들어 3d는 3행을 잘라낸다.
:<범위>d 범위로 지정한 행을 잘라낸다(삭제). 예를들어 1,4d는 1~4행을 잘라낸다.
:pu 현재 행 다음에 버퍼의 내용을 붙인다.
:#pu #로 지정한 행 다음에 버퍼의 내용을 붙인다. 예를들어 4pu와 같이 지정한다.

검색하기

검색하기 위해 마지막 행으로 이동할 때는 :이 아니라 /이나 ?를 입력한다

명령 키 기능
/문자열 문자열을 아래방향으로 검색한다.
?문자열 문자열을 위 방향으로 검색한다.
:n 원래 찾던 방향으로 다음 문자열을 찾는다.
:N 역방향으로 다음 문자열을 찾는다.

 

바꾸기

기존의 문자열을 다른 문자열로 바꾸려면 먼저 :을 입력하여 마지막 행 모드로 이동

커서 위치의 문자열만 바꿀 수도 있고, 파일 전체나 특정 범위 내에서 해당하는 문자열을 모두 바꿀 수도 있음.

명령키  기능
:s/문자열1/문자열2/ 커서가 위치한 행에서 첫번째로 나오는 문자열 1을 문자열 2로 바꾼다
:%s/문자열1/문자열2/  

파일 읽어오기, 여러파일 편집하기

명령 키 기능
:r 파일명 지정한 파일을 읽어들여 현재 커서 위치에 삽입한다.
:e 파일명 지정한 파일로 전환한다 ( 기존파일을 :w로 저장한 뒤 실행해야 한다.)
:n vi 시작시 여러 파일을 지정했을 경우 다음 파이로 작업을 이동한다.

 

파일 편집을 마치고 다른 파일 편집하기

:e 명령 키는 현재 작업 중인 파일의 작업을 마치고 다른 파일을 편집하려고 할 때 사용

test.txt 파일 편집을 완료하고 exec.txt 파일 편집으로 바꾸려면 :e exec.txt 사 용

이때 작업 중이던 파일을 먼저 저장하고 :e 명령을 실행해야 함

파일을 저장하지 않고 :e exec.txt를 실행하면 다음과 같은 오류 메시지가 출력

 

여러 파일 편집하기

vi를 시작할 때 파일명을 여러 개 지정

파일 작업을 마치고 다음 파일로 이동하려면 :n을 입력

 

vi에서 쉘 명령 사용하기

명령 키 기능
:! 셸 명령 vi작업을 잠시 중단하고 셸 명령을 실행한다(vi로 돌아오려면 Enter 키를 입력해야 한다.
:sh vi를 잠시 빠져나가서 셸 명령을 실행한다(vi로 돌아오려면 exit 명령을 이볅해야 한다.)

기타 명령 키

명령 기능
Ctrl + l [ 소문자 L ] 현재 화면을 다시 출력한다
Ctrl + g 현재 행 번호를 마지막 행에 출력한다.
Shift + j 현재 행과 아랫 행을 연결하여 한 행으로 만든다.
, 바로 직전에 했던 명령을 반복한다.

vi환경 설정 방법

사용자 홈 디렉터리에 vimrc 파일로 저장

환경변수 EXTINIT에 지정

vi의 마지막 행 모드에서 명령으로 실행

vi 환경 설정 명령(set)

set 명령 과 옵션 기능
set nu 파일 내용의 각 행에 행 번호를 표시한다( 보이기만 할 뿐 저장되지는 않는다)
set nonu 행 번호를 감춘다.
set list 눈에 보이지 않는 특수 문자를 표시한다
set nolist 특수 문자를 감춘다
set showmode 현재 모드를 표시한다
set noshowmode 현재 모드를 감춘다.
set set로 설정한 모든 vi환경 설정 값을 출력한다.
set all 모든 vi 환경 변수와 현재 값을 출력한다.

 

728x90
카테고리
작성일
2022. 9. 22. 15:52
작성자
WDmil
728x90

https://blahblahlab.tistory.com/139

 

MASK RCNN 논문 리뷰

Instance segmentation task를 다룬 논문인 MASK-RCNN 차례입니다. MASK RCNN은 기존 object detection task에서 사용되던 FASTER RCNN에 Mask branch를 추가해 classification , bbox regression , predicting o..

blahblahlab.tistory.com

Mask R-CNN 데이터 분류법

Faster RCNN, FCN ,FPN 모델, segmentation 확인후 정리해야함.

https://www.aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=581 

 

AI-Hub

샘플 데이터 ? ※샘플데이터는 데이터의 이해를 돕기 위해 별도로 가공하여 제공하는 정보로써 원본 데이터와 차이가 있을 수 있으며, 데이터에 따라서 민감한 정보는 일부 마스킹(*) 처리가 되

www.aihub.or.kr

링크 내의 데이터를 활용하여 최종목표로 이미지 사진을 찍으면 해당 차량의 파손정도와 비틀림 정도를 확인할 수 있는 모듈을 만들어야 함.

 

빅데이터 프로젝트에서 기반되는 데이터를 준비할 수 있는 실습 방향 유도가 필요함.

 

학습 알고리즘을 설계해야한다.

 

사이트 내의 구축 활용 가이드를 보고 분석후 활용 해야한다.

 

이미지 처리까지 해야한다.

 

최종산출물 : 소 논문을 만든다, 아웃풋을 동영상으로 만들어 낸다.

 

2022-10-04 문제,

도커 설치 후 AI학습모델 라이브러리를 구축시 윈도우 내에서 --gpus 의 실행이 불가하여 윈도우 내에Ubuntu 설치 후 WSL모듈을 인식시켜 재진행함.

 

2022 10-10 문제

Windows ubuntu 운용을 위해 WSL2를 설치하였으나, 네트워크 연결이 불완전해서 https://hs5555.tistory.com/44 링크를 참조하여 윈도우 ubuntu에 네트워크 경로를 수동입력하여 sudo apt update를 진행함. 성공적

 

윈도우 자체에서의 docker는 --gpus의 지원이 이루어지지 않아 이미지러닝이 불가능하다. 그럼으로 자체 WSL을 통한 ubuntu를 설치하여 윈도우 ubuntu에서 docker명령어를 수행한다.

 

AI-Hub에 들어있는 Training 데이터가 불완전성으로 인해 

FileNotFoundError: [Errno 2] No such file or directory: 'data/Dataset/2.라벨링데이터/damage_part\\1461768_as-0064225.json'

오류가 떠서 Validation 데이터로 재 테스트.

 

AI 설명서대로가 아닌 내부  cocoformat 제작 코드를 확인하고 데이터를 수정해서 다시 기입함.

 

데이터 생성방식

이미지 ,임의 마스킹데이터 생성 ->   cocoformat.json변환 -> 학습 알고리즘 학습 -> 학습 데이터 생성 -> 임의의 이미지 재기입

 

Unet 모델을 사용하여 학습 데이터를 생성함.

csv 파일은 openrefine사용

728x90
작성일
2022. 9. 22. 15:13
작성자
WDmil
728x90

웹 크롤링

  • 웹 크롤링 (Crawling) 또는 웹 스크랩핑 (Scraping)은 웹 페이지를 원본 그대로 불러와 웹 페이지 내에 데이터를 추출하는 기술
  • 크롤링(Crawling)은 사전적으로 ' 기어다니는것 ' 을 뜻하기도 한다.
  • 웹 크롤링을 하기 위해 웹 소캣을 이용하여 원하는 웹사이트 연결 요청을 진행해야 한다.
  • 연결 요청을 응답으로 웹 서버는 응답을 보내면 보통 HTML이나 JSON으로 변환한다.

파이썬 데이터 크롤링

 

728x90
작성일
2022. 9. 22. 14:54
작성자
WDmil
728x90

데이터의 발전

빅데이터 시대가 되면서 수치 중심의 데이터 -> 대량의 텍스트, 이미지 음성 모든 산업분야 데이터 처리 가능해짐

정형데이터, 반정형데이터, 비정형데이터 3가지가 있다.

 

  1. 정형데이터
    • 미리 정해진 형식으로 구조화된 데이터
    • 엑셀시트, RDBMS테이블 등
  2. 반정형 데이터
    • 특정한 형식에 따라 저장된 데이터 이지만, 정형데이터와 달리 형식에 대한 설명을 함께 제공해야 한다.
    • XML, JSON 등
  3. 비정형 데이터
    • 정해진 구조가 없이 저장된 데이터.
    • 빅데이터 대부분을 차지하는 텍스트, 영상, 이미지 등이 대표적인 사례

 

데이터의 종류

  • 미디어
  • 클라우드
  • 사물인터넷
  • 데이터베이스
  • 오픈데이터/API

 

데이터 확장자 종류

CSV파일, EXCEL파일, JSON파일

 

CSV

  • 각 라인의 컬럼이 콤마로 분리된 텍스트 데이터
  • 가장 일반적인 가져오기 및 내보내기 형식

저장

  • 2차원 배열로 구조화된 데이터 이기 떄문에 2차원 구조를 갖는 CSV파일로 변환 가능

 

EXCEL

  • 행과 열은 데이터프레임의 행, 열로 일대일 대응된다.

 저장

  • 데이터프레임의 행과 열은 Excel파일의 행과 열로 일대일 대응

 

JSON파일

  • JAVASCRIPT문법에 영향을 받아 개발된 데이터 표현 방식
  • 데이터 교호나포멧으로 단순하고 유연하여 널리 사용된다. 키값과 데이터로 이루어지는 대응관계 자료형을 가짐

저장

  • 피클(Pickle)
  • 파이썬의 모든 객체를 저장할 수 있는 방법. 머신러닝 사이킷 런 라이브러리를 통해 모델을 학습시키고 저장할 때 사용한다.

 


API

데이터의 실시간 갱신을 위해 갱신되는 데이터를 받아오기 위해서 사용하는것

 

공공데이터 포탈

행정안전부에서 운영하는 공공 데이터 통합 제공 시스템으로 공공기관이 생성 또는 취득하여 관리하고 있는 공공 데이터를 한곳에서 제공하는 통합 창구이다.

 

인터넷에서 API를 활용하는 기술은 HTTP프로토콜을 통해 이루어진다.

웹이나 모바일에서 정보를 주고 받는 과정은 사용자와 서버 통신 등 보이지는 않지만 여러 계층과 단계를 진행한다.

 

HTTP 프로토콜에서 정보를 요청(Request)하는 쪽을 클라이언트 라 하고 정보를 응답하여(Response) 하여 보내는 부분을 서버라고 하며 이런 구조를 클라이언트/서버 라고 한다.

METHOD 역할
POST Post를 통해 해당 URL을 요청하면 리소스 생성
GET GET을 통해 해당 리소스를 조회.
PUT PUT을 통해 해당 리소스 수정
DELETE DELETE를 통해 리소스 삭제

 

728x90