posted by JMP 2018. 11. 11. 17:38

참된 독서 과정 이란?

 

 사람들은 통상적으로 독서를 하면, 그 효과로 지식의 습득은

기본이고 사고력, 판단력이 좋아 진다고 말한다.

그러나 누구나 쉽게 근거 없이 독서를 권한다.

 

 그러나 자신은 쉽게 독서하지 못하면서 남에게 권하는 것은 분명 잘못이다

올바른 독서의 효과를 얻고 변하는 삶을 원한다면,

올바른 방법으로 그리고 정확하게 독서해야 그 효과는 배가 될 것이다.

 

 그렇다면, 올바른 독서의 과정은 무엇이고 이것을 통해 

얻는 이점은 무엇일까?

 

독서 과정

 

1. 서평 읽기로 핵심 메시지들 파악하기

 

1.1 책을 구하기 전

 도서 온라인 구매 사이트를 방문한다

해당 도서를 검색해서 찾는다.

 

1.2 책을 구했다면

 책의 띠를 본다. 핵심 전달 메시지가 있을 것이다.

책에 띠가 없다면, 책 앞뒤에 있는 서평을 읽어 본다.

 

 서평들을 읽어보고 분석하여 읽어 볼만하다면 다음 단계의

독서 과정을 거친다.

 

2. 서문 읽기

 필자가 하고자 하는 말을 파악하고 그 속에서
나의 관심 사항은 무엇인지, 내가 얻을 수 있는 게 어떤 것인지

분석한다.

 

3. 목차 얼개(짜임새) 보기

 핵심 메시지를 풀어나가는 방향을 살핀다. 목차는 저자의

지도이자 독자에게 놓는 디딤돌이다. 핵심 메시지를 찾아가는

바다의 항해 과정에서 내 위치, 나아갈 방향 등을 정확히

파악해야 원하는 목적지-핵심 메시지- 파악이 가능하다.

 

4. 책 읽기 전 나의 생각을 작성하기

 다산 정약용은 책을 읽음에 있어 다음 다섯 가지를

행하라 하였다.

 

입지 주관, 의견

해독 읽고 이해

판단 취사선택

초서 적고 기록

의식 의식 확장

 

 책을 읽기 전 입지, 주관과 의견을 갖고 내 상각을 정리하는

과정을 거쳐야 한다.

 

5. 책 읽기 - 생각들을 발췌 하며 읽기 -

 책을 쭉 훑어 봤으면, 이제부터 계속 읽어 가면 된다.

해독하는 과정이다. 글의 리듬 속에 빠져들어 나도 모르는 탄성,

터져 나오는 감성, 그리고 논리의 흐름들을 그냥 지나칠 순 없다.


 단순히 읽고 이해-해독-만 한다면 종국에 남는 게 없다.

책을 덮는 순간, 그리고 기억의 망각 곡선 끝에 도달 한 후

알게 된다. ’내가 무얼 읽었지이런 생각이 들지 않으려면 저자와 독자인 

나의 생각들을 발췌 및 정리 취합해야 한다.


 정반합의 논리과정을 거치거나 저자의 글, 곧 생각들은

질문이라 생각하고 그 질문에 답하기 위해 독자는 치열하게

노력해야 한다. 얻어가는 목적 독서에 있어 판단과 초서의 과정은

정말 중요하다.

 

6. 요약하기 

 컴퓨터 프로그램은 입력, 처리, 출력의 과정을 거친다.

우리 인간도 이와 다를 순 없다. 인간을 모델로 하드웨어/프로그래밍은 

만들어졌다고 저자는 생각한다최근의 컴퓨터 과학 AI등의 기술이 그러하듯이.

 

 입력(읽기), 처리(판단, 초서), 출력(의식 확장)의 과정을 통해

독서 프로그램은 정상적으로 완성 된다.


 요약하기란 바로 출력, 인출의 마지막 과정을 통해 의식을 확장해

가는 방법이다. 태초에 글이 없었을 때처럼 우리는 생각, 고민한

내용들을 다른 사람에게 전달할 의무가 있다. 그러기 위해 우리는

요약이라는 과정을 필히 거쳐야 하는 것이다. 읽지만 말고 써야한다.


필자의 한마디


'독서란 책을 읽어가며 나의 생각과 저자의 생각이 만나, 서로 

토론-의견 충돌후 새로운 결론을 만들어가는 과정이다.'

posted by JMP 2018. 11. 3. 13:02

머신비전 라이브러리 종류와 특징을 나열해 보고자 한다.


머신비전에 사용되는 PC용 라이브러리 프로그램은 5가지 정도가 있다.

1. Intel OpenCV Vision Library

2. Matrox Imaging Library 

3. Euresys eVision Library,

4. Cognex Vision Pro

5. MVTec Halcon HDevelop Library


각 머신비전 라이브러리별 구입 금액, 기능, 언어 지원, 의견에

해해 나열하고자 한다.


첫째, Intel OpenCV Vision Library


유료? 무료?

프로그램의 소스가 공개되어있다. 

사용자 환경에서 입맛에 맛게 소스를 새로 빌드하여,

최적화(IPP, TBB, CUDA 기능 연동) 가능한 비전 라이브러리이다.


기능

기본 이미지 뿐만 아니라 Machine Learning 관련 알고리즘까지

다양하게 지원한다.


언어 지원

C, C++, Python, Java 등 다양한 언어를 지원한다.

단, C# 유저는 C++ CLI나 C#에서 사용가능하게 Wrapping된 

C# 라이브러리를 사용해야 한다.

C++ CLI란 Managed Code와 Unmanaged Code를 통합해서

Managed Language에서 사용할 수 있도록 만드는 라이브러리이다.

C++ CLI 클래스 라이브러리를 만드는데 드는 비용이 만만치 않다.

그러므로 C#에서는 Wrapping된 Managed 라이브러리를 사용하는 

것을 권장한다. Managed Library는 OpenCVSharp(완전 무료)과 

Emgu CV(일부만 무료)가 대표적인 Wrapping Library이다.


의견

C++과 STL등에 익숙한 사용자라면, 괜찮은 라이브러리이다.

패턴 매칭과 좌표계 전환등의 기능은 미약하지만,

측정보다는 검사기 쪽 기능(Blob처리, 필터링, 스티칭)에 적당하다.



둘째, Matrox Imaging Library



유료? 무료?

상용 프로그램이다. 금액은 상용 라이브러리 중 중하 정도에 분류된다.


기능

머신 비전, 이미지 분석, 의료 프로그램 기능등을 지원한다.

세부적 기능으로는 기본 이미지 전처리를 지원하고, 패턴매칭, 

Geometric Model Finder (GMF), 캘리퍼 (치수 측정)과 

OCR (Object Character Recognition) 등을 지원한다.


언어 지원

C, C++, C#등의 언어를 지원한다.


의견

예제와 매뉴얼이 잘 되어 있어 기본적인 비전에 대한

이해가 있다면 쉽게 따라할 수 있고 익힐 수 있는 라이브러리라고

생각한다.


버전은 최신 버전인 10.0 이후 버전을 사용하는 것을 권장한다.

이미징 라이브러리 기능들을 플로우 차트 형식으로 테스트할 수 

있는 프로그램이 제공되어, 개발 시간을 단축할 수 있다.



셋째, Euresys eVision Library



유료? 무료?

상용 프로그램이다. 금액은 적당히 저렴하다. 


기능

매트록스 이미징 라이브러리에 필적하는 기능들이 제공된다.

전처리, 패턴매칭, 치수 측정, OCR등이 제공된다.

예제를 쉽게 따라할 수 있는 어시스트(도움말 시스템)가 제공된다.
세부 파라미터, 필터 등의 자유도가 필요한 부분은 부족하다.


언어 지원

COM으로 개발되어 언어를 가지리 않고 지원가능하다.

C, C++, DELPHI, C#등을 지원한다.


의견

비전 얼라인, 측정 관련 프로그램 개발에 사용하면

괜찮을 것 같다.



넷째, Cognex Vision Pro


유료? 무료?

유료 프로그램이다. 공급자에게 부탁하면

무료 테스트 버전을 내려받을 수 있다.


기능


이것은 마치 바코드 리더기인줄 아는 사람이 많을 것으로 안다.

하지만 다양한 기능이 숨어있다. 그 기능들을 살펴보자.

패턴매치 기능이 엄청나다.

캘리퍼 툴을 사용하여 측정하는 기능도 다양하다.

Blob툴도 적당히 많은 기능들이 존재한다.

Fixturing이라는 상대/절대 좌표의 개념을 도입하여,

이미지 회전, 이동, 변환등을 다른 이미징 프로세스

알고리즘들과 연동하여 사용하기 편리하다.

다만 아쉬운 점은 검사기등에 필요한, 전처리 필터링 처리

기능이 조금은 제한 적이라 다소 아쉽다.


언어 지원

버전 8.2 미만 까지 C, C++, C#을 지원한다.

버전 8.2 이상 부터 C#만 지원한다.


내 메인 제어 프로그램을 C#으로 변경하도록

만들어 준 고마운 라이브러리 지원 정책이다.


의견

제품의 정합 여부나 측정 어플리케이션에서는

최고의 선택이지 싶다.



다섯째, MVTec Halcon


유료? 무료?
유료다. 그것도 자그마치 개발자 버전 라이센스 비용이 2천만원 가량된다.

런타임 라이센스 비용도 다른 비전 라이브러리 개발자 버전 라이센스 비용에

육박한다. 하지만 대량으로 장비 개발 계획이 있고, 특수한

알고리즘들이 필요하다면 투자를 고려할 만한 충분한 가치가 있다.


기능

머신비전 기능은 다 들어가있다.

HDevelop이라는 자체 스크립트를 운용할 수 있는 개발 환경을 제공한다.

모든 예제들을 이 환경에서 테스트가 가능하다. 테스트 완료된 자체 스크립트

프로그램은 사용자가 원하는 언어로 최종 생성할 수 있다.


언어 지원

C, C++ 및 C#등을 지원한다. 

COM 지원으로 다양한 언어에서 사용가능하다.


의견

머신 비전의 끝판왕이다.

하지만 제어 인자 및 알고리즘의 종류가 많다.

배워야할 시간이 충분하다면, 노력해서 얻을 수 있는

가치가 충분한 비전 라이브러리라고 판단한다.


정리

여기까지 머신비전 라이브러리 5가지 특징에 대해서 살펴보았다.


 제조사 

 라이브러리명

 금액 만족도

 기능 만족도

 언어지원 만족도

 Intel

 OpenCV

 ★★★★★

 ★★★

 ★★★

 Matrox

 Imaging Libaray

 ★★★★

 ★★★★

 ★★★★

 Euresys

 eVision Library

 ★★★★

 ★★★★

 ★★★★

 Cognex

 Vision Pro

 ★★★

 ★★★

 ★★★★

 MVTec

 Halcon

 ★★

 ★★★★★

 ★★★★★



본인은 양산 장비에 2, 3, 4(Matrox Imaging Library, Euresys eVision Library, 

Cognex Vision Pro)를 사용해 보았고 또 사용 중이다. 

1, 5(Intel OpenCV, MVTec Halcon) 은 간이 테스트 프로젝트와 특징들만 

간단히 테스트 해보았다.


라이브러리들의 제한적 기능 때문에 특화된 기능을 파악하고 적재적소에 

적용하는것이 중요하다. 하지만 여기에 그쳐서는 안되고 구현하고저 하는 

기능에 대한 기본 원리와 알고리즘을 파악하고 사용하는게 훨씬 더 

중요하고 깊이있는 프로그램을 완성하는 기반이 되지 않을까 싶다. 

기본적인 코드들은 라이브러리화해서 만들고 익혀놓는게, 결국 의미없는 모래성을 

쌓기위한 노력을 피할 수 있는 길이지 않을까 생각한다. 


필자의 머신비전 습득 권장 사항은 아래와 같다.

기본에 충실하는 하기 순서의 머신비전 습득을 본인은 추천한다.

첫째, 순수 C, C++ 기반 비전 프로그램 개발 

둘째, OpenCV 등 공개 프로그램 프로젝트 진행

셋째, 양산 장비에 특화되는 요소를 찾아 해당 기능에 최덕화된 라이브러리 취사 선택


위의 순서가 정석이라고 판단이 되지만,

맨땅에 헤딩도 한 두번이다.

비전 라이브러리를 접해보고 기본을 쌓아가는게

익힘의 방향을 잡아가는 방도가 될 수도 있다.

위에서 아래로 순차 익힘이 정석이겠지만 셋째, 첫째, 둘째 순서로 

진행하여도 무리가 가지 않으면 괜찮은 차선책이될 수 있겠다.


posted by JMP 2018. 8. 25. 16:59

1. 장비 개요

1.1 장비란 무엇인가?

1.1.1 장비의 정의

1.1.2 장비 분야

1.2 장비제작 과정

1.2.1 영업

1.2.1 기계 설계

1.2.3 전장 설계

1.2.4 SW 설계

1.2.5 공정 테스트

1.2.6 셋업 및 양산

1.3 우리가 해야할 일
    1.3.1 장비 공정 이해

    1.3.2 제어 컴포넌트들 이해 (센서, 액추에이터)


2. 장비제어 기술

2.1 장비 제작 과정 및 유관 부서 업무 파악

2.1.1 기구

2.1.2 전기/전장/전자

2.1.3 영업

2.2 제어 장치 이해

2.3.1 입력과 출력

2.3.2 모션 제어

2.3.3 각종 신호