Quick

    아두이노 우노 Q를 활용한 사진 속 사물 인식

 

목록으로
아두이노 우노 Q를 활용한 사진 속 사물 인식

안녕하세요 나도메이커입니다!

지난 시간에 소개해 드린 아두이노 우노 Q(Arduino Uno Q)의 텔레그램 봇(Telegram Bot) 예제는 다들 재미있게 실습해 보셨나요? 사용자가 입력한 대화의 문맥을 분석하여 긍정 및 부정을 파악하는 기분 파악 기능이나, 채팅창에 사진을 전송하여 사물을 분류해 내는 놀라운 인공지능(AI) 기능들을 함께 살펴보았습니다.

하지만 해당 실습은 코딩 교육 현장에서 학생들과 함께 진행하기에 한 가지 아쉬운 점이 있었습니다. 바로 메신저 앱인 텔레그램(Telegram)에 개별적으로 회원가입을 해야 한다는 번거로움이 존재했기 때문입니다. 특히 초등학생이나 중학생들의 경우 스마트폰 사용이나 계정 생성에 제약이 있을 수 있어 수업 진행에 허들이 되기도 합니다.

그래서 오늘은 복잡한 메신저 연동이나 회원가입 절차 없이, 아두이노 App Lab에서 제공하는 기본 웹 인터페이스에 사진만 간단히 올리면 바로 사물을 인식해 내는 최적화된 예제를 준비했습니다! 코딩 강사님들과 학생들이 머신러닝(Machine Learning)과 컴퓨터 비전(Computer Vision)의 핵심 원리를 직관적으로 이해할 수 있는 아주 훌륭한 프로젝트이니 지금 바로 시작하겠습니다.

■ 1. 아두이노 App Lab 접속 및 예제 코드 복사하기

본격적인 실습에 앞서 아두이노 우노 Q 보드를 PC에 케이블로 연결한 후, 전용 소프트웨어인 아두이노 App Lab을 켜주세요. 복잡한 C언어 코드를 한 줄씩 타이핑할 필요 없이 이미 완성된 고품질의 예제를 활용할 것입니다.

App Lab 첫 화면 좌측의 'Examples(예제)' 메뉴로 들어갑니다. 스크롤을 내려 다양한 내장 예제들 중에서 이미지 기반 객체 인식을 수행하는 'Detect objects on images (이미지 상의 사물 감지)' 항목을 찾아 클릭해 줍니다.

해당 예제를 내 계정으로 가져오기 위해 프로젝트 화면 상단에 위치한 'Copy and edit app (앱 복사 및 편집)' 버튼을 클릭해 주세요. 원본 코드를 보존하면서 나만의 수정 가능한 프로젝트 복사본을 생성하는 중요한 과정입니다.

복사가 성공적으로 완료되면 화면이 전환됩니다. 좌측 메뉴의 'My Apps (내 앱)' 폴더로 이동해 보시면, 방금 복사한 'Copy of Detect objects on images' 프로젝트가 안전하게 저장되어 있는 것을 확인할 수 있습니다. 이 항목을 클릭하여 코드 편집 및 실행 창으로 진입합니다.

■ 2. 코드 실행 및 이미지 업로드 환경 구축

이제 복사한 인공지능 코드를 보드에 업로드하고 실제로 실행해 볼 차례입니다.

우측 상단에 있는 RUN(실행) 버튼을 클릭합니다. 코드가 컴파일되고 아두이노 우노 Q 내부 시스템에 성공적으로 탑재되면, 기존의 단순한 텍스트 출력 창이 아닌 새로운 형태의 웹 화면이 나타납니다.

새로운 창이 열리면서, 사용자가 직접 PC에 있는 사진(이미지 파일)을 업로드할 수 있는 직관적인 UI가 제공됩니다. 여기에 사물 인식을 테스트해 보고 싶은 사진을 자유롭게 등록하면 됩니다. 복잡한 서버 구축 없이 보드 자체적으로 이런 웹 인터페이스를 제공한다는 점이 아두이노 우노 Q의 가장 큰 장점입니다.

테스트를 위해 제 책상 위에 있는 컴퓨터 마우스를 스마트폰으로 촬영한 뒤 사진을 등록해 보았습니다.

결과가 어떻게 나왔을까요? 아두이노 우노 Q에 탑재된 AI 모델은 사진을 스캔한 뒤, 해당 사물이 65.2%의 확률로 마우스(Mouse)라고 정확하게 예측해 냈습니다. 사진 구도가 조금 어두웠음에도 불구하고 물체의 특징을 추출하여 정답을 맞추다니 정말 대단하지 않나요?

■ 3. 사진 속 사물 인식 결과 확인하기

다른 사물도 잘 인식하는지 테스트하기 위해 이번에는 난이도를 조금 높여보겠습니다.

이번에는 사무실 한편에 놓인 화분(Potted plant) 사진을 등록해 보았습니다. 잠시 후 우노 Q는 이미지를 분석하더니 해당 사물이 무려 93.5%의 아주 높은 확률로 화분이라고 예측했습니다.

93.5 퍼센트라니?! 인공지능이 스스로 내린 결론에 대해 굉장히 강한 확신을 가지고 있어 보입니다. 화분의 잎사귀와 화분통의 명확한 형태가 AI 모델에 아주 잘 학습되어 있었기 때문에 이렇게 높은 수치가 나온 것입니다.

■ 4. 신뢰도(Confidence) 개념의 이해와 응용

이 대목에서 코딩 교육 시 학생들에게 가르쳐 주어야 할 머신러닝의 아주 중요한 개념이 등장합니다. 바로 'Confidence(신뢰도/확신도)'라는 개념입니다.

만약 소스 코드나 설정 창에서 사물을 인식하는 Confidence(신뢰도) 기준 값을 0.95 (즉, 95%)로 높게 설정한다면 어떻게 될까요? 인공지능은 앞서 93.5%(0.935)의 확률로 화분이라고 예측했지만, 우리가 설정한 통과 기준인 95%보다는 낮기 때문에 이 사물이 무엇인지 모른다고 판단(인식 실패)하게 됩니다.

즉, Confidence 값을 높인다는 것은 AI에게 "95% 이상 완벽하게 확신할 수 있는 사물만 정답으로 인정해!"라고 엄격한 기준을 제시하는 것과 같습니다. 이러한 신뢰도 값은 실생활에서 자율주행 자동차나 보안 카메라가 오류를 범하지 않도록 설정할 때 매우 중요하게 쓰이는 핵심 원리입니다.

* 참고사항: 인공지능의 사물 인식 확률(신뢰도)은 사진이 찍힌 배경의 복잡도, 조명의 밝기, 또는 사물을 바라보는 각도에 따라서 크게 떨어지거나 변동될 수 있습니다. 학생들과 함께 다양한 각도와 조명에서 사진을 찍어보며 확률이 어떻게 변하는지 비교해 보는 것도 훌륭한 탐구 학습이 됩니다.


오늘은 아두이노 우노 Q가 제공하는 내장 예제를 통해 복잡한 회원가입 없이도 쉽게 즐길 수 있는 사진 사물 인식(Object Detection) 프로젝트를 진행해 보았습니다.

작은 아두이노 보드가 사진 속 픽셀을 분석해서 해당 사물이 무엇인지 스스로 예측하다니, 하드웨어의 성능과 인공지능 기술이 정말 놀랍도록 똑똑해진 것 같습니다. 사물 인식이 제대로 작동하는지 궁금한 품목이나 도전해 보고 싶은 이미지가 있다면 댓글로 남겨주세요! 추가적으로 테스트를 진행하여 결과를 공유해 드리겠습니다.

혹시 실습 과정에서 어렵거나 궁금한 점이 생기신다면 언제든 댓글로 질문 남겨주시기 바랍니다.

해당 프로젝트에서 나온 상품은 아래에서 확인가능합니다 ▼

실습준비물

연관 컨텐츠

결제 및 주문

공지사항 목록