SlideShare a Scribd company logo
1 of 50
FLUTTER with AI
tensorflow lite
CONTENTS
1
2
3
4
연사 소개
AI 모델? tf lite 모델?
tf lite모델을 사용하여
flutter에 적용해 보기
간단한 AI APP 시연
ⓒSaebyeol Yu. Saebyeol’s
PART 1
연사 소개
- 우성우
- flutter를 이용하여 ML/DL 기술을 접목하는데 관심이
많습니다.
- 현 모두의 연구소 aI/sw 교육 콘텐츠 제작 직무
- 전 메이커 스페이스 it 교육/콘텐츠 총괄 매니저
- 2021 마곡 AI /로봇 해커톤 최우수상 수상
PART 2
AI 모델? tf lite 모델?
Part 2 AI 모델을 tf lite로 만들기
AI 모델의 종류
Part 2 AI 모델을 tf lite로 만들기
AI ML DL 정의
1. AI 인공지능(Artificial Intelligence)
○ 인간의 지능을 모방하거나 시뮬레이션하기 위해 컴퓨터 프로그램과 기계를
사용하는 분야를 가리킵니다. 이것은 컴퓨터가 문제 해결, 추론, 학습 및
자율적인 의사 결정을 수행할 수 있는 능력을 향상시키려는 목표를 갖고 있는
기술 입니다.
2. ML 머신러닝(Machine Learning)
○ 머신러닝은 컴퓨터 시스템이 데이터로부터 패턴을 학습하고, 이를 기반으로
예측, 분류, 군집화와 같은 작업을 수행할 수 있게 하는 기술입니다. 이를 위해
알고리즘과 모델을 사용하여 데이터를 분석하고 예측합니다.
3. DL 딥러닝(Deep Learning)
○ 딥러닝은 머신러닝의 한 분야로, 인공 신경망을 사용하여 복잡한 패턴 인식 및
특징(feature)추출 작업을 수행합니다. 여러 개의 은닉층을 가진 신경망 구조를
사용하며, 대량의 데이터에서 자동으로 특징을 추출하고 학습합니다. 주로
이미지 및 음성 인식과 자연어 처리 분야에서 효과적으로 활용됩니다.
딥러닝은 머신러닝의 하위 집합이며, 머신러닝은 인공지능의 하위 집합입니다. 이러한
기술들은 현재 많은 분야에서 사용되고 있으며, 컴퓨터 비전, 자연어 처리, 음성 인식, 추천
시스템, 의료 진단, 자율 주행 자동차, 금융 분석 등 다양한 응용 분야에서 활발하게 연구되고
Part 2 AI 모델을 tf lite로 만들기
딥러닝 모델의 종류와 역할https://paperswithcode.com/sota
Part 2 AI 모델을 tf lite로 만들기
딥러닝 모델의 종류와 역할
computer vision(CV) CNN
tensorflow 공식 실습 자료
Epoch는 '에포크'라고 읽고
전체 데이터셋을 학습한 횟수를 의미합니다.
Part 2 AI 모델을 tf lite로 만들기
Machine learning at the edge
텐서플로우 라이트를 활용하여서 edge 환경에서 쉽게 머신러닝을 디바이스에서 작동하게
해줍니다.
데이터를 서버로 보내는 대신에 아래 4가지 능률이 오르는 장점이 있습니다.
on device machine learing 에서 상승 하는 4가지 요인
1. Latency : 서버와의 레이턴시가 없습니다.
2. Privacy: 자신의 로컬 환경 기계에서 데이터를 다른 곳으로 보내지 않아도
됩니다.
3. Connectivity: 인터넷 연결이 필요가 없습니다.
4. power consumption: 인터넷 연결이 꼭 필요하지 않음으로 에너지가
절약됩니다.
Part 2 AI 모델을 tf lite로 만들기
Machine learning at the edge Supported Platforms
PART 3
tf lite 모델을 사용하여
flutter에 적용해보기
Part 3 AI 모델을 tf lite로 만들기
tensorflow hub tflite를 활용해 보기
1. tensorflow hub tflite formats 으로된 파일 다운 받아서 적용해 보기
2. 링크 https://tfhub.dev/s?q=metadata
1. mobilenet download link:
https://tfhub.dev/tensorflow/lite-model/mobilenet_v1_0.75_224/1/metadata/1
Part 3 AI 모델을 tf lite로 만들기
1. 다운로드후 assets/ml 디렉토리(폴더) 경로를 만들고
1. pubspec.yaml assets에 디렉토리 경로 지정하기
tensorflow hub tflite를 활용해 보기
Part 3 AI 모델을 tf lite로 만들기
google_mlkit_image_labeling 다운로드 링크: https://pub.dev/packages/google_mlkit_image_labeling/install
tensorflow hub tflite를 활용해 보기
Part 3 AI 모델을 tf lite로 만들기
tflite 라벨링 얻는 방법은 colab을 사용하여서 라벨을 쉽게 얻을수 있습니다.
다운받은 tflite 모델을 colab에서 !unzip 모델이름.tflite 입력을 하시고 실행시키면 labels.txt 파일이 나옵니다.
참고로 모바일넷은 약 1000개의 레이블링이 되어있습니다.
https://colab.research.google.com/drive/12O1aZ6VMlecAwxTrBrqXAxdveoS18wms?usp=sharing
tensorflow hub tflite를 활용해 보기
Part 3 AI 모델을 tf lite로 만들기
패키지 안내 pubspec.yaml 아래처럼 같은 버전으로 작성후 flutter pub
get 하시면 자동으로 설치가 됩니다. ^^
assets 등록 안내
tensorflow hub tflite를 활용해 보기
Part 3 AI 모델을 tf lite로 만들기
기능별 코드 안내 (처음 선언부)
tensorflow hub tflite를 활용해 보기
Part 3 AI 모델을 tf lite로 만들기
카메라 기능을 사용하여 image capture 기능 gallery에서 이미지 선택 기능
tensorflow hub tflite를 활용해 보기
Part 3 AI 모델을 tf lite로 만들기
다운 받은 모델 경로 지정 및 옵션
조절
모델 파일 경로 및 읽어오는 기능
tensorflow hub tflite를 활용해 보기
Part 2 AI 모델을 tf lite로 만들기
이미지 인식 및 라벨링 기능
tensorflow hub tflite를 활용해 보기
Part 3 AI 모델을 tf lite로 만들기
디자인 부분중 버튼을 짧게 누르면 갤러리에서 이미지 선택, 길게 누르면 카메라를 켜서 촬영한 이미지를
선택 하는 부분
tensorflow hub tflite를 활용해 보기
Part 3 AI 모델을 tf lite로 만들기
tensorflow hub tflite를 활용해 보기
이제는 다른 모델인 EfficientNet Models을 사용해 보도록 하겠습니다.
링크 https://tfhub.dev/s?q=metadata
EfficientNet download link:
https://tfhub.dev/tensorflow/lite-model/efficientnet/lite4/int8/2
Part 3 AI 모델을 tf lite로 만들기
tensorflow hub tflite를 활용해 보기
사진 한 장을 가지고 mobilenet과 EfficientNet 인식률의 차이를 테스트해 보실 수 있습니다.
소스 코드 다운로드 깃허브 링크: https://github.com/sw-woo/Flutter_tflite_classfication_songdo.git
mobilenet EfficientNet
Part 3 AI 모델을 tf lite로 만들기
mediapipe-model-maker를 활용해 보기
https://colab.research.google.com/github/googlesamples/mediapipe/blob/mai
n/examples/customization/image_classifier.ipynb#scrollTo=kfr-8r5gtqNh
mediapipe-model-maker 라이브러리는 사용자 정의 데이터세트를 사용하여
TensorFlow Lite 모델 훈련 프로세스를 단순화합니다.
전이 학습(Transfer Learning)을 사용하여 필요한 훈련 데이터의 양을 줄이고
훈련 시간을 단축할 수 있습니다.
mediapipe-model-maker란?
Part 3 AI 모델을 tf lite로 만들기
사전에 훈련된 모델(pre-trained model), 전이 학습(Transfer Learning) ?
사전에 훈련된 모델(pre-trained model)이란?
전이 학습(Transfer Learning)이란?
일반적으로 딥러닝 모델을 제대로 훈련시키려면 많은 수의 데이터가 필요합니다.
하지만 현실에서는 충분히 큰 데이터셋을 얻는 것은 어렵습니다. 데이터를 얻는 일은 많은 비용이 발생하고 모든 개인, 기업이 이런
비용을 감당하는 일은 쉽지 않습니다. 또한 모델을 처음부터 학습하는 경우 매우 오랜시간 학습을 해야하는 경우가 많습니다. 이를
극복하기 위해 대규모 학습 데이터 기반으로 사전에 훈련된 모델(pre-trained model)을 활용할 수 있습니다.
전이학습(Transfer Learning)이란, 기존에 사전학습된(pre-trained) 모델을 가져와, 사용하고자 하는 학습 데이터를
학습시켜 이용하는 방법으로, 기존에 비슷한 도메인의 데이터를 학습한 모델을 현재 가진 데이터가 적더라도 좋은
성능을 기대 할 수 있습니다.
Part 3 AI 모델을 tf lite로 만들기
mediapipe-model-maker를 활용해 보기
선택 가능한 pretrained model?
Part 3 AI 모델을 tf lite로 만들기
mediapipe-model-maker를 활용해 꽃 분류 해보기
1. setup 패키지 설치 및 라이브러리 불러오기
2. prepare data 데이터를 준비 합니다.
3. Review data 준비된 데이터 라벨(정답)과 유무확인해보기
4. create dataset 이미지 경로에서 데이터를 가져와서 train, test, validation data로
나누기
5. set retraing options 트랜스퍼 러닝을 위한 옵션 정하기
6. Run retraining 모델 트레이닝 진행하기
7. model tuning (retraining parameters) 파라미터 옵션 설명 부분
8. Model quantization
모델 훈련 후 양자화는 정확도를 비교적 약간만 낮추면서 모델 크기를 줄이고 예측
속도를 향상시킬 수 있는 모델 수정 기술입니다. 이 접근 방식은 예를 들어 32비트
부동 소수점 숫자(32float)를 8비트 정수(8bit)로 변환하여 모델에서 처리되는
데이터의 크기를 줄입니다.
이 기술은 모델 훈련 프로세스 후에 모델을 더욱 최적화하는 데 널리 사용됩니다.
Part 3 AI 모델을 tf lite로 만들기
mediapipe-model-maker를 활용해 꽃 분류 해보기
Part 3 AI 모델을 tf lite로 만들기
mediapipe-model-maker를 활용해 꽃 분류 해보기
Part 3 AI 모델을 tf lite로 만들기
mediapipe-model-maker를 활용해 꽃 분류 해보기
Part 3 AI 모델을 tf lite로 만들기
mediapipe-model-maker를 활용해 꽃 분류 해보기
Part 3 AI 모델을 tf lite로 만들기
mediapipe-model-maker를 활용해 꽃 분류 해보기
Part 3 AI 모델을 tf lite로 만들기
mediapipe-model-maker를 활용해 꽃 분류 해보기
Part 3 AI 모델을 tf lite로 만들기
mediapipe-model-maker를 활용해 꽃 분류 해보기
Part 3 AI 모델을 tf lite로 만들기
mediapipe-model-maker를 활용해 꽃 분류 해보기
Part 3 AI 모델을 tf lite로 만들기
mediapipe-model-maker를 활용해 꽃 분류 해보기
Part 3 AI 모델을 tf lite로 만들기
mediapipe-model-maker를 활용해 꽃 분류 해보기
assets/ml 경로 폴더에 양자화된 flower_int8.tflite 파일을 넣어주고 createLabeler() 비동기 함수 getModelPath(‘assets/ml/flower_int8.tflite’);
파일을 넣어서 적용시켜줍니다.
단, 양자화 (quantization)를 하지않은 tflite모델은 build시 연산 에러가 날수 있습니다. ex) 모델 size or data type [float or unint) etc …
Part 3 AI 모델을 tf lite로 만들기
반려동물 안구 질환 인식 모델 만들기
반려동물 안구 질환 인식 모델 만들기
모델 훈련을 위한 데이터 수집
a. ai hub, 반려동물 안구 질환 인식을 위한 데이터셋을 다운로드 받기 :
반려동물 안구 질환 데이터
Part 3 AI 모델을 tf lite로 만들기
반려동물 안구 질환 인식 모델 만들기
수집한 데이터 모델에 훈련 시키기
a. 구글드라이브에 다운로드 받은 train 이미지 올리기
반려동물 안구 질환 인식 모델 만들기
Part 3 AI 모델을 tf lite로 만들기
train dataset 경로 지정하기
반려동물 안구 질환 인식 모델 만들기
Part 3 AI 모델을 tf lite로 만들기
train dataset 인식 확인
반려동물 안구 질환 인식 모델 만들기
Part 3 AI 모델을 tf lite로 만들기
dataset 분리 및 모델 학습
반려동물 안구 질환 인식 모델 만들기
Part 3 AI 모델을 tf lite로 만들기
dataset 분리 및 모델 학습
반려동물 안구 질환 인식 모델 만들기
Part 3 AI 모델을 tf lite로 만들기
학습된 모델 quantization
반려동물 안구 질환 인식 모델 만들기
Part 3 AI 모델을 tf lite로 만들기
mediapipe-model-maker를 활용해 강아지 결막염 음성 양성
분류
assets/ml 경로 폴더에 양자화된 dog_conjunctivitis_classfication.tflite 파일을 넣어주고 createLabeler() 비동기 함수
getModelPath(‘assets/ml/dog_conjunctivitis_classfication.tflite’);
파일을 넣어서 적용시켜줍니다.
단, 양자화 (quantization)를 하지않은 tflite모델은 build시 연산 에러가 날수 있습니다. ex) 모델 size or data type [float or unint) etc …
PART 4
객체 인식 AI APP 시연
Part 4 AI 모델을 tf lite로 만들기
tensorflow hub
최종 시연 모습 mediapipe-model-maker
최종 시연 모습
Q&A
thank you!
contact me swpheus1@gmail.com

More Related Content

Similar to FLUTTER with AI tensorflow lite.pptx

딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안Clova Platform
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usageTae Young Lee
 
191221 unreal engine 4 editor 확장하기
191221 unreal engine 4 editor 확장하기191221 unreal engine 4 editor 확장하기
191221 unreal engine 4 editor 확장하기KWANGIL KIM
 
LLM 모델 기반 서비스 실전 가이드
LLM 모델 기반 서비스 실전 가이드LLM 모델 기반 서비스 실전 가이드
LLM 모델 기반 서비스 실전 가이드Tae Young Lee
 
ML.NET으로 해보는 AutoML
ML.NET으로 해보는 AutoMLML.NET으로 해보는 AutoML
ML.NET으로 해보는 AutoMLfermat39
 
2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표JongkukLim
 
데이터아키텍트가 비즈니스 업무 부서와 협업하기 위해 알아야 할 다섯가지
데이터아키텍트가 비즈니스 업무 부서와 협업하기 위해 알아야 할 다섯가지데이터아키텍트가 비즈니스 업무 부서와 협업하기 위해 알아야 할 다섯가지
데이터아키텍트가 비즈니스 업무 부서와 협업하기 위해 알아야 할 다섯가지Devgear
 
Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기Dong Chan Shin
 
소프트웨어설계론
소프트웨어설계론소프트웨어설계론
소프트웨어설계론JeongDong Kim
 
이펙티브 C++ (7~9)
이펙티브 C++ (7~9)이펙티브 C++ (7~9)
이펙티브 C++ (7~9)익성 조
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)Seongyun Byeon
 
Cloud migration pattern[한글]
Cloud migration pattern[한글]Cloud migration pattern[한글]
Cloud migration pattern[한글]Seong-Bok Lee
 
HD 애플리케이션 만들기(파이어몽키 활용)
HD 애플리케이션 만들기(파이어몽키 활용)HD 애플리케이션 만들기(파이어몽키 활용)
HD 애플리케이션 만들기(파이어몽키 활용)Devgear
 
GMS 프로젝트 - Flutter
GMS 프로젝트 - FlutterGMS 프로젝트 - Flutter
GMS 프로젝트 - FlutterJongmini
 
OpenJigWare(V02.00.04)
OpenJigWare(V02.00.04)OpenJigWare(V02.00.04)
OpenJigWare(V02.00.04)Jinwook On
 
어플리케이션 성능 최적화 기법
어플리케이션 성능 최적화 기법어플리케이션 성능 최적화 기법
어플리케이션 성능 최적화 기법Daniel Kim
 
[DDC 2018] 통신 데이터 분석환경 구축사례 (SKT, 홍태희)
[DDC 2018] 통신 데이터 분석환경 구축사례 (SKT, 홍태희)[DDC 2018] 통신 데이터 분석환경 구축사례 (SKT, 홍태희)
[DDC 2018] 통신 데이터 분석환경 구축사례 (SKT, 홍태희)Metatron
 

Similar to FLUTTER with AI tensorflow lite.pptx (20)

딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usage
 
191221 unreal engine 4 editor 확장하기
191221 unreal engine 4 editor 확장하기191221 unreal engine 4 editor 확장하기
191221 unreal engine 4 editor 확장하기
 
LLM 모델 기반 서비스 실전 가이드
LLM 모델 기반 서비스 실전 가이드LLM 모델 기반 서비스 실전 가이드
LLM 모델 기반 서비스 실전 가이드
 
Understanding MLOps
Understanding MLOpsUnderstanding MLOps
Understanding MLOps
 
ML.NET으로 해보는 AutoML
ML.NET으로 해보는 AutoMLML.NET으로 해보는 AutoML
ML.NET으로 해보는 AutoML
 
2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표2021-11-16 모두콘 딥러닝 경량화 발표
2021-11-16 모두콘 딥러닝 경량화 발표
 
데이터아키텍트가 비즈니스 업무 부서와 협업하기 위해 알아야 할 다섯가지
데이터아키텍트가 비즈니스 업무 부서와 협업하기 위해 알아야 할 다섯가지데이터아키텍트가 비즈니스 업무 부서와 협업하기 위해 알아야 할 다섯가지
데이터아키텍트가 비즈니스 업무 부서와 협업하기 위해 알아야 할 다섯가지
 
Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기
 
소프트웨어설계론
소프트웨어설계론소프트웨어설계론
소프트웨어설계론
 
이펙티브 C++ (7~9)
이펙티브 C++ (7~9)이펙티브 C++ (7~9)
이펙티브 C++ (7~9)
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
 
Cloud migration pattern[한글]
Cloud migration pattern[한글]Cloud migration pattern[한글]
Cloud migration pattern[한글]
 
HD 애플리케이션 만들기(파이어몽키 활용)
HD 애플리케이션 만들기(파이어몽키 활용)HD 애플리케이션 만들기(파이어몽키 활용)
HD 애플리케이션 만들기(파이어몽키 활용)
 
사업계획서
사업계획서사업계획서
사업계획서
 
GMS 프로젝트 - Flutter
GMS 프로젝트 - FlutterGMS 프로젝트 - Flutter
GMS 프로젝트 - Flutter
 
OpenJigWare(V02.00.04)
OpenJigWare(V02.00.04)OpenJigWare(V02.00.04)
OpenJigWare(V02.00.04)
 
어플리케이션 성능 최적화 기법
어플리케이션 성능 최적화 기법어플리케이션 성능 최적화 기법
어플리케이션 성능 최적화 기법
 
[DDC 2018] 통신 데이터 분석환경 구축사례 (SKT, 홍태희)
[DDC 2018] 통신 데이터 분석환경 구축사례 (SKT, 홍태희)[DDC 2018] 통신 데이터 분석환경 구축사례 (SKT, 홍태희)
[DDC 2018] 통신 데이터 분석환경 구축사례 (SKT, 홍태희)
 

FLUTTER with AI tensorflow lite.pptx

  • 2. CONTENTS 1 2 3 4 연사 소개 AI 모델? tf lite 모델? tf lite모델을 사용하여 flutter에 적용해 보기 간단한 AI APP 시연 ⓒSaebyeol Yu. Saebyeol’s
  • 4. - 우성우 - flutter를 이용하여 ML/DL 기술을 접목하는데 관심이 많습니다. - 현 모두의 연구소 aI/sw 교육 콘텐츠 제작 직무 - 전 메이커 스페이스 it 교육/콘텐츠 총괄 매니저 - 2021 마곡 AI /로봇 해커톤 최우수상 수상
  • 5. PART 2 AI 모델? tf lite 모델?
  • 6. Part 2 AI 모델을 tf lite로 만들기 AI 모델의 종류
  • 7. Part 2 AI 모델을 tf lite로 만들기 AI ML DL 정의 1. AI 인공지능(Artificial Intelligence) ○ 인간의 지능을 모방하거나 시뮬레이션하기 위해 컴퓨터 프로그램과 기계를 사용하는 분야를 가리킵니다. 이것은 컴퓨터가 문제 해결, 추론, 학습 및 자율적인 의사 결정을 수행할 수 있는 능력을 향상시키려는 목표를 갖고 있는 기술 입니다. 2. ML 머신러닝(Machine Learning) ○ 머신러닝은 컴퓨터 시스템이 데이터로부터 패턴을 학습하고, 이를 기반으로 예측, 분류, 군집화와 같은 작업을 수행할 수 있게 하는 기술입니다. 이를 위해 알고리즘과 모델을 사용하여 데이터를 분석하고 예측합니다. 3. DL 딥러닝(Deep Learning) ○ 딥러닝은 머신러닝의 한 분야로, 인공 신경망을 사용하여 복잡한 패턴 인식 및 특징(feature)추출 작업을 수행합니다. 여러 개의 은닉층을 가진 신경망 구조를 사용하며, 대량의 데이터에서 자동으로 특징을 추출하고 학습합니다. 주로 이미지 및 음성 인식과 자연어 처리 분야에서 효과적으로 활용됩니다. 딥러닝은 머신러닝의 하위 집합이며, 머신러닝은 인공지능의 하위 집합입니다. 이러한 기술들은 현재 많은 분야에서 사용되고 있으며, 컴퓨터 비전, 자연어 처리, 음성 인식, 추천 시스템, 의료 진단, 자율 주행 자동차, 금융 분석 등 다양한 응용 분야에서 활발하게 연구되고
  • 8. Part 2 AI 모델을 tf lite로 만들기 딥러닝 모델의 종류와 역할https://paperswithcode.com/sota
  • 9. Part 2 AI 모델을 tf lite로 만들기 딥러닝 모델의 종류와 역할 computer vision(CV) CNN tensorflow 공식 실습 자료 Epoch는 '에포크'라고 읽고 전체 데이터셋을 학습한 횟수를 의미합니다.
  • 10. Part 2 AI 모델을 tf lite로 만들기 Machine learning at the edge 텐서플로우 라이트를 활용하여서 edge 환경에서 쉽게 머신러닝을 디바이스에서 작동하게 해줍니다. 데이터를 서버로 보내는 대신에 아래 4가지 능률이 오르는 장점이 있습니다. on device machine learing 에서 상승 하는 4가지 요인 1. Latency : 서버와의 레이턴시가 없습니다. 2. Privacy: 자신의 로컬 환경 기계에서 데이터를 다른 곳으로 보내지 않아도 됩니다. 3. Connectivity: 인터넷 연결이 필요가 없습니다. 4. power consumption: 인터넷 연결이 꼭 필요하지 않음으로 에너지가 절약됩니다.
  • 11. Part 2 AI 모델을 tf lite로 만들기 Machine learning at the edge Supported Platforms
  • 12. PART 3 tf lite 모델을 사용하여 flutter에 적용해보기
  • 13. Part 3 AI 모델을 tf lite로 만들기 tensorflow hub tflite를 활용해 보기 1. tensorflow hub tflite formats 으로된 파일 다운 받아서 적용해 보기 2. 링크 https://tfhub.dev/s?q=metadata 1. mobilenet download link: https://tfhub.dev/tensorflow/lite-model/mobilenet_v1_0.75_224/1/metadata/1
  • 14. Part 3 AI 모델을 tf lite로 만들기 1. 다운로드후 assets/ml 디렉토리(폴더) 경로를 만들고 1. pubspec.yaml assets에 디렉토리 경로 지정하기 tensorflow hub tflite를 활용해 보기
  • 15. Part 3 AI 모델을 tf lite로 만들기 google_mlkit_image_labeling 다운로드 링크: https://pub.dev/packages/google_mlkit_image_labeling/install tensorflow hub tflite를 활용해 보기
  • 16. Part 3 AI 모델을 tf lite로 만들기 tflite 라벨링 얻는 방법은 colab을 사용하여서 라벨을 쉽게 얻을수 있습니다. 다운받은 tflite 모델을 colab에서 !unzip 모델이름.tflite 입력을 하시고 실행시키면 labels.txt 파일이 나옵니다. 참고로 모바일넷은 약 1000개의 레이블링이 되어있습니다. https://colab.research.google.com/drive/12O1aZ6VMlecAwxTrBrqXAxdveoS18wms?usp=sharing tensorflow hub tflite를 활용해 보기
  • 17. Part 3 AI 모델을 tf lite로 만들기 패키지 안내 pubspec.yaml 아래처럼 같은 버전으로 작성후 flutter pub get 하시면 자동으로 설치가 됩니다. ^^ assets 등록 안내 tensorflow hub tflite를 활용해 보기
  • 18. Part 3 AI 모델을 tf lite로 만들기 기능별 코드 안내 (처음 선언부) tensorflow hub tflite를 활용해 보기
  • 19. Part 3 AI 모델을 tf lite로 만들기 카메라 기능을 사용하여 image capture 기능 gallery에서 이미지 선택 기능 tensorflow hub tflite를 활용해 보기
  • 20. Part 3 AI 모델을 tf lite로 만들기 다운 받은 모델 경로 지정 및 옵션 조절 모델 파일 경로 및 읽어오는 기능 tensorflow hub tflite를 활용해 보기
  • 21. Part 2 AI 모델을 tf lite로 만들기 이미지 인식 및 라벨링 기능 tensorflow hub tflite를 활용해 보기
  • 22. Part 3 AI 모델을 tf lite로 만들기 디자인 부분중 버튼을 짧게 누르면 갤러리에서 이미지 선택, 길게 누르면 카메라를 켜서 촬영한 이미지를 선택 하는 부분 tensorflow hub tflite를 활용해 보기
  • 23. Part 3 AI 모델을 tf lite로 만들기 tensorflow hub tflite를 활용해 보기 이제는 다른 모델인 EfficientNet Models을 사용해 보도록 하겠습니다. 링크 https://tfhub.dev/s?q=metadata EfficientNet download link: https://tfhub.dev/tensorflow/lite-model/efficientnet/lite4/int8/2
  • 24. Part 3 AI 모델을 tf lite로 만들기 tensorflow hub tflite를 활용해 보기 사진 한 장을 가지고 mobilenet과 EfficientNet 인식률의 차이를 테스트해 보실 수 있습니다. 소스 코드 다운로드 깃허브 링크: https://github.com/sw-woo/Flutter_tflite_classfication_songdo.git mobilenet EfficientNet
  • 25. Part 3 AI 모델을 tf lite로 만들기 mediapipe-model-maker를 활용해 보기 https://colab.research.google.com/github/googlesamples/mediapipe/blob/mai n/examples/customization/image_classifier.ipynb#scrollTo=kfr-8r5gtqNh mediapipe-model-maker 라이브러리는 사용자 정의 데이터세트를 사용하여 TensorFlow Lite 모델 훈련 프로세스를 단순화합니다. 전이 학습(Transfer Learning)을 사용하여 필요한 훈련 데이터의 양을 줄이고 훈련 시간을 단축할 수 있습니다. mediapipe-model-maker란?
  • 26. Part 3 AI 모델을 tf lite로 만들기 사전에 훈련된 모델(pre-trained model), 전이 학습(Transfer Learning) ? 사전에 훈련된 모델(pre-trained model)이란? 전이 학습(Transfer Learning)이란? 일반적으로 딥러닝 모델을 제대로 훈련시키려면 많은 수의 데이터가 필요합니다. 하지만 현실에서는 충분히 큰 데이터셋을 얻는 것은 어렵습니다. 데이터를 얻는 일은 많은 비용이 발생하고 모든 개인, 기업이 이런 비용을 감당하는 일은 쉽지 않습니다. 또한 모델을 처음부터 학습하는 경우 매우 오랜시간 학습을 해야하는 경우가 많습니다. 이를 극복하기 위해 대규모 학습 데이터 기반으로 사전에 훈련된 모델(pre-trained model)을 활용할 수 있습니다. 전이학습(Transfer Learning)이란, 기존에 사전학습된(pre-trained) 모델을 가져와, 사용하고자 하는 학습 데이터를 학습시켜 이용하는 방법으로, 기존에 비슷한 도메인의 데이터를 학습한 모델을 현재 가진 데이터가 적더라도 좋은 성능을 기대 할 수 있습니다.
  • 27. Part 3 AI 모델을 tf lite로 만들기 mediapipe-model-maker를 활용해 보기 선택 가능한 pretrained model?
  • 28. Part 3 AI 모델을 tf lite로 만들기 mediapipe-model-maker를 활용해 꽃 분류 해보기 1. setup 패키지 설치 및 라이브러리 불러오기 2. prepare data 데이터를 준비 합니다. 3. Review data 준비된 데이터 라벨(정답)과 유무확인해보기 4. create dataset 이미지 경로에서 데이터를 가져와서 train, test, validation data로 나누기 5. set retraing options 트랜스퍼 러닝을 위한 옵션 정하기 6. Run retraining 모델 트레이닝 진행하기 7. model tuning (retraining parameters) 파라미터 옵션 설명 부분 8. Model quantization 모델 훈련 후 양자화는 정확도를 비교적 약간만 낮추면서 모델 크기를 줄이고 예측 속도를 향상시킬 수 있는 모델 수정 기술입니다. 이 접근 방식은 예를 들어 32비트 부동 소수점 숫자(32float)를 8비트 정수(8bit)로 변환하여 모델에서 처리되는 데이터의 크기를 줄입니다. 이 기술은 모델 훈련 프로세스 후에 모델을 더욱 최적화하는 데 널리 사용됩니다.
  • 29. Part 3 AI 모델을 tf lite로 만들기 mediapipe-model-maker를 활용해 꽃 분류 해보기
  • 30. Part 3 AI 모델을 tf lite로 만들기 mediapipe-model-maker를 활용해 꽃 분류 해보기
  • 31. Part 3 AI 모델을 tf lite로 만들기 mediapipe-model-maker를 활용해 꽃 분류 해보기
  • 32. Part 3 AI 모델을 tf lite로 만들기 mediapipe-model-maker를 활용해 꽃 분류 해보기
  • 33. Part 3 AI 모델을 tf lite로 만들기 mediapipe-model-maker를 활용해 꽃 분류 해보기
  • 34. Part 3 AI 모델을 tf lite로 만들기 mediapipe-model-maker를 활용해 꽃 분류 해보기
  • 35. Part 3 AI 모델을 tf lite로 만들기 mediapipe-model-maker를 활용해 꽃 분류 해보기
  • 36. Part 3 AI 모델을 tf lite로 만들기 mediapipe-model-maker를 활용해 꽃 분류 해보기
  • 37. Part 3 AI 모델을 tf lite로 만들기 mediapipe-model-maker를 활용해 꽃 분류 해보기
  • 38. Part 3 AI 모델을 tf lite로 만들기 mediapipe-model-maker를 활용해 꽃 분류 해보기 assets/ml 경로 폴더에 양자화된 flower_int8.tflite 파일을 넣어주고 createLabeler() 비동기 함수 getModelPath(‘assets/ml/flower_int8.tflite’); 파일을 넣어서 적용시켜줍니다. 단, 양자화 (quantization)를 하지않은 tflite모델은 build시 연산 에러가 날수 있습니다. ex) 모델 size or data type [float or unint) etc …
  • 39. Part 3 AI 모델을 tf lite로 만들기 반려동물 안구 질환 인식 모델 만들기 반려동물 안구 질환 인식 모델 만들기 모델 훈련을 위한 데이터 수집 a. ai hub, 반려동물 안구 질환 인식을 위한 데이터셋을 다운로드 받기 : 반려동물 안구 질환 데이터
  • 40. Part 3 AI 모델을 tf lite로 만들기 반려동물 안구 질환 인식 모델 만들기 수집한 데이터 모델에 훈련 시키기 a. 구글드라이브에 다운로드 받은 train 이미지 올리기 반려동물 안구 질환 인식 모델 만들기
  • 41. Part 3 AI 모델을 tf lite로 만들기 train dataset 경로 지정하기 반려동물 안구 질환 인식 모델 만들기
  • 42. Part 3 AI 모델을 tf lite로 만들기 train dataset 인식 확인 반려동물 안구 질환 인식 모델 만들기
  • 43. Part 3 AI 모델을 tf lite로 만들기 dataset 분리 및 모델 학습 반려동물 안구 질환 인식 모델 만들기
  • 44. Part 3 AI 모델을 tf lite로 만들기 dataset 분리 및 모델 학습 반려동물 안구 질환 인식 모델 만들기
  • 45. Part 3 AI 모델을 tf lite로 만들기 학습된 모델 quantization 반려동물 안구 질환 인식 모델 만들기
  • 46. Part 3 AI 모델을 tf lite로 만들기 mediapipe-model-maker를 활용해 강아지 결막염 음성 양성 분류 assets/ml 경로 폴더에 양자화된 dog_conjunctivitis_classfication.tflite 파일을 넣어주고 createLabeler() 비동기 함수 getModelPath(‘assets/ml/dog_conjunctivitis_classfication.tflite’); 파일을 넣어서 적용시켜줍니다. 단, 양자화 (quantization)를 하지않은 tflite모델은 build시 연산 에러가 날수 있습니다. ex) 모델 size or data type [float or unint) etc …
  • 47. PART 4 객체 인식 AI APP 시연
  • 48. Part 4 AI 모델을 tf lite로 만들기 tensorflow hub 최종 시연 모습 mediapipe-model-maker 최종 시연 모습
  • 49. Q&A
  • 50. thank you! contact me swpheus1@gmail.com