C#/기술 개발

C# Machine Learning 프로젝트 (ML.net)

sheepone 2021. 5. 18. 14:48
반응형
필요성
비전 검사의 다양성 확대와 기술력 상승
현시점에서 머신러닝은 오픈소스 확산을 통해 대중화 되어 있어 개인이 구축 가능한 시점

 

1. ML.net
1) 개요 (Initial release 7 May 2018; 20 months ago)
Microsoft사의 Open Source Machine Learning (무료)
ML.NET은 원래 Microsoft Research에서 개발되었으며 지난 10 년 동안 Windows, Bing, PowerPoint, Excel 등과 같은 
Microsoft의 여러 제품 그룹에서 사용되는 Microsoft 내부 프레임 워크로 발전했습니다.
ML.NET Model Builder 확장을 설치 필요
Visual Studio Express 버전에서는 확장을 지원하지 않아 Visual Studio 2019 Preview 버전으로 진행 필요
튜토리얼 https://dotnet.microsoft.com/learn/ml-dotnet/get-started-tutorial/intro
다운로드 http://aka.ms/mlnettemplates
SAMPLE https://github.com/dotnet/machinelearning-samples
a. 분석
기본적으로이 솔루션은 교육 및 스코어링에 CPU 를 사용합니다 . 그러나 컴퓨터에 호환 가능한 
GPU (기본적으로 대부분의 NVIDIA GPU 그래픽 카드)가있는 경우 GPU를 사용하도록 프로젝트를 구성 할 수 있습니다.
ML.NET의 핵심은 기계 학습 모델입니다. 
64비트는 모든 플랫폼에서 지원
이미지 분류 의료 이미지에서 병리학 분류
이미지 분류 예제 분석 진행 (ImageClassification.Train , flower)
INPUT, OUTPUT 확인 및 실제 적용 방법 확인중
b. 백혈구 분류 테스트
백혈구 호중구,호산구,호염구,림프구,단백구 이미지 획득 작업 (1차 300여장의 이미지로 테스트)
2) 백혈구 분류 

(1) 대상 이미지
a. Neutro 87개 이미지
b. Eosin 12개 이미지
c. Baso 5개 이미지
d. Lym 33개 이미지
균일한 이미지를 찾기 어려우며 이미지 사이즈가 너무 작음
(2)분류 작업
a. 트레인 작업
약 57초 소요로 압축 파일의 결과물 약 93MB
(ImageClassification.Train 예제 참조)

b. 검사 작업
5개 이미지 약 4초
사용한 이미지는 트레인 할 이미지에서 임의로 한 개씩 뺀 이미지 이며 해당 이미지는 트레인에 사용되지 않음
(ImageClassification.Predict 예제 참조)

Baso - FAIL (0.5로 이미지 부족일 가능성 높음 5개)
Eosin – OK (0.8)
Lym – OK ((0.9)
Mono – FAIL (0.4로 이미지 부족일 가능성 높음 18개)
Neutoro – OK (0.9)
(3) 결과
이미지 부족으로 인한 재검토 필요
해당 종류별 이미지 각 200장 필요 예상 (최소 100)
(4) 기타
트레인 작업을 중간에 연결해서 할수 있는 기능은 아직까지는 찾지 못함
유레시스와 비교 작업

 

관련 파일 첨부

ImageClassification.Predict.zip.001
10.00MB
ImageClassification.Predict.zip.002
10.00MB
ImageClassification.Predict.zip.003
3.38MB
ImageClassification.Train.zip.001
10.00MB
ImageClassification.Train.zip.002
10.00MB
ImageClassification.Train.zip.003
3.88MB

 

반응형