닭의 일일 평균 행동량을 자동으로 계산해서 농부들에게 전송해주자!
빈곤국 청년들이 인공지능을 재미있게 배울 수 있게 하자!
시간: 1:30분씩 이틀간
대상: 고등학생
내용: 닭사진에 주석달기 -> 신경망 훈련시키기 -> 닭 동영상을 신경망에 넣어 닭을 검출하기
돼지사진: 경주 남산 제노드 농장
닭사진 제공: Mr. Biplop Das
유튜브 채널의 운영자 - https://www.youtube.com/channel/UCuuzjdPwvZV065hFItHQ1jQ
1일차: 주석 달기
닭사진: 100장, 90장은 train, 10장은 평가용
주석달기: makesense.ai 이용
2일차: 신경망 추론
신경망훈련: colab.research.google.com 이용
검출시험용 동영상으로 신경망 평가: mychicken.mp4
- 사용할 신경망 파일: YOLO 개발자가 80개의 물제를 인식할 수 있도록 이미 훈련시켜 놓은 신경망. 이 신경망 위에 우리가 인식시키고자 하는 물체를 추가적으로 인식할 수 있도록 훈련시킬 것임
https://playground.tensorflow.org/
https://www.youtube.com/watch?v=Cgxsv1riJhI
https://www.youtube.com/watch?v=XS2UWYuh5u0
https://www.youtube.com/watch?v=GRtgLlwxpc4
http://www.sciengineer.or.kr/board_Tqqc07/24029
-
조를 편성.
-
각조에 100장의 사진을 나누어준다
-
90장과 10장으로 분류
-
90장을 images폴더 아래 train폴더에 넣어줌
-
10장을 images폴더 밑에 val폴더에 넣어줌
-
makesense.ai 사이트로 가서 시작하기 버튼
-
90장의 사진을 모두 선택하여 makesense.ai의 드롭박스에 던져주라
-
라벨을 새로 만들어 chicken이라고 이름을 붙이고
-
90장의 사진에 대해 바운딩박스를 그려서 주석작업을 하라
-
actions메뉴를 클릭하고 export 를 선택.
-
주석화일 포맷은 YOLO로 지정
-
export를 마치면 90장개의 주석화일(화일이름.txt)가 압축되어 내려온다
-
이 압축파일을 labels 폴더 밑에 train폴더에 풀어라
-
7,8,9,10,11,12 단계를 10장의 사진에 대해 반복하라
-
이 화일을 labels 폴더밑에 val폴더에 풀어라
-
images와 labels를 한데 묶어 압축화일로 만들어라
-
이 압축화일의 이름을 chicken_dataset.zip이라고 변경하라
-
참고1: 돼지 데이터셋(경주시 농장에서 촬영) 다운로드: https://drive.google.com/file/d/1mgEfOKjcXaj944KVOdklCgZT--x9cOP4/view?usp=sharing
-
참고2: 돼지 동영상: https://drive.google.com/file/d/15Yn-l9vvWSkJFP9izG4BcHhhutoztX8y/view?usp=sharing
-
참고3: 닭 (인터넷에서 모은 사진)데이터셋 다운로드: https://drive.google.com/file/d/1d55WE2YX6b4RE3kyGFobKdq0t1kBoQAs/view?usp=sharing
-
참고4: 닭 동영상 (경주시 소재 닭장에서 촬영): https://drive.google.com/file/d/1rVEdty5c63avIwa6G3M9jVCx-Un8ej7r/view?usp=sharing
-
참고5. 돼지 검출 동영상: https://github.com/muntakson/ai_chicken/blob/main/pig_zenod_detected_low_res.mp4
<준비사항> 구글크롬 브라우저 상에서 구글콜랩과 구글드라이브를 연동하여 사용할 것이므로 먼저 구글크롬 브라우저를 설치하고 크롬에서 자신의 구글 계정으로 로그인한 상태로 만들어서 다음 과정을 진행해야 한다.
- 각 조마다 colab.research.google.com 에 로그인하라
- 이 깃헙의 aicamp의 콜랩 노트북을 클릭하여 노트북을 열어라
- 파일 메뉴에 가서 내 구글드라이브에 사본만들기를 하라
- 그 사본을 열고 원본 노트북은 닫아라
- 1단계 YOLO 다운로드 버튼을 클릭
- 전 단계에서 만든 chicken_dataset.zip을 PC에서 콜랩으로 업로드하라 (드랙앤드롭으로)
- 2단계 압축데이터를 풀기 버튼을 클릭
- yolov5의 data폴더에 있는 coco128.yaml 파일을 업데이트하고 이름을 chicken.yaml로 변경하라
- 3단계 신경망 훈련 버튼을 클릭
- 신경망이 자동으로 훈련되기 시작한다
- 10분정도 시간이 흐르면 훈련이 완료된다 (mAP값이 얼마인지 확인 0.9이상이 되어야 함)
- runs폴더에 가서 훈련 결과를 확인
- 평가용사진을 클릭하면 신경망이 원본사진에 닭의 위치에 바운딩박스를 그려준것이 확인됨
- mychicken.mp4화일을 콜랩의 업로드 (드랙앤드롭) 2.4단계 추론버튼을 누른다
- 신경망이 닭의 동영상 화일을 열어 매 프레임마다 닭을 검출하여 바운딩 박스를 그려준다
- 이 결과화일을 PC로 다운로드
- PC에서 이 화일을 플레이해본다
- 다음주제에 대해 토론해본다
- 신경망이 정확하게 추론하려면 어떤점을 보완해야 할까?
- 신경망이 생성한 정보를 일상생활에성 용하게 사용하려면 어떤 기술이 더 추가되어야 할까?
- 캠프에서 배운 지식을 응용하여 발명하고 싶은 장치나 서비스는 무엇인가?
닭사진 화일과 주석 화일은 다음과 같이 배치하라. 작업폴더에 images와 labels폴더를 만들고
images 폴더 아래 train과 val폴더를 만들라
train 폴더에 90장의 닭사진 화일을
val 폴더 밑에 10장의 닭사진 화일을 넣어라
labels 폴더 아래 train과 val폴더를 만들라
train폴더에 90장의 주석처리된 닭사진 화일을
val 폴더 밑에 10장의 주석처리된 닰사진 화일을 넣어라
4. 'object detection(물체 인식)' 에 이어서 'your label list is empty(레이블이 비었다)'라고 쓰여있는 아이콘을 클릭하면 label을 만들라는 메뉴가 나온다
<준비사항> 구글크롬 브라우저 상에서 구글콜랩과 구글드라이브를 연동하여 사용해야 하므로, 먼저 구글크롬 브라우저를 설치하고 크롬에서 자신의 구글 계정으로 로그인한 상태로 만든 후 다음 과정을 진행해야 한다.
https://www.youtube.com/watch?v=oBG4-dMmNts
https://github.com/muntakson/ai_chicken/blob/main/mychicken_short.mp4




















































