팀 프로젝트

    [Python] OpenCV로 만든 자율주행 코드 리뷰

    지금부터 본격적으로 나와 내 동료가 작성한 코드의 리뷰를 시작하겠다. 참고 잘 따라온다면 우리가 짠 코드와 그 당시 생각들을 엿볼 수 있을 것이다. OpenCV 자율주행 코드 리뷰 # LaneDetector_16.py 우리의 코드 중 가장 기본이 되는 뼈대 코드이다. 나와 내 동료는 각자 다른 방식으로 접근했다. 나는 열악한 환경을 고려하여 정확도가 조금 떨어지더라도 빠른 OpenCV를 채택하였고, 내 동료는 정확도가 중요하다고 생각하여 딥러닝을 선택하였다. 결국, OpenCV를 자율주행에 쓰는 것으로 채택했다. import numpy as np import cv2 import time from Steering import * from Preprocessing import * from StopDetect..

    안드로이드 앱 기획을 시작하며 (얼굴 MBTI 테스트)

    인공지능으로 얼을 분석하여 외향인지 내향인지 알려주는 프로그램을 개발하고자 한다. 이번 시리즈는 인공지능을 활용하여 사진을 외향인지 내향인지 판단하는 어플리케이션을 기획 및 개발하면서 힘들었던 점이나 발전한 점, 느낀 점 등을 적을 예정이다. 이 블로그에 다음과 같은 글을 쓰는 이유는 생각이 정리됨과 함께, 사람의 기억과는 달리 블로그의 글은 삭제하지 않는 한 영구적으로 존재하기 때문이다. 이제부터 본격적으로 글을 써보도록 하겠다. 프로젝트를 시작하며 이번 프로젝트를 시작하게 된 계기는 한양대학교 에리카에 있는 활동 중 '또래 튜터링'이라는 프로그램에 참여한 것이다. 이 프로젝트를 진행하기 위해 소프트웨어학부 동료 1명과 인공지능학과 동료 1명과 팀을 꾸렸다. 우리는 android와 database, 인..

    [Python] OpenCV로 자율주행을 끝내며 - 회고록

    자율주행을 마치며 약 6개월 동안 자율주행을 개발하기 위해 달려왔다. 가장 먼저 고민한 것은 역시 정확도를 올리기 위해 딥러닝을 사용할 것인가, 더 빠르게 인식하고 최적화를 위해 OpenCV를 사용할 것인가였다. 여기에서 모노 카메라와 CPU만을 사용해서 자율주행을 구현해야 한다는 점이 마음에 걸렸다. 그래서 OpenCV를 채택하게 되었다. OpenCV로 콘을 인식하기란 어려운 일이었다. 특히 전처리 과정이 어려웠는데, 콘과 색상이 비슷한 배경이 너무 많았다. 노란색은 풀, 꽃 등의 색들이 같이 인식되어 노이즈가 발생했고, 파란색은 너무 어두웠다. 빨간색은 그나마 괜찮았다. 이러한 시행착오들을 해결하기 위해 많은 노력을 기울였다. 항상 인터넷을 보고 이럴 때는 어떻게 대처해야 하는지 알아보곤 했었는데, ..

    [Python] OpenCV로 자율주행 만들기(Threshold_#04)

    달라진 점 이전 포스팅까지는 색과 관련없이 오로지 오른쪽, 왼쪽의 가상 차선에 따라 점을 분류했었다. 하지만 주최측의 규정이 바뀜에 따라 기존 알고리즘에서 색상으로 분류하는 알고리즘으로 수정하게 되었다. 가상의 차선을 바탕으로 콘을 구분하는 코드가 궁금하다면 이전 포스팅을 참조하기 바란다. [Python] OpenCV로 자율주행 만들기(Threshold_03) 이전 포스팅과의 차이점 먼저 이전 포스팅을 보고 싶다면 아래 링크를 참조하기 바란다. [Python] OpenCV로 자율주행 만들기(Threshold_02) 성과물 : 먼저 OpenCV를 활용하여 만든 지금까지의 자율주행 성 codezaram.tistory.com # 업데이트된 부분 색상에 따른 좌, 우 차선 분류 알고리즘 제작 콘의 색상인 빨간색..

    [Python] OpenCV로 자율주행 만들기(Threshold_#03)

    이전 포스팅과의 차이점 먼저 이전 포스팅을 보고 싶다면 아래 링크를 참조하기 바란다. [Python] OpenCV로 자율주행 만들기(Threshold_02) 성과물 : 먼저 OpenCV를 활용하여 만든 지금까지의 자율주행 성과물을 보여주겠다. 실로 대단하였다. 위의 이 영상은 자율주행을 시연하기 전 콘을 인식하여 가상의 차선을 그어본 것이다. 이것 codezaram.tistory.com 위의 포스팅과 다르게 콘의 규정이 바뀌었다. 원래는 색상에 관계없이 좌우 차선에 가까운 점들을 모아서 왼쪽 점 집합, 오른쪽 점 집합을 만들었다. 하지만 이제는 오른쪽 콘은 노란색, 왼쪽 콘은 파란색, 정지선은 빨간색 순으로 콘들을 색깔로 구분해야 한다. 내가 개발한 코드는 전처리를 거쳐 이미지를 가공한 후 이미지에서 콘..

    [Python] OpenCV로 자율주행 만들기(Threshold_#02)

    성과물 : 먼저 OpenCV를 활용하여 만든 지금까지의 자율주행 성과물을 보여주겠다. 실로 대단하였다. 위의 이 영상은 자율주행을 시연하기 전 콘을 인식하여 가상의 차선을 그어본 것이다. 이것의 원리는 먼저 가상의 선을 미리 그어둔 후 거기에 가까운 점들을 추출하여 왼쪽 콘들, 오른쪽 콘들로 나눈다. 그 후, 이 콘들을 사용하여 다시 가상의 차선을 만들었다. 요약하자면 다음과 같다. 임의의 가상의 차선 긋기 while(true): 가상의 차선을 바탕으로 콘 인식하기 콘들을 바탕으로 다시 가상의 차선 긋기(linear regression) 하지만 아직 많은 콘들을 뽑아내지 못한다는 단점이 있었다. 이러한 단점을 보완하기 위해 먼저 콘들을 추출하는 부분을 이미지화해보았다. 콘을 추출한 곳은 흰색 네모 박스가..