2013年12月30日月曜日

I wish you a happy new year.

このブログを、ご覧のみなさん、2013年ありがとうございました。

結構いい加減な、個人的なブログなので、内容も定まらず、

常識に欠ける内容もありましたが、それは、それということで、

お許しください。というか、いやなら、たぶんこの投稿も読まれてないですね。

こんな私に、おつきあい頂きまして、ありがとうございました。

来年は、なんと、Big projectに、巻き込まれることになり、

ひょっとすると、ロボットが、、、、

いえいえ、努力します。

ロボットの継続的な開発と、発表

そして、本業のトマトと、大車輪のように、くるくる回って過ごします。

50歳で、人生のリセットボタンを押して、のんびり農業をしながら、

読み貯めた本を、再度、読みながら生活しようと思いましたが、

結局、なんだかんだとやりだし、この始末。 ちなみに、2万冊ぐらいあるよ。

挙句の果ては、まだ、言えませんが、ぎゃああってなプロジェクトに巻き込まれることになり、

結局、バタバタ。。。

だったら、リセットボタン押さなければよかった??

やりたくない、管理職で、定年まで、、、そんなこと、私にはできない、

だって、自分らしくない。

リセットボタンを押すのは、気合がいるけど、、、、

その後も、いろいろ大変だったけど、

やはり、自分らしく、生きていけるのは、最高のストレスフリー。

一回だけの人生、体力があるうちに、自由に生活するのが、最も贅沢かもと、、、

お金は、サラリーマン時代より減っているけど、ほどほどの生活できるので、良した。

定年になって、いろいろやっても体力は無いし、美味しいもの食べようと思っても、

歳とりゃ、味覚も衰え、だから、味も濃くなり、塩分も濃くなる。

美味しいもは、若いうちに食べるのが一番。

これも、金の無い僻みか、屁のツッパリかもしれませんが、

大方、そんなもんでしょう。それに、人間、いつ死ぬかもわからない。

この歳になれば、それは体験的に理解できるようになる。

「いつ死ぬか、わからない」



今を、MAXで生きるのがいい。でも、それって結局いい方向にいく。

MAXで生きていれば、単位時間当たりの作業量や、人との出会いの量も違うわけで、

結局それが、良い方向に回転する。

趣味なんてするんだったら、仕事をした方が良い。



なんか、年の瀬に変な事書いているけど、、、

しかし、ロボットで農業するなんて、本に書いたり、フェアーでいったり、

良くまぁ、、、って感じですね。でも、言ったらやらなちゃならない、

強烈な自分へのプレッシャーになる。実は、本当にしんどいよ。

僕には、組織も、金もない、

あるのは、これまでの自分の経験と、脳味噌だけ、しょうがないから、

この無料の道具をフル回転させて創るしかない。苦しいよ、苦しいよ。。。。

人がやった事ないことだと、ツールからして、自分で作らないとならない、

何にもないから、そんなところから、大変、、、、、

でも、まだ、他の人が実現出来ていない事を、先に、やった時のの快感は最高!!

この快感を、20代から何回も味わってきた、、、、中毒です。

ただ、今回は、これで最後にしようと、思ったら、

最も遠いところにあった夢のBig Projectが、来ちゃった。

人間の人生は、よくわからない。


人生は、自分の為にある。しかし、お金も必要だし、一人で生きていうわけでは無いから、

生きたいようには生きれない。

しかし、大切なのは、自分の人生は、自分だけのものだし、

かならず、諦めない、自分の生き方を、小さくても、突き通すこと。

目線を上げて、愚直に突き通すこと。そうすれば、自分だけしか見えない

世界が見えてくるし、それを手に入れることができる。

それには、小さいも、大きいもない。

なぜなら、その人しか獲得できない、人生の価値だから。

でも、そのプロセスを実行している人には、良い影響を及ぼす人が現れる。

必ず、吸い寄せられるように、現れる。その結果、ステージが変わる。

そして、次のステージでも同じように繰り返しが起こる。

その人の人生の価値に近づいていく。



来年も、僕は突き通して、生きていく。

だって、僕は、まだ自分の人生の価値を手に入れいない。

そして、その価値が何なのかも、まだわからない。

手に入れるまでは、突き通していくしかない。



2014年、良い年になりますように。

ありがとう。

2013年12月29日日曜日

Surprised !!

ビックリした!!!

農業でも、ロボットでもない事に、お呼びがかかった。

まだ、詳しくは書けないけど、、、、、


宇宙


ぎゃーーーー、取り乱しているだけです。

人との出会いは、本当に不思議です。

出会いは、大切にしなければ、

1月中旬以降に、詳しくご報告を。

Peace!!

2013年12月27日金曜日

Developing new image database

2013年も、いよいよ押し迫り、一方で、畑仕事、2月の講演準備、4月の公開などで、

超大忙しでしゅ。

ところで、いろいろ開発しなければ、ならず、、、、、

今は、画像データベースエンジンの開発。

これは、お決まりのOpenCVと、KD木などを活用した検索エンジンの組合わせ。

テストのデータは、お決まりの

http://www.vision.caltech.edu/Image_Datasets/Caltech101/Caltech101.html

を、感謝しながら使わせていただいております。

ただし、開発初期の段階だけです。

理由は、

(1) 私は農家なので、対象が、トマトなどの作物、虫、雑草など。

      パラメータ設定などが違う。

(2) もう少し、大きなサイズも対象になければならないので、、、

などなど、

結構、データ作成から始まって、大変ね。

流石に、i7  マシンは早いけど、、もちろん対象は、Raspberry Piか

BeagleBone Black だよーん。このチューニングが大変。

大変ね、この画僧?、いえいえ画像データベース。

。
。
。
。
。

ところで、この画像データベースは、

もちろん、クエリーは、画像よ。

画像で、画像や、ほかの情報を検索するのね。

I/Fは、開発中なので、今度ね。

Peace!!

2013年12月26日木曜日

How to build an opencv 2.4.7.2 (mingw) on windows 8.1

Windows上に、最新のOpencv2.4.7.2を展開したら、

何ということでしょう? minigw 対応のライブラリーがない。

で、Build のメモ、いろいろかき集めて、メモとして保存。なくなると困りそうなので、、、

opencvは、E:\opencvに展開する。cmakeもインストールしておく。

(1) Download and install MinGW and add to the system PATH with  c:\mingw\bin

(2) Download OpenCV2.4.7.2 Windows version

(3)  Install Opencv to E:\opencv  (README,index.rst and CMakeLists.txt are here with all subfolders)

(4)  Run CMake GUI tool

(5) Choose E:\opencv\sources as source

(6) Choose the destination, E:\opencv\build\x86  where to build the binaries

(7) Press Configure button, choose MinGW Makefiles as the generator. There are some red highlights in the window, choose options as you need. 

(8) Press the Configure button again. Configuring is now done.

(9) Press the Generate button.

(10)  Exit the program when the generating is done.

(11)  Exit the Cmake program.

(12) Run the command line mode (cmd.exe) and go to the destination directory E:\opencv\build\x86

(13) Type "mingw32-make install" (without quotation marks). You will see a progress of building binaries. If the command is not found, you must make sure that the system PATH is added with c:/mingw/bin. The build continues according the chosen options to a completion.

(14) In Windows system PATH (My Computer > Right button click > Properties > Advanced > Environment Variables > Path) add the destination's bin directory, E:\opencv\build\x86\mingw\bin

(15) Go to the Eclipse CDT IDE, create a C++ program using the sample OpenCV code 


(16)  Go to Project > Properties > C/C++ Build > Settings > GCC C++ Compiler > Includes, and add the source OpenCV folder (including quotation marks) "E:\opencv\build\include"

(17) Go to Project > Properties > C/C++ Build > Settings > MinGW C++ Linker > Libraries, and add to the Libraries (-l)ONE BY ONE (this could vary from project to project, you can add all of them if you like or some of them just the ones that you need for your project): 

opencv_calib3d247
opencv_contrib247
opencv_core247
opencv_features2d247
opencv_flann247
opencv_gpu247
opencv_highgui247
opencv_imgproc247
opencv_legacy247
opencv_ml247
opencv_nonfree247
opencv_objdetect247
opencv_photo247
opencv_stitching247
opencv_video247
opencv_videostab247

(18) Add the built OpenCV library folder (including quotation marks),  "E:\opencv\build\x86\mingw\lib" to Library search path (-L)

Peace!!


-------------------------------------------------------------------------------------
#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <opencv2/nonfree/nonfree.hpp>
#include <iostream>
//#pragma comment(lib,"opencv_nonfree24.lib");
using namespace std;
    cv::initModule_nonfree();

------------------------------------------------------
//#include <cv.h>
//include <highgui.h>

#include <opencv2/opencv.hpp>
#include <opencv2/legacy/legacy.hpp> // cvCreateKDTree, cvFindFeatures, cvReleaseFeatureTree
#include <opencv2/legacy/compat.hpp> // CvSURFParams, cvExtractSURF
#include <opencv2/nonfree/nonfree.hpp> // cv::initModule_nonfree

//cv::initModule_nonfree();

2013年12月23日月曜日

Release new 4 Dimensions Space Database (2)


RDCSとの関係の補足説明です。

4DSは、

(1) 空間に存在する実体オブジェクトの連続、不連続な時間の状態を管理できます。

(2) オブジェクトの時空にわたる位相関係

(3) RDCS上に実装された物体認識機能などの各種機能により、

      効率的に実体データを生成する。

(3)に感しては、こんな感じ(一般論的だけど)


2次元のGISにしてもそうだし、


特に、空間データを扱う場合には、

そのデータをどのように作るのか、メンテナンスするのか?

それらとセットになってリリースされないと、活用することはできません。

機能だけ、揃えてもだめね。

だから、今は、RDCSと密結合状態。

たぶん、Version2にそれぞれ分離すると思います。

Peace!!

Release new 4 Dimensions Space Database

4次元空間データベース(4DS)のVerion1をリリースします。

といっても、正式発表は、来年の2月ね。

これまでは、GISにしても、基本は2次元。

3次元でも、ある瞬間の切り取り。

4DSは、オブジェクトの連続、不連続な時間の状態を管理できます。

たとえば、

最初の収穫対象

成熟中の 次の収穫対象も合わせて表示



苗の生産した実をすべてみる。

あるトマトの苗の、最初の着果した実から、最後の収穫された実までの

経過を管理することができる。

4DSと、収穫ロボットが連動することにより、自動的にトレーサビリティーを実現できる。

確かに、これまでのようなRDBで管理する方法もあるけど、

4DSは、一つのObjectで時間の中の変異を管理できる。

もちろん、差分管理をしているので不必要にデータが大きくなることもない。

検索は、K-D木とハッシュを使い高速化を図っている。

ということで、やっと、今年も終われる。

補足は、、、、、
http://robot009.blogspot.jp/2013/12/release-new-4-dimensions-space-data-2.html


Peace!!

Memo : OpenSift

Raspberry Piで、OpenSiftを使う時のメモ

Raspberry Piでの、限りなくリアルタイムに近い、物体認識に挑戦。

無謀だなぁ。。。


(1) OpenCV、GTK+2 、インストールする


(2) OpenSiftをダウンロードして、解凍する

http://robwhess.github.io/opensift/


(3) ディレクトリーを作って、次のソースを取り出す

imgfeatures.c  imgfeatures.h  sift.c  sift.h  siftfeat.c  utils.c  utils.h

あと、テスト用のイメージも

(4) Makefileを作る

TARGET = siftfeat
CC = gcc
OBJS = $(TARGET).o imgfeatures.o sift.o utils.o
CFLAGS = -Wall -O2
LDFLAGS = -lm
OPENCVINC = `pkg-config --cflags opencv` -I/usr/include
OPENCVLIB = `pkg-config --libs opencv`
GTKINC = `pkg-config --cflags gtk+-2.0` -I/usr/incude
GTKLIB = `pkg-config --libs gtk+-2.0`

all: $(TARGET)

$(TARGET): $(OBJS)
$(CC) -o $@ $(OBJS) $(LDFLAGS) $(OPENCVLIB) $(GTKLIB)

.cpp.o:
$(CC) -c $< -o $@ $(CFLAGS) $(OPENCVINC) $(GTKINC)

.c.o:
$(CC) -c $< -o $@ $(CFLAGS) $(OPENCVINC) $(GTKINC)

clean:
rm -f $(TARGET) $(OBJS)

(5) makeする

(6) siftfeat イメージファイル

で、、、



(7) 処理が遅いので、プログラムをチューニング

う。。。10時間、

で、2秒で実行OK

Raspberry Piで使えるようになった。


vへへ

なんで、犬。。。。

必要に迫られて、躾けロボットつくらないと、、、、


Peace!!