전체 글 191

Multi object Tracking(MOT) 과 활용

사람들을 tracking 하는데 있어서, inference만 하려고 하면 여러 가지 방법이 있지만, YOLO를 사용하는 방법이 많이 알려져 있습니다. YOLOv4, YOLOv5가 많이 사용되고, 그 중에서 tiny나 small의 경우 작은 디바이스에서도 사용할 수 있을 정도로 가볍고 빠릅니다. 하지만 실제 상황에서 사용할 때, tracking이 필요한 경우가 많습니다. 예를 들어, 선을 그어 놓고, 이 선을 넘어간 사람들의 수를 구할 때, tracking을 사용하지 않는 방법 (opencv)를 사용하는 방법도 있겠지만, 정확도가 떨어질 수도 있습니다. (특히 사람들이 많이 지나갈 경우) 관련 링크 : www.pyimagesearch.com/2018/08/13/opencv-people-counter/ 아직..

Cuda version 관리하기

Ubuntu 20.04를 사용하다가, Ubuntu 버전에 한계를 느껴서, 18.04로 다운그레이드 하였습니다. 20.04에서는 Deepstream도 돌아가지 않고, Tensorflow를 돌리는 데에도 여러가지 문제가 있었기 때문입니다. 하지만 18.04를 설치하고 나니 Cuda가 9.1로 설치가 된 것을 확인하였습니다. Cuda 9.1이 호환되지 않는 텐서플로우가 있는 만큼, Cuda를 10.1로 업그레이드 하기로 하였습니다. 하지만 사실 여러 개의 Cuda 버전을 관리할 수도 있다고 합니다. m31phy.tistory.com/125 위 블로그에서는 $ sudo apt-get install cuda-toolkit-10-1 로 가능함을 볼 수 있습니다. 이미 cuda toolkit을 install 하였다면..

Linux/Ubuntu 2021.04.27

Ubuntu 18.04 한글 키보드 세팅

Ibus를 사용해서 하는 방법은 통하지 않아서, 열심히 찾아보다가 fcitx를 이용하는 방법을 사용했더니 해결하였습니다. driz2le.tistory.com/253 ubuntu 18.04 - Ubuntu 한글 입력기 설치(fcitx) 우분투에서 ibus를 통한 한글 변환이 생각처럼 잘 안되는 경우가 많다. 그래서 fcitx를 이용하는 것이 종종 더 편하다. 아래는 fcitx를 이용해서 한글 입력 설정을 하는 내용이다. 18.04에서 설정한 내 driz2le.tistory.com 관련링크고, ibus를 사용하는 방법도 있습니다. gabii.tistory.com/entry/Ubuntu-1804-LTS-%ED%95%9C%EA%B8%80-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%A4%EC..

Linux/Ubuntu 2021.04.26

Cuda 버전과 호환성 맞추기, 그래픽 카드 모니터링

Cuda를 돌리기 위해서는 Cuda버전에 맞는 드라이버를 설치해 주어야 합니다. Cuda 버전 확인은 다음 커맨드로 확인이 가능합니다. $ nvcc -V # 또는 nvcc --version 를 치면 다음과 같은 결과가 나옵니다. nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Sun_Jul_28_19:07:16_PDT_2019 Cuda compilation tools, release 10.1, V10.1.243 Cuda 버전이 10.1로 설치되어 있음을 알 수 있습니다. nvcc가 어디에서 오는지는, which nvcc를 보면 알 수 있습니다. 위의 커맨드는 사실 /usr/local/cuda/..

Machine Learning 2021.04.15

Yolov5를 로컬에서 돌려봅시다!

전 포스팅에서는 구글 코랩을 이용해서 yolov5를 돌리는 법에 대해서 알아보았습니다. walkaroundthedevelop.tistory.com/64 구글 코랩은 환경 설정을 알아서 해주는 만큼, 환경 설정에 대한 부담을 덜 수 있어서 굉장히 바람직하다고 할 수 있겠습니다. 하지만 직접 로컬에서 돌려봐야지 제대로 머신러닝을 체험해볼 수 있겠죠? 그래서 로컬에서 직접 yolov5을 돌리는 법을 포스팅해보도록 하겠습니다. yolov5와 yolov4 의 차이에 대해서도 알아보면 좋을 것 같습니다. yolov5와 yolov4는 사실 다른 사람이 만들었고, 만들어진 시기의 차이도 얼마 나지 않기 때문에, (yolov5는 20년 5월 공개), (yolov4는 20년 4월 공개), 성능상 어떤 게 더 우위에 있다고..

Machine Learning 2021.04.14

Docker commit 하고, dockerhub에 push 하기

Docker를 사용하다 보면 그 Docker에 파일을 쓰고 그 컨테이너를 저장하고 싶을 수 있습니다. #docker commit : $ docker commit tf2 eungbean/tf2:latest 예를들어, 현재 가동되는 컨테이너가 이렇게 된다고 합니다. jinmo@jinmo-MS-7C82:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 112948a08f8a tensorflow/tensorflow:1.15.0rc1-gpu "/bin/bash" 3 minutes ago Up 3 minutes musing_elion 이 때 ContainerID 와 Image ID를 넣는 거에 따라 그 이미지에 덧씌우느냐, 아니면 새로운 이미지를..

Cloud/Docker 2021.04.13

Python 멀티쓰레딩 Queue를 사용해 봅시다

지난 번 포스팅을 통해서, walkaroundthedevelop.tistory.com/54 queue 와 deque에 대해서 알아보았습니다. multithreading을 하는데에, queue를 자주 쓰는데, 그 방법에 대해서 알아봅시다. 출처 : www.troyfawkes.com/learn-python-multithreading-queues-basics/ my_queue = Queue(maxsize=0) my_queue.put(1) my_queue.put(2) my_queue.put(3) print my_queue.get() my_queue.task_done() # Outputs: 1 여기서 task_done()은 나중에 join() 함수를 위해서 필요합니다. 관련 포스팅 : stackoverflow.c..

Python/Concurrency 2021.03.30

py 파일 pyc로 컴파일 하기

jins-sw.tistory.com/25 kibua20.tistory.com/72 파이썬 파일을 보통 .py 로 실행을 시키지만, 가끔 가다가 pyc 파일이 자동적으로 생성되기도 하고, __cache__ 디렉토리도 생성되는 걸 볼 수 있습니다. pyc 파일로 컴파일하는 경우 C 나 C++을 컴파일하는 것처럼 완벽한 보안성을 자랑하는 건 아니지만, 그래도 어느 정도의 코드를 숨기는 기능을 한다고 합니다. 하지만 다시 디컴파일로 코드를 복원하는 것도 불가능하지는 않다고 합니다. 컴파일 하는 법은, 다음과 같습니다. (터미널에서) python3 -m compileall . 또는, python script를 사용해서 부를 수도 있습니다. In [1]: import py_compile In [2]: py_comp..

Python/Basics 2021.03.30

우분투에서 랜이 안잡힐 경우, 설치화면 깨짐

출처 : sunlab0623.tistory.com/153 레이저 블레이드 17 우분투 이더넷 연결 레이저 블레이드 17 tosavetheworld.tistory.com/entry/%EC%9A%B0%EB%B6%84%ED%88%AC-%EC%84%9C%EB%B2%84-%EB%B2%84%EC%A0%84-%EC%84%A4%EC%B9%98-%EB%9E%9C%EC%B9%B4%EB%93%9C-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2.. sunlab0623.tistory.com 우분투(20.04) 에서, b460m 메인보드에서 와이파이 연결은 되는데 우분투 연결이 안되는 희한한 경우가 발생하였습니다. 알아보니, lspci | grep -i Ethernet 로 어떤 랜카드가 있는지 확인하고, 그 랜카드..

Linux/Ubuntu 2021.03.30

Yolov5 를 이용해서 객체검출하기

towardsdatascience.com/how-to-train-a-custom-object-detection-model-with-yolo-v5-917e9ce13208 How to Train A Custom Object Detection Model with YOLO v5 In this post, we will walk through how you can train the new YOLO v5 model to recognize your custom objects for your custom use case. towardsdatascience.com yolo (you only look once) 는 가장 유명한 데이터 검출기구 중 하나입니다. DarkNet 이라는 프레임워크를 사용하였으며, 버전이 지날수록 ..