본문 바로가기

전체 글

[Coral]라즈베리파이 얼굴인식 지난번에 yolov3모델을 통해 실시간 얼굴인식을 수행하였다. 하지만 추론을 시켜본 결과 버퍼링이 심하게 걸리고 실제로 사용하기에는 제약이 너무 많다고 느꼈다. 그래서 검색을 해본 결과 구글에서 만든 Coral Accelerator USB가 있어서 이것을 적용시켜보기로 하였다. 1. 환경세팅 https://coral.ai/docs/accelerator/get-started/ Get started with the USB Accelerator | Coral Learn how to set up the Coral USB Accelerator and run some demo code. coral.ai coral공식 홈페이지 인데 이곳에서 자신이 사용한 coral기기별로 초기 환경 세팅하는 방법들이 아주 쉽게 나타.. 더보기
[GPU] Ubuntu16.0.4 GPU사용환경 세팅하기 이전에 세팅을 한 적이 있는데 잊어먹고 또 하나하나 검색해서 보려니 시간이 걸려서 이번기회에 정리를 해보아야겠다. 1. CUDA, CUDA driver, OS 이번에는 위 세가지는 내게 선택지가 없었다. 할당받은 서버에 이미 세팅이 다 되어져있어서 나는 버전 맞춰서 Cudnn만 설치를 하였다. 위 세가지 설치는 크게 어렵지 않다. - 사용하고자하는 tensorflow/pytorch 버전 확인 - https://www.tensorflow.org/install/source?hl=ko 여기 들어가서 적합한 cuda랑 cudnn버전확인 - https://developer.nvidia.com/cuda-toolkit 여기에서 CUDA를 다운 받고 - nvidia 그래픽 driver도 구글에 검색해서 받아주면 된다... 더보기
[Spring] 공부 앱 front개발을 하다가 이제 어느정도 손에 익었다. 아직 많이 부족하지만 이제 어느정도 구현이 가능한거 같다. 이제 범위를 조금 넓혀서 Spring에 대해서 알고싶었다. API가 어떻게 동작하는지 알면 백엔드 개발자에게 무언가 요구하기도 쉬울것 같고 향후 개발에도 도움이 될 것 같아서였다. 다행히 java문법은 미리 공부를 하고 있어서 바로 Spring을 구현해보았다. domain이나 repository로 sql언어를 대신하는게 신기했다. 와 이걸 이렇게 한다고..,.??? 역시 세상에는 대단한 사람이 많았다. 오늘은 간단한 domin과 repository를 생성한 후 메인 java파일에서 INSERT와 SELECT를 해보았다. 빌드되고 실행되고 어쩌고 하다가 내가 집어넣은 Spring이라는 단어가 .. 더보기
Recycler View filtering 길고긴 고내의 시간 끝에 드디어 필터링 기능을 완료하였다. 처음 원했던 기능은 검색 리스트에서 검색을 하면 자동완성되는 기능이었다. 여러가지 방법을 시도하여 본 끝에 구현을 하였다. 처음에는 진짜 지금 생각해보면 말도 안돼는 방식으로 구현하려고 하였던거 같아. 그래도 고생했으니까 기록으로 남겨봐야겠다. 첫번 째 시도. API가 국가 리스트를 한 번에 반환해주는 것과 국가명을 쿼리로 넣어서 보내면 응답해주는것이 있었다. 그래서 아래와 같이 생각했다. 1. 국가리스트 API를 날려서 첫 화면에 모든 국가를 표시해준다. 2. 국가명을 날려서 받은 결과값을 받는다. 3. 기존에 국가리스트가 있던 화면을 갈아버리고 국가명을 날려 받은 결과값을 받는다. 이렇게 생각했는데 지금 생각해보면 진짜 무식했다. 일단 API.. 더보기
파트2. 페이지 레이아웃 오랜만에 진행사항을 올려보려고 한다. 페이지들의 큰 레이아웃은 완성이 되었다. 대충 이렇다. 아직 좀 많이 허접하긴 한데 이제 막 네비바 완셩한 정도로 이제 메인창부터 디테일하게 들어가야겠다. Retrofit2이용해서 API통신도 해야한다. 얼른 하나씩 만들어서 완성해야지! 더보기
[Android_Kotlin] Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $ Retrofit2의 사용법을 대강 익히고 일단 바로 어플에 적용을 해보았다. 이런식으로해서 get 통신을 하였는데 계속 Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $ 이런 오류가 발생하는 것이다. 구글에 검색해보니 대충 리턴 배열과 api에서 보내는 배열이 달라서 생기는 문제 같았다. 그래서 return값을 ApiData 모델형식의 리스트로 변경하였더니 해결되었다. 다행이다 휴 더보기
Android Studio[오류]: GnssHAL_GnssInterface : gnssSvStatusCb: a: input svInfo.flags is 8 한창 어플을 만들다가 혹시 오류가 나겠어 하는 생각에 테스트하는 텀을 좀 길게가져갔다. 그런데 recyclerview를 생성한 메뉴로 들어가면 계속해서 오류가 발생하면서 어플이 종료되었다... 왜 그런지 모르겠어서 로그를 찍으며 코드를 처음부터 하나하나 뜯어봤다. 그러다가 어댑터로 text만 보내서 찍어보니까 거기 부분까지는 잘 되는 것을 확인하였다. 그런데 glide로 이미지를 올리는 부분을 추가하니까 계속 어플이 꺼지기 시작했다... 왜 그런지 모르다가 오류를 구글에 검색해보니 GPS기능 오류라고 떴다.... 좀 허무했지만 해결방법은 아래와 같다. AVD에서 설정을 들어가서 GPS기능을 꺼주기 좀 어이가 없었다.. 진작 로그를 확인해볼껄 하는 마음과 gps기능이면 왜 텍스트 찍어볼 때 까지는 잘 동작.. 더보기
실시간 얼굴인식 지금까지 공부한 얼굴인식과 라즈베리파이의 Picamera를 이용해서 실시간 얼굴인식을 구현하였다. 일단 pretrained된 얼굴인식 모델이 필요해서 검색을 해보았는데 yolov3를 이용한 모델을 찾을 수 있었다. 코드는 https://github.com/sthanhng/yoloface여기를 참고하였다. yoloface.py 파일을 참고해서 라즈베리파이 코드와 적절히 섞었으며 그 결과는 아래와 같다. import cv2 import numpy as np import sys from picamera.array import PiRGBArray from picamera import PiCamera import time import os from utils import * net = cv2.dnn.readNet.. 더보기