개요

nahye·2021년 5월 3일
0
  • 영상처리
    • 시각정보를 다루는 IT 분야
    • 인공지능 응용분야의 80%
    • 시각 정보는 모든 디지털 정보 중 가장 저렴하고 인간친화적
      딥러닝을 처음 배울때 영상처리를 기본으로 배움
      음성신호나 자연어처리도 중요하지만 APP이 응용분야가 많기 때문에
      사람이 시각정보에 의존을 많이 하듯이 컴퓨터도 그럼 대중적인 분야


영상처리

  • Detection
    -> 트래킹
    영상정보를 받아옴
    영상처리 핵심기술

  • SLAM(Simulataneous Localization and Mapping)
    lap으로 구축
    : 이미지만 가지고 주변을 인식하고 그 인식으로 자기 위치를 파악하는 기술
    보통 오큘러스로 취업함(VR기기-머리의 움직임을 정확히 트래킹해야함)
    VR장비에 특정센서를 적용했는데 요즘은 카메라를 이용해 위치를 파악할 수 있도록 함
    자율주행에 사용됨
    사람이 움직이면 특징점이 달라지는데 이런 걸 3차원으로 변환을 해 정보를 알려주는 것

3차원 정보를 수정할 때 오차가 누적되기 때문에 그 오차를 고정하고 잘 지능적으로 처리해야함



차선인식이 바로 안 되어 길을 군데군데 잘라 딥러닝(텐서플로우)로 이용
Detection으로 여러가지 처리 됨
ex) 머신비전 장비 - 불량품 검사
Detection만 잘 다뤄도 좋음

  • GAN(Generative Adversarial N) - 합성
    StyleGAN - 컴퓨터가 이미지를 만들어 냄
    흑백화면을 주면 사람들이 흑백화면을 색칠할 수 있는데 그 색칠은 창의적인 일이면서 노가다이기 때문에 정신노동(창작)도 컴퓨터가 해줌
    창의적이지만 실제로는 노동인 것
    낙서를 하면 복원하는 것도 GAN 기술
    (원본을 예상해 복구하는 것)
    3차산업에 와서 컴퓨터가 기계노동 반복노동을 대신했다면 4차산업은 인간의 정신노동을 대신한다.
    음성처리 중 옥주현의 목소리를 학습해 흉내내는 기계를 만들었다면 실제 옥주현과 AI 옥주현과 대결을 하는 프로그램이 있음 - 우리가 음성지원(텍스트를 읽었을 뿐인데 머리속으로 음성이 재생) 우리가 그 사람의 목소리, 톤을 기억하기 떄문에 텍스트 정보에 맞춰서 그 사람 목소리로 읽어냄(우리 뇌에선 그렇게 가능-> 이를 컴퓨터로 재현한 것)
    컴퓨터로 우리 뇌에서 일어나는 음성지원을 컴퓨터로 재현해줘 뇌가 아닌 실제 귀로 들을 수 있음
    어떤 사람의 모습을 생각한다면 이 사람이 어떤 춤을 추는 걸 상상하는 게 가능한데 이 상상한 거를 컴퓨터가 그대로 흉내내 화면으로 보여주는 것 = 딥페이크
    사람도 딥페이크 기능을 하기에 컴퓨터로 보여주는 것
  • 3D 재건
    마우스를 한 바퀴 돌리면 폴리드로 구현하는 것
    전통적인 영상처리에 영향 많이 받음
    딥러닝으로 안 하고 기존의 영상처리로 이용함

  • 식별(Classifiation)
    사람인지 개인지 구분 사람의 디테일한 것을 보는 게 아닌 전체적인 특성을 가짐
    사람을 가져다 놓고 비교한다면 눈매, 콧대 디테일한 부분을
    구분할 것
    식별은 대상에 따라 디테일이 달라짐

  • Super Resolution
    해상도를 높이는 것
    엔트로피는 항상 증가하지 감소하지 않음
    열역학 법칙 : 있는 정보는 가공할 수 있지만 없는 정보를 삽입하는 건 불가능
    현대에는 없는 정보를 집어넣는 기술을 개발해버림
    사람이 가지고 있는 상식과 영상처리 상식 기준에서 정보를 집어넣음
    GAN도 없는 정보를 생성하는 것(사람의 윤곽을 학습해 채워줌) - GAN이랑 구현방법은 다르지만 개념은 비슷(없는 정보를 삽입하는 거니까)
    low level의 이미지를 고화질로 바꿔줌
    HD -> UHD로



  • 강의내용

* 언어 : C++, Python, Java(Android), C#(Unity)

`C를 모르고 영상처리를 하는 건 어려움, C를 할 줄 모르면 업무의 분야가 크게 줄어들기 때문에 배워두기`
`최소한 발은 담그고 압축적으로 C를 배움`

* 주제 : OpenCV(Java), **머신러닝, 딥러닝**

	* 인공지능, 패턴인식, 머신러닝, 신경망->딥러닝
    
   * 딥러닝이 가장 압도적으로 기능이 좋음(GAN, Deepfake)
   * 영상처리 고전 = OpenCV 
   딥러닝 이전의 영상처리의 바이블이였음
   
* 플랫폼 : Windows, **Linux**, Android, Unity

`다른 사람이 한 개발을 참고하기 위해선 Linux를 쓰는 게 좋음, Windows는 직접 만들어야함, 현업개발자로써 살아남으려면 Linux를 해야함`
`crosscomfile을 하려면 Linux를 쓸 수 밖에 없음
워낙 분야가 방대하기 때문에 할 수 없이 Android, Unity(3D에 활용)도 알아야 함`
`여러가지 경험을 하는 게 좋음, 영상처리 하다보면 다양한 플랫폼들을 경험하게 된다.`

* 풀스택
`연구에서부터 실전까지`
* 실전예제

  • 스케쥴

    1-2주
    C++과 OpenCV
    3주
    OpenCV 프로젝트 (점자, 자동차번호판, 종이스마트폰 스캐너, 골프공, 서클렌즈, 단자)
    4-5주
    머신러닝 (분류 이론, 선형회귀, SVM, 앙상블, PCA)
    케라스/텐서플로우 (CNN, Named Networks)
    어떤 기능이 딥러닝을 발달시켜왔는지
    딥러닝 응용
    6주
    디렉션(SSD, CenterNet, TensorFlow Detection API구글 서버에서 돌려볼 수 있음)
    7-8주
    포즈넷
    페이스넷(사람끼리의 얼굴을 구분)
    GAN
    모델변환
    프레임워크 사이에 모델을 서로 교환,호환
    프레임워크 구현
    자기만의 프레임워크를 만들어 돌릴 수 있음 - C언어와 연계하면 좋은 예제가 됨
    인터넷으로 올라온 프레임워크를 활용할 것

    기본원리
    Unet - 의료영상 세그멘테이션에서 많이 사용됨
    CycleGAN



  • 추천하는 책
    • OpenCV로 배우는 컴퓨터 비전과 머신 러닝(황선규, 한벗) 수업교재

    • 파이썬으로 만드는 OpenCV 프로젝트(이세우, 인사이트)

    • 러닝! OpenCV 3 (개리 브래드스키, 아드리안 캘러, 위키북스) 제일 좋음! 영상처리의 바이블책, 연구자에게 좋음

    • 케라스 창시자에게 배우는 딥러닝(브랭소아 숄레, 길벗) 딥러닝 입문책

    • 핸즈온 머신러닝 2판 (오렐리앙 제롱, 한빛미디어)
      머신러닝부터 딥러닝까지 전체적 커버, 내용방대, 전체적인 분야에 대략적으로 확인하기 좋음

    • 미술간에 GAN 딥러닝 GAN 입문으로 좋음

      다른 건 논문을 찾아보면서 공부를 해야함
      책이 공부하기가 쉬운데 Detection 등 책이 없음

profile
Slow and steady wins the race

0개의 댓글