[ROS] 얼굴인식(face recognition): Raspberry Pi + face_recognition

지난 글에서는 얼굴 탐지에 대한 기능을 구현해 보았습니다: [ROS] 얼굴탐지(face detection) 얼굴 탐지는 카메라(이미지)에서 얼굴에 해당하는 부분을 사각형 부분으로 탐지하는 기술을 말합니다. 이번 글에서는 같은 환경에서 누구인지 판별할 수 있는 얼굴 인식(face recognition) 기능을 구현해 보도록 하겠습니다. Step 1. Main Structure 얼굴 인식 기능은 연산 처리가 많기 때문에 computing resources를 많이 사용하는 기능입니다. 그래서 이번에는 cloud…

[ROS] 얼굴탐지(face detection): Raspberry Pi + libfacedetection

라즈베리파이의 카메라를 통해서 얼굴 인식을 하는 기능을 ROS로 구현해 봅시다.   Step 1. Camera Module 필자는 라즈베리파이용 카메라인 “파이카메라”를 구입하였습니다. 파이카메라는 라즈베리파이의 가운데 부분에 연결해야 합니다. 라즈베리파이 보드를 잘 보면 하얀 글씨로 “CAMERA”라고 printing 되어 있는 부분입니다.  라즈베리파이와 카메라 모듈을 안정적으로 연결하면 성공입니다. ROS에서 카메라 입력을 위하여 “uvc_camera”를 사용하였습니다.   Step 2. face detection 필자의…

[ROS] 설치하기: Raspberry Pi + Ubuntu Mate + ROS Kinetic

Start: ROS를 시작해 봅시다 재료(설치 환경)는 다음과 같습니다. Raspberry Pi 3 Model B Ubuntu Mate 16.04.2 (Xenial) ROS kinetic version ROS의 버전은, 2007년 스탠포드 대학 인공지능 연구소에서 시작된 “Switchyard”가 초기 버전이며, 그 이후 2010년 “Box Turtle”을 기점으로 알파벳 순서로 버전이 업데이트 되고 있습니다. 필자는 “Kinetic” 버전을 설치하였습니다.   공식 홈페이지에서 버전에 관한 정보를 제공하고 있습니다. (http://wiki.ros.org/Distributions)…

[ROS] 설치하기: Raspberry Pi + Ubuntu Mate + ROS Lunar

Start: ROS를 시작해 봅시다 재료(설치 환경)는 다음과 같습니다. Raspberry Pi 3 Model B Ubuntu Mate 16.04.2 (Xenial) ROS lunar version ROS의 버전은, 2007년 스탠포드 대학 인공지능 연구소에서 시작된 “Switchyard”가 초기 버전이며, 그 이후 2010년 “Box Turtle”을 기점으로 알파벳 순서로 버전이 업데이트 되고 있습니다. 필자는 “Lunar” 버전을 설치하였습니다. 공식 홈페이지에서 버전에 관한 정보를 제공하고 있습니다. (http://wiki.ros.org/Distributions) 혹시…

라즈베리파이(Rasbperry pi)로 모터 제어하기 – L298N

라즈베리파이는 Model 3 B 기준으로 설명하겠다.   WiringPi 라즈베리파이에서 pin 제어를 위해서는 WiringPi 라는 라이브러리를 이용하면 편리하다. 다음은 wiringPi 설치법이다. sudo apt-get update //optional sudo apt-get upgrade //optional git clone git://git.drogon.net/wiringPi cd wiringPi git pull origin ./build   라즈베리파이는 외부 통신을 위하여 다양한 인터페이스를 가지고 있다. 이러한 인터페이스들을 wiringPi에서는 다시 매칭하고 있다. 아래는 그 내용이다….

Samsung ARTIK

라즈베리파이(Raspberry Pi) 라고 혹시 들어본적이 있는가? 아니면 아래 그림과 같은 Hardware Board를 본 적이 있는가?   이것은 영국의 라즈베리파이 재단에서 만든 초소형 컴퓨터로, 손바닥만한 크기에 $35(한화 약 4만원) 밖에 하지 않지만 무려 1.2GHz Quad Core CPU에 1GB RAM을 가지고 있는 컴퓨터이다. (Donkey Kong과 같은 추억의 mini game은 무리없이 잘 돌아간다)   아듀이노, 바나나파이 등 라즈베리파이와 같은 다양한…

[Android] UPnP IGD 올리기 (upnp igd porting, cross compile)

  UPnP 기능은 어떤 장치를 연결할 때, 사용자가 설정을 해 주지 않아도 알아서 편리하게 연결이 되도록 하는 자동 연결 지원 프로토콜이다. UPnP 기능은 하위 여러 기능들을 포함하고 있는데, 그 중 IGD(Internet Gateway Device)는 장치들 간의 UPnP 연결에 있어서 중간다리 역활을 하는 기능이다. 아래는 Wikipedia의 내용이다. 유니버설 플러그 앤 플레이 위키백과, 우리 모두의 백과사전. 유니버설 플러그…

[Android] ADB Connection Without Screen (Secure USB Debugging)

Android 4.2.2 버전부터는 Secure USB Debugging 기능이 포함되므로, adb Connection을 위해서는 Device에 Desktop을 인증하는 과정이 필요하다. Secure USB Debugging is in Android 4.2.2.  Android key authentication is required to connect to desktop and Android devices using a USB cable.   System 부팅 후 Device와 Desktop을 usb cable로 연결 후, “adb devices” 명령어를 수행하면 다음과 같이…

Linux Kernel 빌드 시 Library 파일의 확장자 바꾸기

Linux Kernel을 빌드하면 내부에 포함된 Driver, Library, System File 등 여러 파일들이 자동으로 컴파일된다. 그 중 Library는 보통 확장자가 .so 이지만, 이 확장자를 임의로 바꿔줄 수 있다. 커널 빌드시 다른 component들의 빌드에 대한 설정은 보통 아래 두 파일에서 한다. linux/makerules/linux_env.mk linux/makerules/user_mode_rules.mk 이 중 user_mode_rules.mk의 대략 line 165를 보면 다음과 같은 코드가 있다. “` PROG =…

Embedded Linux에 동영상 재생 시키기 – mplayer

m player 를 이용해서 arm linux target board에 동영상을 돌려 보기로 한다.   == 개요 == termcap 포팅 libmad 포팅 동영상 가속화를 위한 라이브러리 (audio codec) ref: libmad 는 interger 연산을 위해 필요한 라이브러리로 Arm 용으로 Mplayer 를 포팅하면 floating 연산때문에 동영상재생이 원할치 않다. libmad 를 enable 시켜서 컴파일 하면 현저하게 좋아짐을 느낄수 있다. mplayer…