' + re_word; if(data.autoList[i].PROD_NAME != ''){ html += ' '+data.autoList[i].PROD_NAME+''; } html += '
' html += '' + comma(Math.floor(data.autoList[i].PROD_PRICES)) + ' 원'; html += '' + re_word + '
'; html += '' + comma(Math.floor(data.resultList[i].prod_priceS)) + ' 원'; html += ''+data.catgStep1List[i].split('@@')[1]+'
'; html += '현대의 연구소, 대학교, 그리고 사기업의 R&D 부서에서는 제한된 자원으로 극대화된 효율을 이끌어내기 위해 엣지 컴퓨팅(Edge Computing) 기술을 적극 도입하고 있습니다. 특히 데이터 센터로 정보를 보내지 않고 현장에서 즉각적인 데이터 처리를 수행하는 엣지 AI(Edge AI)는 스마트 팩토리, 자율주행, 무인 감시 시스템 등 다양한 산업 분야에서 필수로 자리 잡았습니다.
이러한 기술을 실증하고 프로토타입을 구축하는 데 있어, 뛰어난 성능과 합리적인 비용을 자랑하는 싱글보드컴퓨터(SBC)인 라즈베리파이 4(Raspberry Pi 4)는 최적의 선택지입니다. 이번 실습 프로젝트에서는 라즈베리파이 4 환경에서 대표적인 컴퓨터 비전 라이브러리 및 딥러닝 프레임워크를 활용하여 실시간 사물 인식(Object Detection) 파이프라인을 구축하는 과정을 상세히 알아보겠습니다.

사물인식 알고리즘을 라즈베리파이와 같은 소형 기기에서 구동하기 위해서는 연산 자원을 효율적으로 사용하는 것이 관건입니다. 이를 위해 본 프로젝트에서는 두 가지 핵심 라이브러리를 활용합니다.
첫 번째는 텐서플로 라이트(TensorFlow Lite)입니다. 텐서플로(TensorFlow)는 구글(Google)에서 개발한 오픈소스 딥러닝 프레임워크로, 전 세계의 수많은 기업과 연구 기관에서 표준처럼 사용하고 있습니다. 하지만 무거운 딥러닝 모델을 SBC에서 그대로 구동하기에는 무리가 있습니다. 이때 TensorFlow Lite를 사용하면 학습된 모델의 크기를 대폭 경량화하여 안드로이드, iOS, 라즈베리파이 등 메모리와 전력이 제한된 엣지 디바이스에서도 원활하게 AI 모델을 추론(Inference)할 수 있습니다.
두 번째는 OpenCV(Open Source Computer Vision)입니다. OpenCV는 실시간 이미지 처리 및 컴퓨터 비전에 특화된 오픈소스 라이브러리로, 카메라로부터 입력받은 영상 프레임을 딥러닝 모델이 이해할 수 있도록 전처리(Preprocessing)하고, 모델의 결과물(Bouding Box 등)을 모니터 화면에 시각화해주는 중요한 역할을 수행합니다.
실습을 진행하기 위해 라즈베리파이 4 보드와 호환되는 파이 카메라 모듈이 준비되어야 합니다. 하드웨어 연결이 완료되었다면, 운영체제 상에서 패키지 충돌이나 버전 오류가 발생하지 않도록 반드시 시스템을 최신 상태로 업데이트 및 업그레이드 해야 합니다. 연구 및 개발 환경에서는 의존성 문제로 인해 프로젝트가 지연되는 경우가 많으므로 이 과정은 필수적입니다. 터미널을 열고 아래의 명령어를 순서대로 입력하여 시스템 환경을 최신화합니다.
업데이트가 완료되면, 오픈소스 저장소에서 사물인식 실습을 위한 베이스 코드를 가져옵니다. 깃(Git) 명령어를 통해 텐서플로 라이트 기반의 사물인식 예제 디렉토리를 복제합니다.
코드를 다운로드한 후, 원활한 작업과 경로 접근의 편의성을 위해 디렉토리의 이름을 간결하게 변경합니다. 여기서는 임의로 디렉토리명을 'tflite1'로 재지정하고 해당 폴더로 이동하겠습니다.
기업의 프로덕션 환경이나 대학교의 실습 서버에서는 여러 프로젝트가 동시에 진행되는 경우가 많습니다. 이때 글로벌 환경에 직접 라이브러리를 설치하면 파이썬(Python) 패키지 간의 버전 충돌이 일어날 확률이 매우 높습니다. 이를 원천적으로 차단하기 위해 독립된 파이썬 가상환경(Virtual Environment)을 생성하고 활성화하는 것이 표준 권장 사항입니다.
아래 명령어를 통해 가상환경 모듈을 설치하고, 새로운 가상환경을 생성 및 실행할 수 있습니다.
가상환경이 정상적으로 활성화되면 터미널 프롬프트 앞에 '(tflite1-env)'라는 태그가 생성됩니다. 이 상태에서 사물인식 구동에 필요한 필수 패키지(OpenCV, 텐서플로 라이트 런타임 등)를 설치하는 쉘 스크립트를 실행합니다.
참고 사항: 추후 라즈베리파이를 재부팅하거나 터미널을 종료한 뒤 실습을 이어서 진행해야 한다면, 반드시 작업 디렉토리로 이동한 후 `source tflite1-env/bin/activate` 명령어를 다시 입력하여 가상환경을 활성화해주어야만 오류 없이 스크립트가 작동합니다.
구동 환경이 완벽하게 갖추어졌다면, 실제 추론을 수행할 기계학습(Machine Learning) 모델 데이터가 필요합니다. 구글 텐서플로 진영에서는 모바일 및 엣지 디바이스 환경을 위해 이미 방대한 데이터로 사전 학습된(Pre-trained) 모델 예제를 제공하고 있습니다. 본 실습에서는 대표적인 경량화 객체 탐지 모델인 COCO SSD MobileNet을 다운로드하여 사용하겠습니다.
wget 명령어로 압축 파일을 내려받은 후, unzip 명령어를 통해 'TFLite_model'이라는 폴더명으로 압축을 해제합니다. 이 모델 파일 안에는 라벨(Label) 정보와 학습 가중치(Weight)가 최적화되어 포함되어 있습니다. 이제 모든 설정이 완료되었습니다. 사물인식을 실행하는 파이썬 스크립트를 구동해보겠습니다. 앞서 강조한 바와 같이 텐서플로 실행은 반드시 가상환경이 활성화된 상태에서 진행되어야 합니다.
명령어를 입력하면 라즈베리파이와 연결된 모니터에 웹캠 실시간 화면이 출력됩니다. 카메라 렌즈 앞의 사물이나 사람을 모델이 성공적으로 감지(Detection)하면, 해당 객체 주변으로 인식 박스(Bounding Box)가 그려지며 객체의 이름과 정확도(Confidence Score)가 표시됩니다.
이러한 싱글보드컴퓨터 기반의 엣지 AI 구축 실습은 출입 통제, 재고 관리 자동화, 위험 구역 감시 등 실제 B2B 비즈니스 솔루션으로 확장할 수 있는 무한한 가능성을 제시합니다. 본 프로젝트를 통해 성공적인 연구 및 시스템 개발의 인사이트를 얻어보시길 바랍니다.
해당 프로젝트에서 나온 상품은 아래에서 확인가능합니다 ▼