안녕하세요.
아래의 내용은 시간이 조금 지나서 이미지와 기능이 조금 다를 수 있습니다.
2일 차는 AIIT라는 모듈 조립과 크롤링, 학습모델 실습 위주로 되어 있어서 나누지 않고 하나의 글로 적어보겠습니다.
1. 1교시(아나콘다(Anaconda.com) 환경 구축)
- 이전 내용에서 AI가 학습을 위한 사전작업이 필요한데 그중에 객체를 인식시켜 주시기 위한 자료를 만들어 주어야 합니다. 먼저 라벨링 작업이라고 해서 인식하고자 하는 이미지에 박스를 그려서 그 안에 있는 것이 어떤 것인지 알려주는 데이터를 만드는 작업을 합니다. 그러기 위해서 몇 가지 라이브러리와 파이썬이 작동할 수 있는 환경을 만들어야 합니다.
1) 아나콘다(Anaconda) 설치
- 가상 개발환경으로 한 대의 PC에 여러 개의 버전의 툴을 설치를 가능하게 합니다.
- https://www.anaconda.com/products/individual 자신의 환경에 맞게 64bit, 32bit 버전을 설치합니다.
(주의할 점은 설치 시 Advanced Options에서 Add Anaconda3 to PATH environment variable을 선택해 주어야 기타 환경설정을 해야 하는 번거로움을 줄일 수 있다. 그리고 64bit 컴퓨터에서 작업을 권장)
2. 2교시(Python 설치 및 라벨링 작업)
- Anaconda Prompt를 실행시키면 DOS command prompt와 같은 창이 나타난다 차이점은 앞에 개발환경 계정 이름이 나타나며 처음은 (base)로 시작합니다.
1) 현재 개발 계정 상태를 확인
- conda env list 입력하면 경로와 * 로 현재 로그인된 계정을 확인할 수 있습니다.
2) 계정 만들기와 로그인 방법 등
- python3.7 버전 계정 만들기 : conda create –n p37 python=3.7
- 계정 로그 아웃 : conda deactivate
- 계정 로그인 : conda activate p37
- python3.6 버전 계정 삭제 : conda remove –n p37 –all
3) 라벨링 프로그램 설치(labelimg)
- 파이썬 3.7 버전으로 로그인 후 (conda activate p37)
- 라벨링 프로그램 설치 (pip install labelimg)
- labelimg 입력해서 프로그램 실행하고 Open 해서 이미지를 불러와 라벨링 작업을 합니다.
- Create RectBox 설정해서 dog와 cat으로 라벨링 합니다. 그리고 PascalVOC로 선택하고 Save 하고 YOLO, ML로 바꿔서 저장합니다. 3가지 타입으로 PascalVoc, YOLO, CreateML 저장할 수 있으며 출력 결과는 다른 형식으로 저장되는 것을 알 수 있습니다.
3. 3교시(텍스트 크롤링)
1) 라벨링 파일 확인
- PascalVOC 파일 학인 : xml에 좌표값으로 저장되어 있다.
- YOLO 파일 확인 : classes.txt 이름이 들어 있고, txt 파일에 수치 값이 들어있다.
- CreateML 파일 확인 : json으로 저장되고 좌표가 저장되어 있다.
- 라벨링 작업만 해주는 회사가 있다.
(crowdworks.kr, labelr.io, aiworks.co.kr, cashmission.com 등 혹은 데이터 바우처 사업 이용 가능)
2) 텍스트 크롤링
(1) 사전 작업으로 필요한 라이브러리를 설치
//인터넷의 특정 정보(HTML구조)를 가져오는 라이브러리
pip install beautifulsoup4
// 자료에 counting을 해주고 외부 데이터도 가져올 수 있게 준다. 카운터 하는 라이브러리, 접속하고자 하는 웹페이지에 있는 외부 데이터 접근도 가능하게 함
pip install selenium
// 웹페이지 소스 정보를 가져올 때 사용하는 라이브러리
pip install requests
(2) 소스코드를 보기 위해서 Visual Studio Code 설치
- https://code.visualstudio.com/
- python 소스를 작성하는 시간을 줄이기 위해서 프로그램 소스 다운로드 (첨부파일 참조)
(3) 크롤링 소스 실행
- 네이버에서 텍스트 검색해서 데이터를 가져오는 소스
(p37) c:\ai_lect\textCrawing>python 001_craw.py
검색어를 입력하세요 : lunch menu
- cp949 에러 발생 시 UTF-8로 바꿔주면 한글 값이 정상적으로 출력된다.
# 소스 수정
file=open('파일명','w',encoding='UTF-8')
4. 4교시(텍스트 크롤링 소스 확인)
1) craw.py 소스 확인
- url 부분에서 뉴스나 다른 부분의 검색 방법을 넣을 수도 있습니다.
url = f'https://m.search.naver.com/search.naver?where=m_view&sm=mtb_jum&query={quote_plus(search)}'
- 검색한 결과를 크롬 브라우저에서 HTML 소스를 열어서 보면 api_txt_line이라는 것이 있고 이것을 참조해서 필요한 문자열들을 저장해서 출력합니다.
total = soup.select('.api_txt_lines.total_tit')
2) crawing.py 소스 확인
- 네이버 지식인에서 데이터(제목과 링크 주소)를 가져옵니다.
3) 이미지 크롤링
- 크롬 브라우저가 아니라면 웹에서 크롬 브라우저 다운로드하여 설치해야 합니다.
- 구글 배포하는 크롬 드라이버를 다운로드 (현재 설치된 크롬 버전과 최대한 유사한 버전의 크롬 드라이버를 다운로드해야 한다.) https://chromedriver.chromium.org/downloads
- 크롬 브라우저에서 초기 화면에 불러오는 이미지를 가져와 저장합니다.
5. 5교시(이미지 크롤링)
1) 이미지 크롤링 파이썬 소스 실행
- python web.py 실행시켜서 검색하고자 하는 내용을 넣으면 다운로드 폴더에 이미지를 저장됩니다.
2) 소스 확인
- 검색 URL 입력하고 구글 드라이버 프로그램에 전달하고 BeautySoup 라이브러리로 html 파싱하고 img 태그를 찾아서 이미지를 다운로드하며 순차적으로 이름을 붙여 저장합니다.
3) 다른 이미지 크롤링 프로그램(오토크롤러, autocrawler)
- 웹에서 이미지 검색해서 1000 ~ 2000장 이미지를 가져올 수 있습니다.
(오픈소스) https://github.com/YoongiKim/AutoCrawler
(1) 작동하는 방법
- Install Chrome
- pip install -r requirements.txt
- Write search keywords in keywords.txt
- Run "main.py"
- Files will be downloaded to 'download' directory.
6. 6교시 (AIIT 모듈 조립하기)
- 교육과정에서 제공해 준 AIIT 킷트를 조립합니다. 아두이노 킷트의 회로를 예측해 보면 PC와 아두이노가 시리얼통신을 통해서 제어 값을 받고, 제어 값을 통해 LED가 작동하고 또한 SD card와 사운드 출력이 결합된 모듈로 제어 신호를 보내 AI 작업이 처리되고 있는 상황을 안내해 주는 것으로 생각되었습니다.
- 외형은 3D 출력물로 되어있고, 스위치, 모터 제어 등 기능이 빠져 있어서 조금 더 보강이 필요해 보였습니다.
7. 7교시(Teachable Machine 학습 데이터 작업)
1) 모델 학습시키기
- 이미지 10개 카테고리(폴더)를 만들고 동물 얼굴 하나씩만 있는 이미지 찾아 저장합니다. 티저블 사이트에 10개 분류할 클래스 만들어 폴더에 있는 사진을 하나씩 업로드한 후 학습시킵니다.
2) 학습 모델 테스트
- 학습이 완료되었다면 웹캠(WebCam)으로 자신의 얼굴을 비추어보면 어떤 동물과 유사한지 알 수 있습니다.
3) 모델 결과 출력하기
- 모델 내보기를 선택한 후 Tensorflow - Keras 버전으로 다운로드하여서 교육과정에서 제공해 주는 프로그램의 Model 폴더에 저장합니다. (확장자가 .h5, .txt 파일이 생성)
8. 8교시 (제공해 준 프로그램 테스트)
- 공개된 AI 모델을 활용해서 교육업체에서 개발한 프로그램 실습
1) AIIT 모듈과 프로그램 테스트
- Teachable Machine에서 모델 파일을 이용하여 사진을 입력하였을 때 어떤 동물의 사진인지 TEXT로 알려주고 제작한 AIIT 킷트에서 진행상황과 LED 작동하는 것을 확인
2) AIIT ANI 테스트
- 사람의 얼굴 이미지를 애니메이션화 시켜서 출력
3) BeautyGAN 테스트
- noMakeup 사진을 Makeup 한 사진으로 변환시킵니다. (얼굴 화장하지 않는 얼굴에 화장한 사진으로 바꿔준다.
9. 마무리
이것으로 16시간 기초 AI 무료교육이 끝이 났습니다. 2일 동안 AI 개념과 모델 학습, 크롤링 등 맛을 볼 수 있는 시간이었습니다. 순수하게 프로그램 개발만 하셨거나, 최근 AI, AI 하는 것에 대해서 궁금하시다면 들어보면 도움이 될 것이라고 생각됩니다.
대학 강의처럼 뉴런부터 시작해서 수식이 들어가는 강의가 아니다 보니 편하게 개념 정도 이해할 수 있는 강의가 아니었나 생각됩니다.
그러나 온라인 수업이지만, 이틀간 오전, 오후로 진행되다 보니 업무를 하시면서 보시기는 힘들 수도 있을 것으로 생각됩니다.
감사합니다.
<참고 사이트>
1. [Python]파이썬 크롤링 파일 쓰기시 UnicodeEncodeError : ‘c[949’ codec can’t encode
'Artificial Intelligence > basic' 카테고리의 다른 글
[5분 AI] 머신러닝 학습 방법 4가지 (0) | 2024.08.17 |
---|---|
인공지능 스마트 팩토리 교육 2일 교육 중 1일 차 후기 (0) | 2024.04.23 |
인공지능 미래산업 활용 무료교육 후기 (1일 차 - 오후) (0) | 2024.04.09 |
인공지능 미래산업 활용 무료교육 후기 (1일 차 - 오전) (0) | 2024.04.05 |