이제 Retrain을 진행하겠다.
Retrain 을 진행하기 위해 #3에서 설치를 시도했던 tfClassifier 를 이용하겠다.
작업환경 (Labtop)
OS : Linux_Ubuntu_16.04
ROS : Kinetic
먼저 시작하기 전에 해당 내용은 다음 링크를 참조하였다.
https://github.com/kungfrank/ros_inception_v3
1. Download Retrain Code
해당 과정은 #02에서 진행한 분들은 패스하시면 된다.먼저 training을 할 수 있는 code를 다운받는다.
명령어는 다음과 같다.
$ git clone https://github.com/akshaypai/tfClassifier
$ cd tfClassifier/image_classification
2. Download Dataset
데이터셋을 다운받는다. 여기서는 flower dataset을 다운받는다.cd ~ curl -O http://download.tensorflow.org/example_images/flower_photos.tgz tar xzf flower_photos.tgz
3. Retrain
Retrain을 진행한다.과정은 다음과 같다.
python retrain.py --model_dir ./inception --image_dir ~/flower_photos ./output --how_many_training_steps 1000
# Error
학습 도중 아래 함수와 관련된 error가 등장했다.
아래 링크를 참조하여 해결하였다.
retrain.py 파일에서
tf.train.SummaryWriter
부분을
tf.summary.FileWriter
로 수정한다.
4. Move Files
Retrain이 완료되면 Ubuntu의 /tmp 폴더에 다음과 같은 파일이 생성된다../output_graph.pb ./labels.txt
위 두 파일을 ros_inception_v3 폴더로 이동시켜 원래 존재하던 output_graph.pb, labels.txt 파일과 바꾼다.
5. Start Test
기존의 방법으로 ros_inception_v3를 작동시킨다.명령어는 다음과 같다.
$ roscore
$ rosrun cv_camera cv_camera_node
$ python image_recognition.py image:=/cv_camera/image_raw
$ rostopic echo /result
아래와 같이 꽃에 대해 인식을 성공함을 알 수 있다.
댓글 없음:
댓글 쓰기