weichengkuo / deepbox Goto Github PK
View Code? Open in Web Editor NEWCode release for DeepBox paper in ICCV 2015
License: Other
Code release for DeepBox paper in ICCV 2015
License: Other
I'm trying to train a model with 5 conv layers from AlexNet model. And I followed src/fast_dbox_config.py, using a yaml file to setting DEDUP_BOXES=0.0625(1/16). Other settings are using default config. Using pretrained model imagenet_models/CaffeNet.v2.caffemodel for 5 conv layers.
But the the loss cannot converge.
Here is my train prototxt
name: "CaffeNet"
#COCO dataset needs to change the bbox regression layer
input: "data"
input_shape {
dim: 1
dim: 3
dim: 140
dim: 140
}
input: "rois"
input_shape {
dim: 1 # to be changed on-the-fly to num ROIs
dim: 5 # [batch ind, x1, y1, x2, y2] zero-based indexing
dim: 1
dim: 1
}
input: "labels"
input_shape {
dim: 1 # to be changed on-the-fly to match num ROIs
dim: 1
dim: 1
dim: 1
}
layer {
name: "conv1"
type: "Convolution"
bottom: "data"
top: "conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 96
kernel_size: 11
stride: 4
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu1"
type: "ReLU"
bottom: "conv1"
top: "conv1"
}
layer {
name: "norm1"
type: "LRN"
bottom: "conv1"
top: "norm1"
lrn_param {
local_size: 5
alpha: 0.0001
beta: 0.75
}
}
layer {
name: "pool1"
type: "Pooling"
bottom: "norm1"
top: "pool1"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
layer {
name: "conv2"
type: "Convolution"
bottom: "pool1"
top: "conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
pad: 2
kernel_size: 5
group: 2
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu2"
type: "ReLU"
bottom: "conv2"
top: "conv2"
}
layer {
name: "norm2"
type: "LRN"
bottom: "conv2"
top: "norm2"
lrn_param {
local_size: 5
alpha: 0.0001
beta: 0.75
}
}
layer {
name: "pool2"
type: "Pooling"
bottom: "norm2"
top: "pool2"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
layer {
name: "conv3"
type: "Convolution"
bottom: "pool2"
top: "conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
pad: 1
kernel_size: 3
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu3"
type: "ReLU"
bottom: "conv3"
top: "conv3"
}
layer {
name: "conv4"
type: "Convolution"
bottom: "conv3"
top: "conv4"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
pad: 1
kernel_size: 3
group: 2
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu4"
type: "ReLU"
bottom: "conv4"
top: "conv4"
}
layer {
name: "conv5"
type: "Convolution"
bottom: "conv4"
top: "conv5"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
pad: 1
kernel_size: 3
group: 2
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu5"
type: "ReLU"
bottom: "conv5"
top: "conv5"
}
layer {
name: "roi_pool2_0"
type: "ROIPooling"
bottom: "conv5"
bottom: "rois"
top: "pool2_0"
roi_pooling_param {
pooled_w: 6
pooled_h: 6
spatial_scale: 0.125 # 1/16
}
}
layer {
name: "fc3"
type: "InnerProduct"
bottom: "pool2_0"
top: "fc3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 1024
}
}
layer {
name: "relu3_0"
type: "ReLU"
bottom: "fc3"
top: "fc3"
}
layer {
name: "drop3"
type: "Dropout"
bottom: "fc3"
top: "fc3"
dropout_param {
dropout_ratio: 0.5
}
}
layer {
name: "cls_score"
type: "InnerProduct"
bottom: "fc3"
top: "cls_score"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 2
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "loss_cls"
type: "SoftmaxWithLoss"
bottom: "cls_score"
bottom: "labels"
top: "loss_cls"
loss_weight: 1
}
In your paper, you say that you evaluated DeepBox on both PASCAL VOC 2007 and COCO 2014 datasets. Would you please also make the model you trained on VOC 2007 trainval set publicly available?
These were the last lines before termination.
Process image 0,5864 boxes
F0122 10:44:21.139531 31764 roi_pooling_layer.cpp:70] Check failed: roi_end_w < width_ (150 vs. 149)
*** Check failure stack trace: ***
Aborted (core dumped)
Command I am using for execution : python ./tools/demo.py --demo 1
Need suggestions to resolve this issue.
Hi,
I find you do the full object detection of fast Deepbox +fast-rcnn in section 4.8 of your paper, but I don't know how to do to make deepbox as a method of get proposal to finish object detection in fast-rcnn, also ,I don't find the issue in READ ME . I am starting DL no longer,I hope you can help me ,thx!
Hi,
I have a trouble in downloading edge_box_data.tgz.
./scripts/fetch_edge_box_data.sh does not work.
Also,
wget ftp://ftp.cs.berkeley.edu/pub/projects/vision/edge_box_data.tgz
does not work either.
Is there anybody who succeeded in downloading this tarball?
Thank you
Hi,
It seems we cannot download pre-computed Fast DeepBox proposals on COCO train, val, and test-dev using the following commands:
cd $FDBOX_ROOT/data
./scripts/fetch_fast_dbox_models.sh
We can only download coco_train2014.tgz by using script from ./output/default.
Please have an update about it.
Thank you.
Hi,
The caffe-fast-rcnn is missing the 'matlab' and 'examples' folder. Also, 'format.hpp' is missing from 'caffe-fast-rcnn/src/caffe/util'. I'm building on Ubuntu 16.04 with a NVIDIA GTX 1080.
It would be great if this could get fixed so that others can more easily install DeepBox. With these changes, I was able to build caffe-fast-rcnn.
Thomas
Hi,
I tried your Deepbox implementation with Edgebox proposals and after running it on several images and manually comparing the results of Deepbox to Edgebox, i found that it performed even worse than Edgebox alone. Can you help me where i should improve to get the better result out of it ? What I noticed that scores to those regions are much higher which don't contain objects.
Below you can find image and files containing scores and boxes for Edgebox as well as Deepbox.
example.zip
The link to download the model, 'http://www.cs.berkeley.edu/~wckuo/fast-dbox-data/coco_train2014.tgz' is not accessible and gives a moved permanently error. It would be great if you could share the trained models. Thank you.
I am playing with the ipython notebook. It's picking random image from COCO collection and showing annotations for that particular image. How could I use my own image?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.