Vision Data Solution Service
AI Solution 튜토리얼에서 Vision Anomaly Detection AI Contents를 기반으로 제작된 AI Solution을 통해 Vision 데이터를 활용한 서비스를 체험해 봅니다.
서비스 환경 구성
간단하게 Vision 기반의 AI Solution을 서비스하는 환경을 구성하기 위해 Windows PC에 USB 카메라를 연결하고 고정된 각도에서 피사체를 촬영할 수 있도록 설정합니다.
피사체는 데이터 수집과 검사를 위해 정상 상태와 비정상 상태를 쉽게 만들 수 있는 대상을 선정하는 것을 권장합니다. Note: 카메라의 화각이나 조도 등의 주변 환경이 변하거나, 피사체가 많이 움직이는 경우 데이터 수집을 다시 진행해야 하므로 주의 바랍니다.

Windows PC
Edge App을 설치할 PC로 Vision Solution을 운영하기 위해 아래 사양을 권장합니다.
- CPU: i5
- Memory: 16GB
- OS: Windows 10
Edge App 설치 시, 'DataInputPath'를 USB 카메라로 촬영한 이미지가 저장되는 경로로 설정합니다.
참조 경로: C:\Users\User\Pictures\Camera Roll
USB 카메라 장비
PC와 연결하여 이미지 데이터를 수집하기 위해 USB 카메라를 준비합니다. 카메라는 다음의 사양을 권장하며, 촬영 환경이나 피사체에 따라 전용 카메라 구성이 필요할 수 있습니다.
촬영 대상 선정
Vision Anomaly Detection AI Solution을 운영하기 위해 정상 이미지와 비정상 이미지를 촬영할 수 있는 대상을 선정합니다. Vision Anomaly Detection은 대부분 정상 이미지와 소량의 비정상 이미지로 학습한 AI 모델을 통해 추론을 수행하므로, 다양한 정상 이미지를 수집할 수 있는 대상이어야 하며, 검증을 위해 비정상 상태도 만들 수 있어야 합니다.
- 검사 대상 예시
- 기계 부품
- 비스킷
- 커피 캡슐
AI Solution 운영
데이터 수집을 위한 Inference 모델 배포
Edge Conductor의 Stream 페이지에서 Vision Anomaly Detection Task 모델을 Edge App에 배포하여 Inference를 수행할 수 있도록 합니다.

자세한 사항은 Deploy Manual을 참고하세요.
배포가 완료되면 Edge App은 Disconnected 상태로 전환되고, 추론 Docker를 다운로드한 후 구동이 완료되면 Connected 상태로 전환됩니다.
Vision Anomaly Detection의 Inference Docker는 약 6GB이므로 여유 공간이 필요하며, 메모리가 적은 경우 다운로드 및 구동에 최대 30분 정도 소요될 수 있습니다.
데이터 수집
선정된 대상에 대해 촬영하여 약 200장의 정상 이미지와 5장의 비정상 이미지를 수집합니다. 수집 시 카메라는 반드시 고정되어 있어야 하며, 피사체 역시 화각 내에서 크게 움직이지 않아야 합니다. Vision Anomaly Detection은 정상 데이터의 관계를 학습하여 비정상을 판정하기 때문에 피사체를 움직이거나 변화를 주어 다양한 정상 데이터를 수집할수록 모델의 성능이 향상됩니다.
- 정상: 코일이 보여야 함
- 비정상: 커넥터가 뒤집어져 코일이 보이지 않음

Edge App을 실행한 다음 Edge Viewer와 Windows의 Camera 기본 애플리케이션을 실행하고 사진을 촬영합니다. Edge App이 정상적으로 동작하면 촬영된 이미지가 Edge Viewer에 표시됩니다.
학습되지 않은 데이터에 대해 추론하기 때문 모델은 Abnormal로만 판정합니다.
Note: Edge App이 동작하지 않 는 경우 설치 시 DataInputPath
를 다시 확인합니다.

Edge App에서 Inference를 수행하면 데이터와 결과가 Edge Conductor로 업로드되어 테이블로 표시됩니다.

앨범형 보기를 클릭하면 이미지를 기준으로 Inference 결과를 볼 수 있습니다.

데이터셋 생성과 라벨링
Dataset 메뉴로 이동하여 Edge App에서 추론한 데이터를 바탕으로 Dataset을 만들고 라벨링합니다.
초기 모델은 모든 데이터를 Abnormal로 판정하므로 전체 데이터를 선택하여 OK로 일괄 변경한 후, 비정상 이미지만 찾아서 라벨을 변경합니다.

자세한 사항은 Dataset Manual을 참고하세요.
모델 학습과 모델 배포
Streams 메뉴에서 Vision Anomaly Detection Task의 학습 버튼을 클릭하여 생성한 Dataset을 선택하고 학습을 요청합니다.
학습 요청 후, Dataset의 데 이터가 클라우드 S3로 전송되고 AI Conductor가 이를 불러와 학습 파이프라인을 실행하여 모델을 생성합니다.
학습이 완료되어 모델이 만들어지면, AI Conductor는 Edge Conductor로 모델을 전송하여 Edge App으로 배포할 수 있는 상태가 됩니다.
다시 배포 버튼을 클릭하여 Edge App으로 모델을 배포하고, 잘 판정하는지 확인합니다.

자세한 사항은 Model Train Manual을 참고하세요.
추론
데이터 수집과 같은 조건에서 검사 대상의 상태에 변화를 주며 학습된 모델이 잘 판정하는지 확인합니다. 실제 운영 환경에서는 PLC 통신이나 Object Detection 기술 등을 통해 기존 시스템과 연동하여 자동으로 사진을 촬영할 수 있습니다.
XAI(Explainable AI)
AI 모델이 비정상으로 판단하는 부분에 대해 Heatmap으로 더 밝게 표시합니다. 이를 통해 사용자는 어느 부분에 이상이 있는지 확인할 수 있습니다. 잘못 판정하는 상태가 있으면 Heatmap을 참고하여 데이터 수집하고 모델 학습을 통해 성능을 향상 시킬 수 있습니다. 카메라가 움직였으면 전체적으로 Heatmap이 밝게 표시되고, 조명에 변화가 발생하였으면 빛이 반사되는 부분이 밝게 표시될 수 있습니다. 이러한 점을 참고하여 환경에 변화 가 발생하였는지 확인하고 외부의 변화 요인이 발생하지 않도록 합니다.
파라미터 조정
Edit Stream에서 파라미터를 수정할 수 있습니다. 학습이 수렴되지 않았다면 학습 파라미터의 epoch를 증가시키거나, 과검율을 조정하고 XAI 이미지를 표시하기 위해 추론 파라미터를 수정할 수 있습니다. 추론 파라미터를 수정한 후, 모델을 다시 배포해야 Edge App에 적용됩니다.

재학습
적은 양의 데이터로 학습된 모델은 성능이 부족할 수 있습니다. 이 경우 데이터를 추가로 수집하고, 모델이 잘못 판정한 사항에 대해 라벨링한 후 재학습을 통해 AI 모델을 개선할 수 있습니다.
데이터를 추가적으로 수집하고 Edge Conductor에서 Dataset을 만들고 AI 모델을 학습 및 배포하는 과정을 쉽게 수행할 수 있으므로,
현업의 AI Operator가 AI 모델을 관리하고 운영할 수 있습니다.
AI Operator의 역할에 대한 자세한 내용은 AI Operator Manual을 참고하시기 바랍니다.
