전체 글

전체 글

    홍정모의 따라하며 배우는 C언어 수강후기

    고등학교 때부터 프로그래밍을 해왔기 때문에 대략적인 컴퓨터 구조(메모리 맵, 함수 프롤로그등)와 C언어 등을 알고 있었지만, 전역 후 잊었던 지식들을 복습하는 김에 체계적으로 공부하고 싶어서 따배씨를 구매했습니다. 장점 1. 단순히 C언어의 문법뿐만이 아니라 근본적인 컴퓨터의 작동원리를 학습할 수 있다. 2. 강의가 굉장히 세세한 부분까지 다루고 있고 코스를 따라오기만 하면 자연스레 컴퓨터의 동작 원리와 C언어에 친숙해 질 수 있게 체계적으로 구성되어 있음. 3. 강의 중간에 현업에서 어떻게 개발을 해야 하는지, 어떤 식으로 코드를 짜는게 좋은지 등 실무 경험이 녹아있는 팁. 4. 단순히 코드 따라치기가 아니라 학습자가 능동적으로 사고해야 하는 연습 문제들이 많음. 단점은 딱히 없습니다. 꼭 한가지를 뽑..

    Lenovo Thinkpad x1 carbon 9세대 Ubuntu 18.04 소리 안나옴

    /etc/modprobe.d/alsa-base.conf 파일의 맨 끝에 options snd-hda-intel dmic_detect=0 추가 후에 재부팅

    Lenovo Thinkpad x1 carbon 9세대 Ubuntu 18.04에서 Hdmi 인식안됨

    https://chacha73.tistory.com/18 [ubuntu 20.04] Lenovo IdeaPad slim5 ubuntu 20.04 설치 및 드라이버 이슈 이번에 새로 나온 레노버 아이디어 패드에 우분투를 설치하다가 골머리를 앓았다. askubuntu.com에 도움을 많이 받았는데, 같은 이슈를 겪는 분들을 위해 정리를 좀 해보려고 한다. 모델명: Lenovo Ide chacha73.tistory.com 잘 정리해놓으신 분 블로그를 참고하자 여담이지만 x1 carbon 리눅스 처음하는 사람은 정말 비추한다. 나만 그런진 모르겠지만 본인 기준 Wifi, hdmi, 스피커, 마이크, 밝기조절 다 안되서 구글링으로 해결했다.

    Lego Image를 분류하는 model 만들어보기

    학교 졸업작품으로 컴퓨터비전 기반 Lego sorting machine을 만들게 되었다. 컨베이어 벨트위에 있는 Lego를 Detect하는 부분은 OpenCV로 개발하였고 OpenCV가 전달해준 Lego Image를 어떤 블럭인지 Classification하는 모델을 만들어보았다. 모델 개요 88x88 그레이스케일 입력을 받아서 Prediction 결과로 총 11개의 Lego block중 1개를 출력한다. loss 함수 : categorical_crossentropy optimizer : Adam 사용된 학습관련 스킬 - 배치 정규화 - 가중치 초기화(he_normal) - 1x1 convolution - Dropout Layer 모델 소스코드 In [1]: import numpy as np import..

    Jetson nano와 Arduino 사이 Serial 통신(Json Format)

    Jetson nano와 아두이노간에 Json format을 사용하여 Serial 통신을 하는 방법을 설명한다. 예제에서는 Servo motor angle을 전송하였다. 사용 라이브러리 : ArduinoJson.h, seiral. time. json Arduino source code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 #include #include int servopin1 = 5; int servopin2 = 6; String str = ""; Servo servo1; Servo servo2; StaticJsonDocument..

    Pyqt5와 OpenCV 연동시 주의점

    시작 영상처리 프로그램을 만들다보면 OpenCV에서 제공하는 imshow 함수만으로는 부족한 경우가 생긴다.(독립적인 GUI 프로그램을 만들고 싶다던지) 이럴떄 Pyqt5를 사용하면 간편하게 GUI 프로그램을 만들수 있다. 연동 방법은 잘 설명해둔 글이 있어 링크를 남긴다. https://blog.xcoda.net/104 OpenCV(Python) + PyQt OpenCV로 영상처리나 컴퓨터 비전을 처리하고 나서 결과를 화면에 표시하려면 결국 창을 띄워야 하는데, OpenCV의 imshow() 함수 만으로는 역부족인 경우가 많습니다. 파이썬 언어에서 인기 있는 멀티 blog.xcoda.net 주의점 주의할점은 Main thread에서는 Pyqt loop가 돌아가며 Pyqt widgets을 접근하고 있는데..

    OpenCV를 이용한 Image augmentation 구현

    시작 언제나 데이터가 많으면 좋겠지만 현실에서 대용량 데이터셋 구축은 쉽지 않다. (끝없는 노가다...) 데이터를 많이 모으는것도 힘든데, 양질의 데이터를 모으는것도 참 쉽지 않다는것을 느꼈다. 한정된 데이터셋을 augmentation 기법을 활용해 데이터셋의 다양성을 증가시켜줄수 있다. OpenCV를 이용해 Image augmentation을 구현 해보자 [구현 항목] 1. Rotate 2. Shift 3. Flip 4. brightness 5. Contrast In [1]: import numpy as np import matplotlib.pyplot as plt %matplotlib inline import cv2 import glob import random In [2]: def brightnes..

    Keras Model을 TensorRT로 변환하기

    시작 Jetson nano에서 Model 동작 속도를 높이기 위해 TensorRT로 최적화 하는 방법을 선택하였다. 로컬에 TensorRT 환경 구축을 하지 않아도 Google Colab을 통해 TensorRT를 사용할수 있다. Keras로 만든 Model File(.h5)을 Colab에 Upload하고 TensorRT를 설치후 변환해서 로컬에 다운로드 받으면 끝! 결과 Model : 간단한 Cnn Image Classification Model Device : Jetson nano Maxn Mode 변환전 : 4 프레임 변환 후(FP16) : 15 프레임 TensorRT로 변환 하는법 다음 링크를 참고해서 진행하면 된다. https://colab.research.google.com/drive/1U2MV..