시작하기 전!
나는 파이썬을 잘 모른다. 아직 입 출력도 잘 모른다. 그러므로 이 내용이 정확하지 않을 수도 있으니 주의!
(선생님들은 내가 파이썬을 잘한다고 하는데.. 이해력과 끈기만 좋을 뿐 전혀 파이썬을 모른다.)
1. 일단 데이터 준비!
일단 학습을 할려면 가장 중요한 데이터가 필요하다!
데이터가 없으면.. 학습을 할 수 없겠지.. (인간은 돌아다니면서 학습 데이터를 찾을 수 있지만 컴퓨터는 돌아다니며 못 찾으니..) 우리가 직접 찾아서 넣어줘야 한다.
뭐.. 자동화로 하는 방법도 있겠지만 난 모르니;;
일단 YOLO가 학습하기 위해 필요한 데이터는 사진과 그 사진에 대한 라벨링이다.
라벨링은 내가 이해한 바로는 컴퓨터가 사진을 보고 어떤 것을 봐야할지 알려주는 것으로 이해했다.
즉 감지할 객체를 더 쉽게 찾아줄 수 있게 하는 것 같다. (인간도 외부의 도움으로 그 물체가 뭔지 어떤건지 어떤 것 까지인지 알 수 있는 것 처럼..)
위에껀 무시해도 상관없어요~
1. 이미지 준비
먼저 가장 중요한 데이터를 만드는 것이다.
일단 사진을 구해야 함으로 사진을 구해보자!
(예전에 했던 자료가 있었는데 새로 하는겸 새로 만들어야겠다.)
(잠만 근데 뭐하지..?)
나는 간단하게 그냥 크롤링을 할 꺼다!
from google_images_download import google_images_download
response = google_images_download.googleimagesdownload()
arguments = {
"keywords":"치토스 바베큐맛,스윙칩 볶음고추장맛,왕 고래밥", #여러개 할 경우 콤마 뒤에 띄어쓰기 하면 안됨
"limit":100,
"print_urls":True,
"format":"jpg",
}
paths = response.download(arguments)
print(paths)
내가 지금 먹고 싶은 과자다. 평소에 이 것 외에는 잘 안먹어서..
패키지는 google_images_download https://google-images-download.readthedocs.io/en/latest/examples.html
위 링크를 참고하면 될 것 같다. (긁어온 거임, 모를 땐 긁어와야지 ㅎㅎ)
여러개 다운 받을 때는 "keywords": "여기에" 찾을 꺼를 둬야한다. "Hyundai,KIA,Morning" 이런식으로
난 프로그래밍 짤 때.. 콤마 뒤에를 띄어쓰기를 하는데 했다가 폴더 이름이 앞 쪽이 띄어져있던 것을 보았다..
그대로 검색했겠지..
그리고 나중에 데이터는 이상한 지원하지 않는 파일로 다운되면 안되기 때문에 format은 jpg로 했다.
일단 처음 만든다는 생각으로 할 것이기 때문에 완전 처음부터 진행할 것이다!
Visual Studio Code를 열고
이걸 누릅니다! (아마 기본으로 눌러져 있을 겁니다..)
그 후 이전 글에서 만든 폴더에서 크롤링.py 파일을 만듭니다.
이런식으로..
파일을 새로 만들 땐 사진의 오른쪽 위 + 버튼을 눌러서 파일을 만드시면 됩니다.
그 후 위에 적힌 코드를 치시면 됩니다. 그 후에 자신이 정한 주제에 따라 검색할 것을 구체적으로 적어 파일을 저장해주세요!
이제 Ctrl + Shift + `를 눌러 새 터미널을 열어주세요!
만약 터미널이 가상환경으로 자동으로 활성화 되지 않았다면 이전 글을 읽어주세요!
제대로 활성화 되었다면 터미널의 명령어 치는 곳 앞에 (가상환경 이름) 이런 식으로 되어있을 꺼예요!
이제 터미널 창에 "pip install git+https://github.com/Joeclinton1/google-images-download.git"를 칩니다!
그 후
오른쪽 상단 삼각형 (플레이 버튼 같은거) 버튼을 눌러 코드를 실행해주세요!
만약 안되면 이전 글의 인터프리터 설정이나 프로파일 설정을 하고 와주세요!
정상적으로 다운 되는 경우
그리고 폴더에서 보면 downloads 폴더를 보면 자신이 다운로드 한 항목들이 있을겁니다!
그 폴더로 들어가면 위 코드의 limit 부분의 갯수 만큼 대로 다운이 됬을꺼예요!
이제 그 폴더에 들어가서 필요없는 사진은 골라주셔야 합니다!
인공지능이 더 쉽게 판별할 수 있게 도와줘야 하니깐!
예를 들면 저 같은 경우 이런 사진에서 전 포장지만 판별하는 것을 만들껀데 포장지의 내용물만 나와있는 중간 2개의 사진들은 필요가 없죠.. 그래서 저런 사진들은 제거해줘야 합니다! 그래야 나중에 편해요..
모두 제거 해줬다면..
이제 이미지들의 양을 똑같이 해주어야 합니다! (안해도 될지도?)
어느 한쪽으로 하나만 학습 많이 해서 그것만 계속해서 학습하게 하면... 음.. 망할 수도 있으니..
저는 이미지의 차이가 너무 크기 때문에 그냥 제일 적은 갯수로 다 맞춰주기로 했습니다!
전 총 48개로 맞춰줬습니다..
과연 이게 학습이 잘 될지는 모르겠네요..
일단 여기서 끊도록 하겠습니다!
다음 글은 라벨링 작업이 될 것 같네요!
이미지를 최대한 많이 준비해주세요!
google_image_download의 경우 크롬드라이버를 사용하면 100개 이상으로 다운 받을 수 있는걸로 아는데.. 이건 직접 찾아보세요!
'AI > YOLO' 카테고리의 다른 글
YOLOV5 윈도우로 돌리기 Part.2 (Anaconda, Visual Studio Code 기본 설정) (0) | 2022.07.20 |
---|---|
YOLOV5 윈도우로 돌리기 Part.1 (잡담과 아나콘다 비쥬얼 스튜디오 코드 설치!) (0) | 2022.07.19 |