인공지능 공부

EISeg running guide [win10]

DualQuaternion 2023. 7. 13. 10:51

https://github.com/PaddlePaddle/PaddleSeg/blob/release/2.8/EISeg/docs/install_en.md

 

이 포스트에서는 EISeg (eiseg) 을 실행하는 가이드를 다룬다. EISeg github은 위 사이트와 같다.

 

1. 설치하기

 

pip로 설치하면  된다..

pip install eiseg

 

실행은 

eiseg   을 커맨드 창에서 입력하면 된다.  

 

실행 결과

eiseg 실행 결과

2. 영어로 설정하기

아래 메뉴로 가면 된다. 

 

그리고 껐다 켜야 한다. 

영어로 잘 나오는 것을 확인할 수 있다. 

 

3. 작업용 이미지 마련하기  

 

가지고 있는 동영상을 가지고 작업해봐야겠다.

 

우선 동영상을 프레임 이미지로 분리해내자. 

https://github.com/sga8/Video2Image/blob/master/Video2Image.py

 

위 파일을 이용해서 한다.

 

data 폴더를 만들고, 그 안에 영상을 넣은 뒤 

python Video2Image.py --input_path data/GX010030.mp4 --output_path data/GX010030_Images

 

이런식으로 돌려주면

이렇게 분해되어서 나온다.

 

4. 모델 불러오기

 

작업하려고 하면 load model parameter를 먼저 하라고 한다.

 

우상단에 보면 

이 창이 있는데 여기서 하면 된다.

 

모델들은 

이 창에서  

 

Image Segmentation Annotation으로 들어가면

이런식으로 다운받을 수 있게 준비해두었다. 

 

다운 받은 후, eiseg/model 폴더를 만들어주고 압축을 푼 뒤

선택 해주었다.

 

그리고 작업을 하려는 찰나

이런 에러가 뜨면서 프로그램이 종료되었다. 이 에러 많이 봤는데.......

 

이건 그냥 내가 이용하는 python 파일에서

import os

os.environ['KMP_DUPLICATE_LIB_OK']='True'

 

요거 두줄만 추가하면 끝나는 문제다. 그런데 pip로 eiseg을 인스톨해버렸더니 이 간단한게 쉽게 안풀린다..

 

그냥 eiseg 이라는 실행파일로 실행시키지 말고

 

 paddleSeg/eiseg/eiseg 폴더 안에서 python exe.py 를 실행시키면 실행이 된다.

 

 (혹시  pip로 eiseg을 설치하지 않았으면  qt 인스톨 이슈가 나오게 되는데, 그럴때는 pip로 eiseg을 설치하면 환경이 다 세팅되어서 python exe.py도 작동이 가능하게 된다)

 

이제 실행이 되니 exe.py를 열어서

위 두줄을 추가해준 후 다시 실행하고, 모델 파라미터를 불러보자.

뭔가 되는 느낌이다. 

 

5. 세그멘테이션 하기 

 

eiseg을 실행시킨다음

Open Dir을 해준다.

 

그럼 우측에 

이미지 리스트가 뜬다.

 

원하는 걸 하나 선택하고 

 

다시 이미지를 불러보자.

 

우측 중하단에 LabelList 에 Add Label을 해주고, 

 

이미지 영역을 좌클릭 하면 좀 넓은 영역을 잡게 되고, 우클릭으로 필요없는 영역을 제거하는 형태로 작업해주면 아래 이미지와 같이 원하는 객체를 잘 segmentation할 수 있다.

 

 

유용한 단축키는

 

s: 이전 이미지

f: 다음 이미지

ctrl+s : 저장

 

 

이 툴 진짜 좋은게 이런 세그멘테이션을 클릭 세번으로 끝낼 수 있다....

 

6. 작업 내용을 COCO 포맷으로 익스포트 하기 

기능에 COCO Format이라는 메뉴가 있다. 애초에 저걸 고르고 했어야하는건가...ㅋㅋㅋㅋㅋ  다행히 기본 폼맷이 COCO 포맷이다. 

 

별도로 위치를 지정하지 않으면 이미지는 작업한 이미지 내의 label 폴더로 들어간다고 한다. 확인해보자.

 

음 잘 들어 가있는 것을 확인했다. 

 

이제 이걸 가지고 이미지 기반 객체 탐지 알고리즘에 활용할 방법을 찾아보자.