Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -1,34 +1,34 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
|
||||
|
||||
project(AutoAim)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
SET(CMAKE_BUILD_TYPE DEBUG)
|
||||
PROJECT(AutoAim)
|
||||
SET(CMAKE_CXX_STANDARD 11)
|
||||
SET(CMAKE_BUILD_TYPE RELEASE)
|
||||
SET(CMAKE_CXX_FLAGS "-DPROJECT_DIR=\"\\\"${PROJECT_SOURCE_DIR}\\\"\"")
|
||||
|
||||
FIND_PROGRAM(CCACHE_FOUND ccache)
|
||||
IF(CCACHE_FOUND)
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
|
||||
message("< Use ccache for compiler >")
|
||||
SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
|
||||
SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
|
||||
MESSAGE("< Use ccache for compiler >")
|
||||
ENDIF()
|
||||
|
||||
FIND_PACKAGE(OpenCV 3 REQUIRED)
|
||||
FIND_PACKAGE(Eigen3 REQUIRED)
|
||||
FIND_PACKAGE(Threads)
|
||||
|
||||
include_directories( ${EIGEN3_INCLUDE_DIR} )
|
||||
include_directories( ${PROJECT_SOURCE_DIR}/energy/include )
|
||||
include_directories( ${PROJECT_SOURCE_DIR}/armor/include )
|
||||
include_directories( ${PROJECT_SOURCE_DIR}/others/include )
|
||||
INCLUDE_DIRECTORIES(${EIGEN3_INCLUDE_DIR})
|
||||
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/energy/include)
|
||||
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/armor/include)
|
||||
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/others/include)
|
||||
|
||||
FILE(GLOB_RECURSE sourcefiles "others/src/*.cpp" "energy/src/*cpp" "armor/src/*.cpp")
|
||||
add_executable(run main.cpp ${sourcefiles} )
|
||||
ADD_EXECUTABLE(run main.cpp ${sourcefiles} )
|
||||
|
||||
TARGET_LINK_LIBRARIES(run ${CMAKE_THREAD_LIBS_INIT})
|
||||
TARGET_LINK_LIBRARIES(run ${OpenCV_LIBS})
|
||||
TARGET_LINK_LIBRARIES(run ${PROJECT_SOURCE_DIR}/others/libMVSDK.so)
|
||||
|
||||
# Todo
|
||||
# ADD_CUSTOM_TARGET(bind-monitor COMMAND "")
|
||||
ADD_CUSTOM_TARGET(train COMMAND "gnome-terminal" "-x" "bash" "-c" "\"${PROJECT_SOURCE_DIR}/tools/TrainCNN/backward.py\"" )
|
||||
|
||||
# Todo
|
||||
# ADD_CUSTOM_TARGET(train COMMAND "")
|
||||
# ADD_CUSTOM_TARGET(bind-monitor COMMAND "")
|
||||
|
||||
@@ -2,47 +2,42 @@
|
||||
// Created by xinyang on 19-3-27.
|
||||
//
|
||||
#include <log.h>
|
||||
#include <options/options.h>
|
||||
#include <show_images/show_images.h>
|
||||
#include <opencv2/highgui.hpp>
|
||||
#include <armor_finder/armor_finder.h>
|
||||
|
||||
ArmorFinder::ArmorFinder(EnemyColor color, Uart &u, string paras_folder) :
|
||||
uart(u),
|
||||
enemy_color(color),
|
||||
state(STANDBY_STATE),
|
||||
classifier(std::move(paras_folder)),
|
||||
contour_area(0)
|
||||
{
|
||||
auto para = TrackerToUse::Params();
|
||||
para.desc_npca = 1;
|
||||
para.desc_pca = 0;
|
||||
tracker = TrackerToUse::create(para);
|
||||
if(!tracker){
|
||||
LOGW("Tracker Not init");
|
||||
}
|
||||
uart(u),
|
||||
enemy_color(color),
|
||||
state(STANDBY_STATE),
|
||||
classifier(std::move(paras_folder)),
|
||||
contour_area(0)
|
||||
{
|
||||
}
|
||||
|
||||
void ArmorFinder::run(cv::Mat &src) {
|
||||
cv::Mat src_use;
|
||||
// if (src.type() == CV_8UC3) {
|
||||
// cv::cvtColor(src, src_use, CV_RGB2GRAY);
|
||||
// }else{
|
||||
src_use = src.clone();
|
||||
// }
|
||||
src_use = src.clone();
|
||||
cv::cvtColor(src_use, src_gray, CV_RGB2GRAY);
|
||||
|
||||
stateSearchingTarget(src_use);
|
||||
return;
|
||||
|
||||
if(show_armor_box){
|
||||
showArmorBox("box", src, armor_box);
|
||||
cv::waitKey(1);
|
||||
}
|
||||
// stateSearchingTarget(src_use);
|
||||
// return;
|
||||
switch (state){
|
||||
case SEARCHING_STATE:
|
||||
if(stateSearchingTarget(src_use)){
|
||||
if((armor_box & cv::Rect2d(0, 0, 640, 480)) == armor_box) {
|
||||
cv::Mat roi = src_use.clone()(armor_box);
|
||||
cv::threshold(roi, roi, 200, 255, cv::THRESH_BINARY);
|
||||
contour_area = cv::countNonZero(roi);
|
||||
auto para = TrackerToUse::Params();
|
||||
para.desc_npca = 1;
|
||||
para.desc_pca = 0;
|
||||
tracker = TrackerToUse::create(para);
|
||||
if(!classifier){
|
||||
cv::Mat roi = src_use.clone()(armor_box), roi_gray;
|
||||
cv::cvtColor(roi, roi_gray, CV_RGB2GRAY);
|
||||
cv::threshold(roi_gray, roi_gray, 180, 255, cv::THRESH_BINARY);
|
||||
contour_area = cv::countNonZero(roi_gray);
|
||||
}
|
||||
tracker = TrackerToUse::create();
|
||||
tracker->init(src_use, armor_box);
|
||||
state = TRACKING_STATE;
|
||||
LOGW("into track");
|
||||
@@ -50,7 +45,7 @@ void ArmorFinder::run(cv::Mat &src) {
|
||||
}
|
||||
break;
|
||||
case TRACKING_STATE:
|
||||
if(!stateTrackingTarget(src_gray)){
|
||||
if(!stateTrackingTarget(src_use)){
|
||||
state = SEARCHING_STATE;
|
||||
//std::cout << "into search!" << std::endl;
|
||||
}
|
||||
|
||||
@@ -259,7 +259,7 @@ Classifier::Classifier(const string &folder) : state(true){
|
||||
fc2_w = load_fc_w(folder+"fc2_w");
|
||||
fc2_b = load_fc_b(folder+"fc2_b");
|
||||
if(state){
|
||||
LOGM("Load paras success!");
|
||||
LOGM("Load para success!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "image_process/image_process.h"
|
||||
#include <log.h>
|
||||
#include <show_images/show_images.h>
|
||||
|
||||
#include <options/options.h>
|
||||
|
||||
typedef std::vector<LightBlob> LightBlobs;
|
||||
@@ -32,11 +31,10 @@ static void pipelineLightBlobPreprocess(cv::Mat &src) {
|
||||
}
|
||||
|
||||
static bool findLightBlobs(const cv::Mat &src, LightBlobs &light_blobs) {
|
||||
static cv::Mat src_bin;
|
||||
// static cv::Mat src_bin;
|
||||
|
||||
cv::threshold(src, src_bin, 80, 255, CV_THRESH_BINARY);
|
||||
std::vector<std::vector<cv::Point> > light_contours;
|
||||
cv::findContours(src_bin, light_contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);
|
||||
cv::findContours(src, light_contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);
|
||||
for (auto &light_contour : light_contours) {
|
||||
cv::RotatedRect rect = cv::minAreaRect(light_contour);
|
||||
if(isValidLightBlob(rect)){
|
||||
@@ -117,7 +115,7 @@ static bool findArmorBoxes(LightBlobs &light_blobs, std::vector<cv::Rect2d> &arm
|
||||
min_x = fmin(rect_left.x, rect_right.x);
|
||||
max_x = fmax(rect_left.x + rect_left.width, rect_right.x + rect_right.width);
|
||||
min_y = fmin(rect_left.y, rect_right.y) - 5;
|
||||
max_y = fmax(rect_left.y + rect_left.height, rect_right.y + rect_right.height) + 5;
|
||||
max_y = fmax(rect_left.y + rect_left.height, rect_right.y + rect_right.height);
|
||||
if (min_x < 0 || max_x > 640 || min_y < 0 || max_y > 480) {
|
||||
continue;
|
||||
}
|
||||
@@ -149,19 +147,21 @@ bool judge_light_color(std::vector<LightBlob> &light, std::vector<LightBlob> &co
|
||||
}
|
||||
|
||||
bool ArmorFinder::stateSearchingTarget(cv::Mat &src) {
|
||||
cv::Mat split, pmsrc=src.clone();
|
||||
cv::Mat split, pmsrc=src.clone(), src_bin;
|
||||
LightBlobs light_blobs, pm_light_blobs, light_blobs_real;
|
||||
std::vector<cv::Rect2d> armor_boxes, boxes_one, boxes_two, boxes_three;
|
||||
|
||||
// cv::resize(src, pmsrc, cv::Size(320, 240));
|
||||
imageColorSplit(src, split, enemy_color);
|
||||
imagePreProcess(split);
|
||||
cv::resize(split, split, cv::Size(640, 480));
|
||||
cv::threshold(split, src_bin, 130, 255, CV_THRESH_BINARY);
|
||||
imagePreProcess(src_bin);
|
||||
// cv::imshow("bin", src_bin);
|
||||
// cv::resize(split, split, cv::Size(640, 480));
|
||||
// pipelineLightBlobPreprocess(pmsrc);
|
||||
// if(!findLightBlobs(pmsrc, pm_light_blobs)){
|
||||
// return false;
|
||||
// }
|
||||
if(!findLightBlobs(split, light_blobs)){
|
||||
if(!findLightBlobs(src_bin, light_blobs)){
|
||||
return false;
|
||||
}
|
||||
// if(!judge_light_color(light_blobs, pm_light_blobs, light_blobs_real)){
|
||||
@@ -182,10 +182,7 @@ bool ArmorFinder::stateSearchingTarget(cv::Mat &src) {
|
||||
for(auto box : armor_boxes){
|
||||
cv::Mat roi = src(box).clone();
|
||||
cv::resize(roi, roi, cv::Size(48, 36));
|
||||
// cv::imshow("roi", roi);
|
||||
// cv::waitKey(0);
|
||||
int c = classifier(roi);
|
||||
// cout << c << endl;
|
||||
switch(c){
|
||||
case 1:
|
||||
boxes_one.emplace_back(box);
|
||||
@@ -204,6 +201,8 @@ bool ArmorFinder::stateSearchingTarget(cv::Mat &src) {
|
||||
armor_box = boxes_two[0];
|
||||
}else if(!boxes_three.empty()){
|
||||
armor_box = boxes_three[0];
|
||||
} else{
|
||||
return false;
|
||||
}
|
||||
if(show_armor_box){
|
||||
showArmorBoxClass("class", src, boxes_one, boxes_two, boxes_three);
|
||||
@@ -211,10 +210,6 @@ bool ArmorFinder::stateSearchingTarget(cv::Mat &src) {
|
||||
}else{
|
||||
armor_box = armor_boxes[0];
|
||||
}
|
||||
if(show_armor_box){
|
||||
showArmorBox("box", src, armor_box);
|
||||
cv::waitKey(1);
|
||||
}
|
||||
if(split.size() == cv::Size(320, 240)){
|
||||
armor_box.x *= 2;
|
||||
armor_box.y *= 2;
|
||||
|
||||
@@ -5,17 +5,27 @@
|
||||
#include <armor_finder/armor_finder.h>
|
||||
|
||||
bool ArmorFinder::stateTrackingTarget(cv::Mat &src) {
|
||||
auto last = armor_box;
|
||||
tracker->update(src, armor_box);
|
||||
|
||||
if(!tracker->update(src, armor_box)){
|
||||
return false;
|
||||
}
|
||||
if((armor_box & cv::Rect2d(0, 0, 640, 480)) != armor_box){
|
||||
return false;
|
||||
}
|
||||
cv::Mat roi = src(armor_box);
|
||||
threshold(roi, roi, 200, 255, cv::THRESH_BINARY);
|
||||
|
||||
if(abs(cv::countNonZero(roi) - contour_area) > contour_area * 0.3){
|
||||
return false;
|
||||
cv::Mat roi = src.clone()(armor_box);
|
||||
if(classifier){
|
||||
cv::resize(roi, roi, cv::Size(48, 36));
|
||||
if(classifier(roi) == 0){
|
||||
return false;
|
||||
}
|
||||
}else{
|
||||
cv::Mat roi_gray;
|
||||
cv::cvtColor(roi, roi_gray, CV_RGB2GRAY);
|
||||
cv::threshold(roi_gray, roi_gray, 180, 255, cv::THRESH_BINARY);
|
||||
contour_area = cv::countNonZero(roi_gray);
|
||||
if(abs(cv::countNonZero(roi_gray) - contour_area) > contour_area * 0.3){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return sendBoxPosition();
|
||||
}
|
||||
|
||||
73
main.cpp
73
main.cpp
@@ -13,32 +13,33 @@
|
||||
#include <camera/wrapper_head.h>
|
||||
#include <armor_finder/armor_finder.h>
|
||||
#include <options/options.h>
|
||||
#include <thread>
|
||||
|
||||
//#define DO_NOT_CNT_TIME
|
||||
#include <log.h>
|
||||
|
||||
#include <thread>
|
||||
#define PATH PROJECT_DIR
|
||||
#define ENERGY_STATE 1
|
||||
#define ARMOR_STATE 0
|
||||
|
||||
using namespace cv;
|
||||
using namespace std;
|
||||
|
||||
#define ENERGY_STATE 1
|
||||
#define ARMOR_STATE 0
|
||||
|
||||
int state = ENERGY_STATE;
|
||||
int state = ARMOR_STATE;
|
||||
float curr_yaw=0, curr_pitch=0;
|
||||
float mark_yaw=0, mark_pitch=0;
|
||||
int mark = 0;
|
||||
|
||||
void uartReceive(Uart* uart);
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int main(int argc, char *argv[]){
|
||||
process_options(argc, argv);
|
||||
Uart uart;
|
||||
thread receive(uartReceive, &uart);
|
||||
bool flag = true;
|
||||
|
||||
while (flag)
|
||||
{
|
||||
while (flag){
|
||||
int ally_color = ALLY_RED;
|
||||
int energy_part_rotation = CLOCKWISE;
|
||||
|
||||
@@ -51,46 +52,50 @@ int main(int argc, char *argv[])
|
||||
WrapperHead *video_armor;
|
||||
WrapperHead *video_energy;
|
||||
if(from_camera) {
|
||||
// video_armor = new CameraWrapper();
|
||||
video_energy = new CameraWrapper();
|
||||
video_armor = new CameraWrapper(0);
|
||||
// video_energy = new CameraWrapper(1);
|
||||
}else {
|
||||
video_armor = new VideoWrapper("r_l_640.avi");
|
||||
video_energy = new VideoWrapper("r_l_640.avi");
|
||||
video_armor = new VideoWrapper("/home/xinyang/Desktop/Video.mp4");
|
||||
video_energy = new VideoWrapper("/home/xinyang/Desktop/Video.mp4");
|
||||
}
|
||||
if (video_energy->init()) {
|
||||
if (video_armor->init()) {
|
||||
cout << "Video source initialization successfully." << endl;
|
||||
}
|
||||
|
||||
Mat energy_src, armor_src;
|
||||
|
||||
ArmorFinder armorFinder(ENEMY_BLUE, uart, "/home/xinyang/Desktop/AutoAim/tools/para/");
|
||||
ArmorFinder armorFinder(ENEMY_BLUE, uart, PATH"/tools/para/");
|
||||
|
||||
Energy energy(uart);
|
||||
energy.setAllyColor(ally_color);
|
||||
energy.setRotation(energy_part_rotation);
|
||||
|
||||
while (video_energy->read(energy_src) && video_energy->read(armor_src))
|
||||
{
|
||||
if(show_origin) {
|
||||
imshow("enery src", energy_src);
|
||||
imshow("armor src", armor_src);
|
||||
}
|
||||
if(state == ENERGY_STATE){
|
||||
if(from_camera==0){
|
||||
energy.extract(energy_src);
|
||||
bool ok=true;
|
||||
|
||||
while (ok){
|
||||
CNT_TIME(WORD_LIGHT_CYAN, "Total", {
|
||||
ok = video_armor->read(energy_src) && video_armor->read(armor_src);
|
||||
if (show_origin) {
|
||||
imshow("enery src", energy_src);
|
||||
imshow("armor src", armor_src);
|
||||
}
|
||||
energy.run(energy_src);
|
||||
}else{
|
||||
CNT_TIME(WORD_LIGHT_BLUE, "Armor Time", {
|
||||
armorFinder.run(armor_src);
|
||||
});
|
||||
}
|
||||
if (waitKey(1) == 'q') {
|
||||
flag = false;
|
||||
break;
|
||||
}
|
||||
if (state == ENERGY_STATE) {
|
||||
if (from_camera == 0) {
|
||||
energy.extract(energy_src);
|
||||
}
|
||||
energy.run(energy_src);
|
||||
} else {
|
||||
CNT_TIME(WORD_LIGHT_BLUE, "Armor Time", {
|
||||
armorFinder.run(armor_src);
|
||||
});
|
||||
}
|
||||
if (waitKey(1) == 'q') {
|
||||
flag = false;
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
delete video_energy;
|
||||
delete video_armor;
|
||||
cout << "Program fails. Restarting" << endl;
|
||||
}
|
||||
|
||||
|
||||
@@ -36,11 +36,7 @@ private:
|
||||
|
||||
|
||||
public:
|
||||
CameraWrapper();
|
||||
CameraWrapper(const std::string &n);
|
||||
CameraWrapper(int camera_mode);
|
||||
CameraWrapper(const std::string &n,int camera_mode);
|
||||
|
||||
CameraWrapper(int camera_mode=1, const std::string &n="NULL");
|
||||
~CameraWrapper() final;
|
||||
|
||||
bool init() final;
|
||||
|
||||
@@ -9,39 +9,13 @@ using std::cout;
|
||||
using std::endl;
|
||||
using namespace cv;
|
||||
|
||||
CameraWrapper::CameraWrapper():
|
||||
name("NULL"),
|
||||
mode(1),
|
||||
camera_cnts(2),
|
||||
camera_status(-1),
|
||||
iplImage(nullptr),
|
||||
channel(3){
|
||||
}
|
||||
|
||||
CameraWrapper::CameraWrapper(const std::string &n):
|
||||
name(n),
|
||||
mode(1),
|
||||
camera_cnts(2),
|
||||
camera_status(-1),
|
||||
iplImage(nullptr),
|
||||
channel(3){
|
||||
}
|
||||
|
||||
CameraWrapper::CameraWrapper(int camera_mode):
|
||||
name("NULL"),
|
||||
mode(camera_mode),
|
||||
camera_cnts(2),
|
||||
camera_status(-1),
|
||||
iplImage(nullptr),
|
||||
channel(3){
|
||||
}
|
||||
|
||||
CameraWrapper::CameraWrapper(const std::string &n,int camera_mode):
|
||||
CameraWrapper::CameraWrapper(int camera_mode, const std::string &n):
|
||||
name(n),
|
||||
mode(camera_mode),
|
||||
camera_cnts(2),
|
||||
camera_status(-1),
|
||||
iplImage(nullptr),
|
||||
rgb_buffer(nullptr),
|
||||
channel(3){
|
||||
}
|
||||
|
||||
@@ -51,9 +25,9 @@ bool CameraWrapper::init() {
|
||||
|
||||
//枚举设备,并建立设备列表
|
||||
int camera_enumerate_device_status = CameraEnumerateDevice(camera_enum_list, &camera_cnts);
|
||||
//cout<<"camera enumerate device status: "<<camera_enumerate_device_status<<endl;
|
||||
//cout<<"camera number: "<<camera_cnts<<endl;
|
||||
|
||||
if(camera_enumerate_device_status != CAMERA_STATUS_SUCCESS){
|
||||
LOGE("CameraEnumerateDevice fail with %d!", camera_enumerate_device_status);
|
||||
}
|
||||
//没有连接设备
|
||||
if (camera_cnts == 0) {
|
||||
LOGE("No camera device detected!");
|
||||
@@ -67,16 +41,17 @@ bool CameraWrapper::init() {
|
||||
camera_status = CameraInit(&camera_enum_list[i], -1, -1, &h_camera);
|
||||
if (camera_status != CAMERA_STATUS_SUCCESS) {
|
||||
LOGE("Camera 0 initialization failed with code %d. See camera_status.h to find the code meaning.", camera_status);
|
||||
return false;
|
||||
goto stop;
|
||||
}
|
||||
CameraGetFriendlyName(h_camera, camera_name);
|
||||
if(name=="NULL" || strcmp(name.data(), camera_name)==0){
|
||||
break;
|
||||
}
|
||||
stop:
|
||||
CameraUnInit(h_camera);
|
||||
}
|
||||
if(i >= camera_cnts){
|
||||
LOGE("No device name %s!", name.data());
|
||||
LOGE("No device name %s or device open error!!", name.data());
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -90,11 +65,11 @@ bool CameraWrapper::init() {
|
||||
tCapability.sResolutionRange.iWidthMax * 3);
|
||||
if(mode == 0){
|
||||
// 不使用自动曝光
|
||||
CameraSetAeState(h_camera, false);
|
||||
CameraSetAeState(h_camera, true);
|
||||
// 曝光时间10ms
|
||||
CameraSetExposureTime(h_camera, 10000);
|
||||
// CameraSetExposureTime(h_camera, 10000);
|
||||
// 模拟增益4
|
||||
CameraSetAnalogGain(h_camera, 63);
|
||||
CameraSetAnalogGain(h_camera, 64);
|
||||
// 使用预设LUT表
|
||||
CameraSetLutMode(h_camera, LUTMODE_PRESET);
|
||||
// 抗频闪
|
||||
@@ -188,6 +163,7 @@ CameraWrapper::~CameraWrapper()
|
||||
{
|
||||
CameraUnInit(h_camera);
|
||||
//注意,先反初始化后再free
|
||||
free(rgb_buffer);
|
||||
if(rgb_buffer != nullptr)
|
||||
free(rgb_buffer);
|
||||
}
|
||||
|
||||
|
||||
49
tools/TrainCNN/backward.py
Normal file → Executable file
49
tools/TrainCNN/backward.py
Normal file → Executable file
@@ -1,9 +1,12 @@
|
||||
#!/usr/bin/python3
|
||||
print("Preparing...")
|
||||
import tensorflow as tf
|
||||
from progressive.bar import Bar
|
||||
from tqdm import tqdm
|
||||
import generate
|
||||
import forward
|
||||
import cv2
|
||||
import numpy as np
|
||||
print("Finish!")
|
||||
|
||||
def save_kernal(fp, val):
|
||||
print(val.shape[2], file=fp)
|
||||
@@ -51,7 +54,7 @@ def save_para(folder, paras):
|
||||
|
||||
|
||||
STEPS = 20000
|
||||
BATCH = 10
|
||||
BATCH = 30
|
||||
LEARNING_RATE_BASE = 0.01
|
||||
LEARNING_RATE_DECAY = 0.99
|
||||
MOVING_AVERAGE_DECAY = 0.99
|
||||
@@ -85,18 +88,13 @@ def train(dataset, show_bar=False):
|
||||
|
||||
correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
|
||||
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
|
||||
acc = 0
|
||||
|
||||
with tf.Session() as sess:
|
||||
init_op = tf.global_variables_initializer()
|
||||
sess.run(init_op)
|
||||
|
||||
if show_bar:
|
||||
bar = Bar(max_value=STEPS, width=u'50%')
|
||||
bar.cursor.clear_lines(1)
|
||||
bar.cursor.save()
|
||||
|
||||
for i in range(STEPS):
|
||||
bar = tqdm(range(STEPS), dynamic_ncols=True)
|
||||
for i in bar:
|
||||
images_samples, labels_samples = dataset.sample_train_sets(BATCH)
|
||||
|
||||
_, loss_value, step = sess.run(
|
||||
@@ -107,18 +105,21 @@ def train(dataset, show_bar=False):
|
||||
if i % 100 == 0:
|
||||
if i % 1000 == 0:
|
||||
acc = sess.run(accuracy, feed_dict={x: test_images, y_: test_labels})
|
||||
bar.set_postfix({"loss": loss_value, "acc": acc})
|
||||
|
||||
if show_bar:
|
||||
bar.title = "step: %d, loss: %f, acc: %f" % (step, loss_value, acc)
|
||||
bar.cursor.restore()
|
||||
bar.draw(value=i+1)
|
||||
|
||||
# if show_bar:
|
||||
# bar.title = "step: %d, loss: %f, acc: %f" % (step, loss_value, acc)
|
||||
# bar.cursor.restore()
|
||||
# bar.draw(value=i+1)
|
||||
|
||||
# video = cv2.VideoCapture("/home/xinyang/Desktop/Video.mp4")
|
||||
# _ = True
|
||||
# while _:
|
||||
# _, frame = video.read()
|
||||
# cv2.imshow("Video", frame)
|
||||
# if cv2.waitKey(10) == 113:
|
||||
# k = cv2.waitKey(10)
|
||||
# if k == ord(" "):
|
||||
# bbox = cv2.selectROI("frame", frame, False)
|
||||
# print(bbox)
|
||||
# roi = frame[bbox[1]:bbox[1]+bbox[3], bbox[0]:bbox[0]+bbox[2]]
|
||||
@@ -131,6 +132,22 @@ def train(dataset, show_bar=False):
|
||||
# res = sess.run(y, feed_dict={x: roi})
|
||||
# res = res.reshape([forward.OUTPUT_NODES])
|
||||
# print(np.argmax(res))
|
||||
# elif k==ord("q"):
|
||||
# break
|
||||
# keep = True
|
||||
# while keep:
|
||||
# n = input()
|
||||
# im = cv2.imread(n)
|
||||
# im = cv2.resize(im, (48, 36))
|
||||
# cv2.imshow("im", im)
|
||||
# if cv2.waitKey(0) == ord("q"):
|
||||
# keep = False
|
||||
# im = im.astype(np.float32)
|
||||
# im /= 255.0
|
||||
# im = im.reshape([1, 36, 48, 3])
|
||||
# res = sess.run(y, feed_dict={x: im})
|
||||
# res = res.reshape([forward.OUTPUT_NODES])
|
||||
# print(np.argmax(res))
|
||||
|
||||
vars_val = sess.run(vars)
|
||||
save_para("/home/xinyang/Desktop/AutoAim/tools/para", vars_val)
|
||||
@@ -139,5 +156,7 @@ def train(dataset, show_bar=False):
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
dataset = generate.DataSet("/home/xinyang/Desktop/DataSets")
|
||||
print("Loading data sets...")
|
||||
dataset = generate.DataSet("/home/xinyang/Desktop/DataSets/box")
|
||||
print("Finish!")
|
||||
train(dataset, show_bar=True)
|
||||
|
||||
@@ -29,13 +29,13 @@ def max_pool_2x2(x):
|
||||
CONV1_KERNAL_SIZE = 5
|
||||
|
||||
# 第一层卷积输出通道数
|
||||
CONV1_OUTPUT_CHANNELS = 4
|
||||
CONV1_OUTPUT_CHANNELS = 6
|
||||
|
||||
# 第二层卷积核大小
|
||||
CONV2_KERNAL_SIZE = 3
|
||||
|
||||
# 第二层卷积输出通道数
|
||||
CONV2_OUTPUT_CHANNELS = 8
|
||||
CONV2_OUTPUT_CHANNELS = 10
|
||||
|
||||
# 第一层全连接宽度
|
||||
FC1_OUTPUT_NODES = 16
|
||||
|
||||
@@ -3,6 +3,9 @@ import os
|
||||
import cv2
|
||||
import random
|
||||
from forward import OUTPUT_NODES
|
||||
import sys
|
||||
import os
|
||||
from tqdm import tqdm
|
||||
# 原图像行数
|
||||
SRC_ROWS = 36
|
||||
|
||||
@@ -12,6 +15,7 @@ SRC_COLS = 48
|
||||
# 原图像通道数
|
||||
SRC_CHANNELS = 3
|
||||
|
||||
|
||||
class DataSet:
|
||||
def __init__(self, folder):
|
||||
self.train_samples = []
|
||||
@@ -21,10 +25,14 @@ class DataSet:
|
||||
self.generate_data_sets(folder)
|
||||
|
||||
def file2nparray(self, name):
|
||||
image = cv2.imread(name)
|
||||
image = cv2.resize(image, (SRC_COLS, SRC_ROWS))
|
||||
image = image.astype(np.float32)
|
||||
return image / 255.0
|
||||
try:
|
||||
image = cv2.imread(name)
|
||||
image = cv2.resize(image, (SRC_COLS, SRC_ROWS))
|
||||
image = image.astype(np.float32)
|
||||
return image / 255.0
|
||||
except:
|
||||
print(name)
|
||||
sys.exit(-1)
|
||||
|
||||
def id2label(self, id):
|
||||
a = np.zeros([OUTPUT_NODES])
|
||||
@@ -36,13 +44,14 @@ class DataSet:
|
||||
for i in range(OUTPUT_NODES):
|
||||
dir = "%s/%d" % (folder, i)
|
||||
files = os.listdir(dir)
|
||||
for file in files:
|
||||
if random.random() > 0.2:
|
||||
self.train_samples.append(self.file2nparray("%s/%s" % (dir, file)))
|
||||
self.train_labels.append(self.id2label(i))
|
||||
else:
|
||||
self.test_samples.append(self.file2nparray("%s/%s" % (dir, file)))
|
||||
self.test_labels.append(self.id2label(i))
|
||||
for file in tqdm(files, postfix={"loading id": i}, dynamic_ncols=True):
|
||||
if file[-3:] == "jpg":
|
||||
if random.random() > 0.2:
|
||||
self.train_samples.append(self.file2nparray("%s/%s" % (dir, file)))
|
||||
self.train_labels.append(self.id2label(i))
|
||||
else:
|
||||
self.test_samples.append(self.file2nparray("%s/%s" % (dir, file)))
|
||||
self.test_labels.append(self.id2label(i))
|
||||
self.train_samples = np.array(self.train_samples)
|
||||
self.train_labels = np.array(self.train_labels)
|
||||
self.test_samples = np.array(self.test_samples)
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
# usage: monitor.sh "<the exe file's absolute path and its shell parameter>"
|
||||
# And then when ever the exe shutdonw it will be automatically restart
|
||||
|
||||
exe=$1
|
||||
while true; do
|
||||
state=`ps aux | grep "$1" | grep -v grep | grep -v $0`
|
||||
|
||||
7
tools/para/conv1_b
Normal file
7
tools/para/conv1_b
Normal file
@@ -0,0 +1,7 @@
|
||||
6
|
||||
0.6241298
|
||||
1.1128483
|
||||
0.92715627
|
||||
2.6803706
|
||||
-2.4037633
|
||||
1.6914424
|
||||
454
tools/para/conv1_w
Normal file
454
tools/para/conv1_w
Normal file
@@ -0,0 +1,454 @@
|
||||
3
|
||||
6
|
||||
5
|
||||
5
|
||||
-1.8745673
|
||||
-1.4418055
|
||||
-0.68810487
|
||||
-0.42730802
|
||||
-0.019043377
|
||||
-2.2401865
|
||||
-1.5337001
|
||||
-0.5666739
|
||||
0.1119876
|
||||
0.24716255
|
||||
-2.2945662
|
||||
-1.4734446
|
||||
-0.298631
|
||||
0.19550888
|
||||
0.45057848
|
||||
-2.4559898
|
||||
-1.097164
|
||||
-0.035884537
|
||||
0.23402216
|
||||
0.3693794
|
||||
-1.7285618
|
||||
-0.8927671
|
||||
0.026205042
|
||||
0.19274746
|
||||
0.029146997
|
||||
-1.3690577
|
||||
-1.2756748
|
||||
-0.32751036
|
||||
0.3233031
|
||||
0.55376107
|
||||
-1.4835969
|
||||
-1.3036382
|
||||
-0.75256515
|
||||
-0.13608748
|
||||
0.2254278
|
||||
-1.6409502
|
||||
-1.4188147
|
||||
-1.1627024
|
||||
-0.62049645
|
||||
-0.20085949
|
||||
-2.2059698
|
||||
-1.7030506
|
||||
-1.5584862
|
||||
-1.2325822
|
||||
-0.6749467
|
||||
-2.8320985
|
||||
-2.3289032
|
||||
-1.811129
|
||||
-1.6702974
|
||||
-1.0760157
|
||||
-1.3135052
|
||||
-0.90016854
|
||||
-0.47004116
|
||||
-0.17118637
|
||||
-0.2732028
|
||||
-1.3109291
|
||||
-0.36519817
|
||||
-0.10975292
|
||||
-0.06533194
|
||||
-0.559026
|
||||
-0.8616304
|
||||
-0.06857806
|
||||
0.19276045
|
||||
-0.14059812
|
||||
-0.7283358
|
||||
-0.57705516
|
||||
0.20748538
|
||||
0.26281402
|
||||
-0.112977654
|
||||
-0.6980696
|
||||
-0.44812128
|
||||
0.40235195
|
||||
0.26663
|
||||
-0.10336824
|
||||
-0.5741328
|
||||
-0.70127535
|
||||
-1.1506568
|
||||
-1.3301972
|
||||
-1.4370873
|
||||
-0.9951577
|
||||
-0.3111034
|
||||
-0.5350495
|
||||
-0.78488415
|
||||
-1.3619742
|
||||
-1.2252145
|
||||
0.10870424
|
||||
-0.044690743
|
||||
-0.33280057
|
||||
-1.180621
|
||||
-1.5130968
|
||||
0.32003295
|
||||
0.6245109
|
||||
0.3391734
|
||||
-0.45662346
|
||||
-1.2023503
|
||||
0.66186905
|
||||
0.6943321
|
||||
0.753682
|
||||
-0.05385303
|
||||
-0.69504744
|
||||
-0.86241025
|
||||
0.05611875
|
||||
0.7984623
|
||||
1.4339544
|
||||
2.0078037
|
||||
-0.6121641
|
||||
0.3216552
|
||||
0.7244501
|
||||
1.4381241
|
||||
1.9696213
|
||||
-0.29659018
|
||||
0.13415621
|
||||
0.61756736
|
||||
1.0113128
|
||||
1.3834459
|
||||
0.12413465
|
||||
0.3135587
|
||||
0.32853445
|
||||
0.7981063
|
||||
0.83142936
|
||||
-0.004516094
|
||||
0.32636595
|
||||
0.55108666
|
||||
0.6248727
|
||||
0.60938156
|
||||
-0.38326544
|
||||
-1.2629062
|
||||
-0.385575
|
||||
0.11398253
|
||||
0.40000448
|
||||
-1.0602297
|
||||
-1.1948771
|
||||
-0.6945023
|
||||
-0.4127804
|
||||
0.029964926
|
||||
-1.4086407
|
||||
-1.3599807
|
||||
-1.3076004
|
||||
-1.1330422
|
||||
-0.38810351
|
||||
-2.1059783
|
||||
-1.8239182
|
||||
-1.7029382
|
||||
-1.4902409
|
||||
-0.91088384
|
||||
-3.230572
|
||||
-2.4590926
|
||||
-1.9471443
|
||||
-1.860621
|
||||
-1.3370123
|
||||
-0.5690341
|
||||
-0.33530146
|
||||
0.31661218
|
||||
0.8375982
|
||||
1.1338086
|
||||
-1.3648574
|
||||
-0.8348736
|
||||
0.36666754
|
||||
1.1275568
|
||||
1.1844105
|
||||
-1.8321881
|
||||
-0.78104144
|
||||
0.59508055
|
||||
1.2501543
|
||||
1.2034286
|
||||
-1.6087818
|
||||
-0.6121007
|
||||
0.693586
|
||||
1.2163337
|
||||
1.1292332
|
||||
-0.6255259
|
||||
0.0911698
|
||||
0.78314143
|
||||
0.9095932
|
||||
0.5689121
|
||||
-3.2688649
|
||||
-1.2751737
|
||||
0.7530108
|
||||
1.5721122
|
||||
2.11933
|
||||
-2.9633296
|
||||
-1.3632398
|
||||
0.11986004
|
||||
1.1412225
|
||||
1.8641368
|
||||
-1.9467463
|
||||
-0.9146176
|
||||
-0.10545669
|
||||
0.49356145
|
||||
1.3669914
|
||||
-1.7783622
|
||||
-0.99905616
|
||||
-0.28957212
|
||||
0.13239379
|
||||
0.9921155
|
||||
-2.1976538
|
||||
-1.0333587
|
||||
-0.3801185
|
||||
0.021550074
|
||||
0.5849712
|
||||
-0.7216267
|
||||
-0.36925313
|
||||
-0.5770921
|
||||
-0.89754397
|
||||
-0.9315221
|
||||
-0.17996566
|
||||
0.5721206
|
||||
0.46629494
|
||||
-0.11679081
|
||||
-0.8407021
|
||||
0.14923953
|
||||
1.1722741
|
||||
1.0859729
|
||||
-0.08064234
|
||||
-1.1707838
|
||||
0.527985
|
||||
1.556374
|
||||
1.3262485
|
||||
0.052869447
|
||||
-1.0933924
|
||||
0.8913072
|
||||
1.8925939
|
||||
1.1744183
|
||||
-0.16056827
|
||||
-0.96226853
|
||||
-2.0482447
|
||||
-2.1394062
|
||||
-2.3160622
|
||||
-1.5373954
|
||||
-1.0280651
|
||||
-1.0137186
|
||||
-1.1347228
|
||||
-1.2650911
|
||||
-1.3904438
|
||||
-1.4724954
|
||||
-0.6152145
|
||||
-0.38191465
|
||||
-0.6525277
|
||||
-1.2026839
|
||||
-1.574993
|
||||
-0.14897716
|
||||
0.40652698
|
||||
0.22212738
|
||||
-0.7051095
|
||||
-1.6179065
|
||||
0.12883945
|
||||
0.92052716
|
||||
0.71651196
|
||||
-0.1521632
|
||||
-1.3601139
|
||||
-1.3278087
|
||||
0.091166034
|
||||
0.70035547
|
||||
0.85970676
|
||||
1.4728521
|
||||
-0.4685758
|
||||
0.67533374
|
||||
1.2041222
|
||||
0.91583323
|
||||
1.3638756
|
||||
-0.21221842
|
||||
0.46413553
|
||||
0.6931065
|
||||
0.5078553
|
||||
1.0690873
|
||||
-0.2822384
|
||||
-0.18992352
|
||||
-0.30851105
|
||||
-0.48985106
|
||||
-0.112165235
|
||||
-0.6343776
|
||||
-0.97740346
|
||||
-1.2637299
|
||||
-1.1870348
|
||||
-0.65784734
|
||||
-2.275478
|
||||
-1.5841419
|
||||
0.59182155
|
||||
1.7027438
|
||||
2.2658849
|
||||
-2.0428355
|
||||
-0.9335362
|
||||
0.25750664
|
||||
1.0987146
|
||||
1.5473177
|
||||
-0.8157582
|
||||
-0.23004234
|
||||
0.3001771
|
||||
0.6583938
|
||||
1.0895797
|
||||
-0.093778014
|
||||
0.08269198
|
||||
0.17656319
|
||||
0.3352879
|
||||
1.0185977
|
||||
-0.6558476
|
||||
0.4106111
|
||||
0.3651244
|
||||
0.3434926
|
||||
0.78885883
|
||||
0.9312759
|
||||
0.45665312
|
||||
0.87845147
|
||||
1.4286675
|
||||
1.9387178
|
||||
0.0055226237
|
||||
-0.11264928
|
||||
0.69314396
|
||||
1.5066721
|
||||
1.5526584
|
||||
-0.15990084
|
||||
0.10977341
|
||||
0.7288155
|
||||
1.5179793
|
||||
1.5454628
|
||||
0.42554915
|
||||
0.6133954
|
||||
1.1112447
|
||||
1.4276886
|
||||
1.3272578
|
||||
1.5569048
|
||||
1.5756388
|
||||
1.9869299
|
||||
1.8189707
|
||||
1.3973557
|
||||
-4.249913
|
||||
-1.9120424
|
||||
-0.0061387075
|
||||
0.80639493
|
||||
1.4316615
|
||||
-3.410931
|
||||
-1.7743304
|
||||
-0.18588163
|
||||
0.5619047
|
||||
1.2757853
|
||||
-2.25766
|
||||
-1.1736825
|
||||
-0.47299188
|
||||
0.38950402
|
||||
1.098909
|
||||
-2.850165
|
||||
-1.7250451
|
||||
-0.7260333
|
||||
-0.055943523
|
||||
0.9642611
|
||||
-4.005538
|
||||
-2.295592
|
||||
-1.041572
|
||||
-0.24684854
|
||||
0.6455168
|
||||
1.1459881
|
||||
1.4573389
|
||||
1.4954526
|
||||
1.2473075
|
||||
1.0846232
|
||||
1.2540116
|
||||
1.9666128
|
||||
1.9739157
|
||||
1.2105061
|
||||
0.7538055
|
||||
1.2492738
|
||||
2.14189
|
||||
1.7544507
|
||||
0.96942043
|
||||
0.31504372
|
||||
1.7381212
|
||||
2.490894
|
||||
1.6445026
|
||||
0.26533163
|
||||
-0.3193328
|
||||
2.0120225
|
||||
2.0718558
|
||||
0.8759794
|
||||
0.04767526
|
||||
-0.41645908
|
||||
1.2511733
|
||||
0.5724159
|
||||
0.37694663
|
||||
1.2807285
|
||||
1.8684267
|
||||
1.8152616
|
||||
1.280423
|
||||
1.101077
|
||||
1.197118
|
||||
1.5331124
|
||||
1.7447906
|
||||
1.6138377
|
||||
1.4156343
|
||||
1.0536009
|
||||
0.8561865
|
||||
1.9363236
|
||||
2.2086453
|
||||
1.6627563
|
||||
1.021228
|
||||
0.60839254
|
||||
2.1018016
|
||||
2.1533952
|
||||
1.9573407
|
||||
1.29546
|
||||
0.57359654
|
||||
-0.29376534
|
||||
0.9012422
|
||||
1.1789744
|
||||
0.710556
|
||||
0.8737443
|
||||
0.095544085
|
||||
1.045074
|
||||
0.9252817
|
||||
0.471885
|
||||
0.6031909
|
||||
-0.2500516
|
||||
0.14211257
|
||||
-0.27518043
|
||||
-1.0673013
|
||||
-0.845284
|
||||
-0.7930444
|
||||
-1.1906688
|
||||
-2.2155006
|
||||
-2.8370302
|
||||
-2.2175434
|
||||
-0.9103819
|
||||
-2.3526044
|
||||
-3.3939815
|
||||
-3.9634273
|
||||
-2.9982874
|
||||
-3.0668538
|
||||
-1.9301875
|
||||
0.46062958
|
||||
1.1481701
|
||||
1.6189759
|
||||
-2.693133
|
||||
-1.3168526
|
||||
0.39946663
|
||||
0.777253
|
||||
1.2958935
|
||||
-1.7610679
|
||||
-0.87182975
|
||||
0.015992796
|
||||
0.35228586
|
||||
0.825145
|
||||
-2.3087604
|
||||
-1.4618046
|
||||
-0.49614725
|
||||
-0.12511182
|
||||
0.5606166
|
||||
-3.9921951
|
||||
-2.422155
|
||||
-0.9274944
|
||||
-0.43651518
|
||||
0.110710315
|
||||
11
tools/para/conv2_b
Normal file
11
tools/para/conv2_b
Normal file
@@ -0,0 +1,11 @@
|
||||
10
|
||||
2.4876857
|
||||
-0.2729608
|
||||
-2.472103
|
||||
1.4380744
|
||||
0.13707557
|
||||
-0.38399124
|
||||
-0.10049698
|
||||
-0.44721037
|
||||
-0.24111606
|
||||
-0.05031827
|
||||
544
tools/para/conv2_w
Normal file
544
tools/para/conv2_w
Normal file
@@ -0,0 +1,544 @@
|
||||
6
|
||||
10
|
||||
3
|
||||
3
|
||||
1.5020652
|
||||
0.18993415
|
||||
0.09683844
|
||||
0.42478532
|
||||
0.5652113
|
||||
-0.09654023
|
||||
0.46004438
|
||||
-0.32927218
|
||||
-1.3090333
|
||||
-0.03629563
|
||||
-0.47720632
|
||||
-0.049615752
|
||||
-0.13462313
|
||||
-0.1414031
|
||||
-0.20201886
|
||||
0.08700898
|
||||
-0.2532898
|
||||
-0.41091815
|
||||
-2.6467288
|
||||
-0.91942525
|
||||
-0.07791335
|
||||
-1.1988721
|
||||
-2.5805545
|
||||
-0.96260583
|
||||
0.47473067
|
||||
-3.1096683
|
||||
-1.7033176
|
||||
-0.5463688
|
||||
-0.16640678
|
||||
-0.23889092
|
||||
0.92512184
|
||||
0.56869555
|
||||
-1.0851349
|
||||
0.98314923
|
||||
0.013738053
|
||||
-1.0819626
|
||||
-0.10545615
|
||||
-0.8232357
|
||||
-1.2379274
|
||||
0.3877544
|
||||
-0.053305604
|
||||
-0.69254845
|
||||
0.5536063
|
||||
0.8405918
|
||||
-0.27907613
|
||||
-0.03274563
|
||||
0.10089845
|
||||
-0.4718397
|
||||
-0.2080956
|
||||
-0.19937462
|
||||
-0.22588687
|
||||
-0.10825909
|
||||
-0.25839245
|
||||
-0.13016544
|
||||
-0.21170974
|
||||
-0.105000235
|
||||
-0.055992927
|
||||
-0.24181439
|
||||
-0.14309813
|
||||
0.055603288
|
||||
-0.20947735
|
||||
-0.13805705
|
||||
-0.011289219
|
||||
-3.1311834
|
||||
-0.7373151
|
||||
2.1412795
|
||||
-2.7957354
|
||||
-0.53299326
|
||||
1.4910551
|
||||
-0.67892796
|
||||
0.061242625
|
||||
1.0142266
|
||||
-0.30210808
|
||||
-0.22511297
|
||||
-0.34764558
|
||||
-0.44355592
|
||||
-0.23233292
|
||||
-0.3309362
|
||||
-0.19372638
|
||||
-0.44694182
|
||||
-0.26614943
|
||||
-0.1855974
|
||||
-0.113576986
|
||||
-0.09121944
|
||||
-0.13158984
|
||||
0.012073785
|
||||
-0.06931659
|
||||
-0.13569477
|
||||
-0.044836458
|
||||
-0.21612994
|
||||
0.3297727
|
||||
-1.3531494
|
||||
0.1984134
|
||||
1.9814707
|
||||
0.9562245
|
||||
0.39023614
|
||||
2.355978
|
||||
1.9520823
|
||||
0.09500724
|
||||
-0.14697555
|
||||
-0.2695747
|
||||
-0.19498226
|
||||
-0.19924545
|
||||
-0.23994629
|
||||
-0.2738438
|
||||
0.03253718
|
||||
-0.4405975
|
||||
-0.120104544
|
||||
-4.3073807
|
||||
0.2020275
|
||||
-0.5503787
|
||||
-4.320714
|
||||
-0.7776511
|
||||
1.1284349
|
||||
-2.5597017
|
||||
-0.79974496
|
||||
2.3943193
|
||||
-2.4705906
|
||||
-0.67554355
|
||||
-0.7746615
|
||||
-0.21265095
|
||||
-1.4163647
|
||||
0.50921655
|
||||
0.8470739
|
||||
-0.40889522
|
||||
1.4251903
|
||||
-0.79344493
|
||||
-1.0633
|
||||
-0.43276837
|
||||
-0.35594717
|
||||
-0.925617
|
||||
-0.16571444
|
||||
0.48405877
|
||||
-0.060691416
|
||||
-0.36661333
|
||||
-0.081582114
|
||||
0.05866104
|
||||
-0.27885157
|
||||
0.020201556
|
||||
0.08026292
|
||||
-0.2612855
|
||||
-0.16771607
|
||||
-0.07217326
|
||||
-0.22424023
|
||||
-0.05045426
|
||||
-0.11125194
|
||||
0.12680489
|
||||
-0.3215598
|
||||
-0.19570999
|
||||
-0.06906672
|
||||
-0.3656599
|
||||
-0.21287394
|
||||
0.08601797
|
||||
0.88221467
|
||||
1.8111526
|
||||
2.5901568
|
||||
0.49841857
|
||||
0.7406666
|
||||
1.9325773
|
||||
-0.56068546
|
||||
-0.5544755
|
||||
1.1572238
|
||||
-0.3588475
|
||||
-0.16109748
|
||||
-0.11979289
|
||||
-0.208714
|
||||
-0.22023945
|
||||
-0.048370343
|
||||
-0.24384555
|
||||
-0.41836953
|
||||
-0.16143581
|
||||
-0.08112425
|
||||
0.12876861
|
||||
-0.18439032
|
||||
-0.16903366
|
||||
-0.15317251
|
||||
-0.14610882
|
||||
-0.02121364
|
||||
-0.03730557
|
||||
-0.06588184
|
||||
-1.573095
|
||||
-2.1102138
|
||||
-2.791767
|
||||
-1.2839516
|
||||
0.18364334
|
||||
-1.0566423
|
||||
-2.936175
|
||||
1.3333176
|
||||
-2.569022
|
||||
-0.19243743
|
||||
-0.5396632
|
||||
-0.39073667
|
||||
-0.08940771
|
||||
-0.41599658
|
||||
-0.21406165
|
||||
-0.11914874
|
||||
0.0053107874
|
||||
-0.34026533
|
||||
-0.19902867
|
||||
-1.5525646
|
||||
-1.4867154
|
||||
0.7785492
|
||||
-0.07427133
|
||||
-1.8370575
|
||||
1.3299376
|
||||
1.0611509
|
||||
-1.457465
|
||||
-0.34795722
|
||||
0.1933098
|
||||
0.38095564
|
||||
-0.49252924
|
||||
0.86735547
|
||||
0.3377935
|
||||
-0.5835429
|
||||
0.46118125
|
||||
0.09202047
|
||||
-0.64125884
|
||||
-1.0138168
|
||||
-1.4562032
|
||||
-0.34383684
|
||||
-0.2197565
|
||||
-0.55936724
|
||||
-0.72665596
|
||||
-0.055117708
|
||||
-0.032901403
|
||||
-0.2976792
|
||||
-0.32156548
|
||||
-0.30981004
|
||||
-0.23365386
|
||||
-0.56748354
|
||||
-0.39124587
|
||||
0.0584696
|
||||
-0.52749497
|
||||
-0.40699643
|
||||
-0.1940885
|
||||
-0.037750658
|
||||
-0.14615804
|
||||
-0.11365478
|
||||
-0.07085398
|
||||
-0.09038009
|
||||
-0.16512215
|
||||
-0.07511696
|
||||
-0.40074205
|
||||
-5.1477885
|
||||
-2.3127253
|
||||
0.6868194
|
||||
-4.8400707
|
||||
-0.8838848
|
||||
0.84697765
|
||||
-2.9693027
|
||||
0.90324074
|
||||
1.5448984
|
||||
-0.06254911
|
||||
-0.23538658
|
||||
-0.098100856
|
||||
-0.22640543
|
||||
-0.3093498
|
||||
-0.3921947
|
||||
-0.4127525
|
||||
-0.19800858
|
||||
-0.30706027
|
||||
-0.023742901
|
||||
-0.012547765
|
||||
-0.022648895
|
||||
0.033385832
|
||||
-0.16520245
|
||||
-0.08068707
|
||||
-0.15606274
|
||||
-0.01918419
|
||||
-0.20760387
|
||||
0.4380362
|
||||
0.7704153
|
||||
-3.7217038
|
||||
0.3071281
|
||||
0.5547072
|
||||
-2.9204123
|
||||
-0.7863632
|
||||
-0.3218954
|
||||
-4.08438
|
||||
-0.1704269
|
||||
-0.48522842
|
||||
-0.34706044
|
||||
-0.06454638
|
||||
-0.14191426
|
||||
-0.5201403
|
||||
-0.10787962
|
||||
0.1142594
|
||||
-0.3869569
|
||||
0.09657354
|
||||
-1.4832062
|
||||
-3.2396731
|
||||
0.3072946
|
||||
-0.38548103
|
||||
-3.8164542
|
||||
-0.50314766
|
||||
-0.033530306
|
||||
-3.1886842
|
||||
0.66873956
|
||||
1.6643683
|
||||
0.99080354
|
||||
-1.2877836
|
||||
0.71671844
|
||||
0.4645308
|
||||
-2.2703633
|
||||
-0.9974806
|
||||
-0.42078534
|
||||
-0.30584887
|
||||
-0.93159604
|
||||
-1.2055197
|
||||
-0.3104198
|
||||
-0.23621848
|
||||
-0.77678233
|
||||
-0.7545622
|
||||
-0.39329994
|
||||
-0.19829883
|
||||
-0.18581958
|
||||
-0.10274275
|
||||
-0.21223308
|
||||
-0.22801906
|
||||
-0.10956713
|
||||
-0.15408704
|
||||
-0.22964376
|
||||
-0.21038757
|
||||
0.003134985
|
||||
-0.087081514
|
||||
-0.20077498
|
||||
-0.13176169
|
||||
0.10705288
|
||||
-0.16764928
|
||||
-0.047713023
|
||||
-0.25014165
|
||||
-0.39079958
|
||||
-0.3011907
|
||||
-3.5580482
|
||||
-1.8545792
|
||||
0.1256421
|
||||
-3.7077072
|
||||
-1.3029686
|
||||
-0.005157275
|
||||
-3.2010386
|
||||
0.38178772
|
||||
0.9837942
|
||||
-0.068351015
|
||||
-0.36667752
|
||||
-0.20250086
|
||||
-0.40076578
|
||||
-0.42409518
|
||||
-0.25450817
|
||||
-0.37642953
|
||||
-0.17545642
|
||||
-0.37250796
|
||||
-0.11730237
|
||||
-0.03561523
|
||||
-0.03951029
|
||||
-0.18142352
|
||||
0.0054535097
|
||||
-0.1708318
|
||||
0.15000097
|
||||
-0.055385202
|
||||
-0.19415462
|
||||
-0.40723643
|
||||
-0.079323746
|
||||
0.60454637
|
||||
-0.84041554
|
||||
0.23971762
|
||||
1.2219191
|
||||
-1.6282345
|
||||
-0.6933169
|
||||
0.40344524
|
||||
0.08663297
|
||||
-0.38227516
|
||||
-0.5032992
|
||||
-0.41386464
|
||||
-0.44355136
|
||||
-0.35756576
|
||||
-0.40863183
|
||||
-0.40098286
|
||||
-0.36941025
|
||||
-0.9236331
|
||||
0.32647514
|
||||
0.35148832
|
||||
-1.0944152
|
||||
0.6073528
|
||||
0.9087426
|
||||
-1.6470383
|
||||
0.4317713
|
||||
1.2342584
|
||||
0.43612233
|
||||
-0.62993884
|
||||
0.2974378
|
||||
-0.6633325
|
||||
-0.67800444
|
||||
1.0921708
|
||||
-2.6063566
|
||||
-2.0205736
|
||||
0.17532487
|
||||
-0.7795648
|
||||
-0.5008028
|
||||
-0.7370313
|
||||
-0.35221562
|
||||
-0.33727354
|
||||
-0.17583118
|
||||
-0.05256289
|
||||
-0.16688262
|
||||
-0.19191936
|
||||
-0.46429542
|
||||
-0.5084472
|
||||
-0.457363
|
||||
-0.20768711
|
||||
-0.41373605
|
||||
-0.48311797
|
||||
-0.24757653
|
||||
-0.31921867
|
||||
-0.39365336
|
||||
-0.321992
|
||||
-0.28978324
|
||||
-0.20284106
|
||||
-0.1297369
|
||||
-0.34363598
|
||||
-0.2521751
|
||||
-0.34354624
|
||||
-0.25759906
|
||||
-0.3418701
|
||||
-3.4949255
|
||||
-4.531625
|
||||
-1.5090456
|
||||
-4.0302067
|
||||
-4.504042
|
||||
-0.590934
|
||||
-7.9731874
|
||||
-6.7120776
|
||||
-2.1059375
|
||||
-0.12758178
|
||||
-0.058909506
|
||||
-0.18952405
|
||||
-0.004923893
|
||||
-0.06919461
|
||||
-0.030514337
|
||||
-0.0762774
|
||||
-0.023049993
|
||||
-0.12789033
|
||||
-0.026053552
|
||||
-0.027134173
|
||||
-0.16900522
|
||||
-0.02314374
|
||||
-0.13830115
|
||||
-0.018906182
|
||||
-0.06166276
|
||||
-0.115819514
|
||||
0.029891966
|
||||
0.78294903
|
||||
-0.24488732
|
||||
-0.39234003
|
||||
2.2506793
|
||||
1.2096143
|
||||
-0.10086763
|
||||
3.1884897
|
||||
2.3008416
|
||||
0.40546918
|
||||
-0.2163068
|
||||
-0.3414486
|
||||
-0.098043695
|
||||
-0.016555157
|
||||
-0.1231604
|
||||
0.1327601
|
||||
0.10635556
|
||||
-0.21275902
|
||||
-0.07835169
|
||||
-3.02146
|
||||
1.3674593
|
||||
0.614203
|
||||
-3.471883
|
||||
0.30260587
|
||||
1.7752177
|
||||
-1.9685831
|
||||
0.28805226
|
||||
2.9171088
|
||||
-2.77233
|
||||
-0.7610864
|
||||
-2.173954
|
||||
-0.9739102
|
||||
-0.8951448
|
||||
-0.7348445
|
||||
-0.13843127
|
||||
-2.7553678
|
||||
-4.037929
|
||||
-0.40669936
|
||||
-0.55984896
|
||||
-0.56030476
|
||||
-0.38789842
|
||||
-0.40184727
|
||||
-0.11818772
|
||||
0.5288938
|
||||
-0.14943306
|
||||
-0.30072457
|
||||
0.09072567
|
||||
-0.20110369
|
||||
-0.10526498
|
||||
-0.05925854
|
||||
-0.1908625
|
||||
0.01648614
|
||||
-0.07096718
|
||||
-0.036369618
|
||||
-0.15528911
|
||||
-0.11626164
|
||||
0.047128793
|
||||
-0.035411496
|
||||
0.03015979
|
||||
-0.10536637
|
||||
-0.09063028
|
||||
0.069158494
|
||||
-0.055972695
|
||||
-0.02230821
|
||||
1.619881
|
||||
2.5068073
|
||||
2.1708288
|
||||
1.8902549
|
||||
2.1950085
|
||||
2.1109314
|
||||
1.0464481
|
||||
1.3082289
|
||||
1.6681985
|
||||
-0.45436555
|
||||
-0.39643508
|
||||
-0.13680391
|
||||
-0.22465855
|
||||
-0.33752236
|
||||
-0.37145287
|
||||
-0.5340985
|
||||
-0.23784201
|
||||
-0.42311898
|
||||
-0.12219668
|
||||
0.012118651
|
||||
-0.06717292
|
||||
-0.056408852
|
||||
-0.14742865
|
||||
0.10230494
|
||||
0.06558793
|
||||
0.027565224
|
||||
0.071604334
|
||||
17
tools/para/fc1_b
Normal file
17
tools/para/fc1_b
Normal file
@@ -0,0 +1,17 @@
|
||||
16
|
||||
6.674671
|
||||
-0.4621555
|
||||
-0.35395312
|
||||
-6.140842
|
||||
-0.6383096
|
||||
-0.0026992396
|
||||
-0.105528705
|
||||
-0.12171911
|
||||
-0.039757866
|
||||
-4.064281
|
||||
-0.36199543
|
||||
-0.06976157
|
||||
-0.042993866
|
||||
0.0015301058
|
||||
-0.06826296
|
||||
-0.0050806464
|
||||
11202
tools/para/fc1_w
Normal file
11202
tools/para/fc1_w
Normal file
File diff suppressed because it is too large
Load Diff
5
tools/para/fc2_b
Normal file
5
tools/para/fc2_b
Normal file
@@ -0,0 +1,5 @@
|
||||
4
|
||||
6.171619
|
||||
-1.5262855
|
||||
-4.09489
|
||||
-2.3815227
|
||||
66
tools/para/fc2_w
Normal file
66
tools/para/fc2_w
Normal file
@@ -0,0 +1,66 @@
|
||||
16
|
||||
4
|
||||
0.70240104
|
||||
-0.058500186
|
||||
-0.23156737
|
||||
-0.33127818
|
||||
-3.6112761e-34
|
||||
-3.3890292e-34
|
||||
9.363116e-34
|
||||
4.0197816e-34
|
||||
-0.2575022
|
||||
0.69736814
|
||||
-0.2684227
|
||||
-0.08991088
|
||||
-0.3760809
|
||||
-0.065089576
|
||||
0.45981047
|
||||
0.008204719
|
||||
-4.8556375e-34
|
||||
4.816393e-34
|
||||
3.872484e-34
|
||||
5.096778e-34
|
||||
1.7445673e-19
|
||||
1.2270845e-33
|
||||
-2.260416e-25
|
||||
1.0369542e-20
|
||||
4.00948e-34
|
||||
-5.999333e-34
|
||||
3.7143163e-34
|
||||
-4.228372e-34
|
||||
-1.0954501e-34
|
||||
-2.7085206e-34
|
||||
8.016929e-34
|
||||
9.2079354e-35
|
||||
-3.945864e-34
|
||||
1.98814e-34
|
||||
2.3972646e-34
|
||||
3.942207e-34
|
||||
-0.14058167
|
||||
-0.07198931
|
||||
-0.38025984
|
||||
0.5981627
|
||||
4.3956684e-34
|
||||
3.1032594e-34
|
||||
3.4351758e-34
|
||||
5.5414507e-34
|
||||
-1.248324e-34
|
||||
8.8546844e-35
|
||||
6.8084945e-34
|
||||
-1.1866068e-34
|
||||
-3.865728e-34
|
||||
1.8786859e-34
|
||||
3.3450276e-34
|
||||
-2.8077459e-34
|
||||
0.0013890187
|
||||
0.026067872
|
||||
0.0082543865
|
||||
-0.02225164
|
||||
2.0089658e-34
|
||||
-6.1273506e-34
|
||||
-6.228039e-34
|
||||
-5.0242814e-34
|
||||
-4.3343494e-34
|
||||
3.0939117e-34
|
||||
1.2827092e-34
|
||||
-4.305108e-34
|
||||
Reference in New Issue
Block a user